Metadata-Version: 2.1
Name: aioredis-semaphore
Version: 0.1.0
Summary: 
Author: David Jiménez
Author-email: davigetto@gmail.com
Requires-Python: >=3.8,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: aioredis (>=2.0.1,<3.0.0)
Description-Content-Type: text/markdown

===============
aioredis-semaphore
===============


A distributed semaphore and mutex built on Redis.


Installation
------------
To install aioredis-semaphore, simply::

    pip install aioredis-semaphore


Examples
--------

::

    # -*- coding:utf-8 -*-
    import anyio
    from aioredis import Redis
    from anyio import create_task_group, run

    from aioredis_semaphore import Semaphore

    semaphore = Semaphore(Redis(), count=2, namespace="example")


    async def task(i: int) -> None:
        async with semaphore:
            print("id: {}".format(i))
            print("sleep...")
            await anyio.sleep(2)


    async def main() -> None:
        async with create_task_group() as tg:
            for i in range(5):
                tg.start_soon(task, i)


    if __name__ == "__main__":
        run(main)

