Skip to main content

SQLAlchemy admin for FastAPI and Starlette

Project description

Build Status Publish Status Coverage Package version Supported Python versions


SQLAlchemy Admin for Starlette/FastAPI

SQLAdmin is a flexible Admin interface for SQLAlchemy models.

Main features include:


Documentation: https://aminalaee.dev/sqladmin

Source Code: https://github.com/aminalaee/sqladmin

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, ModelView


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


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


admin.add_view(UserAdmin)

Or if you want to use SQLAdmin with Starlette:

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


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


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


admin.add_view(UserAdmin)

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

Related projects and inspirations

  • Flask-Admin Admin interface for Flask supporting different database backends and ORMs. This project has inspired SQLAdmin extensively and most of the features and configurations are implemented the same.
  • FastAPI-Admin Admin interface for FastAPI which works with TortoiseORM.
  • Dashboard Admin interface for ASGI frameworks which works with the orm package.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kessel_sqladmin-0.5.0.tar.gz (484.3 kB view details)

Uploaded Source

Built Distribution

kessel_sqladmin-0.5.0-py3-none-any.whl (30.0 kB view details)

Uploaded Python 3

File details

Details for the file kessel_sqladmin-0.5.0.tar.gz.

File metadata

  • Download URL: kessel_sqladmin-0.5.0.tar.gz
  • Upload date:
  • Size: 484.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.23.0

File hashes

Hashes for kessel_sqladmin-0.5.0.tar.gz
Algorithm Hash digest
SHA256 391f7e126e6fa65b0f517d2f60ce9eda9b40f94ba8806cd1efecb972be7181ac
MD5 43d8ae3ea489a459f778037f48dee73d
BLAKE2b-256 b232cbfd033c56ddf0cb94d097597cef40a0824f3288b55dcb1da7705109d9ab

See more details on using hashes here.

File details

Details for the file kessel_sqladmin-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for kessel_sqladmin-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2751cd7a62c4d6bb1f6e07af4d1d4e3ff298c4e8146442b51846f7ea9482fcb3
MD5 4f3500932281837da141ec346c8ce7a2
BLAKE2b-256 57f5a6ddb8f5b139467ca9e360d9065c266fabde546a84865167e7f78b5e2633

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page