Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fastapiutils/fastapi-utils
Reusable utilities for FastAPI
https://github.com/fastapiutils/fastapi-utils
fastapi
Last synced: 1 day ago
JSON representation
Reusable utilities for FastAPI
- Host: GitHub
- URL: https://github.com/fastapiutils/fastapi-utils
- Owner: fastapiutils
- License: mit
- Created: 2020-01-19T22:34:25.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-11-10T18:13:00.000Z (3 months ago)
- Last Synced: 2024-11-11T03:24:48.107Z (3 months ago)
- Topics: fastapi
- Language: Python
- Homepage: https://fastapiutils.github.io/fastapi-utils/
- Size: 333 KB
- Stars: 1,941
- Watchers: 17
- Forks: 166
- Open Issues: 65
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
Quicker FastApi developing tools
---
**Documentation**: https://fastapiutils.github.io/fastapi-utils/**Source Code**: https://github.com/dmontagu/fastapi-utils
---
FastAPI is a modern, fast web framework for building APIs with Python 3.8+.
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:
* **Resource Class**: Create CRUD with ease the OOP way with `Resource` base class that lets you implement methods quick.
* **Class Based Views**: Stop repeating the same dependencies over and over in the signature of related endpoints.
* **Repeated Tasks**: Easily trigger periodic tasks on server startup
* **Timing Middleware**: Log basic timing information for every request
* **OpenAPI Spec Simplification**: Simplify your OpenAPI Operation IDs for cleaner output from OpenAPI Generator
* **SQLAlchemy Sessions**: The `FastAPISessionMaker` class provides an easily-customized SQLAlchemy Session dependency---
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
* **GUID Type**: The provided GUID type makes it easy to use UUIDs as the primary keys for your database tablesSee the [docs](https://fastapiutils.github.io/fastapi-utils//) 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.8+.
## Installation
```bash
pip install fastapi-utils # For basic slim package :)pip install fastapi-utils[session] # To add sqlalchemy session maker
pip install fastapi-utils[all] # For all the packages
```## License
This project is licensed under the terms of the MIT license.