[](https://app.netlify.com/projects/sqladmin-ng/deploys)
SQLAlchemy Admin for Starlette/FastAPI
SQLAdmin-NG is a flexible, maintained admin interface for SQLAlchemy models, built for FastAPI and Starlette. This project is a maintained fork of SQLAdmin from version v0.23.0, originally created by Amin Alaee. Development continues here due to inactivity in the original repository.
⚠️ This package is a drop-in replacement for
sqladmin. Just replace the installation package — no code changes required.
Why this fork?
The original project has been inactive for a while. This fork aims to:
- Continue maintenance and bug fixes
- Support newer versions of dependencies
- Add new features over time
Main features
- SQLAlchemy sync/async engines
- Starlette integration
- FastAPI integration
- WTForms form building
- SQLModel support
- UI using Tabler
Documentation: https://mmzeynalli.github.io/sqladmin-ng
Source Code: https://github.com/mmzeynalli/sqladmin-ng
Online Demo: Demo
Installation
Install using pip:
$ pip install sqladmin-ng
This will install the full version of sqladmin-ng with optional dependencies:
$ pip install "sqladmin-ng[full]"
Migration from sqladmin
pip uninstall sqladmin
pip install sqladmin-ng
That's it. No need to change existing code.
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-NG 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-NG 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-NG interface.
Related projects and inspirations
- SQLAdmin The original project that this fork is based on.
- Flask-Admin Admin interface for Flask supporting different database backends and ORMs. This project has inspired SQLAdmin-NG 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
ormpackage.
Metadata
Release files for sqladmin-ng 0.25.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sqladmin_ng-0.25.0.tar.gz | 1.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sqladmin_ng-0.25.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.9 MB
Release files / sqladmin_ng-0.25.0.tar.gz
| Download URL | sqladmin_ng-0.25.0.tar.gz |
|---|---|
| Size | 1.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e38a2de592ab1f39c9d6f0f20c5bb05f26163112d36e46d3823cec63184f44ef
|
|
BLAKE2b-256 checksum How to use checksums |
1011cd700fe5381fbe34b23dab9522ec41ecb438cd077d8d5021650a6eeb64bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / sqladmin_ng-0.25.0-py3-none-any.whl
| Download URL | sqladmin_ng-0.25.0-py3-none-any.whl |
|---|---|
| Size | 1.5 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f446c8d574ea4b6593a0e2764fd5bc081e7d3af8b70fcb0af038706f56eb598d
|
|
BLAKE2b-256 checksum How to use checksums |
4c3696401bf723d85ef5998bd5c866e46eab3e3518e0fbe2f63c4e214141a479
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|