{"categories":[{"label":"Software Development","url":"https://skillfed.io/packages/category/software-development/5"}],"enrichment":{"capability":"Provides read-write locks for asyncio programs, allowing multiple concurrent readers or a single exclusive writer to synchronize access to shared data.","skillfed_tags":["asyncio","concurrency","synchronization"],"use_cases":["Cache or configuration store that is read frequently but updated rarely","Shared data structure in an async web service where reads vastly outnumber writes","Coordinating access to a resource pool where multiple consumers read status but few modify state","Implementing reader-writer patterns in async database connection managers","Protecting mutable state in async event handlers where contention is primarily read-heavy"],"what_it_does":"aiorwlock implements a read-write lock primitive for asyncio-based Python programs. It maintains separate locks for read and write operations: the read lock can be held by multiple concurrent reader tasks simultaneously, while the write lock is exclusive and blocks all other readers and writers. This design improves performance when data is read frequently but modified infrequently, since readers don't block each other.\n\nThe package is a direct port of a CPython patch and has been in production use since 2014. It supports a \"fast path\" mode that skips context switches when you're confident your locked code contains await statements, trading safety for minor performance gains. The default safe mode ensures fairness by allowing waiting tasks to acquire the lock even if the current holder doesn't yield control.","worth_installing":"Yes. aiorwlock is a mature, actively maintained library with zero known vulnerabilities, low install friction, and permissive licensing. Install it if you have asyncio code where read-write contention patterns would benefit from allowing concurrent readers; otherwise a simple asyncio.Lock is sufficient."},"id":"aiorwlock","links":{"html":"https://skillfed.io/packages/aiorwlock","md":"https://skillfed.io/packages/aiorwlock.md","pypi":"https://pypi.org/project/aiorwlock/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-02-20","license_spdx":null,"license_treatment":"permissive","name":"aiorwlock","python_support":"supports_current","summary":"Read write lock for asyncio."},"popularity":{"monthly_downloads":1345391,"position":4022,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"1.5.1"}
