Skip to main content

Core utilities for Python packages

Project description

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.5 - 2016-02-26

  • Fix a regression in parsing requirements with whitespaces between the comma separators.

16.4 - 2016-02-22

  • Fix a regression in parsing requirements like foo (==4).

16.3 - 2016-02-21

  • Fix a bug where packaging.requirements:Requirement was overly strict when matching legacy requirements.

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.

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

packaging-16.5.tar.gz (43.8 kB view details)

Uploaded Source

Built Distribution

packaging-16.5-py2.py3-none-any.whl (22.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file packaging-16.5.tar.gz.

File metadata

  • Download URL: packaging-16.5.tar.gz
  • Upload date:
  • Size: 43.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for packaging-16.5.tar.gz
Algorithm Hash digest
SHA256 b763bd2a025e957323f761bf00fb72e8c17ac1c6d5eb8fb55c18802f2143f911
MD5 d572ab85ff78f38fe99f79cfcda76c68
BLAKE2b-256 35476f2138d89bc963d80dc5bf8e9578fb7204a9c29a31d17432bb19ee472f12

See more details on using hashes here.

Provenance

File details

Details for the file packaging-16.5-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for packaging-16.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 00fde0ca774d5b8127692fa37509bbe1b06cd0bf40fded5ed85b5024d2296483
MD5 240ae6ba4d941e64ba35d0f1709ab453
BLAKE2b-256 845dddff692c96ad269301c6f07042eaa02484b2c4a32e2f196075e00f7c6482

See more details on using hashes here.

Provenance

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