• [Python-announce] RSFile v2.2 released

    From Pascal Chambon@pythoniks@gmail.com to comp.lang.python.announce on Thu Aug 3 23:02:15 2023
    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