Skip to content

Installation

This is the reference install guide for FluxRules. For a quick hands-on local setup, see getting-started.md.

Use uv for a fast project-local environment and dependency management:

git clone https://github.com/saurabh2mishra/fluxrules.git
cd fluxrules
uv sync --extra dev

This creates the project virtual environment and installs the core package plus the local development toolchain.

Install the published package

After creating a virtual environment, install the published package into it:

python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install fluxrules

Install from a checkout

git clone https://github.com/saurabh2mishra/fluxrules.git
cd fluxrules
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install .

For the same workflow with uv:

git clone https://github.com/saurabh2mishra/fluxrules.git
cd fluxrules
uv sync

The base package requires pydantic>=2.8 (declared in pyproject.toml).

Optional extras

Install extras into the active environment:

python -m pip install '.[api]'
python -m pip install '.[sql]'
python -m pip install '.[redis]'
python -m pip install '.[otel]'
python -m pip install '.[yaml]'
python -m pip install '.[cli]'
python -m pip install '.[docs]'

With uv, use:

uv pip install '.[api]'
uv pip install '.[sql]'
uv pip install '.[redis]'
uv pip install '.[otel]'
uv pip install '.[yaml]'
uv pip install '.[cli]'
uv pip install '.[docs]'

Install all extras

python -m pip install '.[all]'
# or
uv pip install '.[all]'

The base package is the supported core API. Extras add integrations without changing core Rule, Ruleset, and PhreakEngine behavior.

Development install

python scripts/check_uv.py
uv sync --extra dev

If you want the project build wrapper, make build is available, but the direct uv command is the simplest and most portable option:

uv build

Verify the install

From an active virtual environment:

python -c "import fluxrules; print(fluxrules.__version__)"

From a project checkout managed by uv:

uv run python -c "import fluxrules; print(fluxrules.__version__)"

Build and verify a wheel

uv build
python -m venv /tmp/fluxrules-wheel-smoke
/tmp/fluxrules-wheel-smoke/bin/python -m pip install dist/*.whl
/tmp/fluxrules-wheel-smoke/bin/python -c "import fluxrules; print(fluxrules.__version__)"