SQLAlchemy admin for FastAPI and Starlette
Project description
SQLAlchemy Admin for Starlette/FastAPI
SQLAdmin is a flexible Admin interface for SQLAlchemy models.
Main features include:
- SQLAlchemy sync/async engines
- Starlette integration
- FastAPI integration
- WTForms form building
- SQLModel support
- UI using Tabler
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
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
Release history Release notifications | RSS feed
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)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6cc6df648a8a05f7baa57cd5fc236cf0729d0bb27b0a33ced150e956fa68437 |
|
MD5 | f5e3c9f07f056023c51b638a52899566 |
|
BLAKE2b-256 | fe04fae8ffd11e2b370495f7f5e21cfaf4c7fc41cfc8a4d430474d72a9fd213d |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82310bb5b4cc2563494e42a03ef0b269030d78f6df4f6a331837f0f124d10dae |
|
MD5 | 67447937fe17837924f1356de215fd48 |
|
BLAKE2b-256 | e7bef0bc5a1e0b6aeeff7f44b30db8649d1af0261e81615278e7c495d40db107 |