Chisle
The coding-agent plugin that bills 52% of a bare model across 20 live tasks. Terse persona + tool-output compressor + context diet.
翻訳待ち
An admin panel for the SQLAlchemy 2.0 ORM that works with FastAPI, Starlette and Litestar.
翻訳待ち
Loading the full README.
Read the full README ↗An admin panel for the SQLAlchemy 2.0 ORM that works with FastAPI, Starlette and Litestar.
Live demo · Documentation · Changelog · Discussions · For AI assistants
pip install adminsite
Add the driver your database needs, such as asyncpg or aiosqlite.
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.
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.
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.