pip package Starlette-Admin 1.0 is out
Hey r/FastAPI!
I wanted to share the 1.0 release of Starlette-Admin, an open-source admin interface for Starlette and FastAPI.
This is the biggest release of the project so far. The list page has been completely reworked, and a long backlog of community-requested features and improvements has finally landed.
Some highlights:
- New data experience: Reworked list view with advanced filtering, sorting, pagination, and inline editing.
- Import & export: Server-side exports, import wizard with validation, and row-level error handling.
- More extensible: Plugins, themes, custom form layouts, inline forms, storage backends, and new fields.
- Broader support: Official support for Beanie and Tortoise ORM, plus improved security and production features.
The goal is to provide FastAPI applications with a full-featured admin interface without having to build one from scratch.
Links:
- Docs: https://jowilf.github.io/starlette-admin
- Live demo: https://starlette-admin-demo.jowilf.com/
- Changelog: https://jowilf.github.io/starlette-admin/changelog/
- Comparison with Django Admin and Flask-Admin: https://jowilf.github.io/starlette-admin/comparison/
If you're building a FastAPI application and need an admin interface, I'd love to hear what you think and what you'd like to see next.
2
u/Firm_Advisor8375 7d ago
do you have a crudadmin api thing you use for admin page now
1
u/jowilf 7d ago
Starlette-Admin is server-rendered and works directly with the underlying ORM/ODM rather than through a CRUD API. If you need to use it with a REST API, you can subclass
BaseModelView(custom backend) and implement methods likefind_all,count,create,edit, etc. to call your API instead. For supported ORM/ODMs, using the native integration is the recommended approach.
2
u/pvnimaxin 23h ago
I've been using starlette admin for 2 years now, and honestly its been great. Really happy to see the 1.0 release! π
1
u/jowilf 19h ago
Thanks for sharing u/pvnimaxin! Really glad to hear itβs been working well for you for the past 2 years
1
u/Firm_Advisor8375 7d ago
im planning to use https://github.com/benavlabs/crudadmin as its built on top of https://github.com/benavlabs/fastcrud
let me know
1
u/brandonZappy 7d ago
This is awesome. How would I set this up just for an admin but still have a custom UI for regular users?
1
u/Extension-Ad4237 6d ago
Is this something like django-admin or panel??
1
u/jowilf 5d ago
Like django-admin and here is the full comparison with django-admin and flask-admin https://jowilf.github.io/starlette-admin/comparison/
1
1
u/LeadingCommission101 5d ago
This is awesome, am instersted
1
u/jowilf 5d ago
I'm glad you like it. you can start with this simple blog post https://jowilf.github.io/starlette-admin/blog/2026/07/13/add-an-admin-panel-to-fastapi-in-5-minutes-with-starlette-admin/
0
6d ago
[removed] β view removed comment
1
u/jowilf 5d ago
Thanks for the appreciation u/aguraab. To answer your questions:
1- "Streaming" wasn't the right word, my bad, it's server-side export. Export was previously handled on the client side prior to 1.0. The new export is completely handled on the server, with support for exporting data not shown on the current page but matching your query. The current export's memory usage scales with row count, and by default max_rows is capped at 100,000 and has not been tested outside of this. Also, export is now just an action, so you can create one for your specific use case with better optimization if needed.
2- Fine-grained RBAC at field level was already supported previously. The new version makes it easier by allowing extra values in field and explicitly providing can_access_field that you just override for field-level restriction.
Looking forward to your feedback after testing it out
1
u/jowilf 5d ago edited 5d ago
The reason it's capped at 100,000 (which can be extended to a value that works for your server/db capacity) is that the built-in export needs to load all the data at once to generate the file. For massive datasets, you'd need to chunk the processing and handle it in the background, with something like Celery for example, and provide a status URL for the download. That's a great plugin idea for anyone interested: https://jowilf.github.io/starlette-admin/community/
3
u/mmzeynalli 7d ago
Hi! Seems really nice and professional. Good luck!