{"categories":[{"label":"Utilities","url":"https://skillfed.io/packages/category/utilities"}],"enrichment":{"capability":"Provides cross-platform locks for synchronizing access between threads and processes, with both exclusive and reader-writer lock variants matching the threading.Lock API.","skillfed_tags":["concurrency","synchronization","ipc"],"use_cases":["Coordinate exclusive file access between multiple Python processes without a separate lock server.","Implement reader-writer patterns where many processes read concurrently but writes must be exclusive.","Protect shared resources in multi-threaded applications using the same API as standard threading.Lock.","Ensure safe concurrent access to files or resources in cross-platform applications (Linux, macOS, Windows).","Add process-level synchronization to existing code that already uses threading.Lock without major refactoring."],"what_it_does":"Fasteners extends Python's standard threading locks to cover inter-process synchronization and reader-writer lock patterns. It provides InterProcessLock for exclusive file-based locking across processes (using fcntl on Unix and _locking on Windows), InterProcessReaderWriterLock for multi-reader/single-writer patterns across processes, and ReaderWriterLock for the same pattern within a single process. All locks expose a context-manager interface compatible with threading.Lock, making them drop-in replacements for simple use cases.\n\nThe package has been stable since its first release in 2015 and supports current Python versions (3.10 through 3.13, plus PyPy). It has no external runtime dependencies, making installation and deployment straightforward. The implementation trades some features (reentrancy, lock upgrading) for cross-platform compatibility, guaranteeing only the intersection of Unix fcntl and Windows file-locking semantics.","worth_installing":"Yes. Fasteners is a stable, dependency-free solution for a common problem (cross-process locking) with no known vulnerabilities. The aging maintenance status is not a concern for a mature, narrowly-scoped library. Install it if you need inter-process locks or reader-writer patterns; the low friction and permissive license make it a safe choice."},"id":"fasteners","links":{"html":"https://skillfed.io/packages/fasteners","md":"https://skillfed.io/packages/fasteners.md","pypi":"https://pypi.org/project/fasteners/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2025-08-11","license_spdx":"Apache-2.0","license_treatment":"permissive","name":"fasteners","python_support":"supports_current","summary":"A python package that provides useful locks"},"popularity":{"monthly_downloads":15536221,"position":1181,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"0.20"}
