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:
# 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:
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:
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!")