Skip to content

Vendor compressed-rtf functionality to fix installation #460

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
gordonhart opened this issue Mar 24, 2025 · 0 comments
Closed

Vendor compressed-rtf functionality to fix installation #460

gordonhart opened this issue Mar 24, 2025 · 0 comments

Comments

@gordonhart
Copy link

gordonhart commented Mar 24, 2025

A recent breaking change to setuptools breaks builds for projects relying on extract-msg via the transitive dependency compressed-rtf.

The compressed-rtf library appears to be unmaintained and has a small enough surface area to consider vendoring (porting its relevant functionality over to this repo).

Minimal repro:

$ virtualenv venv
$ source ./venv/bin/activate
$ pip install extract-msg
Collecting extract-msg
  Downloading extract_msg-0.54.0-py3-none-any.whl.metadata (15 kB)
Collecting olefile==0.47 (from extract-msg)
  Downloading olefile-0.47-py2.py3-none-any.whl.metadata (9.7 kB)
Collecting tzlocal<6,>=4.2 (from extract-msg)
  Downloading tzlocal-5.3.1-py3-none-any.whl.metadata (7.6 kB)
Collecting compressed-rtf<2,>=1.0.6 (from extract-msg)
  Downloading compressed_rtf-1.0.6.tar.gz (5.8 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error
  ... stack trace ...
          File "/private/var/folders/bf/l5_3dbwx6sg3jb_2x50znfx80000gp/T/pip-build-env-_jr9bsyz/overlay/lib/python3.13/site-packages/setuptools/dist.py", line 629, in _enforce_underscore
          raise InvalidConfigError(
          ...<3 lines>...
          )
      setuptools.errors.InvalidConfigError: Invalid dash-separated key 'description-file' in 'metadata' (setup.cfg), please use the underscore name 'description_file' instead.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

Related: delimitry/compressed_rtf#20

Edit: this was resolved in the v78.0.2 release of setuptools but the setuptools maintainers are planning to revisit and perhaps reintroduce this breakage in 2026.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant