Tags: pycompression/xopen
Tags
v2.0.0 (2024-03-26) * #154: Support for gzip levels has been made more consistent. Levels 0-9 are supported. Level 11 which was only available when the ``pigz`` backend was present is not supported anymore. Level 0, gzip format without compression, lead to crashes when the ``gzip`` application backend was used as this does not have a ``-0`` flag. ``xopen()`` now defers to other backends in that case. * #152: ``xopen()`` now accepts `file-like objects <https://docs.python.org/3/glossary.html#term-file-object>`_ for its filename argument. * #146, #147, #148: Various refactors for better code size and readability: * PipedCompressionReader/Writer are now combined _PipedCompressionProgram class. * _PipedCompressionProgram is binary-only. For text reading and writing it is wrapped in an ``io.TextIOWrapper`` in the ``xopen()`` function. * Classes that derive from PipedCompressionReader/Writer have been removed. * #148: xopen's classes, variables and functions pertaining to piped reading and writing are all made private by prefixing them with an underscore. These are not part of the API and may change between releases.
v1.9.0 (2024-01-31) * #142: The python-isal compression backend is now only used for compression levels 1 and 2. Contrary to other backends, python-isal level 0 gave compressed rather than uncompressed data in gzip format. Level 3 on python-isal did not provide better compression than level 2. * #140: PipedCompressionReader/Writer now derive from the `io.IOBase <https://docs.python.org/3/library/io.html#io.IOBase>`_ abstract class. * #138: The gzip default compression level is now 1 when no value is provided by the calling function. The default used to be determined by the backend. * #135: xopen now uses zlib-ng when available and applicable. * #133: Piped ``igzip`` is no longer used as a (de)compression backend as python-isal's threaded mode is a better choice in all use cases.
v1.8.0 (2023-11-03) * #131: xopen now defers to the ``isal.igzip_threaded`` module rather than piping to external programs in applicable cases. This makes reading and writing to gzip files using threads more efficient. * Support for Python 3.7 is dropped and support for Python 3.12 is added.
PreviousNext