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