Install#

PyPI distribution name and import package are both picop. Requires Python ≥ 3.14, a C toolchain for source builds, and OpenSSL headers (libssl-dev on Debian/Ubuntu) for UUID.

From PyPI#

pip install picop
# pin: pip install "picop==2.0.0"

Build deps (setuptools, wheel, Cython, picobuild) are pulled via pyproject.toml [build-system].

From git#

pip install "picop @ git+https://github.com/ckirua/picop.git@v2.0.0"
# or unpinned tip of main:
# pip install "picop @ git+https://github.com/ckirua/picop.git#subdirectory=packages/picop"

Editable (contributors)#

python3.14 -m venv .venv
source .venv/bin/activate
pip install setuptools wheel Cython picobuild
pip install -e . --no-build-isolation

Release builds are portable by default (-O3 only). For local microbenches that want CPU-tuned code:

CPY_NATIVE=1 pip install -e . --no-build-isolation

Build artifacts#

pip install build
python -m build          # sdist + wheel under dist/
# package_data ships .pxd / .pyi / py.typed / headers for cimport + typing

Optional typecheck smoke (after install):

# requires pyright or mypy
pyright -c 'from picop.hot import dict_get, list_append'

Documentation build (optional)#

pip install -e ".[docs]" --no-build-isolation
cd doc && make html
# open _build/html/index.html