From 9a43ed9ae0b3a76428990f12baebbfe5ad6330e1 Mon Sep 17 00:00:00 2001 From: d3vyce Date: Sun, 3 May 2026 04:47:03 -0400 Subject: [PATCH] update FastAPI Toolsets project --- content/projects/fastapi-toolsets/index.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/content/projects/fastapi-toolsets/index.md b/content/projects/fastapi-toolsets/index.md index fda7209..f8fed96 100644 --- a/content/projects/fastapi-toolsets/index.md +++ b/content/projects/fastapi-toolsets/index.md @@ -13,7 +13,7 @@ tags: ["python", "fastapi", "package", "toolsets"] ![overview](featured.png) {{< github repo="d3vyce/fastapi-toolsets" >}} -> Production-ready utilities for FastAPI applications +> Production-ready utilities for FastAPI applications A modular collection of production-ready utilities for FastAPI. Install only what you need — from async CRUD and database helpers to CLI tooling, Prometheus metrics, and pytest fixtures. Each module is independently installable via optional extras, keeping your dependency footprint minimal. @@ -35,7 +35,7 @@ A modular collection of production-ready utilities for FastAPI. Install only wha ## Installation -The base package includes the core modules (CRUD, database, schemas, exceptions, fixtures, dependencies, logging): +The base package includes the core modules (CRUD, database, schemas, exceptions, fixtures, dependencies, model mixins, logging): ```bash uv add fastapi-toolsets @@ -44,9 +44,9 @@ uv add fastapi-toolsets Install only the extras you need: ```bash -uv add "fastapi-toolsets[cli]" # CLI (typer) -uv add "fastapi-toolsets[metrics]" # Prometheus metrics (prometheus_client) -uv add "fastapi-toolsets[pytest]" # Pytest helpers (httpx, pytest-xdist) +uv add "fastapi-toolsets[cli]" +uv add "fastapi-toolsets[metrics]" +uv add "fastapi-toolsets[pytest]" ``` Or install everything: @@ -63,7 +63,9 @@ uv add "fastapi-toolsets[all]" - **Database**: Session management, transaction helpers, table locking, and polling-based row change detection - **Dependencies**: FastAPI dependency factories (`PathDependency`, `BodyDependency`) for automatic DB lookups from path or body parameters - **Fixtures**: Fixture system with dependency management, context support, and pytest integration -- **Standardized API Responses**: Consistent response format with `Response`, `PaginatedResponse`, and `PydanticBase` +- **Model Mixins**: SQLAlchemy mixins for common column patterns (`UUIDMixin`, `UUIDv7Mixin`, `CreatedAtMixin`, `UpdatedAtMixin`, `TimestampMixin`) +- **Lifecycle Events**: Post-commit event system (`EventSession`, `listens_for`) that dispatches async/sync callbacks for insert, update, and delete operations +- **Standardized API Responses**: Consistent response format with `Response`, `ErrorResponse`, `PaginatedResponse`, `CursorPaginatedResponse` and `OffsetPaginatedResponse`. - **Exception Handling**: Structured error responses with automatic OpenAPI documentation - **Logging**: Logging configuration with uvicorn integration via `configure_logging` and `get_logger`