aioredlock
Asyncio implemetation of Redis distributed locks
Decision gist · record as of 2026-08-14
Yes, but with caution. The package is stable and production-ready (MIT license, no known vulnerabilities, low install friction), but it has been dormant since February 2022. Install it if you need Redlock for asyncio and can accept that no active maintenance is happening; verify that aioredis itself is still viable for your target Python and Redis versions before committing.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a running Redis instance; aioredis must be able to connect to at least one Redis server for lock operations to succeed.
- Low friction install with just two runtime dependencies (aioredis and attrs).
- Package is dormant—last release was 2022-02-08, over 1648 days ago—so expect no active maintenance or updates.
License · maintenance · safety
MIT (permissive) — MIT license (permissive) means you can use, modify, and distribute this package freely with minimal restrictions, though you must include the license notice.
last release 2022-02-08 (1648 days) · last repo commit 2023-12-29 · 317 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 103,363 downloads/mo, #12,810 on PyPI
Alternatives
Verify before relying
pip install aioredlock
from aioredlock import Aioredlock, LockError
lock_manager = Aioredlock([('localhost', 6379)])
lock = await lock_manager.lock('resource_name', lock_timeout=10)
await lock_manager.unlock(lock)
await lock_manager.destroy()- Whether aioredis dependency is compatible with modern Python 3.9+ async patterns and current Redis versions.
- Whether the package works reliably with Redis Cluster or only standalone/Sentinel deployments.
- Current state of aioredis itself—if it is also dormant or deprecated, aioredlock's viability is further limited.
What it is and what it does
Aioredlock is an asyncio-compatible implementation of the Redlock distributed locking algorithm for Redis. It allows async Python applications to safely coordinate access to shared resources across multiple Redis instances, ensuring that only one client holds a lock at a time even in the presence of network partitions or clock skew.
The package provides a lock manager that can acquire, extend, and release locks with configurable timeouts and retry behavior. It supports multiple Redis connection types (tuples, dicts, URIs, and Sentinel), and locks can be used directly or as async context managers. The implementation requires at least half of the configured Redis instances to agree on lock state for operations to succeed, following the Redlock consensus model.
Use it for
- Coordinate task execution across multiple async workers to prevent duplicate processing of the same job.
- Protect shared resource updates in a distributed system where multiple services need exclusive access.
- Implement leader election or distributed consensus primitives in microservices architectures.
- Prevent concurrent writes to a shared data store when using multiple async application instances.
- Gate access to rate-limited external APIs or services from multiple concurrent async clients.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, but with caution.
The package is stable and production-ready (MIT license, no known vulnerabilities, low install friction), but it has been dormant since February 2022. Install it if you need Redlock for asyncio and can accept that no active maintenance is happening; verify that aioredis itself is still viable for your target Python and Redis versions before committing.
Install
aioredlock on PyPI
Before you install
Low friction install with just two runtime dependencies (aioredis and attrs). Package is dormant—last release was 2022-02-08, over 1648 days ago—so expect no active maintenance or updates.
Requires a running Redis instance; aioredis must be able to connect to at least one Redis server for lock operations to succeed.
License in practice
MIT license (permissive) means you can use, modify, and distribute this package freely with minimal restrictions, though you must include the license notice.
Quickstart
pip install aioredlock
from aioredlock import Aioredlock, LockError
lock_manager = Aioredlock([('localhost', 6379)])
lock = await lock_manager.lock('resource_name', lock_timeout=10)
await lock_manager.unlock(lock)
await lock_manager.destroy()
Verify before relying
- Whether aioredis dependency is compatible with modern Python 3.9+ async patterns and current Redis versions.
- Whether the package works reliably with Redis Cluster or only standalone/Sentinel deployments.
- Current state of aioredis itself—if it is also dormant or deprecated, aioredlock's viability is further limited.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.6 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesaioredisattrs |
| Maintenance | Dormant 1,648 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 103,363 / month, #12,810 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python Modules |
Evidence: aioredlock-0.7.3-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “redis distributed locks asyncio”
- aioredlockImplements the Redlock distributed lock algorithm for asyncio,…
- redlockImplements the RedLock algorithm to provide distributed locks across…
- redlock-pyImplements Redis-based distributed locks using the Redlock algorithm,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also coredis · redlock · redlock-py · kazoo · python-redis-lock · pottery · celery_once · aioredis · portalocker · aiorwlock