Pull Request Checklist
To maintain a high standard of code quality, consistency, and stability, all contributors are required to complete the following checks before submitting a pull request. Ensuring these steps are completed helps prevent common issues and significantly speeds up the code review process.
All commands should be run from the root of the project directory.
Pre-Submission Quality Assurance
Before your pull request is ready for review, please complete the following six steps.
1. Sort Imports with isort
Ensure all Python imports are sorted correctly and consistently across the codebase. Run isort against both the source and test directories.
uv run isort src tests
black
Format the entire codebase according to the black code style. This ensures a uniform and readable style across the project.
uv run black src tests
bandit
Run a security-focused static analysis on the source code to find common security vulnerabilities. The bandit scan must pass without any high-severity issues.
uv run bandit -r src
safety
Scan the project's dependencies to ensure there are no known security vulnerabilities in the third-party packages being used.
uv run safety check
mypy
Run static type analysis on the application's source code to catch potential type-related errors before runtime. The mypy check must pass without any errors.
uv run mypy src
pytest
Run the complete test suite to confirm that your changes have not introduced any regressions and that all functionality works as expected. All tests (Unit, Integration, and E2E) must pass.
You can run the entire suite with a single command:
uv run pytest
uv run pytest -m "not integration and not e2e"
uv run pytest -m "integration"
uv run pytest -m "e2e"