# tempest-fastapi-sdk > tempest-fastapi-sdk are the shared FastAPI + SQLAlchemy 2.0 (async) + Pydantic v2 building blocks used across Tempest services: BaseAppSettings, BaseModel, BaseRepository[Model], BaseService, BaseController, base and pagination schemas, the AppException hierarchy + handlers, AsyncDatabaseManager, AlembicHelper, utilities (PasswordUtils, JWTUtils, EmailUtils, UploadUtils, StoredFileServiceMixin, Brazilian document/phone helpers), JWT auth (UserAuthService + make_jwt_user_dependency), MinIO/S3 storage, a FastStream broker and TaskIQ tasks. Optional features ship as extras ([auth], [email], [upload], [minio], [cache], [queue], [tasks], [metrics], [webpush], [all]); Python >= 3.11. ## Overview - [tempest-fastapi-sdk](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/) - [Instalação](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/installation/) - [Arquitetura](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/architecture/) - [Tutorial — construindo a feature *Users*](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/tutorial/) ## Recipes - [Receitas](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/) - [Banco de dados](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/database/) - [Multi-tenant (TenantScopedRepository)](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/multi-tenant/) - [Audit trail](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/audit-trail/) - [Camada HTTP](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/http/) - [HTTP client (saída)](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/http-client/) - [Cache](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/cache/) - [Feature flags](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/feature-flags/) - [Tempo real](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/realtime/) - [WebSocket router](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/websocket/) - [Fila e Tarefas](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/queue-tasks/) - [Outbox transacional (eventos confiáveis)](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/outbox/) - [Email transacional](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/email/) - [Web Push](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/webpush/) - [Logging](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/logging/) - [Observabilidade (tracing + slow queries)](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/observability/) - [Object storage — MinIO / S3](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/storage/) - [Uploads — disco local + S3 / MinIO](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/uploads/) - [Arquivo no serviço — `StoredFileServiceMixin`](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/stored-files/) - [Downloads](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/downloads/) - [Idempotência](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/idempotency/) - [Sync offline-first (delta)](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/offline-sync/) - [Bundled auth flow (signup / activate / login / reset)](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/auth-flow/) - [MFA / 2FA com TOTP (Authenticator)](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/mfa/) - [Sessões server-side](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/sessions/) - [Métricas](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/metrics/) - [Painel admin](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/admin/) - [Testes](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/testing/) - [Deploy seguro (migrações + graceful shutdown)](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/deploy-safety/) - [CLI](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/cli/) - [Segurança](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/security/) - [Utilitários diversos](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/utilities/) - [Helpers brasileiros](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/recipes/br-helpers/) ## Learning (marketplace) - [Projetos de aprendizado](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/learning/) - [🛒 Marketplace de produtos](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/learning/marketplace/) - [Modelo de domínio](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/learning/marketplace/domain/) - [Regras de negócio — Marketplace](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/learning/marketplace/business-rules/) - [Fluxos críticos](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/learning/marketplace/flows/) - [Mapa de endpoints](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/learning/marketplace/api/) ## API reference - [Referência da API](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/reference/) ## Project - [Roadmap](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/roadmap/) - [Guia de migração](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/migration/) - [Contribuindo](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/contributing/) - [changelog.md](https://mauriciobenjamin700.github.io/tempest-fastapi-sdk/changelog/)