aiorem¶
A simple asyncio context manager with explicit interface.
Introduction¶
This library provides a simple context manager for managing resources in an asyncio environment. It’s designed to have an explicit interface, which makes it easy to use both as context manager and as a regular object for custom use cases.
Installing¶
You can install or upgrade aiorem via
$ pip install aiorem --upgrade
Quick Start¶
Here is a simple example of how to use aiorem:
import asyncio
from aiorem import AbstractResourceManager
class ResourceManager(AbstractResourceManager):
async def acquire_resources(self):
print("Resource acquired")
async def release_resources(self):
print("Resource released")
async def context_manager():
async with ResourceManager():
print("Context manager block")
@ResourceManager()
async def decorator():
print("Decorator block")
async def explicit_interface():
rm = ResourceManager()
await rm.acquire_resources()
print("Explicit interface block")
await rm.release_resources()
async def main():
await context_manager()
await decorator()
await explicit_interface()
if __name__ == "__main__":
asyncio.run(main())
For more information on how to use aiorem, please refer to the documentation.