An example of FastAPI basics
Check the Makefile for useful macros
Using Poetry install dependencies
poetry install
poetry shell
Run migrations
make migrate
-- .github : Github Actions defintions
-- alembic : Database table definitions
-- app
---- api : Endpoint defintions and routes
---- core : Configuration management
---- crud : Tools for performing CRUD ops on various models
---- db : Boilerplate sqlalchemy set up
---- schemas : Pydantic definitions for models and API requests/responses
---- tests : Unit and BDD tests
make docker-build
Start the docker image
make docker-run
The API will be available at http://localhost (port 80) Docs are at http://localhost/docs
Run unittests with coverage (in app/tests
):
make test-cov
Or with pytest-watch to rerun tests every time a change is made:
make test-watch
Run Behave tests (in app/tests/features
):
make bdd
You can check if your code is up to scratch:
make lint
Fix it automatically:
make format-imports