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

Install using pip:

$ pip install sqladmin

This will install the full version of sqladmin with optional dependencies:

$ pip install "sqladmin[full]"

Screenshots

sqladmin-1 sqladmin-2

Quickstart

Let's define an example SQLAlchemy model:

from sqlalchemy import Column, Integer, String, create_engine
from sqlalchemy.orm 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

sqladmin-0.20.1.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

sqladmin-0.20.1-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file sqladmin-0.20.1.tar.gz.

File metadata

  • Download URL: sqladmin-0.20.1.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.2

File hashes

Hashes for sqladmin-0.20.1.tar.gz
Algorithm Hash digest
SHA256 b6cc6df648a8a05f7baa57cd5fc236cf0729d0bb27b0a33ced150e956fa68437
MD5 f5e3c9f07f056023c51b638a52899566
BLAKE2b-256 fe04fae8ffd11e2b370495f7f5e21cfaf4c7fc41cfc8a4d430474d72a9fd213d

See more details on using hashes here.

File details

Details for the file sqladmin-0.20.1-py3-none-any.whl.

File metadata

  • Download URL: sqladmin-0.20.1-py3-none-any.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.2

File hashes

Hashes for sqladmin-0.20.1-py3-none-any.whl
Algorithm Hash digest
SHA256 82310bb5b4cc2563494e42a03ef0b269030d78f6df4f6a331837f0f124d10dae
MD5 67447937fe17837924f1356de215fd48
BLAKE2b-256 e7bef0bc5a1e0b6aeeff7f44b30db8649d1af0261e81615278e7c495d40db107

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