Developers of FPy

Developers of FPy should read this section since installing FPy is actually different.

Requirements:

  • Python 3.11 or later

  • make

Installation

With uv (preferred)

uv is the recommended development workflow. It handles the virtual environment and dependency installation in a single step:

uv sync

This creates .venv/ and installs FPy in editable mode along with the dev dependency group. Activate the environment with:

source .venv/bin/activate

or prefix individual commands with uv run (e.g. uv run pytest tests/unit).

With pip (legacy)

This path is preserved for compatibility with existing tooling; new contributors should prefer uv above.

If you do not have a Python virtual environment, create one using:

python3 -m venv .venv/

and activate it using:

source .venv/bin/activate

To install an instance of FPy for development, run:

pip install -e .[dev]

Testing

There are a number of tests that can be run through the Makefile including:

make lint

to ensure formatting and type safety:

make unittest

to run the unit tests:

make infratest

to run the infrastructure tests.

Documentation

Documentation is generated using sphinx and is located in the docs/ directory. To build the documentation, run:

make docs

Internal