Installation ============ *oups* can be installed from source using poetry or pip. The library requires Python 3.10 or higher. .. note:: *oups* is currently not published to PyPI, so installation must be done from the source repository. Using Poetry (Recommended) --------------------------- For development or if you prefer poetry: .. code-block:: bash # Install poetry if you don't have it curl -sSL https://install.python-poetry.org | python3 - # Clone and install oups git clone https://github.com/yohplala/oups cd oups poetry install # Run tests poetry run pytest Using Pip (Development Install) ------------------------------- For development with editable install: .. code-block:: bash git clone https://github.com/yohplala/oups cd oups pip install -e . # Run tests pytest Dependencies ------------ *oups* automatically installs these required dependencies: * `pandas `_ (>=2.2.3) - Data manipulation * `numpy `_ (>=2.0) - Numerical computations * `fastparquet `_ (>=2023.10.1) - Parquet file handling * `numba `_ (>=0.61.2) - JIT compilation for performance * `sortedcontainers `_ (>=2.4.0) - Efficient data structures * `flufl-lock `_ (>=8.2.0) - File locking * `joblib `_ (>=1.3.2) - Parallel processing * `cloudpickle `_ (>=3.1.1) - Serialization * `arro3-core `_ (>=0.4.6) - Arrow data processing * `arro3-io `_ (>=0.4.6) - Arrow I/O operations Verification ------------ To verify your installation: .. code-block:: python import oups print(oups.__version__) # Basic functionality test from oups.store import toplevel @toplevel class TestIndex: name: str version: int # Test creating and using the index test_idx = TestIndex("example", 1) print(f"Index string representation: {test_idx}") print("Installation successful!")