Flaxon 0.3.0 and Teloce-Py 0.3.0 are available on PyPI. Release instructions are maintained on this site; source links identify the framework snapshot. Check version and upgrade guidance.
Contributing to Flaxon
Welcome! This document covers everything you need to know to contribute to Flaxon's core.
Developer Setup
To get started contributing, you need:
- Python 3.9+
- Poetry 1.2+
- PostgreSQL 12+
- Redis 6+
Clone the repository and install dependencies:
git clone https://github.com/flaxon/framework.git
cd framework
poetry install
poetry run pre-commit install
Running Tests
Run the full test suite with coverage:
poetry run pytest --cov=src --cov-report=html
Or run tests for a specific module:
poetry run pytest tests/test_middleware_security.py -v
Code Style
We use several linting tools to maintain consistency:
- Ruff: For fast linting and import sorting
- mypy: Static type checking
- black: Code formatting (handled by Ruff)
Run linters manually:
python scripts/check_lint_budget.py
poetry run ruff format src/
python scripts/typecheck.py
The lint budget prevents increases by file and rule; ruff check src/flaxon
still reports all legacy findings. Do not expand the budget to hide new debt.
The typing command checks 11 core modules without following unchecked imports.
Use python scripts/typecheck.py --full for the wider audit, which currently
reports existing failures. Quality audit and measurements.
Debugging Issues
If you encounter test failures:
- Check the test output for database connection errors
- Ensure Redis is running locally
- Verify environment variables in
.env
For more detailed debugging, enable verbose logging:
poetry run python -m pytest --log-cli-level=DEBUG tests/