skillfed

wheel-filename

Parse wheel filenames

wheel-filename v2.1.0 587.2K downloads/30d#5,876 on PyPI16
Permissive license MIT Active released

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-filename

uv

uv add wheel-filename

poetry

poetry add wheel-filename

Installing 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

Development Status :: 5 - Production/StableProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: System :: Software DistributionTyping :: Typed

Tags

wheel filename parsingpep 427 wheel validationextract wheel metadataparse wheel tagswheel compatibility tags
packagingwheel-format

More Software Distribution packages