Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

starlette-admin

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

starlette-admin

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

  • 0.14.1
  • PyPI
  • Socket score

Maintainers
1

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

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc