Skip to content
nimaxinPublic

About

An admin panel for the SQLAlchemy 2.0 ORM that works with FastAPI, Starlette and Litestar.

Topics

Resources

Code of conduct

Contributing

Security policy

Accessibility

Stars

74 stars

Watchers

0 watching

Forks

adminsite

An admin panel for the SQLAlchemy 2.0 ORM that works with FastAPI, Starlette and Litestar.

PyPI Python CI License

Live demo · Documentation · Changelog · Discussions · For AI assistants

The orders list of the demo shop

Installation

pip install adminsite

Add the driver your database needs, such as asyncpg or aiosqlite.

Usage

from adminsite import Admin, Link, ModelView


class OrderView(ModelView[Order]):
    fields = [Order.id, Order.customer, Order.status, Order.total]
    searchable_fields = [
        Link(Order.customer, Customer.name),
        Link(Order.customer, Customer.email),
    ]
    list_filters = [Order.status, Order.created_at]


app.mount("/admin", Admin(engine, views=[OrderView]))

The settings name your models' own attributes, so a type checker catches a misspelt one. The labels, filters, form controls and validation come from your models. Getting started builds a working admin in one file.

Features

Motivation

Our business ran its back office on sqladmin, and then on starlette-admin. We needed features neither had, and in the end I had changed starlette-admin so much that turning it into pull requests would have taken more time than I had. So I built adminsite on what we learned from both, with everything our team needs.

It is not a side project. Our back office runs on it every day, and I keep developing it. An admin panel is not what sets our business apart, so it is open source, for anyone to use and improve.

adminsite is for SQLAlchemy only, and will stay that way. SQLModel models work too, since they are SQLAlchemy models, but I do not use SQLModel myself. If you do, reports and fixes are welcome.

Documentation

  • Getting started builds a working admin in one file.
  • Views covers everything a view can say about a model.
  • Permissions is worth reading before you put the admin in front of anyone.
  • The reference lists every class and option.

Contributing

Ask a question or share an idea in Discussions. Issues and pull requests are welcome. CONTRIBUTING.md says how to run the tests and rebuild the stylesheet.

License

MIT

About

An admin panel for the SQLAlchemy 2.0 ORM that works with FastAPI, Starlette and Litestar.

Topics

Resources

Code of conduct

Contributing

Security policy

Accessibility

Stars

74 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages