Skip to main content

Replace Final model fields with a default with ClassVar

org.openrewrite.python.migrate.pydantic.ReplaceFinalFieldWithClassVar

Pydantic 2.11 deprecates annotating a model field as Final with a default value (such fields were treated as class variables). Replace Final[X] = default with ClassVar[X] = default, which preserves the existing class-variable behavior and is the replacement Pydantic recommends.

Tags

Recipe source

This recipe is only available to users of Moderne.

This recipe is available under the Moderne Proprietary License.

Used by

This recipe is used as part of the following composite recipes:

Usage

In order to run Python recipes, you will need to use the Moderne CLI.

Once the CLI is installed, you can install this Python recipe package by running the following command:

Install the recipe package
mod config recipes pip install openrewrite-migrate-python

Then, you can run the recipe via:

Run the recipe
mod run . --recipe org.openrewrite.python.migrate.pydantic.ReplaceFinalFieldWithClassVar