wheel-filename
Parse wheel filenames
What it is and what it does
wheel-filename is a lightweight parser for the standardized wheel binary distribution filename format. It takes a wheel filename (as a string, bytes, or path-like object) and parses it into its component parts: project name, version, optional build tag, and the three compatibility tag lists (Python, ABI, and platform). The parser adheres strictly to PEP 427 with minor exceptions: version components are not validated for PEP 440 compliance, and the .whl extension is matched case-insensitively.
The package provides both a Python API via the WheelFilename dataclass and a command-line tool. The dataclass offers methods to extract individual fields, compute build tag tuples for sorting, and generate all simple tag triples from the compatibility tags. It raises ParseError (a ValueError subclass) for invalid filenames. The CLI outputs parsed components as JSON, making it useful in build pipelines and packaging workflows.
Use it for:
- Validate wheel filenames in a package repository or build system before processing.
- Extract compatibility tags to determine which Python versions and platforms a wheel supports.
- Parse wheel metadata in dependency resolution or package compatibility checking tools.
- Automate wheel filename generation or validation in CI/CD pipelines.
- Sort wheels by build tag in package management or distribution workflows.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Parse and validate wheel filenames according to PEP 427, extracting project name, version, build tag, and compatibility tags into structured fields.
Yes. This is a focused, well-maintained utility with no dependencies, permissive licensing, and active development. Install it if you work with wheel files, need to validate filenames, or extract compatibility metadata in packaging tools or build systems.
Install
wheel-filename on PyPI
pip
pip install wheel-filenameuv
uv add wheel-filenamepoetry
poetry add wheel-filenameInstalling wheel-filename
Before you install
Low friction: pure Python, no runtime dependencies, and actively maintained with recent releases. Requires Python 3.10 or higher.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal obligations.
Quickstart
from wheel_filename import WheelFilename
pwf = WheelFilename.parse('pip-18.0-py2.py3-none-any.whl')
print(pwf.project, pwf.version, pwf.python_tags)
Requires Python 3.10 or higher.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 237 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 587,226/month — #5,876 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: wheel_filename-2.1.0-py3-none-any.whl
Keywords: filename, pep427, wheel
Tags
More Software Distribution packages
Pexpect spawns and controls interactive console…
permissive · top 1,000 on PyPI
setuptools-scmAutomatically extracts and manages Python…
permissive · top 1,000 on PyPI
pkginfoExtracts and queries package metadata from…
permissive · top 1,000 on PyPI
invokeInvoke is a Python library for defining and…
permissive · top 1,000 on PyPI
cyclonedx-python-libProvides data models, validators, and…
permissive · top 1,000 on PyPI
requirements-parserParses pip requirement files into structured…
permissive · top 5,000 on PyPI
wheelA command-line tool for inspecting, converting,…
permissive · top 100 on PyPI
guessitGuessIt extracts structured metadata from video…
copyleft · top 15,000 on PyPI
auditwheelAudits and repairs Linux and Android wheel…
permissive · top 5,000 on PyPI
cmeelcmeel is a PEP 517 build backend that packages…
permissive · top 5,000 on PyPI
wheywhey is a PEP 517 build backend that creates…
permissive · top 15,000 on PyPI
packversProvides core utilities for Python package…
permissive · top 15,000 on PyPI
pyproject-tomlParses and validates Python project metadata…
permissive · top 15,000 on PyPI
sanitize-filenameRemoves or replaces problematic characters from…
permissive · top 15,000 on PyPI
pathvalidateSanitize and validate filenames and file paths…
permissive · top 5,000 on PyPI
trollsiftTrollsift provides modules for parsing,…
permissive · top 15,000 on PyPI