Skip to main content

Reusable tools for FastAPI: async CRUD, fixtures, CLI, and standardized responses for SQLAlchemy + PostgreSQL

Project description

FastAPI Toolsets

FastAPI Toolsets provides production-ready utilities for FastAPI applications built with async SQLAlchemy and PostgreSQL. It includes generic CRUD operations, a fixture system with dependency resolution, a Django-like CLI, standardized API responses, and structured exception handling with automatic OpenAPI documentation.

CI codecov ty uv Ruff Python 3.11+ License: MIT


Documentation: https://fastapi-toolsets.d3vyce.fr

Source Code: https://github.com/d3vyce/fastapi-toolsets


Installation

uv add fastapi-toolsets

Features

  • CRUD: Generic async CRUD operations with CrudFactory, built-in search with relationship traversal
  • 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
  • CLI: Django-like command-line interface with fixture management and custom commands support
  • Standardized API Responses: Consistent response format with Response, PaginatedResponse, and PydanticBase
  • Exception Handling: Structured error responses with automatic OpenAPI documentation
  • Logging: Logging configuration with uvicorn integration via configure_logging and get_logger
  • Pytest Helpers: Async test client, database session management, pytest-xdist support, and table cleanup utilities

License

MIT License - see LICENSE for details.

Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastapi_toolsets-0.10.0.tar.gz (28.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastapi_toolsets-0.10.0-py3-none-any.whl (40.9 kB view details)

Uploaded Python 3

File details

Details for the file fastapi_toolsets-0.10.0.tar.gz.

File metadata

  • Download URL: fastapi_toolsets-0.10.0.tar.gz
  • Upload date:
  • Size: 28.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fastapi_toolsets-0.10.0.tar.gz
Algorithm Hash digest
SHA256 8eec1649b0c90a35610d250fdb66e1732929b8516320648f6be3684b5e0d6890
MD5 4972c48143045deb445f64adc7fc44a0
BLAKE2b-256 b4b24d7bf17de3c148a4fcf64f35c47cf934cdc8c3dc603cda526089729b5c9d

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastapi_toolsets-0.10.0.tar.gz:

Publisher: build-release.yml on d3vyce/fastapi-toolsets

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fastapi_toolsets-0.10.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fastapi_toolsets-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 395e2aef863eb1eb7322fabfe25f9381cbfef46d7ce10950218f7315407b8c75
MD5 b54e88e51512230bc6cc0ff7995f5a5a
BLAKE2b-256 5d6e19df218b81584bca462ba42ce529e901b97ee2b5d4b1da60f62e09bedf60

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastapi_toolsets-0.10.0-py3-none-any.whl:

Publisher: build-release.yml on d3vyce/fastapi-toolsets

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page