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

Export our typing #428

Closed
9 of 18 tasks
bluetech opened this issue Aug 4, 2023 · 2 comments
Closed
9 of 18 tasks

Export our typing #428

bluetech opened this issue Aug 4, 2023 · 2 comments
Assignees

Comments

@bluetech
Copy link
Member

bluetech commented Aug 4, 2023

This is an audit of pluggy's public API, from the perspective of typing. The idea is that every type which is reachable transitively through the public API should be exported from pluggy and have a clean documented interface (and without _ prefixes), with possible exceptions.

Note: this is different from the goal of making hook calls themselves typed. That would be great, but is a separate enhancement.

  • _HookRelay - through pm.hook
    • Now pluggy.HookRelay
  • TagTracer - through pm.trace
    • TODO: audit of API and transitive types
  • _Plugin - type alias for a plugin object - just object.
    • Actually no need to export this.
  • _Namespace - type alias for ModuleType | type
    • Actually no need to export this
  • DistFacade - it is compat adapter, probably shouldn't be exported
  • _HookCaller - through pm.get_hookcallers, pm.subset_hook_caller
    • Now pluggy.HookCaller
  • HookSpec - through _HookCaller.spec
  • HookImpl - through _HookCaller.get_hookimpls
  • _HookSpecOpts - through pm.parse_hookspec_opts
    • Now pluggy.HookSpecOpts
  • _HookImplOpts - through pm.parse_hookimpl_opts
    • Now pluggy.HookImplOpts
  • _BeforeTrace, _AfterTrace - type aliases, in pm.add_hookcall_monitoring
    • No need to export
  • _Result - in old-style wrappers
    • Now pluggy.Result

Other tasks are:

  • Update the sphinx version we use in RTD (currently uses <2), need recent one for typing improvements
  • Mark immutable fields as Final
  • Mark non-subclassable classes @final
  • Make private contstructors of public types private/hidden
  • Document all public types in the API reference
@bluetech bluetech self-assigned this Aug 4, 2023
@RonnyPfannschmidt
Copy link
Member

id like to recommend deprecating the current tracing/tagtracing and trying to get rid of them

my understanding is that the api in there was a initial attempt at observability from >15 years ago and missmatches any type of current best practice

i believe pytest is the only place where its used in the internals to do debug tracing

if we export it wed have to keep it, and i would like to strongly avoid that

that being said opentracing completely fails to provide performant and simple local apis while eliot lacks any way of deeper integration

bluetech added a commit to bluetech/pluggy that referenced this issue Aug 5, 2023
By default <2 is used, but we want to use new features.

Refs pytest-dev#428
bluetech added a commit to bluetech/pluggy that referenced this issue Aug 5, 2023
bluetech added a commit to bluetech/pluggy that referenced this issue Aug 5, 2023
For typing purposes, refs pytest-dev#428.

The old name `pluggy._result._Result` is kept for backward
compatibility, no reason to break the "offenders" who have imported it
before.
bluetech added a commit to bluetech/pluggy that referenced this issue Aug 5, 2023
For typing purposes, refs pytest-dev#428.

The old name `pluggy._hooks._HookCaller` is kept for backward
compatibility, no reason to break the "offenders" who have imported it
before.
bluetech added a commit to bluetech/pluggy that referenced this issue Aug 5, 2023
For typing purposes, refs pytest-dev#428.

The old name `pluggy._hooks._HookRelay` is kept for backward
compatibility, no reason to break the "offenders" who have imported it
before.
bluetech added a commit to bluetech/pluggy that referenced this issue Aug 5, 2023
@bluetech
Copy link
Member Author

bluetech commented Aug 5, 2023

@RonnyPfannschmidt OK, I'll not document the tracing types for now, though it's already documented here.

bluetech added a commit to bluetech/pluggy that referenced this issue Aug 13, 2023
Used in hook monitoring and in `pm.hook.my_hook.get_hookimpls()`.

