Skip to content

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jul 24, 2025

Bumps the minor group with 4 updates in the / directory: flake8, mypy, pytest and hypothesis.

Updates flake8 from 7.2.0 to 7.3.0

Commits

Updates mypy from 1.16.1 to 1.17.0

Changelog

Sourced from mypy's changelog.

Mypy Release Notes

Next Release

Mypy 1.17

We’ve just uploaded mypy 1.17 to the Python Package Index (PyPI). Mypy is a static type checker for Python. This release includes new features and bug fixes. You can install it as follows:

python3 -m pip install -U mypy

You can read the full documentation for this release on Read the Docs.

Optionally Check That Match Is Exhaustive

Mypy can now optionally generate an error if a match statement does not match exhaustively, without having to use assert_never(...). Enable this by using --enable-error-code exhaustive-match.

Example:

# mypy: enable-error-code=exhaustive-match
import enum
class Color(enum.Enum):
RED = 1
BLUE = 2
def show_color(val: Color) -> None:
# error: Unhandled case for values of type "Literal[Color.BLUE]"
match val:
case Color.RED:
print("red")

This feature was contributed by Donal Burns (PR 19144).

Further Improvements to Attribute Resolution

This release includes additional improvements to how attribute types and kinds are resolved. These fix many bugs and overall improve consistency.

  • Handle corner case: protocol/class variable/descriptor (Ivan Levkivskyi, PR 19277)
  • Fix a few inconsistencies in protocol/type object interactions (Ivan Levkivskyi, PR 19267)
  • Refactor/unify access to static attributes (Ivan Levkivskyi, PR 19254)
  • Remove inconsistencies in operator handling (Ivan Levkivskyi, PR 19250)
  • Make protocol subtyping more consistent (Ivan Levkivskyi, PR 18943)

... (truncated)

