← All recipes
Moderne licensed

Replace typing.Type with type

Recipe IDorg.openrewrite.python.migrate.ReplaceTypingTypeWithTypeArtifactopenrewrite-migrate-python

PEP 585 deprecated typing.Type in Python 3.9. Replace it with the built-in type wherever a type is expected, including class base lists, where either spelling subclasses type. Applies inside if TYPE_CHECKING: blocks as well; the built-in generic is valid at runtime from Python 3.9 on, so no from __future__ import annotations is needed. References in a value position are left alone: typing.Type and type are distinct objects, so substituting one for the other where the name is used as a value would change behaviour.

Single recipeProprietary

Usage

This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.

mod run . --recipe org.openrewrite.python.migrate.ReplaceTypingTypeWithType

If the recipe isn’t available locally, install it with:

mod config recipes pip install openrewrite-migrate-python