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
- SQLModel support
- Modern UI using Tabler
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)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 391f7e126e6fa65b0f517d2f60ce9eda9b40f94ba8806cd1efecb972be7181ac |
|
MD5 | 43d8ae3ea489a459f778037f48dee73d |
|
BLAKE2b-256 | b232cbfd033c56ddf0cb94d097597cef40a0824f3288b55dcb1da7705109d9ab |
File details
Details for the file kessel_sqladmin-0.5.0-py3-none-any.whl
.
File metadata
- Download URL: kessel_sqladmin-0.5.0-py3-none-any.whl
- Upload date:
- Size: 30.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.23.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2751cd7a62c4d6bb1f6e07af4d1d4e3ff298c4e8146442b51846f7ea9482fcb3 |
|
MD5 | 4f3500932281837da141ec346c8ce7a2 |
|
BLAKE2b-256 | 57f5a6ddb8f5b139467ca9e360d9065c266fabde546a84865167e7f78b5e2633 |