Justfile

This project uses Just as a command runner.

The following commands are available:

Commands

$ just --list
Available recipes:
    bootstrap
    coverage
    demo
    lint
    lock *ARGS
    test *ARGS
    testall *ARGS
    types *ARGS
    docs ...

bootstrap

$ just bootstrap
bootstrap:
    uv python install
    uv sync --frozen

coverage

$ just coverage
coverage:
    @just nox coverage

demo

$ just demo
demo:
    @just nox demo

lint

$ just lint
lint:
    uv run --with pre-commit-uv pre-commit run --all-files
    just fmt

lock

$ just lock
lock *ARGS:
    uv lock {{ ARGS }}

test

$ just test
test *ARGS:
    @just nox test {{ ARGS }}

testall

$ just testall
testall *ARGS:
    @just nox tests {{ ARGS }}

types

$ just types
types *ARGS:
    @just nox types {{ ARGS }}

docs::build

$ just docs::build
# Build documentation using Sphinx
[no-cd]
build LOCATION="docs/_build/html": cog
    uv run --group docs sphinx-build docs {{ LOCATION }}

docs::serve

$ just docs::serve
# Serve documentation locally
[no-cd]
serve PORT="8000": cog
    #!/usr/bin/env sh
    HOST="localhost"
    if [ -f "/.dockerenv" ]; then
        HOST="0.0.0.0"
    fi
    uv run --group docs sphinx-autobuild docs docs/_build/html --host "$HOST" --port {{ PORT }}