{"categories":[{"label":"Python Modules","url":"https://skillfed.io/packages/category/software-development-libraries-python-modules/5"}],"enrichment":{"capability":"aiologic provides thread-aware and async-aware locking and synchronization primitives that work across asyncio, trio, curio, anyio, gevent, eventlet, and threading\u2014enabling safe coordination between async tasks in different event loops and between async and sync code.","skillfed_tags":["async-concurrency","thread-safety","multi-framework"],"use_cases":["Coordinate async tasks running in separate event loops across multiple threads without deadlock or RuntimeError.","Protect shared state when mixing async code (asyncio/trio) with synchronous code in the same application.","Build thread-safe async queues and barriers that work across different async frameworks (asyncio, trio, curio, anyio).","Implement fair, cancellation-aware locking for complex async workflows with timeouts and checkpoints.","Migrate from threading.Lock to an async-aware primitive without rewriting synchronization logic."],"what_it_does":"aiologic is a synchronization library that solves a specific problem: coordinating work across Python's different concurrency models. Standard asyncio.Lock fails when tasks from different event loops try to acquire it, and threading.Lock can deadlock in similar scenarios. aiologic provides drop-in replacements\u2014Lock, Event, Semaphore, Barrier, Condition, and Queue primitives\u2014that work correctly whether you're coordinating async tasks within one loop, async tasks across multiple event loops in different threads, or mixing async and sync code.\n\nThe library supports asyncio, trio, curio, anyio, gevent, eventlet, and threading. It's built on atomic operations and respects Python's GIL, making it performant on PyPy and compatible with free-threaded CPython 3.13+. The implementation includes fairness guarantees where possible and aims for lock-free designs with minimal context switches. It's in alpha, actively maintained, and already in use by some projects.","worth_installing":"Yes, if you need to coordinate async tasks across multiple event loops or mix async and sync code\u2014a genuine gap in the standard library. No, if you work only within a single asyncio event loop or use only threading; standard library primitives are simpler and more stable. Yes-with-conditions if you're comfortable with alpha-status software and a single-maintainer project; the library is already in use and carefully designed, but API and behavior may change."},"id":"aiologic","links":{"html":"https://skillfed.io/packages/aiologic","md":"https://skillfed.io/packages/aiologic.md","pypi":"https://pypi.org/project/aiologic/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-06-27","license_spdx":null,"license_treatment":"permissive","name":"aiologic","python_support":"supports_current","summary":"GIL-powered* locking library for Python"},"popularity":{"monthly_downloads":3253484,"position":2684,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"0.17.1"}
