Skip to main content
Moderne OnlyThis recipe is proprietary to Moderne and runs on the Moderne platform or CLI — it isn’t part of the open-source catalog. Available with a Moderne subscription.Contact Sales

Replace Final model fields with a default with ClassVar

Recipe IDorg.openrewrite.python.migrate.pydantic.ReplaceFinalFieldWithClassVar
Artifactopenrewrite-migrate-python

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.

Single recipePythonpythonpydanticmigration2.11Moderne Proprietary License
Try in PlatformTry this recipe in the Moderne platform. Not a user yet? You’ll get a no-setup demo environment, with nothing to install or configure.

Usage

Run this recipe

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==0.9.3

Then, you can run the recipe via:

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