Skip to content

EzyGang/blacksheep-msgspec-starter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blacksheep with msgspec starter

This repository is to be used as a starter for Blacksheep-based Python applications.

Features

Prerequisites

Builds

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.

Project Structure

  .
  ├── 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
  └── ...

Useful commands

  • poetry install- creates virtualenv and installs project dependencies
  • poetry lock- updates poetry.lock
  • poetry update- updates packages locally and updates poetry.lock

Project tasks list (uses taskipy to execute, example: poetry run task mypy-lint)

  • ruff - runs ruff on a project files
  • tests - runs tests
  • mypy-lint - run mypy lint
  • ruff-lint - runs ruff check (to use in CI/CD)
  • format-and-lint- shortcut to run ruff and mypy

About

Blacksheep API service with msgspec starter

Resources

Stars

Watchers

Forks