Commits
  • 0260991 Update version string
  • 3901aa2 Updates to 1.17 changelog (#19436)
  • 7d13396 Initial changelog for 1.17 release (#19427)
  • a182dec Combine the revealed types of multiple iteration steps in a more robust manne...
  • ab4fd57 Improve the handling of "iteration dependent" errors and notes in finally cla...
  • 09ba1f6 [mypyc] Fix exception swallowing in async try/finally blocks with await (#19353)
  • 5c65e33 [mypyc] Fix AttributeError in async try/finally with mixed return paths (#19361)
  • 934ec50 Lessen dmypy suggest path limitations for Windows machines (#19337)
  • a4801f9 Type ignore comments erroneously marked as unused by dmypy (#15043)
  • c3bfa0d Handle corner case: protocol vs classvar vs descriptor (#19277)
  • Additional commits viewable in compare view

Updates pytest from 8.3.5 to 8.4.1

Release notes

Sourced from pytest's releases.

8.4.1

pytest 8.4.1 (2025-06-17)

Bug fixes

  • #13461: Corrected _pytest.terminal.TerminalReporter.isatty to support being called as a method. Before it was just a boolean which could break correct code when using -o log_cli=true).

  • #13477: Reintroduced pytest.PytestReturnNotNoneWarning{.interpreted-text role="class"} which was removed by accident in pytest [8.4]{.title-ref}.

    This warning is raised when a test functions returns a value other than None, which is often a mistake made by beginners.

    See return-not-none{.interpreted-text role="ref"} for more information.

  • #13497: Fixed compatibility with Twisted 25+.

Improved documentation

  • #13492: Fixed outdated warning about faulthandler not working on Windows.

8.4.0

pytest 8.4.0 (2025-06-02)

Removals and backward incompatible breaking changes

  • #11372: Async tests will now fail, instead of warning+skipping, if you don't have any suitable plugin installed.

  • #12346: Tests will now fail, instead of raising a warning, if they return any value other than None.

  • #12874: We dropped support for Python 3.8 following its end of life (2024-10-07).

  • #12960: Test functions containing a yield now cause an explicit error. They have not been run since pytest 4.0, and were previously marked as an expected failure and deprecation warning.

    See the docs <yield tests deprecated>{.interpreted-text role="ref"} for more information.

Deprecations (removal in next major release)

  • #10839: Requesting an asynchronous fixture without a [pytest_fixture_setup]{.title-ref} hook that resolves it will now give a DeprecationWarning. This most commonly happens if a sync test requests an async fixture. This should have no effect on a majority of users with async tests or fixtures using async pytest plugins, but may affect non-standard hook setups or autouse=True. For guidance on how to work around this warning see sync-test-async-fixture{.interpreted-text role="ref"}.

New features

  • #11538: Added pytest.RaisesGroup{.interpreted-text role="class"} as an equivalent to pytest.raises{.interpreted-text role="func"} for expecting ExceptionGroup{.interpreted-text role="exc"}. Also adds pytest.RaisesExc{.interpreted-text role="class"} which is now the logic behind pytest.raises{.interpreted-text role="func"} and used as parameter to pytest.RaisesGroup{.interpreted-text role="class"}. RaisesGroup includes the ability to specify multiple different expected exceptions, the structure of nested exception groups, and flags for emulating except* <except_star>{.interpreted-text role="ref"}. See assert-matching-exception-groups{.interpreted-text role="ref"} and docstrings for more information.

  • #12081: Added capteesys{.interpreted-text role="fixture"} to capture AND pass output to next handler set by --capture=.

  • #12504: pytest.mark.xfail{.interpreted-text role="func"} now accepts pytest.RaisesGroup{.interpreted-text role="class"} for the raises parameter when you expect an exception group. You can also pass a pytest.RaisesExc{.interpreted-text role="class"} if you e.g. want to make use of the check parameter.

  • #12713: New [--force-short-summary]{.title-ref} option to force condensed summary output regardless of verbosity level.

... (truncated)

Commits

Updates hypothesis from 6.132.0 to 6.136.3

Release notes

Sourced from hypothesis's releases.

Hypothesis for Python - version 6.136.3

When a test is executed concurrently from multiple threads, "DeadlineExceeded" is now disabled, since the Python runtime may decide to switch away from a thread for longer than "settings.deadline", and Hypothesis cannot track execution time per- thread. See issue #4478.

The canonical version of these notes (with links) is on readthedocs.

Hypothesis for Python - version 6.136.2

"@​precondition" now errors if used without "@​rule" or "@​invariant". Doing so has no effect and is indicative of a user error (issue #4413).

The canonical version of these notes (with links) is on readthedocs.

Hypothesis for Python - version 6.136.1

Fix "on_observation()" being called with observations it wasn't responsible for generating if the test failed.

The canonical version of these notes (with links) is on readthedocs.

Hypothesis for Python - version 6.136.0

When a failure found by an alternative backend does not reproduce under the Hypothesis backend, we now raise "FlakyBackendFailure" instead of an internal "FlakyReplay" exception.

The canonical version of these notes (with links) is on readthedocs.

Hypothesis for Python - version 6.135.33

Speculative fix for a thread-safety issue in calculating strategy labels.

The canonical version of these notes (with links) is on readthedocs.

Hypothesis for Python - version 6.135.32

Improve the thread-safety of strategy validation.

Before this release, Hypothesis did not require that "super().init()" be called in "SearchStrategy" subclasses. Subclassing "SearchStrategy" is not supported or part of the public API, but if you are subclassing it anyway, you will need to make sure to call "super().init()" after this release.

The canonical version of these notes (with links) is on readthedocs.

Hypothesis for Python - version 6.135.31

Fix a remaining thread-safety issue with the deprecation warning for use of the global random instance (see v6.135.24).

... (truncated)

Commits
  • c93b505 Bump hypothesis-python version to 6.136.3 and update changelog
  • 4732ecb Merge pull request #4480 from tybug/free-threading-deadline
  • df6f0a5 skip threading test under emscripten
  • b3274d1 add covering test and timeout
  • 75a1a93 cap a slow test
  • 4d9fd69 disable DeadlineExceeded on multithreading
  • c84572e Bump hypothesis-python version to 6.136.2 and update changelog
  • 852fe83 Merge pull request #4479 from tybug/stateful-error
  • 371b7fd add covering test
  • 48e9972 address review, use better qualname
  • Additional commits viewable in compare view

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


Dependabot commands and options

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 <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

Bumps the minor group with 4 updates in the / directory: [flake8](https://github.com/pycqa/flake8), [mypy](https://github.com/python/mypy), [pytest](https://github.com/pytest-dev/pytest) and [hypothesis](https://github.com/HypothesisWorks/hypothesis).


Updates `flake8` from 7.2.0 to 7.3.0
- [Commits](PyCQA/flake8@7.2.0...7.3.0)

Updates `mypy` from 1.16.1 to 1.17.0
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](python/mypy@v1.16.1...v1.17.0)

Updates `pytest` from 8.3.5 to 8.4.1
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@8.3.5...8.4.1)

Updates `hypothesis` from 6.132.0 to 6.136.3
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases)
- [Commits](HypothesisWorks/hypothesis@hypothesis-python-6.132.0...hypothesis-python-6.136.3)

---
updated-dependencies:
- dependency-name: flake8
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor
- dependency-name: mypy
  dependency-version: 1.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor
- dependency-name: pytest
  dependency-version: 8.4.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor
- dependency-name: hypothesis
  dependency-version: 6.136.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added part:tooling Affects the development tooling (CI, deployment, dependency management, etc.) type:tech-debt Improves the project without visible changes for users labels Jul 24, 2025
@dependabot dependabot bot requested a review from a team as a code owner July 24, 2025 12:02
@dependabot dependabot bot added part:tooling Affects the development tooling (CI, deployment, dependency management, etc.) type:tech-debt Improves the project without visible changes for users labels Jul 24, 2025
@llucax
Copy link
Contributor

llucax commented Jul 24, 2025

This is failing because of a new pytest.raises() warning. I just asked an agent to fix it, let's see how it does:

@github-actions github-actions bot added the part:tests Affects the unit, integration and performance (benchmarks) tests label Jul 24, 2025
@llucax llucax enabled auto-merge July 24, 2025 12:37
@llucax
Copy link
Contributor

llucax commented Jul 24, 2025

Needs approval from someone else because I (copilot on behalf of me :P) added some commits.

assert exc.operation == "channel"

with pytest.raises(ClientNotConnected, match=r"") as exc_info:
with pytest.raises(ClientNotConnected) as exc_info:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand at all how

Fix pytest warning by removing empty match parameter from pytest.raises

relates to this diff? This just removes a test case as far as I can tell.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, it didn't remove just the parameters, it removed the whole case using them

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Explained here (it was unrelated duplicated code that sneaked in accidentally):

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
part:tests Affects the unit, integration and performance (benchmarks) tests part:tooling Affects the development tooling (CI, deployment, dependency management, etc.) type:tech-debt Improves the project without visible changes for users
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants