Skip to content

Installation

factrix requires Python 3.12+. The core package depends only on polars, numpy and scipy.

With pip

pip install factrix
uv add factrix

Version pinning

factrix is pre-1.0 (v0.x.x) and the public API may break on MINOR bumps; pin a specific version in long-running projects.

pip install factrix==X.Y.Z
# or
uv add factrix==X.Y.Z

Replace X.Y.Z with the latest release tag.

Local development

git clone https://github.com/awwesomeman/factrix.git
cd factrix
uv sync                  # core dependencies
uv sync --extra dev      # add pytest, ruff, mypy, commitizen

Optional extras

Extra Adds
pandas pandas + pyarrow, so factrix.adapt accepts pandas input
jupyter jupyter / jupyterlab / ipywidgets for the example notebooks
dev pytest, ruff, mypy, commitizen, pre-commit (toolchain)
docs mkdocs-material, mkdocstrings, mike (build the site)
all jupyter only; does not include dev or docs

For every declared extra:

uv sync --all-extras

See Contributing for the development setup.