--- id: pluggy version: "1.6.0" license: MIT license_treatment: permissive maintenance: aging --- # pluggy — plugin and hook calling mechanisms for python License: permissive · Maintenance: aging · Popularity: top 100 on PyPI ## Install pip install pluggy uv add pluggy poetry add pluggy ## Description ==================================================== pluggy - A minimalist production ready plugin system ==================================================== |pypi| |conda-forge| |versions| |github-actions| |gitter| |black| |codecov| This is the core framework used by the `pytest`_, `tox`_, and `devpi`_ projects. Please `read the docs`_ to learn more! A definitive example ==================== .. code-block:: python import pluggy hookspec = pluggy.HookspecMarker("myproject") hookimpl = pluggy.HookimplMarker("myproject") class MySpec: """A hook specification namespace.""" @hookspec def myhook(self, arg1, arg2): """My special little hook that you can customize.""" class Plugin_1: """A hook implementation namespace.""" @hookimpl def myhook(self, arg1, arg2): print("inside Plugin_1.myhook()") return arg1 + arg2 class Plugin_2: """A 2nd hook implementation namespace.""" @hookimpl def myhook(self, arg1, arg2): print("inside Plugin_2.myhook()") return arg1 - arg2 # create a manager and add the spec pm =... ## AI interpretation — verify before relying pluggy provides a minimalist plugin system framework that lets you define hook specifications and register plugin implementations to call them, used as the core framework for pytest, tox, and devpi. Verdict: pluggy is a stable, zero-dependency plugin framework in the top 100 PyPI packages with no known vulnerabilities and permissive MIT licensing. Aging maintenance status (455 days since release) is typical for a mature, feature-complete library; its widespread adoption in pytest-dev projects provides confidence in production readiness. [View on SkillFed](https://skillfed.io/packages/pluggy) · [View on PyPI](https://pypi.org/project/pluggy/)