Contributing#
Autocast welcomes contributions from users in the form of either issues or PRs!
Setting up a development environment#
# Clone the repository
git clone https://github.com/alan-turing-institute/autocast
cd autocast
uv sync
This should get you an environment with all the dependencies installed; you can then work on changes locally.
Building the docs#
The project documentation is built with Jupyter Book. The documentation can be built locally with the following steps:
# Install the necessary dependencies
uv sync --extra docs
# Build the docs
uv run jupyter-book build docs
# Serve locally
uv run python -m http.server -d docs/_build/html
Then open http://localhost:8000 in your browser to view the docs.
Tests and linting#
To run tests, use:
# Install the necessary dependencies
uv sync --extra dev
# Run tests
uv run pytest
Pull requests on GitHub additionally include checks for linting.
The easiest way to run all these checks locally is to use prek, which is a modern replacement for pre-commit.
Running uv sync --extra dev will have installed prek for you so you can directly run:
# Set up pre-commit hooks
uv run prek install
# Perform checks
uv run prek run -a