pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/devel/py-pluggy



Module Name:    pkgsrc
Committed By:   wiz
Date:           Sun Oct 18 14:26:35 UTC 2026

Modified Files:
        pkgsrc/devel/py-pluggy: Makefile PLIST distinfo

Log Message:
py-pluggy: update to 1.7.0.

Deprecations and Removals

    #632: Hookspec methods defined without self as the first parameter now emit a :class:`DeprecationWarning`. Add self as the first parameter or use @staticmethod.

Features

    #170: Hookspecs can now declare default values for arguments, using the usual def myhook(myarg="default") syntax. This is mainly a backward compatibility feature, to allow a hookspec to add new 
parameters to an existing hook without breaking existing callers. See :ref:`hookspec_arg_default` for details.

    #729: Tracing now adds detail where str() is ambiguous: empty strings and strings containing whitespace are quoted, and enums and paths show their repr().

    A value spanning several lines is now displayed as a block instead of running into the surrounding trace.

Bug Fixes

    #629: Fix hooks failing to register on Python 3.14+ when type annotations use forward references.

    #315: Source archives created by git archive (including GitHub's "Source code" downloads) now carry version information, so building pluggy from them no longer fails with a missing version.

    #442: With the addition of default values for hookspec arguments, we also changed the precedence of default values for hookimpl arguments. Previously, if a hookimpl function declared a default 
for an argument, it was always used, even if the hook call passed an explicit value. Now the precedence is changed to: hook call passed value > hookspec default value > hookimpl default value. See 
:ref:`hookimpl_arg_defaults`.

    #701: Hookimpls and hookspecs are now discovered via :func:`inspect.getattr_static`, so properties, cached_property and other descriptors are no longer executed while scanning a plugin. Hooks 
declared through such a descriptor are not supported.

    As a side effect, @hookimpl/@hookspec applied above @classmethod or @staticmethod is now picked up; previously the marker sat on the wrapper where getattr() never saw it. Callables stored 
directly on a plugin instance -- in its __dict__ or in a __slots__ slot -- keep being called exactly as getattr() returned them, i.e. without an implicit self.

    #431: Fix HookCaller._remove_plugin() to remove all hook implementations for a plugin in a single call, instead of only the first one. Also fix PluginManager.get_hookcallers() to not return 
duplicate HookCaller entries when a plugin has multiple implementations on the same hook (e.g. via specname).

    #695: Fixed :func:`~pluggy.PluginManager.subset_hook_caller()` not excluding removed plugins which use :func:`@hookiml(specname="...") <pluggy.HookimplMarker>`.

    #424: Tracing no longer breaks hook execution when a traced object has a broken __repr__ or __str__. Such a value is now rendered as <[RuntimeError(...) raised in str()] Broken object at 0x...>, 
in the same style pytest uses for unpresentable objects, instead of propagating the exception out of the hook call.

    #681: Tracing no longer crashes with UnicodeEncodeError when a hook argument or return value contains lone surrogates; they are escaped with backslashreplace before the message reaches the 
writer. Trace output is otherwise unchanged.

    #727: Fix the warning for hookspec arguments missing from a hook call being attributed to pluggy's own frame instead of to the code making the call. This affected HookCaller.__call__, 
call_historic and call_extra.

    #731: :func:`PluginManager.register(None) <pluggy.PluginManager.register>` is now ignored instead of having some weird behaviors.

    #733: :meth:`PluginManager.register() <pluggy.PluginManager.register>` now validates all hook implementations of a plugin before registering any of them, so a plugin that fails validation no 
longer stays partially registered.

    #755: Skip already registered entry-point plugins without evaluating the plugin object's truthiness.

    #757: Restore the project URLs in the package metadata, which were lost in pluggy 1.6.0 when the packaging configuration moved to pyproject.toml. Links to the documentation, changelog, issue 
tracker and funding page were added as well.

    #759: :meth:`PluginManager.unregister() <pluggy.PluginManager.unregister>` now raises :exc:`ValueError` when both plugin and name are given but refer to different plugins, instead of removing one 
plugin's hook implementations and another plugin's registry entry. It also fully unregisters plugin objects that are falsy (e.g. define __len__ returning 0); previously their name stayed in the 
registry.

    #186: Fixed broken external documentation references in the list of projects using pluggy.

Trivial/Internal Changes

    #417: Fix the tox -e docs build, which failed under sphinx-build -W because nitpicky mode reported unresolved references to the private names.
    #590: The pluggy.__version__ variable is now dynamically provided via a module-level __getattr__ implementation, using importlib to obtain the installed version.
    #691: Fix outdated links in README.rst.
    #703: The internal pluggy._hooks module was split into role-specific modules (_caller, _config, _decorators, _execution and _impl). pluggy._hooks remains as a re-export shim, and the public API 
is unchanged.
    #776: Building pluggy without git metadata now yields the placeholder version 1.6.0+fallback instead of failing, so Dependabot relocks no longer resolve pluggy as 0.0.0 and silently downgrade 
pytest and tox in uv.lock. tox was dropped from the dev dependency group; run it as a tool with uvx tox.


To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 pkgsrc/devel/py-pluggy/Makefile
cvs rdiff -u -r1.9 -r1.10 pkgsrc/devel/py-pluggy/PLIST
cvs rdiff -u -r1.21 -r1.22 pkgsrc/devel/py-pluggy/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/devel/py-pluggy/Makefile
diff -u pkgsrc/devel/py-pluggy/Makefile:1.31 pkgsrc/devel/py-pluggy/Makefile:1.32
--- pkgsrc/devel/py-pluggy/Makefile:1.31        Sun May 18 10:13:43 2025
+++ pkgsrc/devel/py-pluggy/Makefile     Sun Oct 18 14:26:35 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.31 2025/05/18 10:13:43 wiz Exp $
+# $NetBSD: Makefile,v 1.32 2026/10/18 14:26:35 wiz Exp $
 
