Skip to content

Development

Prerequisites

To set up the development environment for this project you need the following tools:

  • Python >= 3.8 (excluding 3.9.0 and 3.9.1)
  • Git
  • Make
  • Poetry (version 2 or newer)

Optionally, you can use one of the following tools to manage Python versions:

Setup

With the tools already installed on your device, first clone the repository:

git clone https://github.com/jponf/aia-chaser.git
cd aia-chaser

Then, set up the virtual environment and install dependencies:

poetry install --with dev --with test

Additionally, if you plan to create new commits, install the pre-commit hooks. These will verify your files before committing them:

poetry run pre-commit install

Happy coding!

Common Tasks

Run Tests

poetry run pytest

With coverage:

poetry run pytest --cov=aia_chaser --cov-report=term-missing

Run Linters

poetry run ruff check .
poetry run mypy .

Build Documentation

poetry install --with docs
poetry run mkdocs serve

Coding Guidelines

This project uses automated tools to enforce consistent code style:

Tool Purpose
Black Code formatting
isort Import sorting
Ruff Linting
mypy Static type checking

Pre-commit hooks and CI pipelines run these tools automatically. Type hints are encouraged as they help catch bugs early and improve IDE support.

Tools can be disabled per-file or per-line when necessary, but use this sparingly.