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

Find @model_validator(mode='after') on a classmethod

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

Pydantic 2.12 deprecated @model_validator with mode='after' on a classmethod; the implicit classmethod conversion for after model validators is removed in V3. Such validators should be instance methods (self, no @classmethod). This recipe flags the decorator for review, since the rewrite is not safe to mechanize. field_validator is unaffected.

Single recipePythonpythonpydanticmigration2.12Moderne 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.FindModelValidatorAfterClassmethod