Refs pytest-dev#428.
bluetech added a commit to bluetech/pluggy that referenced this issue Aug 13, 2023
kodiakhq bot pushed a commit to cloudquery/plugin-sdk-python that referenced this issue Sep 1, 2023
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [pluggy](https://github.com/pytest-dev/pluggy) | minor | `==1.2.0` -> `==1.3.0` |

---

### Release Notes

<details>
<summary>pytest-dev/pluggy (pluggy)</summary>

### [`v1.3.0`](https://github.com/pytest-dev/pluggy/blob/HEAD/CHANGELOG.rst#pluggy-130-2023-08-26)

[Compare Source](https://github.com/pytest-dev/pluggy/compare/1.2.0...1.3.0)

\=========================

## Deprecations and Removals

-   `#&#8203;426 <https://github.com/pytest-dev/pluggy/issues/426>`\_: Python 3.7 is no longer supported.

## Features

-   `#&#8203;428 <https://github.com/pytest-dev/pluggy/issues/428>`\_: Pluggy now exposes its typings to static type checkers.

    As part of this, the following changes are made:

    -   Renamed `_Result` to `Result`, and exported as :class:`pluggy.Result`.
    -   Renamed `_HookRelay` to `HookRelay`, and exported as :class:`pluggy.HookRelay`.
    -   Renamed `_HookCaller` to `HookCaller`, and exported as :class:`pluggy.HookCaller`.
    -   Exported `HookImpl` as :class:`pluggy.HookImpl`.
    -   Renamed `_HookImplOpts` to `HookimplOpts`, and exported as :class:`pluggy.HookimplOpts`.
    -   Renamed `_HookSpecOpts` to `HookspecOpts`, and exported as :class:`pluggy.HookspecOpts`.
    -   Some fields and classes are marked `Final` and `@final`.
    -   The :ref:`api-reference` is updated to clearly delineate pluggy's public API.

    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 `pluggy.*` to ensure future compatibility.

    Please note that pluggy is currently unable to provide strong typing for hook calls, e.g. `pm.hook.my_hook(...)`,
    nor to statically check that a hook implementation matches the hook specification's type.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi43OC4zIiwidXBkYXRlZEluVmVyIjoiMzYuNzguMyIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->
github-actions bot added a commit to MaRDI4NFDI/open-interfaces that referenced this issue Sep 4, 2023
Bumps [pluggy](https://github.com/pytest-dev/pluggy) from 1.2.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>
</blockquote>
</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.2.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.2.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>
ErikBavenstrand added a commit to klarna-incubator/mleko that referenced this issue Oct 11, 2023
Bumps [pluggy](https://github.com/pytest-dev/pluggy) from 1.2.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>
</blockquote>
</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.2.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.2.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>
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>
Teqed added a commit to Teqed/FediFetcher that referenced this issue Oct 26, 2023
Bumps [pluggy](https://github.com/pytest-dev/pluggy) from 1.2.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>
</blockquote>
</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.2.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.2.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>
evroon pushed a commit to evroon/bracket that referenced this issue Feb 15, 2024
Updates the requirements on
[pluggy](https://github.com/pytest-dev/pluggy) to permit the latest
version.
<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.4.0 (2024-01-24)</h1>
<h2>Features</h2>
<ul>
<li>
<p><code>[#463](pytest-dev/pluggy#463)
&lt;https://github.com/pytest-dev/pluggy/issues/463&gt;</code>_: A
warning :class:<code>~pluggy.PluggyTeardownRaisedWarning</code> is now
issued when an old-style hookwrapper raises an exception during
teardown.
See the warning documentation for more details.</p>
</li>
<li>
<p><code>[#471](pytest-dev/pluggy#471)
&lt;https://github.com/pytest-dev/pluggy/issues/471&gt;</code>_: Add
:func:<code>PluginManager.unblock
&lt;pluggy.PluginManager.unblock&gt;</code> method to unblock a plugin
by plugin name.</p>
</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>
<p><code>[#441](pytest-dev/pluggy#441)
&lt;https://github.com/pytest-dev/pluggy/issues/441&gt;</code>_: Fix
:func:<code>~pluggy.HookCaller.call_extra()</code> extra methods getting
ordered before everything else in some circumstances. Regressed in
pluggy 1.1.0.</p>
</li>
<li>
<p><code>[#438](pytest-dev/pluggy#438)
&lt;https://github.com/pytest-dev/pluggy/issues/438&gt;</code>_: Fix
plugins registering other plugins in a hook when the other plugins
implement the same hook itself. Regressed in pluggy 1.1.0.</p>
</li>
</ul>
<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>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/2efd28ef5dcd8b7ad44a41777ce640debbbf9c39"><code>2efd28e</code></a>
Preparing release 1.4.0</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/ebeb2f2e7865369e48d953c3dff1789d448f104e"><code>ebeb2f2</code></a>
Merge pull request <a
href="https://github.com/pytest-dev/pluggy/issues/471">#471</a>
from bluetech/unblock</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/3a28b4d7a6d07ff3b3263ac2909be804323f578c"><code>3a28b4d</code></a>
Merge pull request <a
href="https://github.com/pytest-dev/pluggy/issues/464">#464</a>
from bluetech/hookwrapper-teardown-warning</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/4331b7a164b6f0e79d2e64c8144e9bcb077f3a16"><code>4331b7a</code></a>
Merge pull request <a
href="https://github.com/pytest-dev/pluggy/issues/473">#473</a>
from bluetech/iterator-invalidation</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/7aef3e608fddc57648daffaec23432e6893f26ff"><code>7aef3e6</code></a>
hooks: fix plugins registering other plugins in a hook</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/cc36605090dfa090777b3d69ca91132ad852c6f2"><code>cc36605</code></a>
Merge pull request <a
href="https://github.com/pytest-dev/pluggy/issues/472">#472</a>
from bluetech/call-extra-ordering-fix</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/443fee6d7a30ca694aa2eec77bde4aea9356efa0"><code>443fee6</code></a>
hooks: fix <code>call_extra</code> extra methods getting ordered before
everything else</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/4577b459a9043ba283e0d7a39beeddd627cc54a0"><code>4577b45</code></a>
hooks: add comment describing <code>_hookimpls</code>'s
format/invariants.</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/13b3661080cd3f6dcae1dedbceac6814b740c6dc"><code>13b3661</code></a>
Add <code>PluginManager.unblock</code> method to unblock a name</li>
<li><a
href="https://github.com/pytest-dev/pluggy/commit/4b5b2d4ede425742d99ebb6539c42517a4401dc0"><code>4b5b2d4</code></a>
CHANGELOG: fix errors in 1.0.0 entry</li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pluggy/compare/0.3.0...1.4.0">compare
view</a></li>
</ul>
</details>
<br />


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

No branches or pull requests

2 participants