Acknowledgements

The repository ships a pre-commit configuration (.pre-commit-config.yaml) that runs spell checking (typos), linting and formatting (ruff), static type checking (mypy), and static analysis (pylint). The hooks are not active until you install them once in your local clone:

poetry run pre-commit install

After this, the fast checks (typos, ruff, basic file hygiene) run automatically on every git commit. The slow whole-project checksmypy, pylint (rocrate_validator), and pylint (tests) — are configured as manual-stage hooks and are not triggered by git commit; run them explicitly when you want a full review:

# Run all auto hooks against the whole codebase
poetry run pre-commit run --all-files

# Run a single auto hook (e.g. typos or ruff)
poetry run pre-commit run typos --all-files

# Run ALL manual hooks (mypy + both pylint runs)
poetry run pre-commit run --hook-stage manual --all-files

# Run a single manual hook
poetry run pre-commit run --hook-stage manual mypy
poetry run pre-commit run --hook-stage manual pylint-main    # rocrate_validator/
poetry run pre-commit run --hook-stage manual pylint-tests   # tests/  (uses tests/.pylintrc)

License

This project is licensed under the terms of the Apache License 2.0. See the LICENSE file for details.

Acknowledgements

This work has been partially funded by the following sources:

Co-funded by the EU