aiometer

A Python concurrency scheduling library, compatible with asyncio and trio. (by florimondmanca)

Aiometer Alternatives

Similar projects and alternatives to aiometer based on common topics and language

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better aiometer alternative or higher similarity.

aiometer reviews and mentions

Posts with mentions or reviews of aiometer. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-04.
  • HTTP Rate Limit
    3 projects | dev.to | 4 Jan 2024
    class RateLimitTransport(httpx.AsyncHTTPTransport): def __init__(self, max_per_second: float = 5, **kwargs) -> None: """ Async HTTP transport with rate limit. Args: max_per_second: Maximum number of requests per second. Other args are passed to httpx.AsyncHTTPTransport. """ self.interval = 1 / max_per_second self.next_start_time = 0 super().__init__(**kwargs) async def notify_task_start(self): """ https://github.com/florimondmanca/aiometer/blob/358976e0b60bce29b9fe8c59807fafbad3e62cbc/src/aiometer/_impl/meters.py#L57 """ loop = asyncio.get_running_loop() while True: now = loop.time() next_start_time = max(self.next_start_time, now) until_now = next_start_time - now if until_now <= self.interval: break await asyncio.sleep(max(0, until_now - self.interval)) self.next_start_time = max(self.next_start_time, now) + self.interval async def handle_async_request(self, request: httpx.Request) -> httpx.Response: await self.notify_task_start() return await super().handle_async_request(request) async def __aenter__(self) -> Self: await self.notify_task_start() return await super().__aenter__() async def __aexit__(self, *args: Any) -> None: await super().__aexit__(*args)
  • Limiting concurrency in Python asyncio: the story of async imap_unordered()
    1 project | /r/Python | 11 Apr 2023
    I recommend anyone interested in this topic to take a look at aiometer.

Stats

Basic aiometer repo stats
2
337
4.2
5 months ago

florimondmanca/aiometer is an open source project licensed under MIT License which is an OSI approved license.

The primary programming language of aiometer is Python.


Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com