Skip to main content

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.py module
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_URL env variable in .env file
  • 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

Home - Models list

And JSON resources for each db Entity at /{modelName} routes:

User JSON resources

And one separate Entity at /{modelName}/{entity_id} routes:

User 1 JSON resource

Made with ❤ on top of the Starlette and Tortoise ORM.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tortoise_api-0.10.17.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tortoise_api-0.10.17-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

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

Hashes for tortoise_api-0.10.17.tar.gz
Algorithm Hash digest
SHA256 9d709bf933092223dab0b9ab19374ee7babb6df49b37cb584e16a0fbf1f12fad
MD5 efd9d249b992f78c732c6907741a8b0b
BLAKE2b-256 5d42c53c5bc729f810de9d892c8d31714f914033e478146a26dd6c94a4d43f81

See more details on using hashes here.

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

Hashes for tortoise_api-0.10.17-py3-none-any.whl
Algorithm Hash digest
SHA256 643f7c7e46cf1dff61470be4a825339036fea64a15f1a37456da1e09d42072a9
MD5 1eb4982900ab087f3b6780ef01153632
BLAKE2b-256 e01d9a6f88e9439719d36c97e325c5b1bb89dd4f9361475d87007a2a29b91bb1

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.10.17 This release

2 files

0.10.16

2 files

0.10.14

2 files

0.10.13

2 files

0.10.12

2 files

0.10.11

2 files

0.10.10

2 files

0.10.9

2 files

0.10.8

2 files

0.10.6

2 files

0.10.5

2 files

0.10.4

2 files

0.10.0

2 files

0.9.9

2 files

0.9.8

2 files

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

0.2.9

2 files

0.2.8

2 files

0.2.7

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page