This repository is to be used as a starter for Blacksheep-based Python applications.
- Python3.12+
- uv for project management
- Docker for image builds (use
--target runtime-image)
Please see deployment.yml and adjust according to your needs, i.e. set secrets and variables inside the repo settings
as well as uncomment the necessary lines or remove them.
.
├── app # Contains code base.
│ ├── apps # Contains python subpackages for each registered app
│ ├── `app_name`
│ │ ├── api # Contains API endpoints declaration
│ │ └── dtos # Contains DTOs/Schemas declarations
│ └── routes.py # Registers all routers from all applications
│ ├── core # Configs and settings, logging, etc
│ └── lib # Contains reusable base/abstract classes, helpers, etc
├── docker # Contains docker-related files
├── tests # Tests
└── ...
uv sync- creates virtualenv and installs project dependenciesuv lock- updatesuv.lockuv sync --upgrade- updates packages locally and updatesuv.lock
ruff- runs ruff on a project filestests- runs testsmypy-lint- run mypy lintruff-lint- runs ruff check (to use in CI/CD)format-and-lint- shortcut to run ruff and mypy