Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: pypa/wheel
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.41.3
Choose a base ref
...
head repository: pypa/wheel
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 0.42.0
Choose a head ref
  • 6 commits
  • 11 files changed
  • 4 contributors

Commits on Nov 2, 2023

  1. Configuration menu
    Copy the full SHA
    56de2eb View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2023

  1. [pre-commit.ci] pre-commit autoupdate (#581)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    pre-commit-ci[bot] authored Nov 6, 2023
    Configuration menu
    Copy the full SHA
    b90a4bc View commit details
    Browse the repository at this point in the history

Commits on Nov 19, 2023

  1. [pre-commit.ci] pre-commit autoupdate (#584)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    pre-commit-ci[bot] authored Nov 19, 2023
    Configuration menu
    Copy the full SHA
    fe6bb82 View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2023

  1. [pre-commit.ci] pre-commit autoupdate (#586)

    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    pre-commit-ci[bot] authored Nov 20, 2023
    Configuration menu
    Copy the full SHA
    11e5732 View commit details
    Browse the repository at this point in the history

Commits on Nov 25, 2023

  1. Several fixes to WHEEL metadata handling (#588)

    * cli: Add missing return type annotations
    
    * bdist_wheel: Remove dead code for postprocessing WHEEL line endings
    
    The default policies of Message and BytesGenerator always produce LF
    line endings, so there's never a CRLF to match.  If there were, the
    existing code would have incorrectly replaced CRLF with CR, and then
    test_wheelfile_line_endings() would have failed.
    
    * cli: Fix removing build tag with `wheel pack --build-number ""`
    
    There's an existing test for this case, which verifies that the original
    build tag is removed from the wheel filename and is *not* removed from
    the WHEEL metadata.  Presumably this is not what was intended.
    
    BUILD_NUM_RE assumed that it would only match at end of file, but there's
    at least a newline in the way.  Fix it, and the test.
    
    * cli: Allow removing build tag with `wheel tags --build ""`
    
    For symmetry with `wheel pack`.  The functionality works already; we just
    need to fix the command-line validation.
    
    * test: Restructure test_pack() around email.message.Message
    
    We're about to change pack() to emit WHEEL metadata with LF-terminated
    lines and a trailing blank line.  In some test_pack() parameterizations
    we expect to see the original WHEEL file from the test fixture, and in
    some, a modified one.  Handle the difference by comparing WHEEL contents
    parsed with email.parser, instead of byte strings.
    
    * cli: Remove hand-rolled WHEEL parsing/mutation code
    
    The PyPA Binary Distribution Format spec says the WHEEL metadata file is
    "in the same basic key: value format" as the METADATA file.  METADATA in
    turn is governed by the Core Metadata Specifications, which say: "In the
    absence of a precise definition, the practical standard is set by what the
    standard library email.parser module can parse using the compat32 policy."
    
    wheel.bdist_wheel accordingly uses email.generator.BytesGenerator to
    generate WHEEL, but the CLI `pack` and `tags` commands opt to
    hand-implement WHEEL parsing and mutation.  Their mutation functions,
    set_tags() and set_build_number(), append any new headers to the existing
    WHEEL file.  Since WHEEL tends to have a trailing blank line (separating
    the headers from the nonexistent body), the new headers end up in the
    "body" and are ignored by any tool that parses WHEEL with email.parser.
    
    In addition, both functions assume that WHEEL uses CRLF line endings,
    while bdist_wheel (and email.generator with the compat32 policy)
    specifically always writes LF line endings.  This turns out okay for
    set_tags(), which rewrites the whole file, but set_build_number() ends up
    appending a CRLF-terminated line to a file with LF-terminated lines.
    
    Fix all this by removing the hand-written parsing/mutation functions in
    favor of email.parser and email.generator.
    bgilbert authored Nov 25, 2023
    Configuration menu
    Copy the full SHA
    f4b8e48 View commit details
    Browse the repository at this point in the history

Commits on Nov 26, 2023

  1. Created a new release

    agronholm committed Nov 26, 2023
    Configuration menu
    Copy the full SHA
    63a09bb View commit details
    Browse the repository at this point in the history
Loading