Skip to main content

Python asynchronous library for synchronizing replicated microservices

Project description

aiodistributor

Python Asynchronous Library for Synchronization of Replicated Microservices

codecov tests

This library provides a set of tools for synchronizing replicated microservices using Redis. The main goal is to facilitate inter-service communication, rate limiting, and throttling mechanisms in a distributed environment.

Features:

  • Distributed sliding counter for implementing rate limiting or throttle mechanisms.
  • Distributed waiter for waiting for signals from other nodes or services and triggering the appropriate callback.
  • Distributed task for managing and distributing tasks across multiple nodes or services.
  • Distributed cache for caching data and sharing it among services.
  • Distributed notifier for event-driven communication between nodes or services.
  • Utilizes Redis for storage and message passing between nodes.
  • Asynchronous and non-blocking design using Python's asyncio library.

Dependencies

  • Python 3.10+
  • Redis server
  • redis-py or aioredis

Installation

To install the aiodistributor library, you can simply use pip:

pip install aiodistributor

Usage

Detailed examples and usage instructions can be found in examples folder

Contributing

Contributions are welcome! Please submit a pull request or create an issue to discuss proposed changes.

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

aiodistributor-0.0.3.3.tar.gz (15.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiodistributor-0.0.3.3-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file aiodistributor-0.0.3.3.tar.gz.

File metadata

  • Download URL: aiodistributor-0.0.3.3.tar.gz
  • Upload date:
  • Size: 15.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.14

File hashes

Hashes for aiodistributor-0.0.3.3.tar.gz
Algorithm Hash digest
SHA256 4e36470abcb6293aff92920e816dcd1467ed4347f3bf86e4adebf482c3dcfcfc
MD5 b1105b3792e70ae28f76842b05802e85
BLAKE2b-256 e35501bc16992b89c62f58e9ba2ecb06b522742b7132472328d7ec57a8ba8de0

See more details on using hashes here.

File details

Details for the file aiodistributor-0.0.3.3-py3-none-any.whl.

File metadata

File hashes

Hashes for aiodistributor-0.0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 659fd85e801307d0e81bfe14a949d80b2e3472c19232c20e4d93648286970d7f
MD5 285c98256e9d9c0179aad320e2e55ed1
BLAKE2b-256 b0ad0a422a2d260c833f3da951e4c4ffebe18c2e46d77959af1dc2b48f6ed8a6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page