Skip to content

FastAdmin

An easy-to-use admin dashboard for FastAPI, Flask and Django — inspired by Django Admin.

CI PyPI Python License: MIT

FastAdmin is built with relationships in mind and admiration for Django Admin. Its design focuses on making it as easy as possible to configure an admin dashboard for FastAPI, Flask or Django on top of Tortoise ORM, Django ORM, SQLAlchemy, Pony ORM or Yara ORM. It aims to be minimal, functional and familiar.

FastAdmin demo

from fastapi import FastAPI

from fastadmin import TortoiseModelAdmin, register
from fastadmin import fastapi_app as admin_app

from models import User


@register(User)
class UserAdmin(TortoiseModelAdmin):
    list_display = ("id", "username", "is_superuser")

    async def authenticate(self, username: str, password: str) -> int | None:
        user = await User.filter(username=username, is_superuser=True).first()
        if user and user.check_password(password):
            return user.id
        return None


app = FastAPI()
app.mount("/admin", admin_app)

Install FastAdmin Quick start

Why FastAdmin

  • ⚡ Familiar API — model admins, list_display, list_filter, search_fields, inlines, actions — if you know Django Admin, you already know FastAdmin.
  • 🧩 Framework-agnostic — mount it into FastAPI, register it as a Flask blueprint or include it in Django urlpatterns.
  • 🗄 ORM-agnostic — first-class admins for Tortoise ORM, Django ORM, SQLAlchemy (async), Pony ORM and Yara ORM (a fast, Rust-engine async ORM).
  • 📊 Dashboard widgets — declarative chart and action widgets (line, area, column, bar, pie) with filters, powered by antd charts.
  • 📤 Uploads & exports — file/image upload widgets with custom storage hooks, CSV/JSON export out of the box.
  • 🧪 Quality — fully linted (ruff), typed (ty) and tested with 100% backend coverage.

Explore the docs

Installation

pip install fastadmin[fastapi,tortoise-orm]

See Installation for all framework/ORM combinations.

License

FastAdmin is released under the MIT License. If you have questions beyond this documentation, feel free to email us.