2025-09-27 00:29:45 +02:00
|
|
|
# OhMyAPI
|
|
|
|
|
|
2025-10-08 12:54:42 +02:00
|
|
|
OhMyAPI is a web-application scaffolding framework and management layer built around `FastAPI`.
|
|
|
|
|
It is a thin layer that tightly integrates TortoiseORM and Aerich migrations.
|
2025-09-27 00:29:45 +02:00
|
|
|
|
2025-10-08 12:54:42 +02:00
|
|
|
> *Think: *"Django RestFramework"*, but less clunky and instead 100% async.*
|
2025-09-27 00:29:45 +02:00
|
|
|
|
2025-09-28 19:36:48 +02:00
|
|
|
It is ***blazingly fast***, extremely ***fun to use*** and comes with ***batteries included***!
|
2025-09-27 13:28:37 +02:00
|
|
|
|
|
|
|
|
**Features**
|
2025-09-27 00:29:45 +02:00
|
|
|
|
2025-09-28 19:36:48 +02:00
|
|
|
- Django-like project structure and application directories
|
2025-10-02 00:49:53 +02:00
|
|
|
- Django-like per-app migrations (makemigrations & migrate) via Aerich
|
|
|
|
|
- Django-like CLI tooling (startproject, startapp, shell, serve, etc)
|
|
|
|
|
- Customizable pydantic model serializer built-in
|
2025-10-08 12:54:42 +02:00
|
|
|
- Various optional built-in apps you can hook into your project (i.e. authentication and more)
|
2025-09-27 12:46:38 +02:00
|
|
|
- Highly configurable and customizable
|
2025-09-27 00:29:45 +02:00
|
|
|
- 100% async
|
|
|
|
|
|
2025-09-27 17:34:47 +02:00
|
|
|
**Goals**
|
2025-09-27 15:05:38 +02:00
|
|
|
|
2025-10-02 00:49:53 +02:00
|
|
|
- combine FastAPI, TortoiseORM, Aerich migrations and Pydantic into a high-productivity web-application framework
|
2025-09-28 19:36:48 +02:00
|
|
|
- tie everything neatly together into a concise and straight-forward API
|
2025-10-02 00:49:53 +02:00
|
|
|
- AVOID adding any abstractions on top, unless they make things extremely convenient
|
2025-09-27 15:05:38 +02:00
|
|
|
|
2025-10-02 00:49:53 +02:00
|
|
|
## Installation
|
2025-09-27 00:29:45 +02:00
|
|
|
|
|
|
|
|
```
|
2025-09-29 17:17:54 +02:00
|
|
|
pipx install ohmyapi
|
2025-09-27 05:00:58 +02:00
|
|
|
```
|
|
|
|
|
|
2025-09-27 00:29:45 +02:00
|
|
|
|
2025-10-02 00:49:53 +02:00
|
|
|
## Docs
|
2025-09-27 13:28:37 +02:00
|
|
|
|
2025-10-02 02:04:19 +02:00
|
|
|
See `docs/` or:
|
2025-09-27 15:40:53 +02:00
|
|
|
|
2025-10-02 02:04:19 +02:00
|
|
|
```
|
|
|
|
|
poetry run mkdocs serve
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Go to: [http://localhost:8000/](http://localhost:8000/)
|