Skip to content

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

License

Notifications You must be signed in to change notification settings

alexmojaki/eval_type_backport

Repository files navigation

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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •