- Python 3.10+
- Docker
- Make
Create a virtual environment and install dependencies:
make venv && source .venv/bin/activate
make setupThis will install the project in editable mode, install dev tools, and set up git hooks.
- Lock dependencies: Generates
requirements.txtfrompyproject.toml.make lock
- Upgrade dependencies: Updates packages to latest allowed versions.
make upgrade
- Verify compatibility of dependencies: Checks each of the dependencies for python version compatibility, and marks dependencies that are not compatible with the given target version.
# adjust py_version=3.xy as needed make compatibility py_version=3.10 - Update SBOM: Generate a Software Bill of Materials (SBOM) in
sbom.jsonwhen dependencies are updated (tracked).make sbom
- Audit dependencies: Generates a security audit report in
audit.jsonwhen dependencies are updated and review it (untracked).make audit
- Linting:
make lint - Formatting:
make format - Testing:
make test - Security Scan:
make security
feature/: For new features or functionality (e.g.,feature/add-login-page).fix/orbugfix/: For fixing issues or bugs (e.g.,fix/header-formatting-issue).hotfix/: For urgent, critical fixes in production (e.g.,hotfix/fix-db-connection-bug).release/: For preparing new production releases (e.g.,release/v1.0.0orrelease/1.0.0).docs/: For updating documentation.chore/: For maintenance tasks, dependency updates, or build improvements.