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
Fix a performance problem with HTML extraction where large HTML input could
trigger quadratic line counting behavior (#1392).
Improve and expand type annotations in the code base (#1394).
[3.5] -- 2023-10-06
Added
Add permalink_leading configuration option to the toc extension (#1339)
A new boolean option permalink_leading controls the position of the permanent
link anchors generated with permalink. Setting permalink_leading to True
will cause the links to be inserted at the start of the header, before any other
header content. The default behavior for permalink is to append permanent
links to the header, placing them after all other header content.
Changed
Add support for cPython version 3.12 (and PyPy 3.10) and drop support for
Python version 3.7 (#1357).
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.
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 11 updates:
0.3.2
0.3.8
23.9.1
23.11.0
3.4.4
3.5.1
1.0.4
1.0.5
9.3.1
9.4.14
0.23.0
0.24.0
0.7.0
0.7.5
1.5.1
1.7.1
3.4.2.10
3.5.0.3
7.4.2
7.4.3
0.7.0
0.7.5
Updates
pydoclint
from 0.3.2 to 0.3.8Release notes
Sourced from pydoclint's releases.
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.9.1 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
markdown
from 3.4.4 to 3.5.1Release notes
Sourced from markdown's releases.
Changelog
Sourced from markdown's changelog.
Commits
f50ac47
Refactor changelog6662053
TOC extension: Add new boolean option permalink_prepend (#1339)Updates
mkdocs-macros-plugin
from 1.0.4 to 1.0.5Changelog
Sourced from mkdocs-macros-plugin's changelog.
Commits
4bfda0b
Fix issue with changelog no longer displayed (#186)82c5cdd
Merge pull request #183 from marcospereira/add-short-tag298f07f
Add a short_tag attribute to git context428a015
Remove include-markdown in webdoc, since it crashed readthedocs2161dd4
Update .readthedocs.ymlc64a08d
Merge pull request #182 from SimonMarquis/patch-11c1d2c4
Fix typo inRich Markdown Pages
docs9dba19e
Merge branch 'master' of github.com:fralau/mkdocs_macros_plugin into master7da7089
Add experimental logo0d36dde
Add experimental logoUpdates
mkdocs-material
from 9.3.1 to 9.4.14Release notes
Sourced from mkdocs-material's releases.
... (truncated)
Changelog
Sourced from mkdocs-material's changelog.
... (truncated)
Commits
c0aca21
Prepare 9.4.14 release989ee84
Documentation8b68710
Documentationd355b43
Documentationc81befb
Updated JSON schema6be485c
Documentation28ebcbf
Added support for linking authors in blog posts9c01605
Updated dependenciesbaaac7c
Prepare 9.4.13 release8143abe
DocumentationUpdates
mkdocstrings[python]
from 0.23.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.7.0 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
types-markdown
from 3.4.2.10 to 3.5.0.3Commits
Updates
pytest
from 7.4.2 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.7.0 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