Re-export all names from typing (#196)

* Re-export all names from typing

Fixes #50.

I decided to exclude top-level names that have a definite removal
timeline (io, re, ByteString); there's no point in re-exporting them
now.

Many other names are deprecated without a definite removal plan
(PEP 585). If they do get removed eventually, typing-extensions can
simply re-export the builtin/collections.abc names.

In the documentation, I add a separate section listing all the names
that are pure aliases for typing. This makes it easier to distinguish
the cases where there is something more interesting going on in
typing-extensions.

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
4 files changed
tree: 6b215be17f15ffe26fe495c89943de435bfe0333
  1. .github/
  2. doc/
  3. src/
  4. .editorconfig
  5. .flake8
  6. .flake8-tests
  7. .gitignore
  8. CHANGELOG.md
  9. CONTRIBUTING.md
  10. LICENSE
  11. pyproject.toml
  12. README.md
  13. test-requirements.txt
  14. tox.ini
README.md

Typing Extensions

Chat at https://gitter.im/python/typing

DocumentationPyPI

Overview

The typing_extensions module serves two related purposes:

  • Enable use of new type system features on older Python versions. For example, typing.TypeGuard is new in Python 3.10, but typing_extensions allows users on previous Python versions to use it too.
  • Enable experimentation with new type system PEPs before they are accepted and added to the typing module.

typing_extensions uses Semantic Versioning. The major version will be incremented only for backwards-incompatible changes. Therefore, it's safe to depend on typing_extensions like this: typing_extensions >=x.y, <(x+1), where x.y is the first version that includes all features you need.

typing_extensions supports Python versions 3.7 and higher.

Included items

See the documentation for a complete listing of module contents.

Running tests

To run tests, navigate into the src/ directory and run test_typing_extensions.py.