{"categories":[{"label":"Software Development","url":"https://skillfed.io/packages/category/software-development/3"}],"enrichment":{"capability":"Provides portable inter-process locks implemented using lock files and OS-level file-locking primitives, allowing multiple processes to coordinate access to shared resources.","skillfed_tags":["concurrency","file-locking","ipc"],"use_cases":["Serialize access to a shared database file from multiple worker processes in a multiprocessing application.","Prevent concurrent writes to a configuration or state file in a distributed system.","Coordinate startup or initialization across multiple container instances by using a lock file on a shared volume.","Implement a simple job-locking mechanism to ensure only one instance of a scheduled task runs at a time.","Mediate access to a shared resource in a legacy system that predates modern concurrency primitives."],"what_it_does":"zc.lockfile is a lightweight library for creating and managing inter-process locks using the filesystem. Rather than locking files themselves, it uses lock files as a coordination mechanism\u2014the actual resource being protected can be any shared state. The library provides a LockFile class that acquires an OS-level lock on a named file; attempting to lock the same file from another process raises LockError. Lock files persist after release and can optionally include process ID and hostname information for debugging in containerized environments.\n\nThe package is designed for scenarios where multiple processes need to serialize access to a shared resource without a dedicated lock server. It is commonly used by database implementations (like ZODB file storage) to mediate access to data files. The implementation is portable across Windows and POSIX systems and supports both CPython and PyPy.","worth_installing":"Yes, if you need portable file-based inter-process locking without external dependencies. The package is stable, actively maintained, and has no known vulnerabilities. The aging maintenance status (330 days since last release) is not a concern given the mature, narrow scope of the library. The unclear license treatment warrants a quick review if you have strict licensing requirements, but the ZPL-2.1 is OSI-approved and widely used in the Zope ecosystem."},"id":"zc-lockfile","links":{"html":"https://skillfed.io/packages/zc-lockfile","md":"https://skillfed.io/packages/zc-lockfile.md","pypi":"https://pypi.org/project/zc-lockfile/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2025-09-18","license_spdx":null,"license_treatment":"unclear","name":"zc.lockfile","python_support":"supports_current","summary":"Basic inter-process locks"},"popularity":{"monthly_downloads":3226469,"position":2694,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"4.0"}
