Rsrcfork

Latest version: v1.8.0

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

Scan your dependencies

Page 1 of 3

1.8.0

* Removed the old (non-subcommand-based) CLI syntax.
* Added filtering support to the `list` subcommand.
* Added a `resource-info` subcommand to display technical information about resources (more detailed than what is displayed by `list` and `read`).
* Added a `raw-compress-info` subcommand to display technical header information about standalone compressed resource data.
* Made the library PEP 561-compliant by adding a py.typed file.
* Fixed an incorrect `AssertionError` when using the `--no-decompress` command-line options.

1.7.0

* Added a `raw-decompress` subcommand to decompress compressed resource data stored in a standalone file rather than as a resource.
* Optimized lazy loading of `Resource` objects. Previously, resource data would be read from disk whenever a `Resource` object was looked up, even if the data itself is never used. Now the resource data is only loaded once the `data` (or `data_raw`) attribute is accessed.
* The same optimization applies to the `name` attribute, although this is unlikely to make a difference in practice.
* As a result, it is no longer possible to construct `Resource` objects without a resource file. This was previously possible, but had no practical use.
* Fixed a small error in the `'dcmp' (0)` decompression implementation.

1.6.0

* Added a new subcommand-based command-line syntax to the `rsrcfork` tool, similar to other CLI tools such as `git` or `diskutil`.

* This subcommand-based syntax is meant to replace the old CLI options, as the subcommand structure is easier to understand and more extensible in the future.
* Currently there are three subcommands: `list` to list resources in a file, `read` to read/display resource data, and `read-header` to read a resource file's header data. These subcommands can be used to perform all operations that were also available with the old CLI syntax.
* The old CLI syntax is still supported for now, but it will be removed soon.
* The new syntax no longer supports reading CLI arguments from a file (using `args_file.txt`), abbreviating long options (e. g. `--no-d` instead of `--no-decompress`), or the short option `-f` instead of `--fork`. If you have a need for any of these features, please open an issue.

1.5.0

* Added stream-based decompression methods to the `rsrcfork.compress` module.

* The internal decompressor implementations have been refactored to use streams.
* This allows for incremental decompression of compressed resource data. In practice this has no noticeable effect yet, because the main `rsrcfork` API doesn't support incremental reading of resource data.

* Fixed the command line tool always displaying an incorrect error "Cannot specify an explicit fork when reading from stdin" when using `-` (stdin) as the input file.

1.4.0

* Added `length` and `length_raw` attributes to `Resource`. These attributes are equivalent to the `len` of `data`` and `data_raw` respectively, but may be faster to access.

* Currently, the only optimized case is `length` for compressed resources, but more optimizations may be added in the future.

* Added a `compressed_info` attribute to `Resource` that provides access to the header information of compressed resources.
* Improved handling of compressed resources when listing resource files with the command line tool.

* Metadata of compressed resources is now displayed even if no decompressor implementation is available (as long as the compressed data header can be parsed).
* Performance has been improved - the data no longer needs to be fully decompressed to get its length, this information is now read from the header.
* The `'dcmp'` ID used to decompress each resource is displayed.

* Fixed an incorrect `options.packages` in `setup.cfg`, which made the library unusable except when installing from source using `--editable`.
* Fixed `ResourceFile.__enter__` returning `None`, which made it impossible to use `ResourceFile` properly in a `with` statement.
* Fixed various minor errors reported by type checking with `mypy`.

1.3.0.post1

* Fixed an incorrect `options.packages` in `setup.cfg`, which made the library unusable except when installing from source using `--editable`.

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.