{"library":"sqladmin","title":"SQLAdmin","type":"library","description":"SQLAdmin is a flexible and actively developed admin interface for SQLAlchemy models, designed for use with FastAPI and Starlette. It provides a UI for managing database models, leveraging WTForms for form building and Tabler for the UI. The library maintains a regular release cadence, with updates typically occurring every few weeks to a month.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install sqladmin","pip install \"sqladmin[full]\""],"cli":null},"imports":["from sqladmin import Admin","from sqladmin import ModelView","from sqladmin.authentication import AuthenticationBackend"],"auth":{"required":false,"env_vars":[]},"links":{"homepage":"https://aminalaee.dev/sqladmin","github":"https://github.com/smithyhq/sqladmin","docs":"https://smithyhq.github.io/sqladmin/","changelog":null,"pypi":"https://pypi.org/project/sqladmin/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null},"quickstart":{"code":"import os\nfrom fastapi import FastAPI\nfrom sqlalchemy import create_engine, Column, Integer, String\nfrom sqlalchemy.orm import declarative_base, sessionmaker\n\nfrom sqladmin import Admin, ModelView\n\n# 1. Database Setup\nDATABASE_URL = os.environ.get(\"DATABASE_URL\", \"sqlite:///./example.db\")\nengine = create_engine(DATABASE_URL, connect_args={\"check_same_thread\": False})\n\nBase = declarative_base()\n\nclass User(Base):\n    __tablename__ = \"users\"\n    id = Column(Integer, primary_key=True)\n    name = Column(String, default=\"Anonymous\")\n    email = Column(String, unique=True, nullable=False)\n\nBase.metadata.create_all(engine)\n\n# 2. FastAPI App Setup\napp = FastAPI(title=\"My SQLAdmin App\")\n\n# 3. SQLAdmin Setup\nadmin = Admin(app, engine, title=\"My Admin Panel\")\n\n# 4. Define ModelView\nclass UserAdmin(ModelView, model=User):\n    column_list = [User.id, User.name, User.email]\n    column_searchable_list = [User.name, User.email]\n    column_sortable_list = [User.id, User.name, User.email]\n    column_default_sort = ('id', True)\n\n# 5. Add ModelView to Admin\nadmin.add_view(UserAdmin)\n\n@app.get(\"/\")\nasync def read_root():\n    return {\"message\": \"Welcome! Visit /admin for the admin panel.\"}\n\n# To run this:\n# pip install fastapi uvicorn sqladmin sqlalchemy\n# uvicorn your_module_name:app --reload\n# Then navigate to http://127.0.0.1:8000/admin in your browser.","lang":"python","description":"This quickstart demonstrates how to integrate SQLAdmin into a FastAPI application, defining a simple SQLAlchemy model and exposing it through the admin panel. It sets up an in-memory SQLite database and registers a `UserAdmin` view.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"0.25.0","pypi_latest":"0.25.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":3.9,"avg_import_s":1.12,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"full","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.98,"mem_mb":25.6,"disk_size":"50.6M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"sqladmin","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1,"mem_mb":25.6,"disk_size":"50.5M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"full","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.1,"import_time_s":0.78,"mem_mb":25.6,"disk_size":"49M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"sqladmin","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4,"import_time_s":0.78,"mem_mb":25.6,"disk_size":"49M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"full","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.33,"mem_mb":28.8,"disk_size":"56.4M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"sqladmin","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.34,"mem_mb":28.8,"disk_size":"56.2M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"full","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.8,"import_time_s":1.19,"mem_mb":28.8,"disk_size":"55M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"sqladmin","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.8,"import_time_s":1.19,"mem_mb":28.8,"disk_size":"55M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"full","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.4,"mem_mb":28.4,"disk_size":"47.4M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"sqladmin","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.31,"mem_mb":28.4,"disk_size":"47.3M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"full","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.5,"import_time_s":1.32,"mem_mb":28.4,"disk_size":"46M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"sqladmin","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.4,"import_time_s":1.31,"mem_mb":28.4,"disk_size":"46M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"full","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.25,"mem_mb":28.8,"disk_size":"47.0M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"sqladmin","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.29,"mem_mb":28.8,"disk_size":"46.8M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"full","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.6,"import_time_s":1.22,"mem_mb":28.7,"disk_size":"45M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"sqladmin","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.6,"import_time_s":1.25,"mem_mb":28.7,"disk_size":"45M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"full","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.89,"mem_mb":26.5,"disk_size":"49.0M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"sqladmin","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.88,"mem_mb":26.5,"disk_size":"48.9M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"full","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.9,"import_time_s":0.84,"mem_mb":26.5,"disk_size":"48M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"sqladmin","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.7,"import_time_s":0.84,"mem_mb":26.5,"disk_size":"48M"}]}}