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.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 860f6fb89337dcb4afb3e590e0ba0021f4488fce76e16d8918aa9adbaab4d9bb |
|
MD5 | c631dbf620b25882864966724d8abdab |
|
BLAKE2b-256 | 6d9ba90678fc705882a37e5195d69f10edeee86aeb923e342892ebfa11619f51 |
Close
Hashes for fastapi_lifespan_manager-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a476d30f72f7eafbde76b4454316e5543b7c41d994de8096243fc8754a3012e9 |
|
MD5 | 3ba72e4f2cf394b83de913667875f77a |
|
BLAKE2b-256 | 0357e61afff72370ce70176a65b209c38d697455d54ef651c59e4ef6b586386a |