-DISTNAME=      pluggy-1.6.0
+DISTNAME=      pluggy-1.7.0
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
 CATEGORIES=    devel python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=p/pluggy/}
@@ -16,8 +16,8 @@ TEST_DEPENDS+=        ${PYPKGPREFIX}-test-bench
 
 USE_LANGUAGES= # none
 
-# as of 1.6.0
-# 3 failed, 121 passed
+# as of 1.7.0
+# 68 failed, 151 passed
 
 .include "../../lang/python/wheel.mk"
 .include "../../mk/bsd.pkg.mk"

Index: pkgsrc/devel/py-pluggy/PLIST
diff -u pkgsrc/devel/py-pluggy/PLIST:1.9 pkgsrc/devel/py-pluggy/PLIST:1.10
--- pkgsrc/devel/py-pluggy/PLIST:1.9    Sat Apr 12 16:02:15 2025
+++ pkgsrc/devel/py-pluggy/PLIST        Sun Oct 18 14:26:35 2026
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.9 2025/04/12 16:02:15 wiz Exp $
+@comment $NetBSD: PLIST,v 1.10 2026/10/18 14:26:35 wiz Exp $
 ${PYSITELIB}/${WHEEL_INFODIR}/METADATA
 ${PYSITELIB}/${WHEEL_INFODIR}/RECORD
 ${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
@@ -7,12 +7,30 @@ ${PYSITELIB}/${WHEEL_INFODIR}/top_level.
 ${PYSITELIB}/pluggy/__init__.py
 ${PYSITELIB}/pluggy/__init__.pyc
 ${PYSITELIB}/pluggy/__init__.pyo
+${PYSITELIB}/pluggy/_caller.py
+${PYSITELIB}/pluggy/_caller.pyc
+${PYSITELIB}/pluggy/_caller.pyo
 ${PYSITELIB}/pluggy/_callers.py
 ${PYSITELIB}/pluggy/_callers.pyc
 ${PYSITELIB}/pluggy/_callers.pyo
+${PYSITELIB}/pluggy/_compat.py
+${PYSITELIB}/pluggy/_compat.pyc
+${PYSITELIB}/pluggy/_compat.pyo
+${PYSITELIB}/pluggy/_config.py
+${PYSITELIB}/pluggy/_config.pyc
+${PYSITELIB}/pluggy/_config.pyo
+${PYSITELIB}/pluggy/_decorators.py
+${PYSITELIB}/pluggy/_decorators.pyc
+${PYSITELIB}/pluggy/_decorators.pyo
+${PYSITELIB}/pluggy/_execution.py
+${PYSITELIB}/pluggy/_execution.pyc
+${PYSITELIB}/pluggy/_execution.pyo
 ${PYSITELIB}/pluggy/_hooks.py
 ${PYSITELIB}/pluggy/_hooks.pyc
 ${PYSITELIB}/pluggy/_hooks.pyo
+${PYSITELIB}/pluggy/_impl.py
+${PYSITELIB}/pluggy/_impl.pyc
+${PYSITELIB}/pluggy/_impl.pyo
 ${PYSITELIB}/pluggy/_manager.py
 ${PYSITELIB}/pluggy/_manager.pyc
 ${PYSITELIB}/pluggy/_manager.pyo
@@ -22,9 +40,6 @@ ${PYSITELIB}/pluggy/_result.pyo
 ${PYSITELIB}/pluggy/_tracing.py
 ${PYSITELIB}/pluggy/_tracing.pyc
 ${PYSITELIB}/pluggy/_tracing.pyo
-${PYSITELIB}/pluggy/_version.py
-${PYSITELIB}/pluggy/_version.pyc
-${PYSITELIB}/pluggy/_version.pyo
 ${PYSITELIB}/pluggy/_warnings.py
 ${PYSITELIB}/pluggy/_warnings.pyc
 ${PYSITELIB}/pluggy/_warnings.pyo

Index: pkgsrc/devel/py-pluggy/distinfo
diff -u pkgsrc/devel/py-pluggy/distinfo:1.21 pkgsrc/devel/py-pluggy/distinfo:1.22
--- pkgsrc/devel/py-pluggy/distinfo:1.21        Sun May 18 10:13:43 2025
+++ pkgsrc/devel/py-pluggy/distinfo     Sun Oct 18 14:26:35 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.21 2025/05/18 10:13:43 wiz Exp $
+$NetBSD: distinfo,v 1.22 2026/10/18 14:26:35 wiz Exp $
 
-BLAKE2s (pluggy-1.6.0.tar.gz) = 65e595d05a01ba870046afb0899ac2c4da93e4bba75ad8bab74301f2c806cdee
-SHA512 (pluggy-1.6.0.tar.gz) = 8b88eb778ab955910bcde2b3a6c4925d0a239f932aa9b1d8a351aa21b8a922bd842f735e397ef15ed9bd8e51085a88723660e1e691888a9879e7144add32bff2
-Size (pluggy-1.6.0.tar.gz) = 69412 bytes
+BLAKE2s (pluggy-1.7.0.tar.gz) = 57a89955b7e52927dde3e4498f4b6dceb8e25cd8473da84fd73752477992ff64
+SHA512 (pluggy-1.7.0.tar.gz) = 945b352d9a5562764830ac7b7199d8801f4486638bf0b1630f61d7a102b466119af2c1e168cb457bcedf1212be1c5ebcb0848f05c76e91db34951f43c48ae466
+Size (pluggy-1.7.0.tar.gz) = 123304 bytes



Home | Main Index | Thread Index | Old Index