Simplest fastest minimal REST API CRUD generator for Tortoise ORM models
Project description
Tortoise-API
Simplest fastest minimal REST API CRUD generator for Tortoise ORM models.
Fully async Zero config One line ASGI app
Requirements
- Python >= 3.10
INSTALL
pip install tortoise-api
Run your app
- Describe your db models with Tortoise ORM in
models.pymodule
from tortoise_api import Model
class User(Model):
id: int = fields.IntField(pk=True)
name: str = fields.CharField(255, unique=True, null=False)
posts: fields.ReverseRelation["Post"]
class Post(Model):
id: int = fields.IntField(pk=True)
text: str = fields.CharField(4095)
user: User = fields.ForeignKeyField('models.User', related_name='posts')
_name = 'text' # `_name` sets the attr for displaying related Post instace inside User (default='name')
- Write run script
main.py: pass your models module in Api app:
from tortoise_api import Api
import models
app = Api().start(models)
- Set
DB_URLenv variable in.envfile - Run it:
uvicorn main:app
Or you can just fork Completed minimal runnable example from sample apps.
And voila:
You have menu with all your models at root app route: http://127.0.0.1:8000
And JSON resources for each db Entity at /{modelName} routes:
And one separate Entity at /{modelName}/{entity_id} routes:
Made with ❤ on top of the Starlette and Tortoise ORM.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tortoise_api-0.10.17.tar.gz.
File metadata
- Download URL: tortoise_api-0.10.17.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d709bf933092223dab0b9ab19374ee7babb6df49b37cb584e16a0fbf1f12fad
|
|
| MD5 |
efd9d249b992f78c732c6907741a8b0b
|
|
| BLAKE2b-256 |
5d42c53c5bc729f810de9d892c8d31714f914033e478146a26dd6c94a4d43f81
|
File details
Details for the file tortoise_api-0.10.17-py3-none-any.whl.
File metadata
- Download URL: tortoise_api-0.10.17-py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
643f7c7e46cf1dff61470be4a825339036fea64a15f1a37456da1e09d42072a9
|
|
| MD5 |
1eb4982900ab087f3b6780ef01153632
|
|
| BLAKE2b-256 |
e01d9a6f88e9439719d36c97e325c5b1bb89dd4f9361475d87007a2a29b91bb1
|