We are stoked to announce the release of: stevedore 5.6.0 This release is part of the gazpacho release series. The source is available from: https://opendev.org/openstack/stevedore Download the package from: https://pypi.org/project/stevedore Please report issues through: https://bugs.launchpad.net/stevedore/+bugs For more details, please see below. 5.6.0 ^^^^^ New Features ************ * Entry point names are not unique and it is possible for many entry points to exist with the same name and namespace. This can be problematic where the name itself is relevant. To address this, a new "conflict_resolver" parameter has been added to all extension managers. This is a callable that can be used to handle conflicts when retrieving entry points by name. This defaults to the current behavior of returning the last found entry point, though it will now log a warning. Upgrade Notes ************* * Support for Python 3.9 has been removed. Now the minimum python version supported is 3.10. Deprecation Notes ***************** * The "verify_requirements" option provided to "ExtensionManager" and its various subclasses has been deprecated for a removal. It is a no-op in modern Python. * The "warn_on_missing_entrypoint" parameter to "NamedExtensionManager", "DriverManager", and "HookManager", has been deprecated. Warnings were already enabled by default. To disable them, instead set "on_load_failure_callback" to "None" or provide a custom callback that does not log warnings. Changes in stevedore 5.5.0..5.6.0 --------------------------------- b2d2e97 Deprecate warn_on_missing_entrypoint parameter 7f1c8e2 Add py.typed file 9886099 Unskip test bf0b6d1 Add conflict resolution support 9991c04 Make better use of super f04a1b9 typing: Remove use of _init_attributes (2/2) 850929d typing: Remove use of _init_attributes (1/2) 561897b typing: Remove unnecessary method subclass 25b7b75 docs: Update to use pyproject.toml f85619d tests: Trivial fixups 7ff21fd Remove unnecessary type docstring field lists 7166698 typing: Add hints to tests 4fdb833 typing: Make better use of ParamSpec 83cbc2f typing: Add initial type hints 59afc1b Deprecate verify_requirements flag 5e403f8 Remove use of mutable default param 9605ebc trivial: Remove references to importlib_metadata 1239238 Enable ruff, ruff-format bad0502 Apply ruff, ruff-format 2a0a672 docs: Remove cruft from configuration files 34107aa pre-commit: Bump versions 28a0c50 reno: Update master for unmaintained/2024.1 9092d99 Bump pyupgrade target to 3.10+ 06858e3 Migrate bandit options to pyproject.toml 343b0be pre-commit: Bump dependencies 09fa830 Migrate setup configuration to pyproject.toml c3d0e85 Drop Python 3.9 support 548b22c Update master for stable/2025.2 Diffstat (except docs and test files) ------------------------------------- .pre-commit-config.yaml | 41 +-- pyproject.toml | 82 +++++ .../conflict-resolution-12cd58160d48481a.yaml | 10 + ...ecate-verify_requirements-33fe21fad9df33a1.yaml | 6 + ...arn_on_missing_entrypoint-d7e3bf2d4421f4cc.yaml | 8 + .../notes/remove-py39-bd8db02ecf3cdb35.yaml | 5 + releasenotes/source/2024.1.rst | 2 +- releasenotes/source/2025.2.rst | 6 + releasenotes/source/conf.py | 238 ++------------- releasenotes/source/index.rst | 1 + setup.cfg | 34 --- setup.py | 4 +- stevedore/_cache.py | 109 ++++--- stevedore/dispatch.py | 112 ++++--- stevedore/driver.py | 152 +++++++--- stevedore/enabled.py | 65 ++-- stevedore/example/base.py | 14 +- stevedore/example/load_as_driver.py | 23 +- stevedore/example/load_as_extension.py | 24 +- stevedore/example/pyproject.toml | 40 +++ stevedore/example/setup.py | 44 +-- stevedore/example/simple.py | 16 +- stevedore/example2/fields.py | 15 +- stevedore/example2/pyproject.toml | 39 +++ stevedore/example2/setup.py | 43 +-- stevedore/extension.py | 336 ++++++++++++++------- stevedore/hook.py | 86 +++--- stevedore/named.py | 207 ++++++++----- stevedore/py.typed | 0 stevedore/sphinxext.py | 64 ++-- tox.ini | 11 +- 47 files changed, 1492 insertions(+), 1157 deletions(-)
participants (1)
-
no-reply@openstack.org