This is a tiny package providing a replacement for typing._eval_type
to support newer typing features in older Python versions.
Yes, that's very specific, and yes, typing._eval_type
is a protected function that you shouldn't normally be using. Really this package is specifically made for pydantic/pydantic#7873.
Specifically, this transforms X | Y
into typing.Union[X, Y]
and list[X]
into typing.List[X]
etc. (for all the types made generic in PEP 585)
if the original syntax is not supported in the current Python version.
From PyPI:
pip install eval-type-backport
or with Conda:
conda install -c conda-forge eval-type-backport