When checking for consistency betwene the docstring arguments and the
arguments in the function signature, ignore underscore arguments (_,
__, ___, ...) in the arguments in the function signature
There is no need to re-generate the cookiecutter template for this release. Instead you can upgrade the mike package in your pyproject.toml file and add the new alias_type: redirect option to the plugins.mike key in the mkdocs.yml file.
You should be able to do this by running the following commands:
sed -i '/canonical_version: latest/ i\ alias_type: redirect' mkdocs.yml
sed -i 's/ "mike == .*",/ "mike == 2.0.0",/' pyproject.toml
Please make sure to check the diff and test if everything works as expected. After doing a git diff you should get something like:
Stubgen will now include __all__ in its output if it is in the input file (PR 16356).
Mypy 1.7
We’ve just uploaded mypy 1.7 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 mypy
You can read the full documentation for this release on Read the Docs.
Using TypedDict for **kwargs Typing
Mypy now has support for using Unpack[...] with a TypedDict type to annotate **kwargs arguments enabled by default. Example:
# Or 'from typing_extensions import ...'
from typing import TypedDict, Unpack
class Person(TypedDict):
name: str
age: int
def foo(**kwargs: Unpack[Person]) -> None:
...
foo(name="x", age=1) # Ok
foo(name=1) # Error
The definition of foo above is equivalent to the one below, with keyword-only arguments name and age:
def foo(*, name: str, age: int) -> None:
...
Refer to PEP 692 for more information. Note that unlike in the current version of the PEP, mypy always treats signatures with Unpack[SomeTypedDict] as equivalent to their expanded forms with explicit keyword arguments, and there aren't special type checking rules for TypedDict arguments.
This was contributed by Ivan Levkivskyi back in 2022 (PR 13471).
TypeVarTuple Support Enabled (Experimental)
Mypy now has support for variadic generics (TypeVarTuple) enabled by default, as an experimental feature. Refer to PEP 646 for the details.
TypeVarTuple was implemented by Jared Hance and Ivan Levkivskyi over several mypy releases, with help from Jukka Lehtosalo.
#10447: Markers are now considered in the reverse mro order to ensure base class markers are considered first -- this resolves a regression.
#11239: Fixed := in asserts impacting unrelated test cases.
#11439: Handled an edge case where :data:sys.stderr might already be closed when :ref:faulthandler is tearing down.
pytest 7.4.2 (2023-09-07)
Bug Fixes
#11237: Fix doctest collection of functools.cached_property objects.
#11306: Fixed bug using --importmode=importlib which would cause package __init__.py files to be imported more than once in some cases.
#11367: Fixed bug where user_properties where not being saved in the JUnit XML file if a fixture failed during teardown.
#11394: Fixed crash when parsing long command line arguments that might be interpreted as files.
Improved Documentation
#11391: Improved disclaimer on pytest plugin reference page to better indicate this is an automated, non-curated listing.
pytest 7.4.1 (2023-09-02)
Bug Fixes
#10337: Fixed bug where fake intermediate modules generated by --import-mode=importlib would not include the
child modules as attributes of the parent modules.
#10702: Fixed error assertion handling in pytest.approx when None is an expected or received value when comparing dictionaries.
#10811: Fixed issue when using --import-mode=importlib together with --doctest-modules that caused modules
to be imported more than once, causing problems with modules that have import side effects.
There is no need to re-generate the cookiecutter template for this release. Instead you can upgrade the mike package in your pyproject.toml file and add the new alias_type: redirect option to the plugins.mike key in the mkdocs.yml file.
You should be able to do this by running the following commands:
sed -i '/canonical_version: latest/ i\ alias_type: redirect' mkdocs.yml
sed -i 's/ "mike == .*",/ "mike == 2.0.0",/' pyproject.toml
Please make sure to check the diff and test if everything works as expected. After doing a git diff you should get something like:
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 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 ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore 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 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 ` 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 ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the optional group with 9 updates:
0.3.1
0.3.8
23.7.0
23.11.0
0.6.0
0.6.1
9.4.4
9.4.12
0.22.0
0.24.0
0.6.2
0.7.5
1.5.1
1.7.1
7.4.0
7.4.3
0.6.2
0.7.5
Updates
pydoclint
from 0.3.1 to 0.3.8Release notes
Sourced from pydoclint's releases.
... (truncated)
Changelog
Sourced from pydoclint's changelog.
... (truncated)
Commits
b5612ff
Improve documentation71cdf37
Fix prepended escape char handling (#94)d2b1d21
Update version; update changelogf70caa4
Disable parallel mode in pre-commit (#93)def500f
Update pre-commit dependencies04bd231
Improve documentationef6dc07
Update dependency to fix return section parsing (#90)38ae4c6
Bump version to 0.3.507611e6
Ignore underscore args when checking args (#89)dd59b87
Add changelog for v0.3.4Updates
black
from 23.7.0 to 23.11.0Release notes
Sourced from black's releases.
... (truncated)
Changelog
Sourced from black's changelog.
... (truncated)
Commits
2a1c67e
Prepare release 23.11.0 (#4032)72e7a2e
Remove redundant condition fromhas_magic_trailing_comma
(#4023)1a7d9c2
Preserve visible quote types for f-string debug expressions (#4005)f4c7be5
docs: fix minor typo (#4030)2e4fac9
Apply force exclude logic before symlink resolution (#4015)66008fd
[563] Fix standalone comments inside complex blocks crashing Black (#4016)50ed622
Fix long case blocks not split into multiple lines (#4024)46be1f8
Support formatting specified lines (#4020)ecbd9e8
Fix crash with f-string docstrings (#4019)e808e61
Preview: Keep requiring two empty lines between module-level docstring and fi...Updates
mkdocs-literate-nav
from 0.6.0 to 0.6.1Release notes
Sourced from mkdocs-literate-nav's releases.
Commits
9783b2b
v0.6.12c52c0c
Fix compatibility with MkDocs 1.5+9904e17
Create FUNDING.yml088daed
Docs: fix links0825f8a
Fix when markdown extensions is set to None46eba2d
CI: Installation of minimal deps wasn't kicking ina83351c
Chore badge updateUpdates
mkdocs-material
from 9.4.4 to 9.4.12Release notes
Sourced from mkdocs-material's releases.
Changelog
Sourced from mkdocs-material's changelog.
... (truncated)
Commits
bf6e66b
Prepare 9.4.12 release772e159
Switched tags plugin to generate Unicode-aware slugs058b32f
Fixed non-deterministic order of categories in blog plugind43626a
Switched blog plugin to generate Unicode-aware slugsae364f8
Documentation3804998
Documentationc97133e
Updated Insiders changelog909f2d5
Enabled chatbot697116f
Prepare 9.4.11 release8053524
Prepare 9.4.11 releaseUpdates
mkdocstrings[python]
from 0.22.0 to 0.24.0Release notes
Sourced from mkdocstrings[python]'s releases.
Changelog
Sourced from mkdocstrings[python]'s changelog.
Commits
032e417
chore: Prepare release 0.24.0ce84dd5
feat: Cache downloaded inventories as local file4a97755
docs: Make recipe work with MkDocs-f
optionb3edf89
ci: Some typing fixes/ignored74fada
tests: Stop passing config file path to MkDocsConfig4dbb6d6
ci: Ruff auto-fix39694ac
chore: Template upgradeafc4ea4
fix:custom_templates
config was dropped in previous commit (#630)b61d4d1
refactor: Drop support for MkDocs < 1.4, modernize usages370a61d
fix: Makecustom_templates
relative to the config fileUpdates
frequenz-repo-config[api]
from 0.6.2 to 0.7.5Release notes
Sourced from frequenz-repo-config[api]'s releases.
... (truncated)
Commits
7e74141
Add support and bump tomike
2.0.0 (#174)b9e2d84
Don't fail if themike
version can't be determined50980d6
Upgrademike
to 2.0.086012aa
Clear release notes8bf6c38
Fixmike
version sorting (#171)0ee52d5
Update release notesbe6df37
Add tests forcompare_mike_version()
andsort_mike_versions()
6d8b449
Use a more explicit name for the_TestCase
class60e05f6
Don't parse mike versions while sorting02de9fe
mike: Remove unused functionUpdates
mypy
from 1.5.1 to 1.7.1Changelog
Sourced from mypy's changelog.
... (truncated)
Commits
6b3c418
Update version to 1.7.1 (without +dev)c10e173
[mypyc] Fix regression with nested functions (#16484)e6399d1
Fix polymorphic application for callback protocols (#16514)661adb7
Fix crash on strict-equality with recursive types (#16483)6c8e0cc
Ignore position if imprecise arguments are matched by name (#16471)5c354c4
Fix missing meet case exposed by len narrowing (#16470)88791ca
Exclude private attributes from override checks (#16464)4b5b316
Special-case unions in polymorphic inference (#16461)f862d3e
Fix crash on Callable self in call (#16453)fe79a59
Bump version to 1.7.1+devUpdates
pytest
from 7.4.0 to 7.4.3Release notes
Sourced from pytest's releases.
Commits
2390610
Tweak changelog.rsta0714aa
Prepare release version 7.4.344ad1c9
[7.4.x] fix #10447 - consider marks in reverse mro order to give base classes...5dc7725
[7.4.x] Ensure logging tests always cleanup after themselves (#11541)a517827
[7.4.x] Configure ReadTheDocs to fail on warnings (#11540)21fe071
[7.4.x] fix for ValueError raised in faulthandler teardown code (#11455)f8bb857
Force terminal width when running tests (#11425) (#11432)1944dc0
[7.4.x] Fix --import-mode=importlib when root contains__init__.py
file (#1...946634c
Merge pull request #11419 from nicoddemus/backport-11414-to-7.4.xd849a3e
[7.4.x] fix: closes #11343's [attr-defined] type errors (#11421)Updates
frequenz-repo-config[extra-lint-examples]
from 0.6.2 to 0.7.5Release notes
Sourced from frequenz-repo-config[extra-lint-examples]'s releases.
... (truncated)
Commits
7e74141
Add support and bump tomike
2.0.0 (#174)b9e2d84
Don't fail if themike
version can't be determined50980d6
Upgrademike
to 2.0.086012aa
Clear release notes8bf6c38
Fixmike
version sorting (#171)0ee52d5
Update release notesbe6df37
Add tests forcompare_mike_version()
andsort_mike_versions()
6d8b449
Use a more explicit name for the_TestCase
class60e05f6
Don't parse mike versions while sorting02de9fe
mike: Remove unused functionDependabot 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 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