Skip to main content

packaging

Core utilities for Python packages

Documentation

documentation

Discussion

If you run into bugs, you can file them in our issue tracker.

You can also join #pypa on Freenode to ask questions or get involved.

Code of Conduct

Everyone interacting in the packaging project’s codebases, issue trackers, chat rooms, and mailing lists is expected to follow the PyPA Code of Conduct.

Changelog

16.2 - 2016-02-09

  • Add a function that implements the name canonicalization from PEP 503.

16.1 - 2016-02-07

  • Implement requirement specifiers from PEP 508.

16.0 - 2016-01-19

  • Relicense so that packaging is available under either the Apache License, Version 2.0 or a 2 Clause BSD license.

  • Support installation of packaging when only distutils is available.

  • Fix == comparison when there is a prefix and a local version in play. (#41).

  • Implement environment markers from PEP 508.

15.3 - 2015-08-01

  • Normalize post-release spellings for rev/r prefixes. #35

15.2 - 2015-05-13

  • Fix an error where the arbitary specifier (===) was not correctly allowing pre-releases when it was being used.

  • Expose the specifier and version parts through properties on the Specifier classes.

  • Allow iterating over the SpecifierSet to get access to all of the Specifier instances.

  • Allow testing if a version is contained within a specifier via the in operator.

15.1 - 2015-04-13

  • Fix a logic error that was causing inconsistent answers about whether or not a pre-release was contained within a SpecifierSet or not.

15.0 - 2015-01-02

  • Add Version().is_postrelease and LegacyVersion().is_postrelease to make it easy to determine if a release is a post release.

  • Add Version().base_version and LegacyVersion().base_version to make it easy to get the public version without any pre or post release markers.

  • Support the update to PEP 440 which removed the implied !=V.* when using either >V or <V and which instead special cased the handling of pre-releases, post-releases, and local versions when using >V or <V.

14.5 - 2014-12-17

  • Normalize release candidates as rc instead of c.

  • Expose the VERSION_PATTERN constant, a regular expression matching a valid version.

14.4 - 2014-12-15

  • Ensure that versions are normalized before comparison when used in a specifier with a less than (<) or greater than (>) operator.

14.3 - 2014-11-19

  • BACKWARDS INCOMPATIBLE Refactor specifier support so that it can sanely handle legacy specifiers as well as PEP 440 specifiers.

  • BACKWARDS INCOMPATIBLE Move the specifier support out of packaging.version into packaging.specifiers.

14.2 - 2014-09-10

  • Add prerelease support to Specifier.

  • Remove the ability to do item in Specifier() and replace it with Specifier().contains(item) in order to allow flags that signal if a prerelease should be accepted or not.

  • Add a method Specifier().filter() which will take an iterable and returns an iterable with items that do not match the specifier filtered out.

14.1 - 2014-09-08

  • Allow LegacyVersion and Version to be sorted together.

  • Add packaging.version.parse() to enable easily parsing a version string as either a Version or a LegacyVersion depending on it’s PEP 440 validity.

14.0 - 2014-09-05

  • Initial release.

Metadata

Release files for packaging 16.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for packaging 16.2
File Size Uploaded Provenance Actions
packaging-16.2.tar.gz 43.4 kB Without provenance Details for packaging-16.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for packaging 16.2
File Interpreter ABI Platform Actions
packaging-16.2-py2.py3-none-any.whl Python 3, Python 2 none any Details for packaging-16.2-py2.py3-none-any.whl

Total release size: 65.7 kB

Release files / packaging-16.2.tar.gz

Download URL packaging-16.2.tar.gz
Size 43.4 kB
Tags Source
SHA-256 checksum
How to use checksums
0eb4a6329c6d40a0deef725b4f510b6219ec8c365f888583babbb4454d761dd6
BLAKE2b-256 checksum
How to use checksums
907279b0ec4ee2cac2922792c8bff90e321ea3d37f9d2b59acbc2adb9da0e589
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / packaging-16.2-py2.py3-none-any.whl

Download URL packaging-16.2-py2.py3-none-any.whl
Size 22.3 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
2ae330cd327e2b2b5a9a1a4ed25fc83b5d18fb7f371778342d3da08de1e7f28b
BLAKE2b-256 checksum
How to use checksums
a14e932a01cd7d7d025bc4ce52e41dfd85d27b0c7d47432965d90e542fb761fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for packaging 16.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

16.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page