Contributing#

Setting up a development environment#

Clone the repository and install all dependency groups:

git clone https://github.com/dgegen/astrafocus.git
cd astrafocus
uv sync --group dev --group docs --group test

Install the pre-commit hooks so linting runs automatically before each commit:

uv run pre-commit install

Running the tests#

uv run python -m pytest

Linting and formatting#

uv run ruff check .
uv run ruff format .

Or run all pre-commit hooks manually:

uv run pre-commit run --all-files

Building the docs#

cd docs
uv run make html

The output is written to docs/build/html/. Open docs/build/html/index.html to view it locally.