NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #850 most downloaded on PyPI
Python Build Reasonableness
Last release 1 months ago
25 Aug 2026
Release timing varies
gaps range from 8 days to 10 months
Nearly every release is documented
notes for 56 of the last 60 stable releases
3 versions withdrawn
withdrawn after publishing
14 years old
106 releases · first in 2013
Nothing published for this version
Fix hook ordering race that drops subpackages from wheels
- Support version parsing of git tag with the + pattern according to the PEP 440 specification .
One column per quarter.
Support version parsing of git tag with the <semver>+<local> pattern according to the PEP 440 specification .
Stub setup.cfg and setup.py files are no longer required in order to set package metadata in a pyproject.toml file.
Don't wrap develop on newer setuptools
Remove use of pkg\_resources from tests
util: Deprecate description\_file
- The deprecated support for setup.py test has been removed. This feature has been deprecated since version 4.0. The two test tools supported, nose an…
Support for the [global] compilers option has been removed. This was an undocumented feature that did not appear to have any use.
The deprecated support for setup.py test has been removed. This feature has been deprecated since version 4.0. The two test tools supported, nose and testr , are no longer maintained, and the general concept of distutils commands is itself deprecated. Users should switch to running the test runners directly and ideally migrate to an alternative, supported test runner like stestr or pytest .
A number of pbr-specific setup.cfg sections and options have been deprecated in order in favour of setuptools native setup.cfg sections and options or their pyproject.toml equivalents:
The [entry_points] section has been deprecated in favour of the [options.entry_points] section (if using setup.cfg ) or the [project.scripts] and/or [project.entry-points.{name}] sections (if using pyproject.toml )
The [files] packages_root option has been deprecated in favour of the [options] package_dir option (if using setup.cfg ) or the [tools.setuptools] package_dir option (if using pyproject.toml )
The [files] packages option has been deprecated in favour of the [options] packages option (if using setup.cfg ) or the [tools.setuptools] packages option (if using pyproject.toml )
The [files] package_data option has been deprecated in favour of the [options.package_data] option (if using setup.cfg ) or the [tool.setuptools.package-data] option (if using pyproject.toml )
The [files] namespace_packages option has been deprecated in favour of the [options] namespace_packages option (if using setup.cfg ). Alternatively, migrate to PEP 420-style namespace packages
The [files] data_files option has been deprecated, and support for non-package data files in general is deprecated in setuptools and their use is discouraged. For package data files, use [options] package_data (if using setup.cfg ) or [tools.setuptools] package_data (if using pyproject.toml ) instead. If non-package data files are necessary, use [options] data_files (if using setup.cfg ) or [tools.setuptools] data-files (if using pyproject.toml ) instead.
The [files] scripts option has been deprecated. There is no direct replacement. Instead, migrate to using the console_scripts entrypoint and use the [options.entry_points] option (if using setup.cfg ) or the [project.scripts] option (if using pyproject.toml ).
The [files] modules option has been deprecated in favour of the [options] py_modules option (if using setup.cfg ) or the [tools.setuptools] py-modules option (if using pyproject.toml )
The [metadata] home_page option has been deprecated in favour of the [metadata] url option (if using setup.cfg ) or the [project.urls] option (if using pyproject.toml )
The [metadata] summary option has been deprecated in favour of the [metadata] description option (if using setup.cfg ) or the [project] description option (if using pyproject.toml )
The [metadata] classifier option has been deprecated in favour of the [metadata] classifiers option (if using setup.cfg ) or the [project] classifiers option (if using pyproject.toml )
The [metadata] platform option has been deprecated in favour of the [metadata] platforms option (if using setup.cfg ) or the [tool.setuptools] platforms (if using pyproject.toml )
The [metadata] requires_dist option has been deprecated in favour of the [options] install_requires option (if using setup.cfg ) or the [project] dependencies option (if using pyproject.toml )
The [metadata] setup_requires_dist option has been deprecated in favour of the [options] setup_requires option (if using setup.cfg ) or the [build-system] requires option (if using pyproject.toml )
The [metadata] python_requires option has been deprecated in favour of the [options] python_requires option (if using setup.cfg ) or the [project] requires-python option (if using pyproject.toml )
The [metadata] requires_python option has been deprecated in favour of the [options] python_requires option (if using setup.cfg ) or the [project] requires-python option (if using pyproject.toml )
The [metadata] provides_dist option has been deprecated as it is obsolete and is no longer used by pip
The [metadata] provides_extra option has been deprecated as it is obsolete and is no longer used by pip
The [metadata] obsoletes_dist option has been deprecated as it is obsolete and is no longer used by pip
The [backwards_compat] zip_safe option has been deprecated as it is was only relevant in the context of eggs and is therefore obsolete
The [backwards_compat] dependency_links option has been deprecated as it is obsolete and is no longer used by pip
The [backwards_compat] tests_require option has been deprecated as it is obsolete and is no longer used by pip
The [backwards_compat] include_package_data option has been deprecated in favour of the [options] include_package_data option (is using setup.cfg ) or the [tools.setuptools] include-package-data option (if using pyproject.toml )
docs: Drop SetupTools from pyproject.toml example
Set up PBR with setuptools as a dependency
Add openstack-tox-py312 as non-voting job
- The deprecated support for setup.py build_sphinx has been removed. This feature has been deprecated since version 4.2. Setuptools and sphinx have re…
The deprecated support for setup.py build_sphinx has been removed. This feature has been deprecated since version 4.2. Setuptools and sphinx have removed support for this command which breaks PBR’s ability to integrate with those two tools to provide this functionality. Users should switch to building sphinx docs with sphinx directly.
Run PBR integration on Ubuntu Focal too
- Fix an issue where symbols that were indented would produce an incorrect version.
Fix an issue where symbols that were indented would produce an incorrect version.
Allow leading spaces when determining symbols
Use importlib-metadata for runtime package version lookups
- Packages generated with the 5.8.0 release of PBR failed to incorporate pbr.json metadata files. This is now corrected. Users can rebuild packages wi
Packages generated with the 5.8.0 release of PBR failed to incorporate pbr.json metadata files. This is now corrected. Users can rebuild packages with newer PBR if they want that missing metadata generated.
Add python2 testing back to PBR
- PBR now includes a PEP 517 build-backend and can be used in pyproject.toml build-system configuration. Setuptools continues to be the underlying mec
PBR now includes a PEP 517 build-backend and can be used in pyproject.toml build-system configuration. Setuptools continues to be the underlying mechanism with PBR acting as a driver via PEP 517 entrypoints.
Reverse ordering of 'D1\_D2\_SETUP\_ARGS'
…scripts. As of Setuptools 46.2.0 it’s deprecated and slated for removal from the Python 3.10 standard library. Projects which still need it are encour…
The 2to3 conversion utility has been long discouraged in favor of writing multi-version-capable scripts. As of Setuptools 46.2.0 it’s deprecated and slated for removal from the Python 3.10 standard library. Projects which still need it are encouraged to perform conversion prior to packaging. See https://bugs.python.org/issue40360 and https://github.com/pypa/setuptools/issues/2086 for more details.
- Support to generate bdist_wininst packages has been removed. As of Python 3.8 and Setuptools 47.2 it’s deprecated in favor of just using wheels for…
Support to generate bdist_wininst packages has been removed. As of Python 3.8 and Setuptools 47.2 it’s deprecated in favor of just using wheels for Windows platform packaging. See https://discuss.python.org/t/deprecate-bdist-wininst/ and https://discuss.python.org/t/remove-distutils-bdist-wininst-command/ for more details.
* Switch to Ussuri jobs
trivial: Use 'open' context manager
Nothing published for this version
* Add Python 3 Train unit tests
Fix parsing on egg names with dashes from git URLs
- Add an option to print only the version of a package
Add an option to print only the version of a package
Example:
$ pbr info -s pkgname 1 .2.3
Resolve some issue with tox.ini, setup.cfg
Stop using pbr sphinx integration
- Fixes the handling of spaces in data_files globs. Please see bug 1810934 for more details.
Fixes the handling of spaces in data_files globs. Please see bug 1810934 for more details.
- Fix error when keywords argument as a cfg list. Previously keywords were CSV_FIELDS and with these changes keywords are now MULTI_FIELDS . Refer to
Fix error when keywords argument as a cfg list. Previously keywords were CSV_FIELDS and with these changes keywords are now MULTI_FIELDS . Refer to https://bugs.launchpad.net/pbr/+bug/1811475 for more information.
- Fix mapping error on values who contains a literal = . Example when setup.cfg contains content like the following project urls configuration “projec
Fix mapping error on values who contains a literal = . Example when setup.cfg contains content like the following project urls configuration “project_urls = Documentation = http://foo.bar/?badge=latest ”. https://bugs.launchpad.net/pbr/+bug/1817592
- Fixes a bug where the directory names of items specified in data_files could be renamed if the source prefix glob was contained within the directory
Fixes a bug where the directory names of items specified in data_files could be renamed if the source prefix glob was contained within the directory name. See bug 1810804 for details. For more information on data_files , see the distutils documentation .
PBR now ignores --find-links in requirements files. This option is not a valid install_requires entry for setuptools and thus breaks PBR-based installs.
Fix incorrect use of flake8:noqa
Nothing published for this version
- The description-content-type was not being set correctly. It will now be correctly populated when using setuptools 39.2.0 and beyond.
The description-content-type was not being set correctly. It will now be correctly populated when using setuptools 39.2.0 and beyond.
- Subdirectories can now be included when specfifying a requirement in requirements.txt or test-requirements.txt using VCS URIs. For example:
Subdirectories can now be included when specfifying a requirement in requirements.txt or test-requirements.txt using VCS URIs. For example:
-e git+https://foo.com/zipball#egg=bar&subdirectory=baz
For more information, refer to the pip documentation .
Deprecate 'build\_sphinx' integration
trivial: Remove 'tools/releasenotes\_tox.sh'
Update python3 versions in tox.ini envlist
Revert "Remove win32/nt checks for wrapper script gen"
Fix builddoc with sphinx <= 1.6
Nothing published for this version
Explicitly read setup.cfg as utf-8 on Python 3
- Support for pyN -suffixed requirement files has been deprecated: environment markers should be used instead.
Support version parsing of git tag with the v<semver> pattern (or V<semver> ), in addition to <semver> .
Support for entry point command hooks has been removed. This feature was poorly tested, poorly documented, and broken in some environments. Support for global hooks is not affected.
Support for pyN -suffixed requirement files has been deprecated: environment markers should be used instead.
testr and nose integration has been deprecated. This feature allowed pbr to dynamically configure the test runner used when running setup.py test . However, this target has fallen out of favour in both the OpenStack and broader Python ecosystem, and both testr and nose offer native setuptools commands that can be manually aliased to test on a per-project basis, if necessary. This feature will be removed in a future release.
this page last updated: 2025-05-08 14:38:39
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License . See all OpenStack Legal Documents .
found an error? report a bug
OpenStack Documentation
Guides
Install Guides
User Guides
Configuration Guides
Operations and Administration Guides
API Guides
Contributor Guides
Languages
Deutsch (German)
Français (French)
Bahasa Indonesia (Indonesian)
Italiano (Italian)
日本語 (Japanese)
한국어 (Korean)
Português (Portuguese)
Türkçe (Türkiye)
简体中文 (Simplified Chinese)
Using pbr
Features
Usage
Notes for Package maintainers
Linux/Python Compatible Semantic Versioning 3.0.0
Compatibility Notes
Release Notes
CHANGES
pbr API Reference
Contributing
Release Notes
7.1.0
New Features
7.0.0
Upgrade Notes
Deprecation Notes
6.0.0
Upgrade Notes
5.11.0
Bug Fixes
5.8.1
Bug Fixes
5.7.0
New Features
5.5.1
Other Notes
5.5.0
Other Notes
5.4.0
New Features
5.2.1
Bug Fixes
5.2.0
Bug Fixes
5.1.3
Bug Fixes
5.1.2
Bug Fixes
5.0.0
Bug Fixes
4.3.0
New Features
4.0.0
New Features
Upgrade Notes
Deprecation Notes
docs: Don't specify pbr version in 'setup.py'
allow user to override the output location of api docs
builddoc: uses the new Sphinx 1.6 code for multiple builder
Stop building man pages by default
Add Changelog build handling for invalid chars
Deprecated warning for SafeConfigParser
File is wrongly marked as executable
Handle IndexError during version string parsing
Deprecated tox -downloadcache option removed
Handle the case where cmd.distribution has no pbr attribute
Strip comments present in setup.cfg
Have pbr egg\_info.writer check PBR is enabled
Strip comments in requirements files
Handle git being entirely absent
Fix docs for environment markers in extras
Your coding agent can read these notes before it upgrades. Set up the MCP server →