Contributing

Any contributions to NAV123D are welcome! Complete guidelines will be added along the way.

Setting up a development environment

We recommend a fresh conda environment with Python 3.12 (any of Python 3.9–3.12 works).

  1. Clone the repository:

    git clone git@github.com:DanielDauner/nav123d.git
    cd nav123d
    
  2. Create and activate the environment:

    conda create -n nav123d python=3.12 -y
    conda activate nav123d
    
  3. Install the package with its development dependencies (editable install):

    pip install uv
    uv pip install -e .[dev]
    

    The dev extra adds pyright, ruff, pre-commit, pytest, and pytest-cov. To also build the documentation locally, install the docs extra (uv pip install -e .[dev,docs]).

  4. Install the pre-commit hooks so they run automatically on every commit:

    pre-commit install
    

    To check that everything is wired up correctly, run the hooks against the whole codebase once:

    pre-commit run --all-files
    

Before opening a pull request

  • Run the linters and formatter (these also run via pre-commit): ruff check . and ruff format ..

  • Run the test suite: pytest. (kinda useless atm).