Thank you for your interest in contributing! This guide covers the workflow for submitting changes.
-
Fork the repository and clone your fork.
-
Create a virtual environment and install dependencies:
python -m venv .venv source .venv/bin/activate pip install -r src/requirements.txt pip install pytest pytest-cov ruff -
Verify your environment:
python -m tests.test_connection
- Create a feature branch from
main:git checkout -b feature/your-feature - Use descriptive branch names:
fix/loop-detection-edge-case,docs/add-api-reference,feat/add-metric-export
- Run the test suite:
pytest tests/ -v - Run the linter:
ruff check src/ tests/ - Ensure your changes do not break existing tests.
- Add tests for any new functionality.
- Update documentation if behavior changes.
- Keep PRs focused — one issue per PR.
- Write a clear description referencing the issue number.
- Include before/after screenshots or logs if applicable.
- Python 3.12+ type hints on all public functions.
- Docstrings on all public classes and functions.
- Follow existing logging patterns using the
loggingmodule.
Open a discussion or issue on the repository if anything is unclear.