# FastFort > A batteries-included admin and authentication framework for FastAPI. Django-style model registration, a production admin UI, and no Node.js anywhere. Version 0.3.1. Python 3.11+. MIT licensed. Source: https://github.com/Matnazar-Matnazarov/fastfort FastFort gives a FastAPI project the things Django ships and FastAPI does not: a model admin, session and JWT authentication, roles, an audit trail. Models are registered Django-style with `@admin.register`, and the CSS and JavaScript ship pre-built inside the wheel — there is no Node.js, no build step and no CDN anywhere in a FastFort install. ## Getting started - [Introduction](https://docs.fastfort.inventrix.uz/docs/introduction/): What FastFort is, what it gives a FastAPI project on install, and the constraints it was built under. - [Quickstart](https://docs.fastfort.inventrix.uz/docs/quickstart/): From an empty directory to a signed-in admin with a real model on the page, in about fifteen minutes. ## Configuration - [Settings](https://docs.fastfort.inventrix.uz/docs/settings/): The whole configuration surface — every group, every field, its default, and why the default is what it is. ## Model admin - [ModelAdmin](https://docs.fastfort.inventrix.uz/docs/model-admin/): Every declarative option, what it changes on screen, and what happens when you get one wrong. - [Deleting things](https://docs.fastfort.inventrix.uz/docs/deletion/): The confirmation counts what actually goes — rows that cascade, rows kept with the link cleared, and rows that block the delete outright. ## Fields & widgets - [Fields and widgets](https://docs.fastfort.inventrix.uz/docs/fields/): Every column type FastFort knows, the control it draws, and the four cases where drawing the obvious control would corrupt your data. ## Filters & search - [Filters and search](https://docs.fastfort.inventrix.uz/docs/filters/): One tuple, six shapes of control — and the two kinds of field FastFort refuses to filter on, with the reason. ## Actions - [Bulk actions](https://docs.fastfort.inventrix.uz/docs/actions/): The bar that appears once rows are ticked — declaring one, the transaction it runs in, and how to offer none. ## Import & export - [Import and export](https://docs.fastfort.inventrix.uz/docs/import-export/): The current view out as CSV, Excel or JSON — and back in again, with every bad cell reported at once and nothing written unless the whole file parses. ## Spatial & vector - [PostGIS and vectors](https://docs.fastfort.inventrix.uz/docs/spatial/): Eight geometry kinds drawn and edited on a hand-rolled map, spatial filters that know metres from degrees, and pgvector similarity search. ## Authentication - [Authentication and security](https://docs.fastfort.inventrix.uz/docs/authentication/): Argon2id, session and JWT, lockout with a growing delay, CSRF on every form, and a CSP that starts at default-src 'none'. ## Theming & i18n - [Theming and languages](https://docs.fastfort.inventrix.uz/docs/theming/): Rebranding is one number. Eleven languages ship in the wheel, one of them right-to-left, and there is nothing to configure to get them. ## ORM backends - [ORM backends](https://docs.fastfort.inventrix.uz/docs/orm-backends/): SQLAlchemy 2.0 and Tortoise behind one adapter contract — and the four lines that differ between them. ## CLI - [The fastfort command](https://docs.fastfort.inventrix.uz/docs/cli/): Four commands — a signing key, a first account, a configuration report that gates a deploy, and a list of what the admin manages. ## Deployment - [Deployment](https://docs.fastfort.inventrix.uz/docs/deployment/): What to set, what to check, and the two things people get wrong behind a proxy. ## Optional - [Demo application](https://docs.fastfort.inventrix.uz/demo/): Fastfort Freight — 17 models on PostgreSQL + PostGIS, with the source of every admin declaration. - [Screen by screen](https://docs.fastfort.inventrix.uz/screens/): each admin page, and the exact code that produces it. - [PyPI](https://pypi.org/project/fastfort/): `pip install "fastfort[sqlalchemy,postgres]"`