Skip to content

bksaiki/fpy

Repository files navigation

FPy

An embedded Python DSL for specifying and simulating numerical algorithms.

Important links:

Installation

FPy can be installed from PyPI with either uv or pip, or built from source for development. The following instructions assume a bash-like shell.

Installing from PyPI

Requirements:

  • Python 3.11 or later

To install the latest stable release of FPy, run:

uv pip install fpy2

or, with pip:

pip install fpy2

Installing from source

Requirements:

  • Python 3.11 or later
  • make

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]

To uninstall FPy, run:

pip uninstall fpy2

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.

About

Embedded Python DSL for numerical computing

Resources

License

Stars

6 stars

Watchers

2 watching

Forks

Packages

 
 
 

Contributors