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...
_______________________________________________
Python-announce-list mailing list -- python-announce-list@python.org
To unsubscribe send an email to python-announce-list-le...@python.org
https://mail.python.org/mailman3/lists/python-announce-list.python.org/
Member address: arch...@mail-archive.com