Skip to content

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

License

Notifications You must be signed in to change notification settings

dsuleimenov/starlette-admin

This branch is 64 commits behind jowilf/starlette-admin:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

19aab25 · Nov 14, 2023
Oct 7, 2023
Nov 14, 2023
Oct 29, 2023
Oct 28, 2023
Nov 14, 2023
Nov 14, 2023
Nov 30, 2022
Oct 7, 2023
Nov 30, 2022
Dec 18, 2022
Oct 15, 2023
Aug 29, 2022
Mar 24, 2023
Oct 28, 2023
Nov 6, 2023

Repository files navigation

starlette-admin

Starlette-Admin is a fast, beautiful and extensible administrative interface framework for Starlette/FastApi applications.

Test suite Publish Codecov Package version Supported Python versions

Preview image

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 Column, Integer, String, create_engine
from sqlalchemy.ext.declarative import declarative_base
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 = Column(Integer, primary_key=True)
    title = Column(String)


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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 81.8%
  • HTML 11.9%
  • JavaScript 6.2%
  • CSS 0.1%