Skip to content

TYP: Use new generic type syntax from PEP 695#31923

Open
QuLogic wants to merge 11 commits into
matplotlib:mainfrom
QuLogic:generic-types
Open

TYP: Use new generic type syntax from PEP 695#31923
QuLogic wants to merge 11 commits into
matplotlib:mainfrom
QuLogic:generic-types

Conversation

@QuLogic

@QuLogic QuLogic commented Jun 19, 2026

Copy link
Copy Markdown
Member

PR summary

This is now available with our minimum Python 3.12, and allows doing away with TypeVar, TypeAlias, and ParamSpec.

Note, this is based on #31920.

AI Disclosure

PR checklist

QuLogic added 10 commits June 19, 2026 02:51
The `_XYPair` is initialized with two lists, and is treated as such
(calling `.append`, etc.)
The `_ColorbarSpine` is a subclass of `mspines.Spine`, not
`mspines.Spines`.
This was missing a few parameters.
This is a mutable version of `BboxBase`, and all its properties should
be writable. Due to a deficiency in mypy [1], we need to ignore some
attribute access type errors.

python/mypy#5936
Axes should definitely be able to be placed in SubFigures, and that's
the accepted type for `_AxesBase.set_figure`.
This mostly means the paths are passed directly to `open` or similar.
We can do this now that we require Python 3.12.
No longer do we need to define private `TypeVar` variables with
semi-unique names, but instead a function/class/method-local type can be
created. As these are now local, I have dropped the leading underscores.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment