Skip to content

bigg01/sqladmin

 
 

Repository files navigation

Build Status Publish Status Coverage Package version Supported Python versions


SQLAlchemy Admin dashboard

SQLAdmin is a flexible Admin interface for SQLAlchemy models.

Main features include:


Documentation: https://aminalaee.github.io/sqladmin

Source Code: https://github.com/encode/starlette

Online Demo: Demo


Installation

$ pip install sqladmin

Quickstart

Let's define an example SQLAlchemy model:

from sqlalchemy import Column, Integer, String, create_engine
from sqlalchemy.ext.declarative import declarative_base


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


class User(Base):
    __tablename__ = "users"

    id = Column(Integer, primary_key=True)
    name = Column(String)


Base.metadata.create_all(engine)  # Create tables

If you want to use SQLAdmin with FastAPI:

from fastapi import FastAPI
from sqladmin import Admin, ModelAdmin


app = FastAPI()
admin = Admin(app, engine)


class UserAdmin(ModelAdmin, model=User):
    column_list = [User.id, User.name]


admin.register_model(UserAdmin)

Or if you want to use SQLAdmin with Starlette:

from sqladmin import Admin, ModelAdmin
from starlette.applications import Starlette


app = Starlette()
admin = Admin(app, engine)


class UserAdmin(ModelAdmin, model=User):
    column_list = [User.id, User.name]


admin.register_model(UserAdmin)

Now visiting /admin on your browser you can see the SQLAdmin interface.

Packages

No packages published

Languages

  • Python 84.4%
  • HTML 12.5%
  • Shell 2.5%
  • Other 0.6%