numpy / numpy/numpy-release

Improve how we bundle extra licenses into wheels

Open
#11 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Shell
Stars
4
Forks
10
Avg merge
8h 5m
Merged PRs (30d)
1

Description

Right now we concatenate the licenses for libgfortran et al. into the main LICENSE.txt file, here:

https://github.com/numpy/numpy-release/blob/40fd86c275cc93a840d9b664aa0793d49a62a071/tools/wheels/cibw_before_build.sh#L7-L17

That is quite ugly. It'd be much better to use PEP 639's support for separate license files, and add them directly into .dist-info. @oscarbenjamin shared a script that can do this at https://github.com/numpy/numpy/pull/29535#issuecomment-3262587507

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with tools/wheels/cibw_before_build.sh, especially lines 7-17, and review the linked PEP 639 approach and script shared in the numpy pull request comment. The work is done when extra licenses such as libgfortran are stored as separate files in the wheel's .dist-info directory rather than concatenated into LICENSE.txt.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
build-system, release
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.