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.2.tar.gz (16.0 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.2-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aiodistributor-0.0.3.2.tar.gz
  • Upload date:
  • Size: 16.0 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.2.tar.gz
Algorithm Hash digest
SHA256 23df7abbc9c91e31a01ab9a15003bc7b92176f6c3070d9bff029d5c9b1f01cb6
MD5 24d81b6c44f02c717b66de6ce2c078a6
BLAKE2b-256 409e639b7c65bc51c54c24fa03473775c35431a7761451d86d5593180b4eea8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiodistributor-0.0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 143a46b391ac3a6a0803238b758d9e0c0df57907801bd24c8057a4b64c114a9f
MD5 b56d1cd8037d2c6f850754da2a92f836
BLAKE2b-256 987eca60f09b00d7937b69970c15e6ae488fa1121345d835de86d17335e36bb9

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