Registry / web-framework / starlette-admin

starlette-admin

JSON →
library0.16.1pypypiunverified

Starlette Admin is a fast, beautiful, and extensible administrative interface framework designed for Starlette and FastAPI applications. It provides a robust backend to manage your database models with support for various ORMs like SQLAlchemy, MongoDB (via Motor/Beanie), Odmantic, and Tortoise ORM. The current version is 0.16.0, and it maintains an active release cadence with frequent updates and bug fixes.

pip install starlette-admin
INSTALL
IMPORT
SIG · STARLETTE-ADMIN
S
starlette-admin
web-frameworkpythonv0.16.1
Install
2.4s avg
Import
Disk
27MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.16.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.940 runs
installs and imports cleanly · install 0.0s · import 0.000s · 28.5MB
glibc
py 3.103.940 runs
installs and imports cleanly · install 2.4s · import 0.000s · 29MB
27MB installed
● package 27MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Admin
from starlette_admin.app import Admin
from starlette_admin import Admin
The Admin class is located in the `app` submodule.
ModelView
from starlette_admin.contrib.sqla import ModelView
from starlette_admin.views import ModelView
ORM-specific ModelViews are located in `contrib.*` submodules (e.g., `sqla`, `beanie`). The base `ModelView` in `views` is abstract.
BaseModelView
from starlette_admin.views import BaseModelView

This quickstart demonstrates how to integrate Starlette Admin with a FastAPI application using SQLAlchemy. It sets up a basic `User` model, initializes the admin interface with a `ModelView` for `User`, and mounts it to the FastAPI app. Ensure you install `starlette-admin[sqla]` and `uvicorn` to run this example.

import uvicorn from fastapi import FastAPI from sqlalchemy import create_engine, Column, Integer, String from sqlalchemy.orm import declarative_base, sessionmaker from starlette_admin.app import Admin from starlette_admin.contrib.sqla import ModelView # 1. Setup Database (SQLAlchemy Example) DATABASE_URL = "sqlite:///./test.db" engine = create_engine(DATABASE_URL, connect_args={"check_same_thread": False}) SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) Base = declarative_base() class User(Base): __tablename__ = "users" id = Column(Integer, primary_key=True, index=True) name = Column(String) email = Column(String, unique=True, index=True) # Create tables Base.metadata.create_all(bind=engine) # 2. Setup FastAPI App app = FastAPI() # 3. Setup Starlette Admin admin = Admin(engine, title="My Admin Dashboard") # Add ModelViews admin.add_view(ModelView(User)) # Mount Admin to FastAPI admin.mount_to(app) # Optional: Add a root route @app.get("/", include_in_schema=False) async def read_root(): return {"message": "Welcome to FastAPI with Starlette Admin!"} if __name__ == "__main__": # Populate some data if needed (run once) with SessionLocal() as db: if not db.query(User).first(): db.add(User(name="Alice", email="alice@example.com")) db.add(User(name="Bob", email="bob@example.com")) db.commit() uvicorn.run(app, host="0.0.0.0", port=8000)
Debug
Known issues
gotchaWhen using ORM-specific ModelViews (e.g., `SQLAlchemyModelView`, `BeanieModelView`), ensure you install the correct extra dependencies (e.g., `starlette-admin[sqla]`, `starlette-admin[beanie]`) to avoid `ModuleNotFoundError`.
fix
Install with `pip install "starlette-admin[<orm_name>]"` (e.g., `starlette-admin[sqla]`)
affects: All versions
breakingVersion 0.15.0 upgraded Odmantic support to v1.0+. If you were using Odmantic with an older version of `starlette-admin` (pre-0.15.0) and Odmantic v0.x, you might face breaking changes due to Odmantic's API changes.
fix
Review Odmantic v1.0 migration guides and update your Odmantic models and database interactions accordingly. Then, upgrade `starlette-admin`.
affects: <0.15.0 (when upgrading from older Odmantic)
gotchaAuthentication and authorization are not included by default. You must implement your own security layer (e.g., using `starlette.middleware.authentication.AuthMiddleware` or FastAPI's dependency injection) to protect your admin panel.
fix
Implement custom authentication/authorization using Starlette/FastAPI's security features and integrate it with Starlette Admin via custom routes or middleware.
affects: All versions
deprecatedOlder versions (pre-0.15.0) might trigger deprecation warnings related to `TemplateResponse` and `Jinja2Templates` usage from Starlette. These have been addressed in 0.15.0.
fix
Upgrade to `starlette-admin` version 0.15.0 or newer to resolve these warnings. No code changes are typically required on your end unless you've customized templates.
affects: <0.15.0
Upgrade
Version history
0.16.1latest on PyPI · released Jun 6, 2026
Audit
Dependencies
SQLAlchemyoptionalRequired for SQLAlchemyModelView. Installed via `[sqla]` extra.
beanieoptionalRequired for BeanieModelView (MongoDB ODM). Installed via `[beanie]` extra.
odmanticoptionalRequired for OdmanticModelView (MongoDB ODM). Installed via `[odmantic]` extra.
tortoise-ormoptionalRequired for TortoiseORMModelView. Installed via `[tortoise]` extra.
Agent activity
21 hits · last 30 days
node
14
Meta
2
OpenAI (training)
1
Resources
starlette-admin — pip install starlette-admin · libregistry