// the find
smithyhq/sqladmin
SQLAlchemy Admin for FastAPI and Starlette
sqladmin is a Django-Admin-style management interface for FastAPI and Starlette apps using SQLAlchemy. It auto-generates CRUD views from your models with filtering, sorting, search, and export. Aimed at developers who need an internal admin panel without reaching for Flask or Django just for that feature.
- Supports both sync and async SQLAlchemy engines out of the box, which matters a lot in FastAPI async codebases where most alternatives force you to use sync sessions
- Authentication is handled via a pluggable AuthenticationBackend base class — you wire in your own login logic rather than fighting a baked-in auth system
- Test coverage is solid and well-organized across sync/async variants, multiple PK types, file uploads, and SQLModel integration — the test suite gives confidence before adopting
- Custom actions, formatters, and template overrides are all documented with cookbook examples, so non-trivial admin customizations are achievable without forking the library
- Bundles jQuery and Select2 — the JS stack is dated and means you're shipping ~100KB of legacy dependencies for an internal tool; no path to replacing it without touching templates
- No built-in per-object or row-level permission system; the AuthenticationBackend only controls access to the whole admin, so anything finer-grained requires hacking around the library
- Column filtering is limited to basic operations; complex multi-column filters or dynamic filter options (e.g. dependent dropdowns) require writing custom filter classes with minimal documentation
- No concept of inline editing for related models — if you have a one-to-many and want to edit children on the parent form (like Django admin inlines), you're out of luck