FastAPI Lifespan Manager
Project description
Fastapi LifespanManager
fastapi-lifespan-manager
is a Python library that provides a lifespan manager for FastAPI applications.
The LifespanManager
in fastapi-lifespan-manager
allows you to have multiple lifespan in one
application.
This library is particularly useful for managing background tasks, such as starting and stopping a database connection or managing a cache, as well as for performing cleanup tasks, such as closing open file handles or shutting down running processes.
To use fastapi-lifespan-manager
, simply install it via pip:
pip install fastapi-lifespan-manager
Usage Example:
from typing import AsyncIterator
from fastapi import FastAPI
from redis.asyncio import Redis
from sqlalchemy.ext.asyncio import create_async_engine
from fastapi_lifespan_manager import LifespanManager, State
manager = LifespanManager()
@manager.add
async def setup_db(app: FastAPI) -> AsyncIterator[State]:
engine = await create_async_engine("postgresql+asyncpg://user:password@localhost/db")
yield {"db": engine}
await engine.dispose()
@manager.add
async def setup_cache(app: FastAPI) -> AsyncIterator[State]:
redis = await Redis.from_url("redis://localhost:6379/0")
yield {"cache": redis}
await redis.close()
await redis.wait_closed()
app = FastAPI(lifespan=manager)
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
Built Distribution
Close
Hashes for fastapi_lifespan_manager-0.1.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0a670c408a7e7dd4d980d99cf35aebf1c231f7c4c4d7d3e645cacb38b67f94f |
|
MD5 | fca7fd092e662a1bbfe000f1378cc8a6 |
|
BLAKE2b-256 | d1df2bfa97aa8eb6e4d517ecfd9fe511983711d9d51c75288af53590a2b0a0a0 |
Close
Hashes for fastapi_lifespan_manager-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5133c2fdae45704b392d5cd93409164c49d3b32a290facd46d8363f30f234bc3 |
|
MD5 | bbef63a7fc41f58d58b4ed04d6fa7113 |
|
BLAKE2b-256 | ae531ea61f2d68517d5c19b2daa3a433247fb2fa813cf08aa3b94e078fb082b8 |