Skip to content

Conversation

killerdevildog
Copy link

Implements GitHub issue #639: Add wheel info subcommand to display metadata about wheel files without unpacking them.

Features:

  • Shows package name, version, and build information
  • Displays wheel format version and generator
  • Lists supported Python versions, ABI, and platform tags
  • Shows package metadata (summary, author, license, classifiers)
  • Displays dependencies and file count/size information
  • Optional verbose mode with detailed file listing
  • Comprehensive error handling for missing files

Changes:

  • Add src/wheel/_commands/info.py with main implementation
  • Update src/wheel/_commands/init.py to register new command
  • Add tests/commands/test_info.py with comprehensive test coverage
  • Add docs/reference/wheel_info.rst with usage documentation
  • Update docs/reference/index.rst to include new command docs
  • Update docs/user_guide.rst with info command examples
  • Update docs/manpages/wheel.rst with info command reference

Addresses #639
See #639

killerdevildog and others added 2 commits July 19, 2025 00:44
Implements GitHub issue pypa#639: Add wheel info subcommand to display
metadata about wheel files without unpacking them.

Features:
- Shows package name, version, and build information
- Displays wheel format version and generator
- Lists supported Python versions, ABI, and platform tags
- Shows package metadata (summary, author, license, classifiers)
- Displays dependencies and file count/size information
- Optional verbose mode with detailed file listing
- Comprehensive error handling for missing files

Changes:
- Add src/wheel/_commands/info.py with main implementation
- Update src/wheel/_commands/__init__.py to register new command
- Add tests/commands/test_info.py with comprehensive test coverage
- Add docs/reference/wheel_info.rst with usage documentation
- Update docs/reference/index.rst to include new command docs
- Update docs/user_guide.rst with info command examples
- Update docs/manpages/wheel.rst with info command reference
Copy link

codecov bot commented Jul 19, 2025

Codecov Report

❌ Patch coverage is 90.80460% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 56.18%. Comparing base (fc8cb41) to head (6d1b71e).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
src/wheel/_commands/info.py 89.61% 8 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #669      +/-   ##
==========================================
+ Coverage   53.20%   56.18%   +2.98%     
==========================================
  Files          13       14       +1     
  Lines        1109     1196      +87     
==========================================
+ Hits          590      672      +82     
- Misses        519      524       +5     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@agronholm
Copy link
Contributor

Did you no longer need this, or why did you close the PR?

@killerdevildog
Copy link
Author

I've faced criticism and harassment on previous pull requests that involved assistance from LLMs. Given that this PR exceeds 330 lines of code, I decided to close it to avoid burdening reviewers with such a large review—even though I'm confident it provides a valid fix for the issue. If you'd like me to reopen it, please let me know. I'm just trying to contribute without being harassed, intimidated, or bullied. Professional criticism is acceptable, but following people around to get PRs closed simply because AI was used to make it function is not.

@agronholm
Copy link
Contributor

Have you faced such criticism in this project, or another PyPA project, or from me? What matters to me is that you can explain what your code does and why. I have rejected AI generated patches in the past because the authors could not explain them to me, and the quality of AI code generated as of today tends to be subpar. But I certainly don't follow people around harassing them for this.

@killerdevildog killerdevildog reopened this Aug 7, 2025
@killerdevildog
Copy link
Author

Thanks for clarifying. The issues were in other PyPA projects, not this one or from you. I'm able to explain the code fully—it's my work with some LLM aid for initial drafting, but I understand and tested it thoroughly. Happy to address any questions.

The PR directly implements the feature requested in Issue #639, which asks for a new wheel info subcommand to display metadata (e.g., package name, version, dependencies) for a .whl file or PyPI package without unpacking it. The changes add a new command module, tests, and documentation to achieve this, reading data straight from the wheel's zip structure for efficiency.

@agronholm
Copy link
Contributor

Thanks for the explanation. I'm not currently working on wheel, and I had to yank the last couple releases which makes me apprehensive about any changes I make to the repo. This PR, however, doesn't have such issues as it's completely new functionality, so I will get back to this once I resume work here.

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

Successfully merging this pull request may close these issues.

2 participants