From Newsgroup: comp.lang.python.announce
Dear pythoneers,
I'm pleased to announce a little update of the RSFile I/O Library,
bringing support for recent Python versions.
RSFile provides drop-in replacements for io classes 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, cache synchronization,
file descriptor inheritability, and handy stat getters (size, inode, times...).
Possible use cases for this library: write to logs concurrently without
ending up with garbled data,
manipulate sensitive data like disk-based databases, synchronize
heterogeneous producer/consumer
processes when multiprocessing semaphores aren't an option...
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).
RSFile has been tested with CPython 3.7+, on Windows/Linux/Mac systems,
and should work on other python implementations
The technical documentation of RSFile includes a comprehensive description
of concepts and gotchas encountered while developing this library, which
could
be useful to anyone interested in getting in touch with gory file I/O
details.
Downloads:
https://pypi.python.org/pypi/RSFile
Documentation:
http://rsfile.readthedocs.io/en/latest/
Repository:
https://github.com/pakal/rsfile
PS: The implementation is currently pure-python, so if you need high performances, using standard python streams
in parallel will remain necessary. Also, do not use non-blocking streams
with this library or with the IO module in general, lots of things could
go wrong...
--- Synchronet 3.20a-Linux NewsLink 1.114