Skip to main content

Parse wheel filenames

Project description

Project Status: Active — The project has reached a stable, usable state and is being actively developed. https://travis-ci.com/jwodder/wheel-filename.svg?branch=master https://codecov.io/gh/jwodder/wheel-filename/branch/master/graph/badge.svg https://img.shields.io/pypi/pyversions/wheel-filename.svg MIT License https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg

GitHub | PyPI | Issues | Changelog

wheel-filename lets you verify wheel filenames and parse them into their component fields. It adheres strictly to the relevant PEPs, except that version components are allowed to contain ! and + for full PEP 440 support.

Installation

wheel-filename requires Python 3.5 or higher. Just use pip for Python 3 (You have pip, right?) to install wheel-filename and its dependencies:

python3 -m pip install wheel-filename

Example

>>> from wheel_filename import parse_wheel_filename
>>> pwf = parse_wheel_filename('pip-18.0-py2.py3-none-any.whl')
>>> str(pwf)
'pip-18.0-py2.py3-none-any.whl'
>>> pwf.project
'pip'
>>> pwf.version
'18.0'
>>> pwf.build is None
True
>>> pwf.python_tags
['py2', 'py3']
>>> pwf.abi_tags
['none']
>>> pwf.platform_tags
['any']
>>> list(pwf.tag_triples())
['py2-none-any', 'py3-none-any']

API

parse_wheel_filename(filename)

Parses a wheel filename (without any directory components) and returns a ParsedWheelFilename instance. If the filename is invalid, raises an InvalidFilenameError.

ParsedWheelFilename

A class representing the components of a wheel filename. It has the following attributes and methods:

project

The name of the project distributed by the wheel

version

The version of the project distributed by the wheel

build

The wheel’s build tag (None if not defined)

python_tags

A list of Python tags for the wheel

abi_tags

A list of ABI tags for the wheel

platform_tags

A list of platform tags for the wheel

str(pwf)

Stringifying a ParsedWheelFilename returns the original filename

tag_triples()

Returns an iterator of all simple tag triples formed from the compatibility tags in the filename

InvalidFilenameError

A subclass of ValueError raised when an invalid wheel filename is passed to parse_wheel_filename(). It has a filename attribute containing the invalid filename.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wheel-filename-1.0.0.tar.gz (6.8 kB view hashes)

Uploaded Source

Built Distribution

wheel_filename-1.0.0-py3-none-any.whl (4.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page