We’ve just uploaded mypy 1.11 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.
Support Python 3.12 Syntax for Generics (PEP 695)
Mypy now supports the new type parameter syntax introduced in Python 3.12 (PEP 695).
This feature is still experimental and must be enabled with the --enable-incomplete-feature=NewGenericSyntax flag, or with enable_incomplete_feature = NewGenericSyntax in the mypy configuration file.
We plan to enable this by default in the next mypy feature release.
This example demonstrates the new syntax:
# Generic function
def f[T](https://github.com/python/mypy/blob/master/x: T) -> T: ...
reveal_type(f(1)) # Revealed type is 'int'
Generic class
class C[T]:
def init(self, x: T) -> None:
self.x = x
c = C('a')
reveal_type(c.x) # Revealed type is 'str'
Type alias
type A[T] = C[list[T]]
This feature was contributed by Jukka Lehtosalo.
Support for functools.partial
Mypy now type checks uses of functools.partial. Previously mypy would accept arbitrary arguments.
The 8.3.0 release failed to include the change notes and docs for the release. This patch release remedies this. There are no other changes.
8.3.0
pytest 8.3.0 (2024-07-20)
New features
#12231: Added [--xfail-tb]{.title-ref} flag, which turns on traceback output for XFAIL results.
If the [--xfail-tb]{.title-ref} flag is not given, tracebacks for XFAIL results are NOT shown.
The style of traceback for XFAIL is set with [--tb]{.title-ref}, and can be [auto|long|short|line|native|no]{.title-ref}.
Note: Even if you have [--xfail-tb]{.title-ref} set, you won't see them if [--tb=no]{.title-ref}.
Some history:
With pytest 8.0, [-rx]{.title-ref} or [-ra]{.title-ref} would not only turn on summary reports for xfail, but also report the tracebacks for xfail results. This caused issues with some projects that utilize xfail, but don't want to see all of the xfail tracebacks.
This change detaches xfail tracebacks from [-rx]{.title-ref}, and now we turn on xfail tracebacks with [--xfail-tb]{.title-ref}. With this, the default [-rx]{.title-ref}/ [-ra]{.title-ref} behavior is identical to pre-8.0 with respect to xfail tracebacks. While this is a behavior change, it brings default behavior back to pre-8.0.0 behavior, which ultimately was considered the better course of action.
#12281: Added support for keyword matching in marker expressions.
Now tests can be selected by marker keyword arguments.
Supported values are int{.interpreted-text role="class"}, (unescaped) str{.interpreted-text role="class"}, bool{.interpreted-text role="class"} & None{.interpreted-text role="data"}.
See marker examples <marker_keyword_expression_example>{.interpreted-text role="ref"} for more information.
-- by lovetheguitar{.interpreted-text role="user"}
#12567: Added --no-fold-skipped command line option.
If this option is set, then skipped tests in short summary are no longer grouped
by reason but all tests are printed individually with their nodeid in the same
way as other statuses.
-- by pbrezina{.interpreted-text role="user"}
Improvements in existing functionality
#12469: The console output now uses the "third-party plugins" terminology,
replacing the previously established but confusing and outdated
reference to setuptools <setuptools:index>{.interpreted-text role="std:doc"}
-- by webknjaz{.interpreted-text role="user"}.
#12544, #12545: Python virtual environment detection was improved by
checking for a pyvenv.cfg{.interpreted-text role="file"} file, ensuring reliable detection on
various platforms -- by zachsnickers{.interpreted-text role="user"}.
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 dependencies group with 4 updates: pyarrow, ruff, mypy and pytest.
Updates
pyarrow
from 16.1.0 to 17.0.0Release notes
Sourced from pyarrow's releases.
Commits
6a2e19a
MINOR: [Release] Update versions for 17.0.01a2fff4
MINOR: [Release] Update .deb/.rpm changelogs for 17.0.09d4cccc
MINOR: [Release] Update CHANGELOG.md for 17.0.0bf75923
GH-43204: [CI][Packaging] Apply vcpkg patch to fix Thrift version (#43208)e85767a
GH-41541: [Go][Parquet] More fixes for writer performance regression (#42003)5c69895
GH-43199: [CI][Packaging] dev/release/utils-create-release-tarball.sh should ...12be569
GH-42149: [C++] Use FetchContent for bundled ORC (#43011)58d5142
GH-43158: [Packaging] Use bundled nlohmann/json on AlmaLinux 8/CentOS Stream ...56a9862
GH-41910: [Python] Add support for Pyodide (#37822)14e4684
GH-43116: [C++][Compute] Mark KeyCompare.CompareColumnsToRowsLarge as large m...Updates
ruff
from 0.5.2 to 0.5.4Release notes
Sourced from ruff's releases.
... (truncated)
Changelog
Sourced from ruff's changelog.
... (truncated)
Commits
53b84ab
Cleanup redundant spaces from changelog (#12424)3664f85
Bump version to v0.5.4 (#12423)2c1926b
Insert parentheses for multi-argument generators (#12422)4bcc96a
Avoid shadowing diagnostics for@override
methods (#12415)c0a2b49
Fix the Github link error for Neovim in the setup for editors in the docs. (#...ca22248
Update docs Settings output-format default (#12409)d8cf8ac
[red-knot] Resolve symbols frombuiltins.pyi
in the stdlib if they cannot b...1c7b840
[red-knot] fix incremental benchmark (#12400)f82bb67
[red-knot] trace file when inferring types (#12401)5f96f69
[red-knot] Fix bug where module resolution would not be invalidated if an ent...Updates
mypy
from 1.10.1 to 1.11.0Changelog
Sourced from mypy's changelog.
... (truncated)
Commits
dbd5f5c
Remove +dev from version for 1.11 releasef0a8c69
Update CHANGELOG for mypy 1.11 (#17540)371f780
CHANGELOG.md update for 1.11 (#17539)2563da0
Fix daemon crash on invalid type in TypedDict (#17495)d8c67c3
[release 1.11] Ignore some errors in typeshed (#17510)294daff
Mention --enable-incomplete-feature=NewGenericSyntax (#17462)5c33abf
Further improvements to functools.partial handling (#17425)c37d972
Fix type comments crash inside generic definitions (#16849)d39f023
Add changelog entry for 1.10.1 (#17436)6c1d867
Fix ParamSpec inference against TypeVarTuple (#17431)Updates
pytest
from 8.2.2 to 8.3.1Release notes
Sourced from pytest's releases.
... (truncated)
Commits
de98446
Prepare release version 8.3.1bd0a042
Merge pull request #12636 from pytest-dev/update-release-notes664325b
doc/changelog: update 8.3.0 notes19d225d
Merge pull request #12635 from pytest-dev/release-8.3.0bc33028
Prepare release version 8.3.0a7d5a8e
Merge pull request #12557 from x612skm/maintainence/11771-pypy-3.9-bumpced7072
Add a change note for PR #11771d42b76d
Adjust test_errors_in_xfail_skip_expressions for PyPy9eee45a
Bump PyPy runtime to v3.9 @ GHAd489247
Fix caching of parameterized fixtures (#12600)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