Skip to main content

Reusable utilities for FastAPI

Project description

Reusable utilities for FastAPI


Documentation: https://fastapi-utils.davidmontague.xyz

Source Code: https://github.com/dmontagu/fastapi-utils


FastAPI is a modern, fast web framework for building APIs with Python 3.6+.

But if you're here, you probably already knew that!


Features

This package includes a number of utilities to help reduce boilerplate and reuse common functionality across projects:

  • Class Based Views: Stop repeating the same dependencies over and over in the signature of related endpoints.
  • Response-Model Inferring Router: Let FastAPI infer the response_model to use based on your return type annotation.
  • Repeated Tasks: Easily trigger periodic tasks on server startup
  • Timing Middleware: Log basic timing information for every request
  • SQLAlchemy Sessions: The FastAPISessionMaker class provides an easily-customized SQLAlchemy Session dependency
  • GUID Type: The provided GUID type makes it easy to use UUIDs as the primary keys for your database tables

It also adds a variety of more basic utilities that are useful across a wide variety of projects:

  • APIModel: A reusable pydantic.BaseModel-derived base class with useful defaults
  • APISettings: A subclass of pydantic.BaseSettings that makes it easy to configure FastAPI through environment variables
  • String-Valued Enums: The StrEnum and CamelStrEnum classes make string-valued enums easier to maintain
  • CamelCase Conversions: Convenience functions for converting strings from snake_case to camelCase or PascalCase and back
  • OpenAPI Spec Simplification: Simplify your OpenAPI Operation IDs for cleaner output from OpenAPI Generator

See the docs for more details and examples.

Requirements

This package is intended for use with any recent version of FastAPI (depending on pydantic>=1.0), and Python 3.6+.

Installation

pip install fastapi-utils

License

This project is licensed under the terms of the MIT license.

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-utils-0.1.0.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

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

fastapi_utils-0.1.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file fastapi-utils-0.1.0.tar.gz.

File metadata

  • Download URL: fastapi-utils-0.1.0.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.2 CPython/3.7.4 Darwin/19.0.0

File hashes

Hashes for fastapi-utils-0.1.0.tar.gz
Algorithm Hash digest
SHA256 11417bcd68f26ff842d0347cbce05b9841d2dc813e5123b4a6ca68a96b1013fb
MD5 cb74a13cbdc83b0ba8d004fdc252af10
BLAKE2b-256 2e085b7386aff4c69a0659b7f246cb86b6dbea33e27eccd68da03523e212cb25

See more details on using hashes here.

File details

Details for the file fastapi_utils-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: fastapi_utils-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.2 CPython/3.7.4 Darwin/19.0.0

File hashes

Hashes for fastapi_utils-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 889451431b418dee8801f2dfa3b904d3ed355aec41ed8fde0f65b9da808fdda5
MD5 1646f30531dbff2f979bec26d645d371
BLAKE2b-256 c0c4359a8fde5412f397cfabf9d51729bd9d5206ebd181985e7f5a6453b0c757

See more details on using hashes here.

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