-
Notifications
You must be signed in to change notification settings - Fork 2
OPT: Update all non-major dependencies ⬆️ #167
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
Open
renovate
wants to merge
1
commit into
main
Choose a base branch
from
renovate/all-minor-patch
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #167 +/- ##
=======================================
Coverage 92.70% 92.70%
=======================================
Files 33 33
Lines 891 891
Branches 49 49
=======================================
Hits 826 826
Misses 47 47
Partials 18 18 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
089f203 to
eaf0b3d
Compare
15e1d09 to
1964ad9
Compare
fa929ce to
be8ba77
Compare
8408f40 to
48cda5b
Compare
a0c6b76 to
76a577d
Compare
76a577d to
24ef626
Compare
89659e2 to
d5300a1
Compare
fba10d1 to
9d0d843
Compare
b95c0b0 to
1f7f3af
Compare
faf5204 to
834d1ee
Compare
86e40d7 to
deba861
Compare
eaa3715 to
c05d2c8
Compare
7c8f1fd to
9507938
Compare
9507938 to
b35ae08
Compare
fca7257 to
25e0c8e
Compare
25e0c8e to
648559c
Compare
cbdb0d1 to
1fca103
Compare
9e31653 to
b36f3c0
Compare
b36f3c0 to
a39382c
Compare
d6ed705 to
87ad113
Compare
8e7c42f to
584af72
Compare
584af72 to
91ffa53
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.7.1->2.8.21.4.1->1.4.31.4.5->1.5.09.6.12->9.7.10.29.1->0.30.11.15.0->1.19.18.3.5->8.4.23.13->3.13 || 3.140.11.8->0.14.10Release Notes
Kozea/CairoSVG (cairosvg)
v2.8.2Compare Source
v2.8.1Compare Source
v2.8.0Compare Source
mkdocstrings/autorefs (mkdocs-autorefs)
v1.4.3Compare Source
Compare with 1.4.2
Code Refactoring
v1.4.2Compare Source
Compare with 1.4.1
Build
timvink/mkdocs-git-revision-date-localized-plugin (mkdocs-git-revision-date-localized-plugin)
v1.5.0: revision-date-localized v1.5.0Compare Source
What's Changed
Fixes
Docs
New Contributors
Full Changelog: timvink/mkdocs-git-revision-date-localized-plugin@v1.4.7...v1.5.0
v1.4.7: revision-date-localized v1.4.7Compare Source
What's Changed
New Contributors
Full Changelog: timvink/mkdocs-git-revision-date-localized-plugin@v1.4.6...v1.4.7
v1.4.6: revision-date-localized v1.4.6Compare Source
What's Changed
options.mdby @zyv in #179New Contributors
Full Changelog: timvink/mkdocs-git-revision-date-localized-plugin@v1.4.5...v1.4.6
squidfunk/mkdocs-material (mkdocs-material)
v9.7.1: mkdocs-material-9.7.1Compare Source
v9.7.0: mkdocs-material-9.7.0Compare Source
→ Read the full announcement on our blog
This release includes all features that were previously exclusive to the Insiders edition. These features are now freely available to everyone.
Note on deprecated plugins: The projects and typeset plugins are included in this release, but must be considered deprecated. Both plugins proved unsustainable to maintain and represent architectural dead ends. They are provided as-is without ongoing support.
Changes:
v9.6.23: mkdocs-material-9.6.23Compare Source
v9.6.22: mkdocs-material-9.6.22Compare Source
v9.6.21: mkdocs-material-9.6.21Compare Source
v9.6.20: mkdocs-material-9.6.20Compare Source
&character not escaped in search highlightingv9.6.19: mkdocs-material-9.6.19Compare Source
v9.6.18: mkdocs-material-9.6.18Compare Source
v9.6.17: mkdocs-material-9.6.17Compare Source
v9.6.16: mkdocs-material-9.6.16Compare Source
v9.6.15: mkdocs-material-9.6.15Compare Source
v9.6.14: mkdocs-material-9.6.14Compare Source
v9.6.13: mkdocs-material-9.6.13Compare Source
mkdocstrings/mkdocstrings (mkdocstrings)
v0.30.1Compare Source
Compare with 0.30.0
Bug Fixes
v0.30.0Compare Source
Compare with 0.30.0
Bug Fixes
python/mypy (mypy)
v1.19.1Compare Source
types.NoneTypein match cases (A5rocks, PR 20383)v1.19.0Compare Source
v1.18.2Compare Source
object.__init__(Stephen Morton, PR 19733)v1.18.1Compare Source
We’ve just uploaded mypy 1.18.1 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:
You can read the full documentation for this release on Read the Docs.
Mypy Performance Improvements
Mypy 1.18.1 includes numerous performance improvements, resulting in about 40% speedup
compared to 1.17 when type checking mypy itself. In extreme cases, the improvement
can be 10x or higher. The list below is an overview of the various mypy optimizations.
Many mypyc improvements (discussed in a separate section below) also improve performance.
Type caching optimizations have a small risk of causing regressions. When
reporting issues with unexpected inferred types, please also check if
--disable-expression-cachewill work around the issue, as it turns off some ofthese optimizations.
Fixed‑Format Cache (Experimental)
Mypy now supports a new cache format used for faster incremental builds. It makes
incremental builds up to twice as fast. The feature is experimental and
currently only supported when using a compiled version of mypy. Use
--fixed-format-cacheto enable the new format, or
fixed_format_cache = Truein a configuration file.We plan to enable this by default in a future mypy release, and we'll eventually
deprecate and remove support for the original JSON-based format.
Unlike the JSON-based cache format, the new binary format is currently
not easy to parse and inspect by mypy users. We are planning to provide a tool to
convert fixed-format cache files to JSON, but details of the output JSON may be
different from the current JSON format. If you rely on being able to inspect
mypy cache files, we recommend creating a GitHub issue and explaining your use
case, so that we can more likely provide support for it. (Using
MypyFile.read(binary_data)to inspect cache data may be sufficient to supportsome use cases.)
This feature was contributed by Ivan Levkivskyi (PR 19668, 19735, 19750, 19681, 19752, 19815).
Flexible Variable Definitions: Update
Mypy 1.16.0 introduced
--allow-redefinition-new, which allows redefining variableswith different types, and inferring union types for variables from multiple assignments.
The feature is now documented in the
--helpoutput, but the feature is still experimental.We are planning to enable this by default in mypy 2.0, and we will also deprecate the
older
--allow-redefinitionflag. Since the new behavior differs significantly fromthe older flag, we encourage users of
--allow-redefinitionto experiment with--allow-redefinition-newand create a GitHub issue if the new functionality doesn'tsupport some important use cases.
This feature was contributed by Jukka Lehtosalo.
Inferred Type for Bare ClassVar
A ClassVar without an explicit type annotation now causes the type of the variable
to be inferred from the initializer:
This feature was contributed by Ivan Levkivskyi (PR 19573).
Disjoint Base Classes (@disjoint_base, PEP 800)
Mypy now understands disjoint bases (PEP 800): it recognizes the
@disjoint_basedecorator, and rejects class definitions that combine mutually incompatible base classes,
and takes advantage of the fact that such classes cannot exist in reachability and
narrowing logic.
This class definition will now generate an error:
v1.17.1Compare Source
Noneas constraints bottom if no bottoms were provided (Stanislav Terliakov, PR 19485)hasattr" in dmypy (Stanislav Terliakov, PR 19428)v1.17.0Compare Source
v1.16.1Compare Source
v1.16.0Compare Source
pytest-dev/pytest (pytest)
v8.4.2Compare Source
pytest 8.4.2 (2025-09-03)
Bug fixes
#13478: Fixed a crash when using
console_output_style{.interpreted-text role="confval"} withtimesand a module is skipped.#13530: Fixed a crash when using
pytest.approx{.interpreted-text role="func"} anddecimal.Decimal{.interpreted-text role="class"} instances with thedecimal.FloatOperation{.interpreted-text role="class"} trap set.#13549: No longer evaluate type annotations in Python
3.14when inspecting function signatures.This prevents crashes during module collection when modules do not explicitly use
from __future__ import annotationsand import types for annotations within aif TYPE_CHECKING:block.#13559: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in
pytest.Parser.addini{.interpreted-text role="meth"}.#13563:
pytest.approx{.interpreted-text role="func"} now only importsnumpyif NumPy is already insys.modules. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.Improved documentation
pytest_generate_testsis discovered in test modules/classes; other hooks must be inconftest.pyor plugins.Contributor-facing changes
-Wdefaultor a similar override.test_doctest_unexpected_exceptionin Python3.14.CIenvironment variable -- byogrisel{.interpreted-text role="user"}.v8.4.1Compare Source
pytest 8.4.1 (2025-06-17)
Bug fixes
#13461: Corrected
_pytest.terminal.TerminalReporter.isattyto supportbeing 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
faulthandlernot working on Windows.v8.4.0Compare Source
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)
autouse=True. For guidance on how to work around this warning seesync-test-async-fixture{.interpreted-text role="ref"}.New features
#11538: Added
pytest.RaisesGroup{.interpreted-text role="class"} as an equivalent topytest.raises{.interpreted-text role="func"} for expectingExceptionGroup{.interpreted-text role="exc"}. Also addspytest.RaisesExc{.interpreted-text role="class"} which is now the logic behindpytest.raises{.interpreted-text role="func"} and used as parameter topytest.RaisesGroup{.interpreted-text role="class"}.RaisesGroupincludes the ability to specify multiple different expected exceptions, the structure of nested exception groups, and flags for emulatingexcept* <except_star>{.interpreted-text role="ref"}. Seeassert-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 acceptspytest.RaisesGroup{.interpreted-text role="class"} for theraisesparameter when you expect an exception group. You can also pass apytest.RaisesExc{.interpreted-text role="class"} if you e.g. want to make use of thecheckparameter.#12713: New [--force-short-summary]{.title-ref} option to force condensed summary output regardless of verbosity level.
This lets users still see condensed summary output of failures for quick reference in log files from job outputs, being especially useful if non-condensed output is very verbose.
#12749: pytest traditionally collects classes/functions in the test module namespace even if they are imported from another file.
For example:
contents of src/domain.py
contents of tests/test_testament.py
#12765: Thresholds to trigger snippet truncation can now be set with
truncation_limit_lines{.interpreted-text role="confval"} andtruncation_limit_chars{.interpreted-text role="confval"}.See
truncation-params{.interpreted-text role="ref"} for more information.#13125:
console_output_style{.interpreted-text role="confval"} now supportstimesto show execution time of each test.#13192:
pytest.raises{.interpreted-text role="func"} will now raise a warning when passing an empty string tomatch, as this will match against any value. Usematch="^$"if you want to check that an exception has no message.#13192:
pytest.raises{.interpreted-text role="func"} will now print a helpful string diff if matching fails and the match parameter has^and$and is otherwise escaped.#13192: You can now pass
with pytest.raises(check=fn): <pytest.raises>{.interpreted-text role="func"}, wherefnis a function which takes a raised exception and returns a boolean. Theraisesfails if no exception was raised (as usual), passes if an exception is raised andfnreturnsTrue(as well asmatchand the type matching, if specified, which are checked before), and propagates the exception iffnreturnsFalse(which likely also fails the test).#13228:
hidden-param{.interpreted-text role="ref"} can now be used inidofpytest.param{.interpreted-text role="func"} or inidsofMetafunc.parametrize <pytest.Metafunc.parametrize>{.interpreted-text role="py:func"}.It hides the parameter set from the test name.
#13253: New flag:
--disable-plugin-autoload <disable_plugin_autoload>{.interpreted-text role="ref"} which works as an alternative toPYTEST_DISABLE_PLUGIN_AUTOLOAD{.interpreted-text role="envvar"} when setting environment variables is inconvenient; and allows setting it in config files withaddopts{.interpreted-text role="confval"}.Improvements in existing functionality
#10224: pytest's
shortandlongtraceback styles (how-to-modifying-python-tb-printing{.interpreted-text role="ref"})now have partial
657{.interpreted-text role="pep"} support and will show specific code segments in thetraceback.
-- by
ammaraskar{.interpreted-text role="user"}#11118: Now
pythonpath{.interpreted-text role="confval"} configures [$PYTHONPATH]{.title-ref} earlier than before during the initialization process, which now also affects plugins loaded via the [-p]{.title-ref} command-line option.-- by
millerdev{.interpreted-text role="user"}#11381: The
typeparameter of theparser.addinimethod now accepts ["int"]{.title-ref} and"float"parameters, facilitating the parsing of configuration values in the configuration file.Example:
The [pytest.ini]{.title-ref} file:
#11525: Fixtures are now clearly represented in the output as a "fixture object", not as a normal function as before, making it easy for beginners to catch mistakes such as referencing a fixture declared in the same module but not requested in the test function.
-- by
the-compiler{.interpreted-text role="user"} andglyphack{.interpreted-text role="user"}#12426: A warning is now issued when
pytest.mark.usefixtures ref{.interpreted-text role="ref"} is used without specifying any fixtures. Previously, empty usefixtures markers were silently ignored.#12707: Exception chains can be navigated when dropped into Pdb in Python 3.13+.
#12736: Added a new attribute [name]{.title-ref} with the fixed value ["pytest tests"]{.title-ref} to the root tag [testsuites]{.title-ref} of the junit-xml generated by pytest.
This attribute is part of many junit-xml specifications and is even part of the [junit-10.xsd]{.title-ref} specification that pytest's implementation is based on.
#12943: If a test fails with an exceptiongroup with a single exception, the contained exception will now be displayed in the short test summary info.
#12958: A number of
unraisable <unraisable>{.interpreted-text role="ref"} enhancements:tracemalloc{.interpreted-text role="mod"} allocation traceback (if available).StopIteration{.interpreted-text role="class"} in test failures.pytest.PytestUnraisableExceptionWarning{.interpreted-text role="class"} exception if raised.reprof the unraisable object in the unraisable hook so you get the latest information if available, and should help with resurrection of the object.#13010:
pytest.approx{.interpreted-text role="func"} now can compare collections that contain numbers and non-numbers mixed.#13016: A number of
threadexception <unraisable>{.interpreted-text role="ref"} enhancements:tracemalloc{.interpreted-text role="mod"} allocation traceback (if available).StopIteration{.interpreted-text role="class"} in test failures.pytest.PytestUnhandledThreadExceptionWarning{.interpreted-text role="class"} exception if raised.nameof the thread object in the excepthook which should help with resurrection of the thread.#13031: An empty parameter set as in
pytest.mark.parametrize([], ids=idfunc)will no longer trigger a call toidfuncwith internal objects.#13115: Allows supplying
ExceptionGroup[Exception]andBaseExceptionGroup[BaseException]topytest.raisesto keep full typing onExceptionInfo <pytest.ExceptionInfo>{.interpreted-text role="class"}:Parametrizing with other exception types remains an error - we do not check the types of child exceptions and thus do not permit code that might look like we do.
#13122: The
--stepwisemode received a number of improvements:It no longer forgets the last failed test in case pytest is executed later without the flag.
This enables the following workflow:
--stepwise, pytest then stops at the first failing test;--stepwiseflag (for example in an IDE), until it is fixed.--stepwiseagain and pytest will continue from the previously failed test, and if it passes, continue on to the next tests.Previously, at step 3, pytest would start from the beginning, forgetting the previously failed test.
This change however might cause issues if the
--stepwisemode is used far apart in time, as the state might get stale, so the internal state will be reset automatically in case the test suite changes (for now only the number of tests are considered for this, we might change/improve this on the future).New
--stepwise-reset/--sw-resetflag, allowing the user to explicitly reset the stepwise state and restart the workflow from the beginning.#13308: Added official support for Python 3.14.
#13380: Fix
ExceptionGroup{.interpreted-text role="class"} traceback filtering to exclude pytest internals.#13415: The author metadata of the BibTex example is now correctly formatted with last names following first names.
An example of BibLaTex has been added.
BibTex and BibLaTex examples now clearly indicate that what is cited is software.
-- by
willynilly{.interpreted-text role="user"}#13420: Improved test collection performance by optimizing path resolution used in
FSCollector.#13457: The error message about duplicate parametrization no longer displays an internal stack trace.
#4112: Using
pytest.mark.usefixtures <pytest.mark.usefixtures ref>{.interpreted-text role="ref"} onpytest.param{.interpreted-text role="func"} now produces an error instead of silently doing nothing.#5473: Replace [:]{.title-ref} with [;]{.title-ref} in the assertion rewrite warning message so it can be filtered using standard Python warning filters before calling
pytest.main{.interpreted-text role="func"}.pygmentsdependency is now required, causing output always to be source-highlighted (unless disabled via the--code-highlight=noCLI option).Bug fixes
#10404: Apply filterwarnings from config/cli as soon as possible, and revert them as late as possible
so that warnings as errors are collected throughout the pytest run and before the
unraisable and threadexcept hooks are removed.
This allows very late warnings and unraisable/threadexcept exceptions to fail the test suite.
This also changes the warning that the lsof plugin issues from PytestWarning to the new warning PytestFDWarning so it can be more easily filtered.
#11067: The test report is now consistent regardless if the test xfailed via
pytest.mark.xfail <pytest.mark.xfail ref>{.interpreted-text role="ref"} orpytest.fail{.interpreted-text role="func"}.Previously, xfailed tests via the marker would have the string
"reason: "prefixed to the message, while those xfailed via the function did not. The prefix has been removed.#12008: In
11220{.interpreted-text role="pr"}, an unintended change in reordering was introduced by changing the way indices were assigned to direct params. More specifically, before that change, the indices of direct params to metafunc's callspecs were assigned after all parametrizations took place. Now, that change is reverted.#12863: Fix applying markers, including
pytest.mark.parametrize <pytest.mark.parametrize ref>{.interpreted-text role="ref"} when placed above [@staticmethod]{.title-ref} or [@classmethod]{.title-ref}.#12929: Handle StopIteration from test cases, setup and teardown correctly.
#12938: Fixed
--durations-minargument not respected if-vvis used.#12946: Fixed missing help for
pdb{.interpreted-text role="mod"} commands wrapped by pytest -- byadamchainz{.interpreted-text role="user"}.#12981: Prevent exceptions in
pytest.Config.add_cleanup{.interpreted-text role="func"} callbacks preventing further cleanups.#13047: Restore
pytest.approx{.interpreted-text role="func"} handling of equality checks between [bool]{.title-ref} and [numpy.bool_]{.title-ref} types.Comparing [bool]{.title-ref} and [numpy.bool_]{.title-ref} using
pytest.approx{.interpreted-text role="func"} accidentally changed in version [8.3.4]{.title-ref} and [8.3.5]{.title-ref} to no longer match:This has now been fixed:
[#13119](https://redirect.github.com/pytest-dev/pytest/issues/131