Skip to content

Commit ef2339d

Browse files
authored
Bump the minor group across 1 directory with 7 updates (#1464)
Bumps the minor group with 7 updates in the / directory: | Package | From | To | | --- | --- | --- | | [flake8](https://github.com/pycqa/flake8) | `7.3.0` | `7.4.1` | | [markdown](https://github.com/Python-Markdown/markdown) | `3.10.3` | `3.11` | | [mypy](https://github.com/python/mypy) | `2.3.1` | `2.4.0` | | [pylint](https://github.com/pylint-dev/pylint) | `4.0.9` | `4.1.1` | | [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.15.1` | `3.16.0` | | [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.165.10` | `6.168.3` | | [setuptools-scm](https://github.com/pypa/setuptools-scm) | `10.2.1` | `10.3.4` | Updates `flake8` from 7.3.0 to 7.4.1 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/PyCQA/flake8/commit/7eccf20b526fe4f2230bf9afeeef2fc9f97faf8d"><code>7eccf20</code></a> Release 7.4.1</li> <li><a href="https://github.com/PyCQA/flake8/commit/fe7311d78073c079468b03193c7cbfac5174776c"><code>fe7311d</code></a> Merge pull request <a href="https://redirect.github.com/pycqa/flake8/issues/2057">#2057</a> from PyCQA/fix-pyflakes-4</li> <li><a href="https://github.com/PyCQA/flake8/commit/819d5e6912003135e93cd466260922b8228a1fa3"><code>819d5e6</code></a> fix pyflakes 4.x --builtins integration</li> <li><a href="https://github.com/PyCQA/flake8/commit/31405090a83cade9350502e481dcd1f032cb50b9"><code>3140509</code></a> Release 7.4.0</li> <li><a href="https://github.com/PyCQA/flake8/commit/e12e23174f10cafd7cf046d0a750c2d59fe2d451"><code>e12e231</code></a> Merge pull request <a href="https://redirect.github.com/pycqa/flake8/issues/2055">#2055</a> from PyCQA/add-315-ci</li> <li><a href="https://github.com/PyCQA/flake8/commit/f0225365d819e55379044ce347077cba3ab9f202"><code>f022536</code></a> add python 3.15 to CI</li> <li><a href="https://github.com/PyCQA/flake8/commit/07eb8ae3f15ee6eeb4d0f748f1c54f7211267fd4"><code>07eb8ae</code></a> Merge pull request <a href="https://redirect.github.com/pycqa/flake8/issues/2054">#2054</a> from PyCQA/latest-pyflakes</li> <li><a href="https://github.com/PyCQA/flake8/commit/a9e6dc227342a5cfcf5df56909370ecbc87725a3"><code>a9e6dc2</code></a> update to latest pyflakes</li> <li><a href="https://github.com/PyCQA/flake8/commit/2436eabb34f69e8ac29bdbd3f452b4509bf78644"><code>2436eab</code></a> Merge pull request <a href="https://redirect.github.com/pycqa/flake8/issues/2053">#2053</a> from PyCQA/latest-pycodestyle</li> <li><a href="https://github.com/PyCQA/flake8/commit/b44ddd48986c5e2d20e4461084a38d9b233d66c3"><code>b44ddd4</code></a> update to latest pycodestyle</li> <li>Additional commits viewable in <a href="https://github.com/pycqa/flake8/compare/7.3.0...7.4.1">compare view</a></li> </ul> </details> <br /> Updates `markdown` from 3.10.3 to 3.11 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/Python-Markdown/markdown/releases">markdown's releases</a>.</em></p> <blockquote> <h2>Release 3.11.0</h2> <h3>Changed</h3> <ul> <li>Inline processors now resume searching after the previous match, improving performance for repeated inline patterns (<a href="https://redirect.github.com/Python-Markdown/markdown/issues/1619">#1619</a>).</li> <li>Officially support Python 3.15 and drop support for Python 3.10</li> <li>Walk backtick runs in <code>BacktickInlineProcessor</code> without a regex (<a href="https://redirect.github.com/Python-Markdown/markdown/issues/1620">#1620</a>).</li> <li>Switch static site generator for documentation from MkDocs to Zensical (<a href="https://redirect.github.com/Python-Markdown/markdown/issues/1627">#1627</a>, <a href="https://redirect.github.com/Python-Markdown/markdown/issues/1635">#1635</a>, <a href="https://redirect.github.com/Python-Markdown/markdown/issues/1637">#1637</a>, and <a href="https://redirect.github.com/Python-Markdown/markdown/issues/1638">#1638</a>).</li> </ul> <h3>Fixed</h3> <ul> <li>Ensure removing Abbreviations does not raise an error (<a href="https://redirect.github.com/Python-Markdown/markdown/issues/1634">#1634</a>).</li> <li>Fix an issue with excessive backtracking when matching inline code blocks (<a href="https://redirect.github.com/Python-Markdown/markdown/issues/1617">#1617</a>).</li> <li><code>md_in_html</code> now honors tags added to <code>Markdown.block_level_elements</code> after the extension is loaded (<a href="https://redirect.github.com/Python-Markdown/markdown/issues/1246">#1246</a>).</li> <li>Fix quadratic-time regex backtracking in <code>ReferenceProcessor</code> when a link reference definition has no URL, e.g. a line consisting only of <code>[id]:</code> followed by many trailing spaces (<a href="https://redirect.github.com/Python-Markdown/markdown/issues/798">#798</a>).</li> <li>Document <code>attr_list</code> usage for <code>def_list</code> (<a href="https://redirect.github.com/Python-Markdown/markdown/issues/1123">#1123</a>).</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/Python-Markdown/markdown/blob/master/docs/changelog.md">markdown's changelog</a>.</em></p> <blockquote> <hr /> <h2>title: Changelog toc_depth: 2</h2> <h1>Python-Markdown Changelog</h1> <p>All notable changes to this project will be documented in this file.</p> <p>The format is based on <a href="https://keepachangelog.com/en/1.1.0/">Keep a Changelog</a>, and this project adheres to the <a href="https://packaging.python.org/en/latest/specifications/version-specifiers/">Python Version Specification</a>. See the <a href="https://github.com/Python-Markdown/markdown/blob/master/docs/contributing.md">Contributing Guide</a> for details.</p> <h2>[Unreleased]</h2> <ul> <li>Update serializer to be non-recursive (<a href="https://redirect.github.com/Python-Markdown/markdown/issues/1644">#1644</a>).</li> <li>Improve ancestor handling in the inline <code>Treeprocessor</code> (<a href="https://redirect.github.com/Python-Markdown/markdown/issues/1646">#1646</a>).</li> <li>Fix issue where inline HTML attributes were rejected if they had <code>&lt;</code> or <code>&gt;</code> in the attribute (<a href="https://redirect.github.com/Python-Markdown/markdown/issues/1647">#1647</a>).</li> </ul> <h2>[3.11.0] - 2026-09-25</h2> <h3>Changed</h3> <ul> <li>Inline processors now resume searching after the previous match, improving performance for repeated inline patterns (<a href="https://redirect.github.com/Python-Markdown/markdown/issues/1619">#1619</a>).</li> <li>Officially support Python 3.15 and drop support for Python 3.10</li> <li>Walk backtick runs in <code>BacktickInlineProcessor</code> without a regex (<a href="https://redirect.github.com/Python-Markdown/markdown/issues/1620">#1620</a>).</li> <li>Switch static site generator for documentation from MkDocs to Zensical (<a href="https://redirect.github.com/Python-Markdown/markdown/issues/1627">#1627</a>, <a href="https://redirect.github.com/Python-Markdown/markdown/issues/1635">#1635</a>, <a href="https://redirect.github.com/Python-Markdown/markdown/issues/1637">#1637</a>, and <a href="https://redirect.github.com/Python-Markdown/markdown/issues/1638">#1638</a>).</li> </ul> <h3>Fixed</h3> <ul> <li>Ensure removing Abbreviations does not raise an error (<a href="https://redirect.github.com/Python-Markdown/markdown/issues/1634">#1634</a>).</li> <li>Fix an issue with excessive backtracking when matching inline code blocks (<a href="https://redirect.github.com/Python-Markdown/markdown/issues/1617">#1617</a>).</li> <li><code>md_in_html</code> now honors tags added to <code>Markdown.block_level_elements</code> after the extension is loaded (<a href="https://redirect.github.com/Python-Markdown/markdown/issues/1246">#1246</a>).</li> <li>Fix quadratic-time regex backtracking in <code>ReferenceProcessor</code> when a link reference definition has no URL, e.g. a line consisting only of <code>[id]:</code> followed by many trailing spaces (<a href="https://redirect.github.com/Python-Markdown/markdown/issues/798">#798</a>).</li> <li>Document <code>attr_list</code> usage for <code>def_list</code> (<a href="https://redirect.github.com/Python-Markdown/markdown/issues/1123">#1123</a>).</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/Python-Markdown/markdown/commit/0ffbf00cf667971d46f43aafba825e8d25098bc5"><code>0ffbf00</code></a> Bump version to 3.11.0</li> <li><a href="https://github.com/Python-Markdown/markdown/commit/547a9349d4e86d0c905c24378db37576659b7e14"><code>547a934</code></a> Show adminitions as rendered examples in contrbuting guide</li> <li><a href="https://github.com/Python-Markdown/markdown/commit/571f050f0c06b75dfa1f802a37d1fb51d00f1d6e"><code>571f050</code></a> Cleanup archived changelog</li> <li><a href="https://github.com/Python-Markdown/markdown/commit/a5176b06f289482679079bc0611581ae96fda33b"><code>a5176b0</code></a> Ensure py-render codeblock title in properly escaped.</li> <li><a href="https://github.com/Python-Markdown/markdown/commit/819fff96b0f146a75cfe39628c9502cc9a007047"><code>819fff9</code></a> Document the use of attr_list with def_list.</li> <li><a href="https://github.com/Python-Markdown/markdown/commit/36cdbd3c7e047566292bb5c645ebcbb9c757e979"><code>36cdbd3</code></a> Final cleanup for Zensical transition</li> <li><a href="https://github.com/Python-Markdown/markdown/commit/8a96db59e3aa31f99a5486f7748778befb4a929f"><code>8a96db5</code></a> Add py-render custom code block formater</li> <li><a href="https://github.com/Python-Markdown/markdown/commit/5d1363ce4b86ea91c204b6215bb038df40e7119d"><code>5d1363c</code></a> Fix quadratic-time backtracking when a reference link has no URL</li> <li><a href="https://github.com/Python-Markdown/markdown/commit/0d6afd131223dc5f1d0c68d60ebb9513221d5c43"><code>0d6afd1</code></a> Add Markdown renderer as superfences formatter</li> <li><a href="https://github.com/Python-Markdown/markdown/commit/175fb5aeccf658adc5d96761277bb4b925666799"><code>175fb5a</code></a> Ensure removing Abbreviations does not raise an error.</li> <li>Additional commits viewable in <a href="https://github.com/Python-Markdown/markdown/compare/3.10.3...3.11.0">compare view</a></li> </ul> </details> <br /> Updates `mypy` from 2.3.1 to 2.4.0 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/python/mypy/blob/master/CHANGELOG.md">mypy's changelog</a>.</em></p> <blockquote> <h1>Mypy Release Notes</h1> <h2>Next Release</h2> <h2>Mypy 2.4</h2> <p>We've just uploaded mypy 2.4.0 to the Python Package Index (<a href="https://pypi.org/project/mypy/">PyPI</a>). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:</p> <pre><code>python3 -m pip install -U mypy </code></pre> <p>You can read the full documentation for this release on <a href="http://mypy.readthedocs.io">Read the Docs</a>.</p> <h3>Python 3.15 Support</h3> <p>Mypy 2.4 supports running on Python 3.15 and type checking most Python 3.15 features. This includes the new builtin <code>sentinel</code> type for sentinel values (PEP 661), which mypy now supports (see below for details). Lazy imports (PEP 810) and unpacking in comprehensions (PEP 798) are also supported. Closed TypedDicts (PEP 728) have been supported since mypy 2.2, but the <code>extra_items</code> TypedDict argument, also introduced in PEP 728, is still unsupported. Support for <code>extra_items</code> will be added in a future mypy release.</p> <h3>Native Parser Enabled by Default</h3> <p>Mypy now uses the new native parser by default. It's based on the Ruff parser, and it's significantly faster than the legacy parser, which uses the stdlib <code>ast</code> module. The native parser also has other benefits:</p> <ul> <li>You can target newer Python versions and use recent Python syntax even when running mypy on an older Python version. For example, you can use <code>--python-version 3.15</code> when running mypy on Python 3.14.</li> <li>Stub files can use syntax that is newer than the target Python version. For example, stubs can use the PEP 695 generic class syntax (<code>class Box[T]: ...</code>) when running on or targeting Python 3.10.</li> <li>Parallel type checking requires the native parser.</li> </ul> <p>The legacy parser is still available through <code>--no-native-parser</code>, or <code>native_parser = False</code> in the config file (<code>native_parser = false</code> under <code>[tool.mypy]</code> in pyproject.toml). We are planning to remove the legacy parser in early 2027. If you run into a problem with the native parser, please report it on the <a href="https://github.com/python/mypy/issues">issue tracker</a>.</p> <p>Unlike the legacy parser, the native parser doesn't support type comments for variables defined by <code>for</code> and <code>with</code> statements. These type comments are silently ignored, and the types of the variables are</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/python/mypy/commit/935ba8afba7ceacca0651579450c74339f343016"><code>935ba8a</code></a> Bump version to 2.4.0</li> <li><a href="https://github.com/python/mypy/commit/334a678967dc6bcda3d3f8cb82e253dd61fa2be9"><code>334a678</code></a> Add link for PR 22066 in mypy 2.4 changelog (<a href="https://redirect.github.com/python/mypy/issues/22082">#22082</a>)</li> <li><a href="https://github.com/python/mypy/commit/fe69660bcdaa76cccb1aedbb4b9c1c7627215571"><code>fe69660</code></a> Finalize mypy 2.4 changelog (<a href="https://redirect.github.com/python/mypy/issues/22080">#22080</a>)</li> <li><a href="https://github.com/python/mypy/commit/541fd87ac53581fb3c511b277fd780ec4e869c95"><code>541fd87</code></a> Various mypy 2.4 changelog updates (<a href="https://redirect.github.com/python/mypy/issues/22077">#22077</a>)</li> <li><a href="https://github.com/python/mypy/commit/b231182c0b2993918f74594236bda7d3ec6fcbe5"><code>b231182</code></a> Update native parser docs (<a href="https://redirect.github.com/python/mypy/issues/22078">#22078</a>)</li> <li><a href="https://github.com/python/mypy/commit/04fe42ce217f120a4de2c1fd62b71ef77452d699"><code>04fe42c</code></a> Initial Changelog for Mypy 2.4 (<a href="https://redirect.github.com/python/mypy/issues/22071">#22071</a>)</li> <li><a href="https://github.com/python/mypy/commit/06174941bca0e88567441ee3cb0ffaef0dd22e2c"><code>0617494</code></a> Quick fix for non UTF-8 encodings with new parser (<a href="https://redirect.github.com/python/mypy/issues/22066">#22066</a>)</li> <li><a href="https://github.com/python/mypy/commit/b2f9b60eae5ac7cd9c6a60650b128815bb703daf"><code>b2f9b60</code></a> Bump librt to 0.16.0 (<a href="https://redirect.github.com/python/mypy/issues/22067">#22067</a>)</li> <li><a href="https://github.com/python/mypy/commit/9d798dcb9589f9bd62e625a97d8db23ad9a678fa"><code>9d798dc</code></a> Sync typeshed (<a href="https://redirect.github.com/python/mypy/issues/22054">#22054</a>)</li> <li><a href="https://github.com/python/mypy/commit/0861bb6450d6d3658e44dbca9cd2ba478faf3c1d"><code>0861bb6</code></a> Reduce max protocol stack size to 20 (<a href="https://redirect.github.com/python/mypy/issues/22053">#22053</a>)</li> <li>Additional commits viewable in <a href="https://github.com/python/mypy/compare/v2.3.1...v2.4.0">compare view</a></li> </ul> </details> <br /> Updates `pylint` from 4.0.9 to 4.1.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pylint-dev/pylint/releases">pylint's releases</a>.</em></p> <blockquote> <h2>v4.1.1</h2> <h2>What's new in Pylint 4.1.1?</h2> <p>Release date: 2026-09-29</p> <h2>Other Changes</h2> <ul> <li> <p>Pylint 4.1.0 could not be uploaded to PyPI, because it required an unreleased version of <code>dill</code> on Python 3.15, and PyPI refuses such a dependency. 4.1.1 is the first 4.1 release available on PyPI, see the 4.1.0 changes below.</p> <p>Refs <a href="https://redirect.github.com/pylint-dev/pylint/issues/11495">#11495</a></p> </li> </ul> <h2>v4.1.0</h2> <h2>What's new in Pylint 4.1.0?</h2> <p>Release date: 2026-09-29</p> <p>Startup is about 25% faster thanks to lazy imports. The import checker caches its isort configuration, which makes pylint about 17% faster on ansible. Finding the files to lint with <code>--recursive=y</code> no longer walks ignored directories such as <code>.venv</code> or <code>node_modules</code>, which took seconds on large trees. The duplicate-code checker and <code>symilar</code> also received optimizations that result in considerable performance improvements and memory use reduction on larger codebases. For example, pandas analysis went from 20 min to 55 s and pylint does not get OOM-killed when analyzing cpython anymore.</p> <p>Python 3.15 support progresses: the unpacking in comprehensions added by PEP 798 no longer raises false positives, and the standard library deprecations of Python 3.15 are followed.</p> <p>For CI, there is a new built-in <code>junit</code> output format (<code>--output-format=junit</code>), the <code>NO_COLOR</code> and <code>FORCE_COLOR</code> environment variables are respected, and the files to lint can now be set with the <code>files</code> option in the configuration file.</p> <p>New checks: <code>looping-through-iterator</code>, <code>impossible-comparison</code>, <code>chained-comparison-all-equal</code> and <code>using-comprehension-unpacking-in-unsupported-version</code>.</p> <p>Running with <code>--jobs</code> no longer duplicates the messages of extensions or ignores extensions enabled in the configuration.</p> <p>Plugin authors: the <code>confidence</code> parameter can no longer be <code>None</code>, except in <code>is_message_enabled</code>, and the <code>MSG_STATE_*</code> constants are deprecated in favor of the <code>MessageDisableReason</code> enum.</p> <p>The required <code>astroid</code> version is now 4.3.2. See the <a href="https://pylint.readthedocs.io/projects/astroid/en/latest/changelog.html#what-s-new-in-astroid-4-3-2%3E">astroid changelog</a> for additional fixes, features, and performance improvements applicable to pylint.</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pylint-dev/pylint/commit/8c6daca55b8526ea9060303daacd8b6cb36961b6"><code>8c6daca</code></a> Bump pylint to 4.1.1, update changelog (<a href="https://redirect.github.com/pylint-dev/pylint/issues/11499">#11499</a>)</li> <li><a href="https://github.com/pylint-dev/pylint/commit/bdb17b34e4dcd0de3493cb62de3bb7ab5e5b3f05"><code>bdb17b3</code></a> [Backport maintenance/4.1.x] Only pin the unreleased dill for the tests (<a href="https://redirect.github.com/pylint-dev/pylint/issues/11498">#11498</a>)</li> <li><a href="https://github.com/pylint-dev/pylint/commit/92bb7babb4856ddd8e3beac166cad964fdb0555a"><code>92bb7ba</code></a> Bump pylint to 4.1.0, update changelog</li> <li><a href="https://github.com/pylint-dev/pylint/commit/9144956341a5fc9987cd84e7c2332f65d7d51a42"><code>9144956</code></a> Fix a crash in import-private-name on attribute access rooted at a non-Name n...</li> <li><a href="https://github.com/pylint-dev/pylint/commit/68366cb7a323b781ed48c3e9e9d00650da7fd611"><code>68366cb</code></a> Fix false positive for <code>unnecessary-lambda</code> when variable is reassigned or de...</li> <li><a href="https://github.com/pylint-dev/pylint/commit/c741677c690e87620ea7a0e9ab59009b01c76221"><code>c741677</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/pylint-dev/pylint/issues/11488">#11488</a>)</li> <li><a href="https://github.com/pylint-dev/pylint/commit/a9ebdf6199b790ee04095ac2fe41b91cc55348f8"><code>a9ebdf6</code></a> Add regression test for unsubscriptable-object FP on <strong>class_getitem</strong> (<a href="https://redirect.github.com/pylint-dev/pylint/issues/11487">#11487</a>)</li> <li><a href="https://github.com/pylint-dev/pylint/commit/b877d3b4a5144838b4f0503bbaf567b9553d5a0c"><code>b877d3b</code></a> Do not flag ungrouped imports inside OS platform guards (<a href="https://redirect.github.com/pylint-dev/pylint/issues/11217">#11217</a>)</li> <li><a href="https://github.com/pylint-dev/pylint/commit/87351be2212274ffcdd2ddde90ed862540bafdcf"><code>87351be</code></a> Update OSS-Fuzz docs for Python 3.14 (<a href="https://redirect.github.com/pylint-dev/pylint/issues/11485">#11485</a>)</li> <li><a href="https://github.com/pylint-dev/pylint/commit/4f263c11c3716ce7a004c2710ee5f525d970a1c8"><code>4f263c1</code></a> Fix access checks through called methods (<a href="https://redirect.github.com/pylint-dev/pylint/issues/11456">#11456</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pylint-dev/pylint/compare/v4.0.9...v4.1.1">compare view</a></li> </ul> </details> <br /> Updates `pytest-mock` from 3.15.1 to 3.16.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-mock/releases">pytest-mock's releases</a>.</em></p> <blockquote> <h2>v3.16.0</h2> <p><em>2026-09-27</em></p> <ul> <li><a href="https://redirect.github.com/pytest-dev/pytest-mock/pull/604">#604</a>: Fixed <code>duplicate_iterators=True</code> for async functions spied with <code>mocker.spy</code>.</li> <li><a href="https://redirect.github.com/pytest-dev/pytest-mock/pull/611">#611</a>: Fixed async mock assertion introspection to use awaited arguments instead of the latest call's arguments.</li> <li><a href="https://redirect.github.com/pytest-dev/pytest-mock/pull/606">#606</a>: <code>mocker.resetall(return_value=True, side_effect=True)</code> now also applies to non-callable mocks, such as those returned by <code>mocker.create_autospec(SomeClass, instance=True)</code>. Previously both arguments were silently ignored for them.</li> <li><a href="https://redirect.github.com/pytest-dev/pytest-mock/issues/547">#547</a>: Added <code>SpyType</code> for annotating <code>mocker.spy</code> results.</li> <li>Dropped support for EOL Python 3.9.</li> <li><a href="https://redirect.github.com/pytest-dev/pytest-mock/issues/147">#147</a>: Removed handling of <code>RuntimeError: stop called on unstarted patcher</code>, which can no longer occur in the supported Python versions.</li> <li>Added support for Python 3.15.</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst">pytest-mock's changelog</a>.</em></p> <blockquote> <h2>3.16.0</h2> <p><em>2026-09-27</em></p> <ul> <li><code>[#604](pytest-dev/pytest-mock#604) &lt;https://github.com/pytest-dev/pytest-mock/pull/604&gt;</code>_: Fixed <code>duplicate_iterators=True</code> for async functions spied with <code>mocker.spy</code>.</li> <li><code>[#611](pytest-dev/pytest-mock#611) &lt;https://github.com/pytest-dev/pytest-mock/pull/611&gt;</code>_: Fixed async mock assertion introspection to use awaited arguments instead of the latest call's arguments.</li> <li><code>[#606](pytest-dev/pytest-mock#606) &lt;https://github.com/pytest-dev/pytest-mock/pull/606&gt;</code>_: <code>mocker.resetall(return_value=True, side_effect=True)</code> now also applies to non-callable mocks, such as those returned by <code>mocker.create_autospec(SomeClass, instance=True)</code>. Previously both arguments were silently ignored for them.</li> <li><code>[#547](pytest-dev/pytest-mock#547) &lt;https://github.com/pytest-dev/pytest-mock/issues/547&gt;</code>_: Added <code>SpyType</code> for annotating <code>mocker.spy</code> results.</li> <li>Dropped support for EOL Python 3.9.</li> <li><code>[#147](pytest-dev/pytest-mock#147) &lt;https://github.com/pytest-dev/pytest-mock/issues/147&gt;</code>_: Removed handling of <code>RuntimeError: stop called on unstarted patcher</code>, which can no longer occur in the supported Python versions.</li> <li>Added support for Python 3.15.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-mock/commit/f3b531f93c6d9837edc87ea1a6f4324dc9a2cdf3"><code>f3b531f</code></a> Release 3.16.0</li> <li><a href="https://github.com/pytest-dev/pytest-mock/commit/71ed67309520be160f3e100368705b58758d237a"><code>71ed673</code></a> Fix duplicate_iterators for async spies (<a href="https://redirect.github.com/pytest-dev/pytest-mock/issues/604">#604</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-mock/commit/0797e3d303cc5bbe0a3514b0625f7aeb3fa350b0"><code>0797e3d</code></a> Fix async assertion argument introspection (<a href="https://redirect.github.com/pytest-dev/pytest-mock/issues/611">#611</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-mock/commit/e24c334d573cfbf6989a31f4e3346676d9d31598"><code>e24c334</code></a> docs: import os in the opening usage example (<a href="https://redirect.github.com/pytest-dev/pytest-mock/issues/612">#612</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-mock/commit/9e7eb7b59cde362c1c8ace2d18ca00fe2d7a1cd1"><code>9e7eb7b</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/pytest-dev/pytest-mock/issues/613">#613</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-mock/commit/445fd4d3daa8ed4c6d5428a77880da2e03d2f721"><code>445fd4d</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/pytest-dev/pytest-mock/issues/610">#610</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-mock/commit/a8bd0b147afdf6b4bb1a1a3c3c088f32b0240091"><code>a8bd0b1</code></a> Honour resetall() arguments for non-callable mocks (<a href="https://redirect.github.com/pytest-dev/pytest-mock/issues/606">#606</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-mock/commit/6559fdfd5b67f096423e604a3a5a7045db2486a0"><code>6559fdf</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/pytest-dev/pytest-mock/issues/608">#608</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-mock/commit/466d026254c949a8fbba8626b894308827be81cf"><code>466d026</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/pytest-dev/pytest-mock/issues/605">#605</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-mock/commit/164defebde25bc31d53a2a64943c5c9aac43b57e"><code>164defe</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/pytest-dev/pytest-mock/issues/603">#603</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-mock/compare/v3.15.1...v3.16.0">compare view</a></li> </ul> </details> <br /> Updates `hypothesis` from 6.165.10 to 6.168.3 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/HypothesisWorks/hypothesis/commit/44b82b24cb40c72afd1f6e10c2af7a5d82c6539a"><code>44b82b2</code></a> Bump hypothesis version to 6.168.3 and update changelog</li> <li><a href="https://github.com/HypothesisWorks/hypothesis/commit/aeaafb590194c03e30d0fbbfe11d29061204d756"><code>aeaafb5</code></a> Merge pull request <a href="https://redirect.github.com/HypothesisWorks/hypothesis/issues/4888">#4888</a> from gpacix/fix-quadratic-statistics</li> <li><a href="https://github.com/HypothesisWorks/hypothesis/commit/f3f4a294e9de0ddc1d5fbda23275bdfe57d78981"><code>f3f4a29</code></a> wording, remove hardcoded test</li> <li><a href="https://github.com/HypothesisWorks/hypothesis/commit/7fabb948190bcf220ae577f0b9a9826fd1d5c7a3"><code>7fabb94</code></a> Add RELEASE.rst and AUTHORS.rst changes</li> <li><a href="https://github.com/HypothesisWorks/hypothesis/commit/0ab4e3883e68bf27011e393c6bed498eea50ed81"><code>0ab4e38</code></a> Summarize statistics events in linear time</li> <li><a href="https://github.com/HypothesisWorks/hypothesis/commit/32ebeb29374b1b2274e42eea2ae703a6cdcdc4ec"><code>32ebeb2</code></a> Bump hypothesis version to 6.168.2 and update changelog</li> <li><a href="https://github.com/HypothesisWorks/hypothesis/commit/ff7e800971bacfabe4f498bc883c3fafc16c797f"><code>ff7e800</code></a> Merge pull request <a href="https://redirect.github.com/HypothesisWorks/hypothesis/issues/4886">#4886</a> from pschanely/atomic-constants-cache</li> <li><a href="https://github.com/HypothesisWorks/hypothesis/commit/e57fd12bc0c4242bedf4163497542b2a9aee00f3"><code>e57fd12</code></a> Isolate the constants cache test from existing cache files</li> <li><a href="https://github.com/HypothesisWorks/hypothesis/commit/c8981a0f1d0b84a5bd5ede0f7ae1aef768715177"><code>c8981a0</code></a> Write the local constants cache atomically</li> <li><a href="https://github.com/HypothesisWorks/hypothesis/commit/9c55f97e507eae21677457e84737b386fd06e271"><code>9c55f97</code></a> Merge pull request <a href="https://redirect.github.com/HypothesisWorks/hypothesis/issues/4877">#4877</a> from HypothesisWorks/create-pull-request/patch</li> <li>Additional commits viewable in <a href="https://github.com/HypothesisWorks/hypothesis/compare/v6.165.10...v6.168.3">compare view</a></li> </ul> </details> <br /> Updates `setuptools-scm` from 10.2.1 to 10.3.4 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pypa/setuptools-scm/releases">setuptools-scm's releases</a>.</em></p> <blockquote> <h2>setuptools-scm v10.3.4</h2> <h3>Fixed</h3> <ul> <li> <p>Ship the tracked files of projects whose <code>pyproject.toml</code> sits in a subdirectory of the checkout. <code>root</code> defaults to the project directory, so version inference correctly finds no SCM there and answers from <code>SETUPTOOLS_SCM_PRETEND_VERSION</code> or <code>fallback_version</code> -- but that says nothing about which files git tracks, and the sdist and wheel came out with none of them. This was the 10.3.0 regression fixed in 10.3.3, surviving in the subdirectory layout.</p> <p>File discovery now follows the checkout the project sits in, independently of the <code>root</code> that scopes versioning, and records <code>scm_file_list.json</code> in the egg-info as a root-level project already did. (<a href="https://redirect.github.com/pypa/setuptools-scm/issues/1543">#1543</a>)</p> </li> <li> <p>Require <code>vcs-versioning&gt;=2.5.0</code>. The subdirectory file-discovery fix (<a href="https://redirect.github.com/pypa/setuptools-scm/issues/1543">#1543</a>) imports <code>discover_file_workdir</code>, which no earlier release has, while the declared floor still named 2.4.0 -- an install against a published vcs-versioning raised <code>ImportError</code> during the build. (<a href="https://redirect.github.com/pypa/setuptools-scm/issues/1546">#1546</a>)</p> </li> </ul> <h2>setuptools-scm v10.3.3</h2> <h3>Fixed</h3> <ul> <li> <p>Keep file discovery working when the version is pretended. <code>SETUPTOOLS_SCM_PRETEND_VERSION</code> and its scoped <code>_FOR_&lt;DIST&gt;</code> form made version inference return before discovering a workdir, and the <code>egg_info</code> mixin read the absent workdir as &quot;searched, found no checkout&quot; -- the signal it acts on by suppressing the <code>setuptools.file_finders</code> chain. Every SCM-tracked file that setuptools' own package discovery does not find was then dropped from the sdist and the wheel, silently, since the build succeeded and the version was correct.</p> <p>A pretended version still skips discovery, because most builds only want a version and probing for a checkout nobody asks about costs subprocesses for nothing. What no longer happens is passing that off as an answer: &quot;nobody looked yet&quot; is now distinct from &quot;looked and found nothing&quot;, and the workdir is discovered on demand the first time a consumer needs a file list.</p> <p><code>scm_file_list.json</code> is now written to the egg-info for pretended builds as well. It describes which files the checkout tracks, which a pretended version says nothing about. <code>scm_version.json</code> stays absent there, because a pretended version must not be recorded as what the SCM said. (<a href="https://redirect.github.com/pypa/setuptools-scm/issues/1540">#1540</a>)</p> </li> </ul> <h2>setuptools-scm v10.3.2</h2> <h3>Fixed</h3> <ul> <li>Stop the command mixins from reordering a project's own <code>build_py</code>, <code>egg_info</code> or <code>bdist_wheel</code> MRO. <code>ScmVersionFileMixin</code> and friends inherited from the corresponding setuptools command, so wrapping a project class built on a disjoint hierarchy -- <code>distutils.command.build_py</code>, or the standalone <code>wheel</code> package's <code>bdist_wheel</code> -- placed setuptools' command <em>ahead</em> of the project's class. <code>setuptools.build_py.run()</code> does not delegate any further, so the project's</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/setuptools-scm/commit/b27f5973c4e24cdbca08f8c003e431e220f52a40"><code>b27f597</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools-scm/issues/1545">#1545</a> from pypa/release/main</li> <li><a href="https://github.com/pypa/setuptools-scm/commit/aa18322a0c2e3bcefeafd39280b60ce7fe6dabec"><code>aa18322</code></a> Prepare release: setuptools-scm v10.3.4, vcs-versioning v2.5.0</li> <li><a href="https://github.com/pypa/setuptools-scm/commit/e40176e1b6f34d988199b231b4b1c2e71abf60b7"><code>e40176e</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools-scm/issues/1551">#1551</a> from RonnyPfannschmidt/fix/version-missing-accepts-tool</li> <li><a href="https://github.com/pypa/setuptools-scm/commit/873d4b3413bf0175c81039d2ca380a62d70f0dc9"><code>873d4b3</code></a> fix(vcs-versioning): accept tool= in _version_missing again</li> <li><a href="https://github.com/pypa/setuptools-scm/commit/5173a1eea5c3629b8e4d343ee3a022b8c8d211d0"><code>5173a1e</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools-scm/issues/1546">#1546</a> from RonnyPfannschmidt/fix/dependency-floor-runs-the...</li> <li><a href="https://github.com/pypa/setuptools-scm/commit/cbcd429aa99b79baf04e10fa6126a1d66ff5d6ff"><code>cbcd429</code></a> fix(deps): require vcs-versioning&gt;=2.5.0.dev0</li> <li><a href="https://github.com/pypa/setuptools-scm/commit/5f95612828577d251164c0fa0e629505966db8ab"><code>5f95612</code></a> ci(dependency-floor): run the testsuite, not just the imports</li> <li><a href="https://github.com/pypa/setuptools-scm/commit/e377730840d11c528cd2267444c74b0d75ba3335"><code>e377730</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools-scm/issues/1544">#1544</a> from RonnyPfannschmidt/fix/file-discovery-follows-th...</li> <li><a href="https://github.com/pypa/setuptools-scm/commit/98fa24da93d567336146f96cbfc3f2516dbd3c20"><code>98fa24d</code></a> fix(file-discovery): follow the checkout, not the versioning root</li> <li><a href="https://github.com/pypa/setuptools-scm/commit/41edffeffccf7aee6e2e2fe4917c8876f4549a8c"><code>41edffe</code></a> Merge pull request <a href="https://redirect.github.com/pypa/setuptools-scm/issues/1538">#1538</a> from pypa/release/main</li> <li>Additional commits viewable in <a href="https://github.com/pypa/setuptools-scm/compare/setuptools-scm-v10.2.1...setuptools-scm-v10.3.4">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 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 </details>
2 parents 6e6f276 + 56bb459 commit ef2339d

5 files changed

Lines changed: 17 additions & 12 deletions

File tree

‎pyproject.toml‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
[build-system]
55
requires = [
66
"setuptools == 84.0.0",
7-
"setuptools_scm[toml] == 10.2.1",
7+
"setuptools_scm[toml] == 10.3.4",
88
"frequenz-repo-config[lib] == 0.19.0",
99
]
1010
build-backend = "setuptools.build_meta"
@@ -48,7 +48,7 @@ email = "floss@frequenz.com"
4848

4949
[project.optional-dependencies]
5050
dev-flake8 = [
51-
"flake8 == 7.3.0",
51+
"flake8 == 7.4.1",
5252
"flake8-datetimez == 26.8.1",
5353
"flake8-docstrings == 1.7.0",
5454
"flake8-pyproject == 1.2.4", # For reading the flake8 config from pyproject.toml
@@ -58,7 +58,7 @@ dev-flake8 = [
5858
dev-formatting = ["black == 26.5.1", "isort == 9.0.1"]
5959
dev-mkdocs = [
6060
"black == 26.5.1",
61-
"Markdown==3.10.3",
61+
"Markdown==3.11",
6262
"mike == 2.2.0",
6363
"mkdocs-gen-files == 0.6.1",
6464
"mkdocs-literate-nav == 0.6.3",
@@ -69,7 +69,7 @@ dev-mkdocs = [
6969
"frequenz-repo-config[lib] == 0.19.0",
7070
]
7171
dev-mypy = [
72-
"mypy == 2.3.1",
72+
"mypy == 2.4.0",
7373
"types-Markdown == 3.10.2.20260712",
7474
"types-protobuf == 7.35.1.20260906",
7575
"types-setuptools == 84.0.0.20260812",
@@ -84,13 +84,13 @@ dev-pylint = [
8484
]
8585
dev-pytest = [
8686
"pytest == 9.1.1",
87-
"pylint == 4.0.9", # We need this to check for the examples
87+
"pylint == 4.1.1", # We need this to check for the examples
8888
"frequenz-repo-config[extra-lint-examples] == 0.19.0",
89-
"pytest-mock == 3.15.1",
89+
"pytest-mock == 3.16.0",
9090
"pytest-asyncio == 1.4.0",
9191
"time-machine == 2.16.0",
9292
"async-solipsism == 0.9",
93-
"hypothesis == 6.165.10",
93+
"hypothesis == 6.168.3",
9494
]
9595
dev = [
9696
"frequenz-sdk[dev-mkdocs,dev-flake8,dev-formatting,dev-mkdocs,dev-mypy,dev-noxfile,dev-pylint,dev-pytest]",

‎src/frequenz/sdk/actor/__init__.py‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,7 @@ class we are implementing to make sure actors are properly initialized.
182182
???+ example "Example echo actor"
183183
184184
```python
185+
# pylint: disable=abstract-method
185186
from frequenz.channels import Receiver, Sender
186187
from frequenz.sdk.actor import Actor
187188

‎src/frequenz/sdk/microgrid/_power_distributing/_component_managers/_ev_charger_manager/_ev_charger_manager.py‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,10 @@
3838
_logger = logging.getLogger(__name__)
3939

4040

41-
class EVChargerManager(ComponentManager):
41+
# `_unreachable_power_formula()` is an optional hook, only needed by managers that
42+
# subscribe to unreachable power, which this one doesn't. Pylint considers it abstract
43+
# because its default implementation raises `NotImplementedError`.
44+
class EVChargerManager(ComponentManager): # pylint: disable=abstract-method
4245
"""Manage ev chargers for the power distributor."""
4346

4447
@override

‎src/frequenz/sdk/timeseries/battery_pool/_battery_pool_reference_store.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,15 +93,15 @@ def __init__( # pylint: disable=too-many-arguments
9393

9494
self._batteries = self.component_ids
9595
self._working_batteries: set[ComponentId] = set()
96+
self._min_update_interval: timedelta = min_update_interval
97+
self._active_methods: dict[str, MetricAggregator[Any]] = {}
98+
self._power_distributing_namespace: str = f"power-distributor-{self.namespace}"
9699
self._update_battery_status_task: asyncio.Task[None] | None = None
97100

98101
if self._batteries:
99102
self._update_battery_status_task = asyncio.create_task(
100103
self._update_battery_status(self.status_receiver)
101104
)
102-
self._min_update_interval: timedelta = min_update_interval
103-
self._active_methods: dict[str, MetricAggregator[Any]] = {}
104-
self._power_distributing_namespace: str = f"power-distributor-{self.namespace}"
105105

106106
@staticmethod
107107
def get_component_class() -> Type[Component]:

‎tests/actor/test_actor.py‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
"""Simple test for the BaseActor."""
55

6+
import abc
67
import asyncio
78
from datetime import timedelta
89

@@ -18,7 +19,7 @@ class MyBaseException(BaseException):
1819
"""A base exception for testing purposes."""
1920

2021

21-
class BaseTestActor(Actor):
22+
class BaseTestActor(Actor, abc.ABC):
2223
"""A base actor for testing purposes."""
2324

2425
restart_count: int = -1

0 commit comments

Comments
 (0)