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

ihuro/starlette-admin

 
 

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
  • Custom backend (doc, example)

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

Thanks for your interest! Contributions are welcome.

Issues, feature requests, questions and bug reports should be reported via the issue tracker above. In particular, because StarletteAdmin aims to be well-documented, please report anything you find confusing or incorrect in the documentation.

Code or documentation improvements in the form of pull requests are also welcome. Please file or comment on an issue to allow for discussion before doing a lot of work, though.

For more details, see the CONTRIBUTING.md file.

About

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

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 79.3%
  • HTML 12.7%
  • JavaScript 7.8%
  • CSS 0.2%