Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Require new-style hooks to also be marked as hook-wrappers #405

Closed
nicoddemus opened this issue Jun 19, 2023 · 0 comments · Fixed by #411
Closed

Require new-style hooks to also be marked as hook-wrappers #405

nicoddemus opened this issue Jun 19, 2023 · 0 comments · Fixed by #411

Comments

@nicoddemus
Copy link
Member

As discussed in #403, implicitly considering hooks implemented as generators to be hook-wrappers broke some downstream projects, notably conda.

@bluetech:

If the yanking ends up being good enough, I'll work on a pluggy 1.2.0 which reworks the feature (probably using an explicit wrapper=True), otherwise I can do a quick 1.1.1 release which just reverts the feature.

For now I'll assume the yanks are good, but let me know if not.

Originally posted by @bluetech in #403 (comment)

bluetech added a commit to bluetech/pluggy that referenced this issue Jun 20, 2023
Previously new-style wrappers were implied by the function being a
generator, however that broke a use case of a non-wrapper impl being a
generator as a way to return an Iterator result. This is legitimate, and
used at least by conda (see pytest-dev#403).

Therefore, change to require an explicit `wrapper=True`. Also adds a
test for the iterator-returning case.

Fix pytest-dev#405.
bluetech added a commit to bluetech/pluggy that referenced this issue Jun 20, 2023
Previously new-style wrappers were implied by the function being a
generator, however that broke a use case of a non-wrapper impl being a
generator as a way to return an Iterator result. This is legitimate, and
used at least by conda (see pytest-dev#403).

Therefore, change to require an explicit `wrapper=True`. Also adds a
test for the iterator-returning case.

Fix pytest-dev#405.
a10y pushed a commit to IntrinsicLabsAI/intrinsic-model-server that referenced this issue Jun 27, 2023
Bumps [pluggy](https://github.com/pytest-dev/pluggy) from 1.0.0 to
1.2.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pluggy/blob/main/CHANGELOG.rst">pluggy's
changelog</a>.</em></p>
<blockquote>
<h1>pluggy 1.2.0 (2023-06-21)</h1>
<h2>Features</h2>
<ul>
<li><code>[#405](pytest-dev/pluggy#405)
&lt;https://github.com/pytest-dev/pluggy/issues/405&gt;</code>_: The
new-style hook wrappers, added in the yanked 1.1.0 release, now require
an explicit <code>wrapper=True</code> designation in the
<code>@hookimpl()</code> decorator.</li>
</ul>
<h1>pluggy 1.1.0 (YANKED)</h1>
<p>.. note::</p>
<p>This release was yanked because unfortunately the implicit new-style
hook wrappers broke some downstream projects.
See <code>[#403](pytest-dev/pluggy#403)
&lt;https://github.com/pytest-dev/pluggy/issues/403&gt;</code>__ for
more information.
This was rectified in the 1.2.0 release.</p>
<h2>Deprecations and Removals</h2>
<ul>
<li><code>[#364](pytest-dev/pluggy#364)
&lt;https://github.com/pytest-dev/pluggy/issues/364&gt;</code>_: Python
3.6 is no longer supported.</li>
</ul>
<h2>Features</h2>
<ul>
<li>
<p><code>[#260](pytest-dev/pluggy#260)
&lt;https://github.com/pytest-dev/pluggy/issues/260&gt;</code>_: Added
&quot;new-style&quot; hook wrappers, a simpler but equally powerful
alternative to the existing <code>hookwrapper=True</code> wrappers.</p>
<p>New-style wrappers are generator functions, similarly to
<code>hookwrapper</code>, but do away with the :class:<code>result
&lt;pluggy._callers._Result&gt;</code> object.
Instead, the return value is sent directly to the <code>yield</code>
statement, or, if inner calls raised an exception, it is raised from the
<code>yield</code>.
The wrapper is expected to return a value or raise an exception, which
will become the result of the hook call.</p>
<p>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.</p>
<p>See :ref:<code>hookwrappers</code> for the full documentation.</p>
</li>
<li>
<p><code>[#364](pytest-dev/pluggy#364)
&lt;https://github.com/pytest-dev/pluggy/issues/364&gt;</code>_: Python
3.11 and 3.12 are now officially supported.</p>
</li>
<li>
<p><code>[#394](pytest-dev/pluggy#394)
&lt;https://github.com/pytest-dev/pluggy/issues/394&gt;</code>_: Added
the :meth:<code>~pluggy._callers._Result.force_exception</code> method
to <code>_Result</code>.</p>
<p><code>force_exception</code> allows (old-style) hookwrappers to force
an exception or override/adjust an existing exception of a hook
invocation,
in a properly behaving manner. Using <code>force_exception</code> is
preferred over raising an exception from the hookwrapper,
because raising an exception causes other hookwrappers to be
skipped.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/9060a4e466a8ef08bd737dd75acf1e976b76dc07"><code>9060a4e</code></a>
Preparing release 1.2.0</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/926084e262441a3d2ab30ae7aefa463377f4c119"><code>926084e</code></a>
Merge pull request <a
href="https://github.com/pytest-dev/pluggy/issues/379">#379</a>
from vitek/spec-conflict</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/8103269dac8773bf7702d1494127383bbbe4cfc4"><code>8103269</code></a>
Merge pull request <a
href="https://github.com/pytest-dev/pluggy/issues/411">#411</a>
from bluetech/new-style-v2</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/3f9f62275d39679638aa2c9b3b9cc02665e9cdfb"><code>3f9f622</code></a>
Merge pull request <a
href="https://github.com/pytest-dev/pluggy/issues/408">#408</a>
from bluetech/releasing-pre-test</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/e241aed3efdde28e6862386a06d4faf840165650"><code>e241aed</code></a>
Make new-style wrappers use explicit <code>wrapper=True</code></li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/165c4a71a2d528596d055d82cd1e5a78389dd1c6"><code>165c4a7</code></a>
Merge pull request <a
href="https://github.com/pytest-dev/pluggy/issues/410">#410</a>
from bluetech/rm-subset-slots</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/fea9daa582c1855c74ef7d4cd5fd923ed2ed8e25"><code>fea9daa</code></a>
Merge pull request <a
href="https://github.com/pytest-dev/pluggy/issues/409">#409</a>
from bluetech/pm-no-slots</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/b56b4c3a7e9cdcd8b94709f805a2865a08cc6218"><code>b56b4c3</code></a>
hooks: remove a couple of unnecessary slots from
<code>_SubsetHookCaller</code></li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/2e2a0408cb32563ee0bd610fe414045a39043873"><code>2e2a040</code></a>
Add scripts for downstream testing</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/4cfc67669a17b9c94abad2e035526ef2c1a1f4db"><code>4cfc676</code></a>
Merge pull request <a
href="https://github.com/pytest-dev/pluggy/issues/407">#407</a>
from pytest-dev/pre-commit-ci-update-config</li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pluggy/compare/1.0.0...1.2.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pluggy&package-manager=pip&previous-version=1.0.0&new-version=1.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
netbsd-srcmastr referenced this issue in NetBSD/pkgsrc Jun 28, 2023
pluggy 1.2.0 (2023-06-21)
=========================

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.


pluggy 1.1.0 (YANKED)
=====================

.. 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.
github-actions bot added a commit to MaRDI4NFDI/open-interfaces that referenced this issue Sep 1, 2023
Bumps [pluggy](https://github.com/pytest-dev/pluggy) from 1.0.0 to
1.2.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pluggy/blob/main/CHANGELOG.rst">pluggy's
changelog</a>.</em></p>
<blockquote>
<h1>pluggy 1.2.0 (2023-06-21)</h1>
<h2>Features</h2>
<ul>
<li><code>[#405](pytest-dev/pluggy#405)
&lt;https://github.com/pytest-dev/pluggy/issues/405&gt;</code>_: The
new-style hook wrappers, added in the yanked 1.1.0 release, now require
an explicit <code>wrapper=True</code> designation in the
<code>@hookimpl()</code> decorator.</li>
</ul>
<h1>pluggy 1.1.0 (YANKED)</h1>
<p>.. note::</p>
<p>This release was yanked because unfortunately the implicit new-style
hook wrappers broke some downstream projects.
See <code>[#403](pytest-dev/pluggy#403)
&lt;https://github.com/pytest-dev/pluggy/issues/403&gt;</code>__ for
more information.
This was rectified in the 1.2.0 release.</p>
<h2>Deprecations and Removals</h2>
<ul>
<li><code>[#364](pytest-dev/pluggy#364)
&lt;https://github.com/pytest-dev/pluggy/issues/364&gt;</code>_: Python
3.6 is no longer supported.</li>
</ul>
<h2>Features</h2>
<ul>
<li>
<p><code>[#260](pytest-dev/pluggy#260)
&lt;https://github.com/pytest-dev/pluggy/issues/260&gt;</code>_: Added
&quot;new-style&quot; hook wrappers, a simpler but equally powerful
alternative to the existing <code>hookwrapper=True</code> wrappers.</p>
<p>New-style wrappers are generator functions, similarly to
<code>hookwrapper</code>, but do away with the :class:<code>result
&lt;pluggy._callers._Result&gt;</code> object.
Instead, the return value is sent directly to the <code>yield</code>
statement, or, if inner calls raised an exception, it is raised from the
<code>yield</code>.
The wrapper is expected to return a value or raise an exception, which
will become the result of the hook call.</p>
<p>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.</p>
<p>See :ref:<code>hookwrappers</code> for the full documentation.</p>
</li>
<li>
<p><code>[#364](pytest-dev/pluggy#364)
&lt;https://github.com/pytest-dev/pluggy/issues/364&gt;</code>_: Python
3.11 and 3.12 are now officially supported.</p>
</li>
<li>
<p><code>[#394](pytest-dev/pluggy#394)
&lt;https://github.com/pytest-dev/pluggy/issues/394&gt;</code>_: Added
the :meth:<code>~pluggy._callers._Result.force_exception</code> method
to <code>_Result</code>.</p>
<p><code>force_exception</code> allows (old-style) hookwrappers to force
an exception or override/adjust an existing exception of a hook
invocation,
in a properly behaving manner. Using <code>force_exception</code> is
preferred over raising an exception from the hookwrapper,
because raising an exception causes other hookwrappers to be
skipped.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/9060a4e466a8ef08bd737dd75acf1e976b76dc07"><code>9060a4e</code></a>
Preparing release 1.2.0</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/926084e262441a3d2ab30ae7aefa463377f4c119"><code>926084e</code></a>
Merge pull request <a
href="https://github.com/pytest-dev/pluggy/issues/379">#379</a>
from vitek/spec-conflict</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/8103269dac8773bf7702d1494127383bbbe4cfc4"><code>8103269</code></a>
Merge pull request <a
href="https://github.com/pytest-dev/pluggy/issues/411">#411</a>
from bluetech/new-style-v2</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/3f9f62275d39679638aa2c9b3b9cc02665e9cdfb"><code>3f9f622</code></a>
Merge pull request <a
href="https://github.com/pytest-dev/pluggy/issues/408">#408</a>
from bluetech/releasing-pre-test</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/e241aed3efdde28e6862386a06d4faf840165650"><code>e241aed</code></a>
Make new-style wrappers use explicit <code>wrapper=True</code></li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/165c4a71a2d528596d055d82cd1e5a78389dd1c6"><code>165c4a7</code></a>
Merge pull request <a
href="https://github.com/pytest-dev/pluggy/issues/410">#410</a>
from bluetech/rm-subset-slots</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/fea9daa582c1855c74ef7d4cd5fd923ed2ed8e25"><code>fea9daa</code></a>
Merge pull request <a
href="https://github.com/pytest-dev/pluggy/issues/409">#409</a>
from bluetech/pm-no-slots</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/b56b4c3a7e9cdcd8b94709f805a2865a08cc6218"><code>b56b4c3</code></a>
hooks: remove a couple of unnecessary slots from
<code>_SubsetHookCaller</code></li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/2e2a0408cb32563ee0bd610fe414045a39043873"><code>2e2a040</code></a>
Add scripts for downstream testing</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/4cfc67669a17b9c94abad2e035526ef2c1a1f4db"><code>4cfc676</code></a>
Merge pull request <a
href="https://github.com/pytest-dev/pluggy/issues/407">#407</a>
from pytest-dev/pre-commit-ci-update-config</li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pluggy/compare/1.0.0...1.2.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pluggy&package-manager=pip&previous-version=1.0.0&new-version=1.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

> **Note**
> Automatic rebases have been disabled on this pull request as it has
been open for over 30 days.
github-actions bot pushed a commit to bacalhau-project/bacalhau that referenced this issue Oct 18, 2023
Bumps [pluggy](https://github.com/pytest-dev/pluggy) from 1.0 to 1.3.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pluggy/blob/main/CHANGELOG.rst">pluggy's
changelog</a>.</em></p>
<blockquote>
<h1>pluggy 1.3.0 (2023-08-26)</h1>
<h2>Deprecations and Removals</h2>
<ul>
<li><code>[#426](pytest-dev/pluggy#426)
&lt;https://github.com/pytest-dev/pluggy/issues/426&gt;</code>_: Python
3.7 is no longer supported.</li>
</ul>
<h2>Features</h2>
<ul>
<li>
<p><code>[#428](pytest-dev/pluggy#428)
&lt;https://github.com/pytest-dev/pluggy/issues/428&gt;</code>_: Pluggy
now exposes its typings to static type checkers.</p>
<p>As part of this, the following changes are made:</p>
<ul>
<li>Renamed <code>_Result</code> to <code>Result</code>, and exported as
:class:<code>pluggy.Result</code>.</li>
<li>Renamed <code>_HookRelay</code> to <code>HookRelay</code>, and
exported as :class:<code>pluggy.HookRelay</code>.</li>
<li>Renamed <code>_HookCaller</code> to <code>HookCaller</code>, and
exported as :class:<code>pluggy.HookCaller</code>.</li>
<li>Exported <code>HookImpl</code> as
:class:<code>pluggy.HookImpl</code>.</li>
<li>Renamed <code>_HookImplOpts</code> to <code>HookimplOpts</code>, and
exported as :class:<code>pluggy.HookimplOpts</code>.</li>
<li>Renamed <code>_HookSpecOpts</code> to <code>HookspecOpts</code>, and
exported as :class:<code>pluggy.HookspecOpts</code>.</li>
<li>Some fields and classes are marked <code>Final</code> and
<code>@Final</code>.</li>
<li>The :ref:<code>api-reference</code> is updated to clearly delineate
pluggy's public API.</li>
</ul>
<p>Compatibility aliases are put in place for the renamed types.
We do not plan to remove the aliases, but we strongly recommend to only
import from <code>pluggy.*</code> to ensure future compatibility.</p>
<p>Please note that pluggy is currently unable to provide strong typing
for hook calls, e.g. <code>pm.hook.my_hook(...)</code>,
nor to statically check that a hook implementation matches the hook
specification's type.</p>
</li>
</ul>
<h1>pluggy 1.2.0 (2023-06-21)</h1>
<h2>Features</h2>
<ul>
<li><code>[#405](pytest-dev/pluggy#405)
&lt;https://github.com/pytest-dev/pluggy/issues/405&gt;</code>_: The
new-style hook wrappers, added in the yanked 1.1.0 release, now require
an explicit <code>wrapper=True</code> designation in the
<code>@hookimpl()</code> decorator.</li>
</ul>
<h1>pluggy 1.1.0 (YANKED)</h1>
<p>.. note::</p>
<p>This release was yanked because unfortunately the implicit new-style
hook wrappers broke some downstream projects.
See <code>[#403](pytest-dev/pluggy#403)
&lt;https://github.com/pytest-dev/pluggy/issues/403&gt;</code>__ for
more information.
This was rectified in the 1.2.0 release.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/e13a58c5039bf7a8aa6a46a77244aea48b210510"><code>e13a58c</code></a>
Preparing release 1.3.0</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/c53af988873187089224fa3d774d0d89f659f285"><code>c53af98</code></a>
Merge pull request <a
href="https://github.com/pytest-dev/pluggy/issues/434">#434</a>
from bluetech/typing4</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/62da97c2d6cc0821774bc3cb2fa210f8592f7d13"><code>62da97c</code></a>
Export pluggy's typing</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/973fb561869c315a269281817f3b3de4be6f9c43"><code>973fb56</code></a>
tracing: more compatible types for <code>_Writer</code> and
<code>_Processor</code></li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/b5fb741127471a98d5cb91264640218e3bbe83ff"><code>b5fb741</code></a>
Export <code>__version__</code></li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/1b1042ea689247264f4f9062f227d967826781c5"><code>1b1042e</code></a>
Merge pull request <a
href="https://github.com/pytest-dev/pluggy/issues/430">#430</a>
from bluetech/typing3</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/ba6fb4ab03adbd5c47ad47b3d39822b15622bae0"><code>ba6fb4a</code></a>
[pre-commit.ci] pre-commit autoupdate</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/aea172a01824e6d8963ba78f70965174bfec9eb7"><code>aea172a</code></a>
[pre-commit.ci] pre-commit autoupdate</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/20b419d7711ec84c5357efa2d6eefbd8ca1c4112"><code>20b419d</code></a>
docs: enable nitpicky mode</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/80a73dcf58eb0bf8e707c89bd572a46cc69eb141"><code>80a73dc</code></a>
Mark some fields and classes <code>Final</code> and
<code>@Final</code></li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pluggy/compare/1.0.0...1.3.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pluggy&package-manager=pip&previous-version=1.0&new-version=1.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant