Skip to main content

Simplest fastest minimal ASGI CRUD Admin panel for Tortoise ORM models. It's generating fully native async auto zero config one line app

Project description

Femto Admin

Simplest fastest minimal ASGI CRUD Admin panel for Tortoise ORM models

It's generating fully native async auto zero config one line app

Requirements

  • Python >= 3.9

INSTALL

pip install femto-admin

Run your app

  • Describe your db models with Tortoise ORM in models.py module
from tortoise import fields
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 femto_admin import Admin
import models

app = Admin().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


Made with ❤ on top of the Starlette, TortoiseORM, TortoiseAPI.

Project details


Download files

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

Source Distribution

femto-admin-0.3.3.tar.gz (4.4 MB view hashes)

Uploaded Source

Built Distribution

femto_admin-0.3.3-py3-none-any.whl (4.4 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page