Bump the pip group with 3 updates
Bumps the pip group with 3 updates: black, mypy and pytest.
Updates black from 24.4.0 to 24.4.2
Release notes
Sourced from black's releases.
24.4.2
This is a bugfix release to fix two regressions in the new f-string parser introduced in 24.4.1.
Parser
- Fix regression where certain complex f-strings failed to parse (#4332)
Performance
- Fix bad performance on certain complex string literals (#4331)
24.4.1
Highlights
- Add support for the new Python 3.12 f-string syntax introduced by PEP 701 (#3822)
Stable style
- Fix crash involving indented dummy functions containing newlines (#4318)
Parser
- Add support for type parameter defaults, a new syntactic feature added to Python 3.13 by PEP 696 (#4327)
Integrations
- Github Action now works even when
git archiveis skipped (#4313)
Changelog
Sourced from black's changelog.
24.4.2
This is a bugfix release to fix two regressions in the new f-string parser introduced in 24.4.1.
Parser
- Fix regression where certain complex f-strings failed to parse (#4332)
Performance
- Fix bad performance on certain complex string literals (#4331)
24.4.1
Highlights
- Add support for the new Python 3.12 f-string syntax introduced by PEP 701 (#3822)
Stable style
- Fix crash involving indented dummy functions containing newlines (#4318)
Parser
- Add support for type parameter defaults, a new syntactic feature added to Python 3.13 by PEP 696 (#4327)
Integrations
- Github Action now works even when
git archiveis skipped (#4313)
Commits
3702ba2Prepare release 24.4.2 (#4335)e4aaa8aFix incorrect f-string tokenization (#4332)ba88fc3Simplify string tokenization regexes (#4331)5683242New release templatee7fb048Prepare release 24.4.1 (#4328)3f0f8f1Support PEP 696 (#4327)2f88085Github Action: Directly install from repo ifexport-substis skipped (#4313)12ce3dbMove changelog entry to right section (#4326)1354be2Add support to style function definitions with newlines before function stubs...f4b644bPrevent wrapping of multiline fstrings in parens (#4325)- Additional commits viewable in compare view
Updates mypy from 1.9.0 to 1.10.0
Changelog
Sourced from mypy's changelog.
Mypy Release Notes
Next release
Mypy 1.10
We’ve just uploaded mypy 1.10 to the Python Package Index (PyPI). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:
python3 -m pip install -U mypyYou can read the full documentation for this release on Read the Docs.
Support TypeIs (PEP 742)
Mypy now supports
TypeIs(PEP 742), which allows functions to narrow the type of a value, similar toisinstance(). UnlikeTypeGuard,TypeIscan narrow in both theifandelsebranches of an if statement:from typing_extensions import TypeIsdef is_str(s: object) -> TypeIs[str]: return isinstance(s, str)
def f(o: str | int) -> None: if is_str(o): # Type of o is 'str' ... else: # Type of o is 'int' ...
TypeIswill be added to thetypingmodule in Python 3.13, but it can be used on earlier Python versions by importing it fromtyping_extensions.This feature was contributed by Jelle Zijlstra (PR 16898).
Support TypeVar Defaults (PEP 696)
PEP 696 adds support for type parameter defaults. Example:
from typing import Generic from typing_extensions import TypeVar</tr></table>
... (truncated)
Commits
3faf0fcRemove +dev for version for release 1.10a5998d2Update CHANGELOG.md (#17159)62ea5b0Various updates to changelog for 1.10 (#17158)2f0864cUpdate CHANGELOG.md with draft for release 1.10 (#17150)e1443bbfix: incorrect returned type of access descriptors on unions of types (#16604)5161ac2Sync typeshed (#17124)e2fc1f2Fix crash when expanding invalid Unpack in aCallablealias (#17028)3ff6e47Docs: docstrings in checker.py, ast_helpers.py (#16908)732d98eFix string formatting for string enums (#16555)8019010Narrow individual items when matching a tuple to a sequence pattern (#16905)- Additional commits viewable in compare view
Updates pytest from 8.1.1 to 8.2.0
Release notes
Sourced from pytest's releases.
8.2.0
pytest 8.2.0 (2024-04-27)
Deprecations
#12069: A deprecation warning is now raised when implementations of one of the following hooks request a deprecated
py.path.localparameter instead of thepathlib.Pathparameter which replaced it:
pytest_ignore_collect{.interpreted-text role="hook"} - thepathparameter - usecollection_pathinstead.pytest_collect_file{.interpreted-text role="hook"} - thepathparameter - usefile_pathinstead.pytest_pycollect_makemodule{.interpreted-text role="hook"} - thepathparameter - usemodule_pathinstead.pytest_report_header{.interpreted-text role="hook"} - thestartdirparameter - usestart_pathinstead.pytest_report_collectionfinish{.interpreted-text role="hook"} - thestartdirparameter - usestart_pathinstead.The replacement parameters are available since pytest 7.0.0. The old parameters will be removed in pytest 9.0.0.
See
legacy-path-hooks-deprecated{.interpreted-text role="ref"} for more details.Features
#11871: Added support for reading command line arguments from a file using the prefix character
@, like e.g.:pytest @tests.txt. The file must have one argument per line.See
Read arguments from file <args-from-file>{.interpreted-text role="ref"} for details.Improvements
#11523:
pytest.importorskip{.interpreted-text role="func"} will now issue a warning if the module could be found, but raisedImportError{.interpreted-text role="class"} instead ofModuleNotFoundError{.interpreted-text role="class"}.The warning can be suppressed by passing
exc_type=ImportErrortopytest.importorskip{.interpreted-text role="func"}.See
import-or-skip-import-error{.interpreted-text role="ref"} for details.#11728: For
unittest-based tests, exceptions during class cleanup (as raised by functions registered withTestCase.addClassCleanup <unittest.TestCase.addClassCleanup>{.interpreted-text role="meth"}) are now reported instead of silently failing.#11777: Text is no longer truncated in the
short test summary infosection when-vvis given.#12112: Improved namespace packages detection when
consider_namespace_packages{.interpreted-text role="confval"} is enabled, covering more situations (like editable installs).#9502: Added
PYTEST_VERSION{.interpreted-text role="envvar"} environment variable which is defined at the start of the pytest session and undefined afterwards. It contains the value ofpytest.__version__, and among other things can be used to easily check if code is running from within a pytest run.Bug Fixes
#12065: Fixed a regression in pytest 8.0.0 where test classes containing
setup_methodand tests using@staticmethodor@classmethodwould crash withAttributeError: 'NoneType' object has no attribute 'setup_method'.Now the
request.instance <pytest.FixtureRequest.instance>{.interpreted-text role="attr"} attribute of tests using@staticmethodand@classmethodis no longerNone, but a fresh instance of the class, like in non-static methods.
... (truncated)
Commits
6bd3f31Tweak changelog for 8.2.09b6219bPrepare release version 8.2.0835765cMerge pull request #12130 from bluetech/fixtures-inline7e7503cunittest: report class cleanup exceptions (#12250)882c4dafixtures: inlinefail_fixturefunc2e8fb9ffixtures: extract a_check_fixturedefmethodacf2971fixtures: inline_getnextfixturedefinto_get_active_fixturedef3c77aecfixtures: move "request" check earlyd217d68fixtures: inline_compute_fixture_value530be28fixtures: use early return in_get_active_fixturedef- Additional commits viewable in compare view
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 commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major versionwill 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 versionwill 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