https://github.com/juftin/zoo
An asynchronous zoo API, powered by FastAPI, SQLAlchemy 2.0, Pydantic v2, and Alembic
https://github.com/juftin/zoo
alembic async fastapi pydantic python sqlalchemy
Last synced: 11 months ago
JSON representation
An asynchronous zoo API, powered by FastAPI, SQLAlchemy 2.0, Pydantic v2, and Alembic
- Host: GitHub
- URL: https://github.com/juftin/zoo
- Owner: juftin
- Created: 2023-08-01T19:40:44.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-01T13:10:40.000Z (about 2 years ago)
- Last Synced: 2025-04-08T19:52:20.115Z (about 1 year ago)
- Topics: alembic, async, fastapi, pydantic, python, sqlalchemy
- Language: Python
- Homepage: https://juftin.com/zoo
- Size: 270 KB
- Stars: 7
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing.md
Awesome Lists containing this project
README
ZOO
An asynchronous zoo API, powered by [FastAPI](https://fastapi.tiangolo.com/),
[SQLAlchemy 2.0](https://www.sqlalchemy.org/), [Pydantic v2](https://docs.pydantic.dev/latest/),
and [Alembic](https://alembic.sqlalchemy.org/en/latest/).
### [Documentation](https://juftin.com/zoo/)
## What is this?
`zoo` is a simple API example project that allows you to manage a zoo.
It uses all the basic building blocks of a modern API, including
- [x] Asynchronous ASGI Framework ([FastAPI](https://fastapi.tiangolo.com/))
- [x] Production Ready Server ([Uvicorn](https://www.uvicorn.org/))
- [x] Modern SQL ORM ([SQLAlchemy 2.0](https://www.sqlalchemy.org/))
- [x] Data Validation ([Pydantic v2](https://docs.pydantic.dev/latest/))
- [x] Authentication ([fastapi-users](https://frankie567.github.io/fastapi-users/))
- [x] Database Migrations ([Alembic](https://alembic.sqlalchemy.org/en/latest/))
- [x] Docker Images ([Docker](https://www.docker.com/))
- [x] Documentation ([mkdocs-material](https://squidfunk.github.io/mkdocs-material/))
- [x] Testing ([pytest](https://docs.pytest.org/))
- [x] CI/CD ([GitHub Actions](https://github.com/features/actions))
- [x] Python Environment Management ([hatch](https://github.com/pypa/hatch))
- [x] Release Automation ([semantic-release](https://github.com/semantic-release/semantic-release))
- [ ] Serverless Deployment ([Mangum](https://magnum-ci.com/) + [AWS Lambda](https://aws.amazon.com/lambda/))
- [ ] Worker Queues ([Celery](https://docs.celeryproject.org/en/stable/))
- [ ] API Caching ([redis](https://redis.io/))
- [ ] What else?
This project is meant to be a starting point for building your own API,
it outlines the basic structure of an API project and provides a few
examples of how to implement common features.