keithrozario / Klayers

Python Packages as AWS Lambda Layers
Other
2.14k stars 309 forks source link

Update pluggy to 1.2.0 #345

Closed pyup-bot closed 1 year ago

pyup-bot commented 1 year ago

This PR updates pluggy from 0.13.1 to 1.2.0.

Changelog ### 1.2.0 ``` ========================= Features -------- - `405 <https://github.com/pytest-dev/pluggy/issues/405>`_: The new-style hook wrappers, added in the yanked 1.1.0 release, now require an explicit ``wrapper=True`` designation in the ``hookimpl()`` decorator. ``` ### 1.1.0 ``` ===================== .. note:: This release was yanked because unfortunately the implicit new-style hook wrappers broke some downstream projects. See `403 <https://github.com/pytest-dev/pluggy/issues/403>`__ for more information. This was rectified in the 1.2.0 release. Deprecations and Removals ------------------------- - `364 <https://github.com/pytest-dev/pluggy/issues/364>`_: Python 3.6 is no longer supported. Features -------- - `260 <https://github.com/pytest-dev/pluggy/issues/260>`_: Added "new-style" hook wrappers, a simpler but equally powerful alternative to the existing ``hookwrapper=True`` wrappers. New-style wrappers are generator functions, similarly to ``hookwrapper``, but do away with the :class:`result <pluggy._callers._Result>` object. Instead, the return value is sent directly to the ``yield`` statement, or, if inner calls raised an exception, it is raised from the ``yield``. The wrapper is expected to return a value or raise an exception, which will become the result of the hook call. New-style wrappers are fully interoperable with old-style wrappers. We encourage users to use the new style, however we do not intend to deprecate the old style any time soon. See :ref:`hookwrappers` for the full documentation. - `364 <https://github.com/pytest-dev/pluggy/issues/364>`_: Python 3.11 and 3.12 are now officially supported. - `394 <https://github.com/pytest-dev/pluggy/issues/394>`_: Added the :meth:`~pluggy._callers._Result.force_exception` method to ``_Result``. ``force_exception`` allows (old-style) hookwrappers to force an exception or override/adjust an existing exception of a hook invocation, in a properly behaving manner. Using ``force_exception`` is preferred over raising an exception from the hookwrapper, because raising an exception causes other hookwrappers to be skipped. ``` ### 1.0.0 ``` ========================= Deprecations and Removals ------------------------- - `116 <https://github.com/pytest-dev/pluggy/issues/116>`_: Remove deprecated ``implprefix`` support. Decorate hook implementations using an instance of HookimplMarker instead. The deprecation was announced in release ``0.7.0``. - `120 <https://github.com/pytest-dev/pluggy/issues/120>`_: Remove the deprecated ``proc`` argument to ``call_historic``. Use ``result_callback`` instead, which has the same behavior. The deprecation was announced in release ``0.7.0``. - `265 <https://github.com/pytest-dev/pluggy/issues/265>`_: Remove the ``_Result.result`` property. Use ``_Result.get_result()`` instead. Note that unlike ``result``, ``get_result()`` raises the exception if the hook raised. The deprecation was announced in release ``0.6.0``. - `267 <https://github.com/pytest-dev/pluggy/issues/267>`_: Remove official support for Python 3.4. - `272 <https://github.com/pytest-dev/pluggy/issues/272>`_: Dropped support for Python 2. Continue to use pluggy 0.13.x for Python 2 support. - `308 <https://github.com/pytest-dev/pluggy/issues/308>`_: Remove official support for Python 3.5. - `313 <https://github.com/pytest-dev/pluggy/issues/313>`_: The internal ``pluggy.callers``, ``pluggy.manager`` and ``pluggy.hooks`` are now explicitly marked private by a ``_`` prefix (e.g. ``pluggy._callers``). Only API exported by the top-level ``pluggy`` module is considered public. - `59 <https://github.com/pytest-dev/pluggy/issues/59>`_: Remove legacy ``__multicall__`` recursive hook calling system. The deprecation was announced in release ``0.5.0``. Features -------- - `282 <https://github.com/pytest-dev/pluggy/issues/282>`_: When registering a hookimpl which is declared as ``hookwrapper=True`` but whose function is not a generator function, a ``PluggyValidationError`` exception is now raised. Previously this problem would cause an error only later, when calling the hook. In the unlikely case that you have a hookwrapper that *returns* a generator instead of yielding directly, for example: .. code-block:: python def my_hook_real_implementation(arg): print("before") yield print("after") hookimpl(hookwrapper=True) def my_hook(arg): return my_hook_implementation(arg) change it to use ``yield from`` instead: .. code-block:: python hookimpl(hookwrapper=True) def my_hook(arg): yield from my_hook_implementation(arg) - `309 <https://github.com/pytest-dev/pluggy/issues/309>`_: Add official support for Python 3.9. - `251 <https://github.com/pytest-dev/pluggy/issues/251>`_: Add ``specname`` option to ``hookimpl``. If ``specname`` is provided, it will be used instead of the function name when matching this hook implementation to a hook specification during registration (allowing a plugin to register a hook implementation that was not named the same thing as the corresponding ``hookspec``). ```
Links - PyPI: https://pypi.org/project/pluggy - Changelog: https://pyup.io/changelogs/pluggy/ - Repo: https://github.com/pytest-dev/pluggy