I think this should be preferred over https://github.com/pydantic/pydantic/pull/6915, mostly because the implementation there involves duplicating the list of types in the union, and generally seems more fragile.

I've opened as draft until docs/tests are added, hoping @sydney-runkle can help get this across the line tomorrow.
Add CallableDiscriminator and Tag. I think this should be preferred over https://github.com/pydantic/pydantic/pull/6915, mostly because the implementation there involves duplicating the list of types in the union, and generally seems more fragile.

I've opened as draft until docs/tests are added, hoping @sydney-runkle can help get this across the line tomorrow.
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "example_plugin"
version = "0.1.0"

[project.entry-points.pydantic]
my_plugin = "example_plugin:plugin"

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "example_plugin"
version = "0.1.0"

[project.entry-points.pydantic]
my_plugin = "example_plugin:plugin"
