
Dear pythoneers, I'm pleased to announce version 3.0 of RSFile I/O Library, which adds support for python 3.8, 3.9, and 3.10, drops support for Python<=3.5, and strengthens testing on OSX. RSFile provides cross-platform drop-in replacements for the classes of the io module, and for the open() builtin. Its goal is to provide a cross-platform, reliable, and comprehensive synchronous file I/O API, with advanced features like fine-grained opening modes, shared/exclusive file record locking, thread-safety, disk cache synchronization, file descriptor inheritability, and handy stat getters (size, inode, times…). Locking is performed using actual file record locking capabilities of the OS, not by using separate files/directories as locking markers, or other fragile gimmicks. Unix users might particularly be interested by the workaround that this library provides, concerning the weird semantic of fcntl() locks (when any descriptor to a disk file is closed, the process loses ALL locks acquired on this file through any descriptor). Possible use cases for this library: concurrently writing to logs without ending up with garbled data, manipulating sensitive data like disk-based databases, synchronizing heterogeneous producer/consumer processes when multiprocessing semaphores aren’t an option… https://pypi.org/project/RSFile/ https://rsfile.readthedocs.io/en/latest/ https://github.com/pakal/rsfile/ regards, Pakal
participants (1)
-
Pascal Chambon