eval-type-backport

Like `typing._eval_type`, but lets older Python versions use newer typing features.


License
MIT
Install
pip install eval-type-backport==0.2.0

Documentation

eval_type_backport

Build Status Coverage Status Supports Python versions 3.8+, including PyPy Anaconda's conda-forge channel

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.

Install

From PyPI:

pip install eval-type-backport

or with Conda:

conda install -c conda-forge eval-type-backport