Python-xz

Latest version: v0.5.0

Safety actively analyzes 714875 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

1.0.1

* Add a man page
* Add tuning options -e, -q, -f

1.0

* Support streaming decompression
* Prevent accidental truncation
* Don't spew binary output to a terminal


Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/), and this project
adheres to [Semantic Versioning](https://semver.org/).

0.5.0

:boom: Breaking changes

- End of Python 3.6 support

:house: Internal

- Necessary code changes following dev dependency update: black, pylint, pytest
- Refactor a descriptor following PEP 487
- Add tests for CPython 3.11 and PyPy 3.9
- Use CPython 3.11 for misc. tests
- Update Github actions dependencies
- Import typing modules impacted by PEP 585 based on Python version

0.4.0

:rocket: Added

- Advanced users may use the new `block_read_strategy` argument of `XZFile`/`xz.open` to
customize the strategy for freeing block readers, and implement a different tradeoff
between memory consumption and read speed when alternating reads between several
blocks; the following strategies are provided: `RollingBlockReadStrategy` and
`KeepBlockReadStrategy`

:bug: Fixes

- Free memory after a block is fully read
- Free memory of LZMA decompressors when many blocks are partially read; this is a
tradeoff defaulting to keeping the last 8 LZMA decompressors used
- Typing: use `BinaryIO` instead of `IO[bytes]`

:house: Internal

- Specify the Python versions required in package metadata
- Test the `mode` attribute of objects returned by `xz.open`/`XZFile`
- Minor improvements in some docstrings

0.3.1

:house: Internal

- Add tests for CPython 3.10 and PyPy 3.8
- Use CPython 3.10 for misc. tests
- Clarify which Python versions are supported in readme
- Fix some linting issues found by latest versions of mypy/pylint

0.3.0

:boom: Breaking changes

- The `filename` argument of `XZFile` is now mandatory; this change should have very
limited impact as not providing it makes no sense and would have raised a `TypeError`,
plus it was already mandatory on `xz.open`

:rocket: Added

- Type hints

:house: Internal

- Type validation with mypy
- Distribute `py.typed` file in conformance with [PEP 561]

[pep 561]: https://www.python.org/dev/peps/pep-0561/

Page 2 of 3

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.