Development setup#
The project uses uv for dependency management and local command execution.
Python version#
graphlow requires Python 3.12 or newer.
Install dependencies#
For contributor work, install the development groups with an explicit Torch backend extra:
uv sync --refresh --reinstall --extra cu124 --extra phlower --group dev
This matches the dev-install target in the project Makefile and brings
in test, lint, docs, visualization, and notebook dependencies.
Useful Make targets#
The repository already defines the common local commands:
make install: refresh and reinstall the default dependency setmake dev-install: install all development dependenciesmake lint: run Ruff checks and formatting diffmake cpu-test: run the default test suite with coveragemake document: rebuild the Sphinx HTML output
Editable source layout#
The package source lives under src/graphlow. The documentation assumes this
layout and Sphinx inserts src into sys.path from docs/source/conf.py.
When to use the dev environment#
Use the full development environment if you are doing any of the following:
adding or changing tests
touching Sphinx docs or example gallery content
changing public APIs
working on performance tooling or visualization helpers
Next step#
Go to Testing after setup so your first local feedback loop is reliable.