Development

To set up a development environment using uv for dependency management:

# Clone the repository
git clone https://github.com/joefarrington/mdpax.git
cd mdpax


# Create a virtual environment
uv venv
source .venv/bin/activate

# Install development dependencies
uv sync # Using uv

# Install pre-commit hooks
pre-commit install

# Run a subset of tests (suitable for CPU)
uv run pytest tests -m "not slow"

# Run all tests (requires a GPU)
uv run pytest tests

Running the tests using the commands above will print a code coverage report in the terminal.

The development environment includes:

  • black and ruff for code formatting and linting

  • pytest for testing

  • pre-commit hooks to ensure code quality

  • sphinx for documentation building

See pyproject.toml for the full list of development dependencies.