Skip to content

Contribute to Fractal Task Tools development

Setup environment

We use uv to manage the development environment and the dependencies - see https://docs.astral.sh/uv/getting-started/installation/ for methods to install it. From the fractal-task-tools root folder, you can get started through

# Create a new virtual environment in `.venv`
uv venv

# Install both the required dependencies and the optional dev/docs dependencies
uv sync --all-extras

Set up pre-commit

We use pre-commit to run several checks on files that are being committed. To set it up locally, you should run

# Install pre-commit globally (e.g. via `pipx`)
pipx install pre-commit

# Add the pre-commit hook to your local repository
pre-commit install

Make a release

uv run --no-sync --frozen bumpver update --patch --dry

Tests

Run e.g. one of these commands

uv run --no-sync --frozen pytest
uv run --no-sync --frozen pytest -s -vvv --log-cli-level info --full-trace

Documentation

The documentation is built with mkdocs, and we bundle a module from sphinx-argparse plugin, customized to our needs.

To build or server the documentation locally run

uv run --no-sync --frozen mkdocs serve --config-file mkdocs.yml  # serves the docs at http://127.0.0.1:8000

uv run --no-sync --frozen mkdocs build --config-file mkdocs.yml  # creates a build in the `site` folder