Skip to main content

starlette-admin

Fast, beautiful, and extensible administrative interface framework for Starlette & FastApi applications

Test suite Publish Codecov Package version Supported Python versions

Preview image

why starlette-admin?

FastAPI has emerged as a popular web framework for building APIs in Python. However, it lacks a mature admin interface solution like Flask-Admin to quickly manage your data through a user-friendly interface. Although solutions like Sqladmin and Fastapi-Admin exist, they only work with specific ORMs such as SQLAlchemy and Tortoise ORM.

Starlette-admin was born from the need for a FastAPI admin interface that works with various data layer. It aims to provide a complete solution for CRUD interfaces regardless of the database backend. Starlette-admin works out of the box with multiple ORM/ODMs and can also be used with a custom data layer.

Getting started

Features

  • CRUD any data with ease
  • Automatic form validation
  • Advanced table widget with Datatables
  • Search and filtering
  • Search highlighting
  • Multi-column ordering
  • Export data to CSV/EXCEL/PDF and Browser Print
  • Authentication
  • Authorization
  • Manage Files
  • Custom views
  • Custom batch actions
  • Supported ORMs
  • Internationalization

Installation

PIP

$ pip install starlette-admin

Poetry

$ poetry add starlette-admin

Example

This is a simple example with SQLAlchemy model

from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import Mapped, mapped_column
from starlette.applications import Starlette

from starlette_admin.contrib.sqla import Admin, ModelView

Base = declarative_base()
engine = create_engine("sqlite:///test.db", connect_args={"check_same_thread": False})


# Define your model
class Post(Base):
    __tablename__ = "posts"

    id: Mapped[int] = mapped_column(primary_key=True)
    title: Mapped[str]


Base.metadata.create_all(engine)

app = Starlette()  # FastAPI()

# Create admin
admin = Admin(engine, title="Example: SQLAlchemy")

# Add view
admin.add_view(ModelView(Post))

# Mount admin to your app
admin.mount_to(app)

Access your admin interface in your browser at http://localhost:8000/admin

Third party

starlette-admin is built with other open source projects:

Contributing

Contributions are welcome and greatly appreciated! Before getting started, please read our contribution guidelines

Release files for starlette-admin 0.14.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for starlette-admin 0.14.1
File Size Uploaded
starlette_admin-0.14.1.tar.gz 2.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for starlette-admin 0.14.1
File Interpreter ABI Platform
starlette_admin-0.14.1-py3-none-any.whl Python 3 none any Details

Total release size: 4.3 MB

Release files / starlette_admin-0.14.1.tar.gz

Download URL starlette_admin-0.14.1.tar.gz
Size 2.1 MB
Tags Source
SHA-256 checksum
How to use checksums
45e2baa3b9a8deec7a6e8ca9295123f648bb0d2070abe68f27193c6d5e32cc38
BLAKE2b-256 checksum
How to use checksums
c06e8468ace0ee826dc797c77c7076c5294f4abe78debabb8f8ab7c3e137f0b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.27.0

Release files / starlette_admin-0.14.1-py3-none-any.whl

Download URL starlette_admin-0.14.1-py3-none-any.whl
Size 2.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
5b6260d7ed3db455585852d669feb7ed9a8c5f9a1e3d48d21a52912ec37e18f9
BLAKE2b-256 checksum
How to use checksums
bd5aac9ab9846350b40d73539c9094bf447d7900c586e013011af2a9fe995676
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.27.0

Release history Release notifications | RSS feed

1.0.1

2 release files

1.0.0

2 release files

0.17.1

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.15.1

2 release files

0.15.0

2 release files

This release

0.14.1 This release

2 release files

0.14.0

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.2

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.2

1 release file

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page