Skip to content
Switch branches/tags
Go to file

Latest commit

This was previously not included in the readme although implemented

Git stats


Failed to load latest commit information.

Chat at

PEP 484: Type Hints

This GitHub repo is used for three separate things:

  • The issue tracker is used to discuss PEP-level type system issues. However, typing-sig is more appropriate these days.

  • A copy of the typing module for older Python versions (2.7 and 3.4) is maintained here. Note that the canonical source lives upstream in the CPython repo.

  • The typing_extensions module lives here.


  • The module and its unittests are edited in the src subdirectory of this repo. The python2 subdirectory contains the Python 2 backport.

Workflow for PyPI releases

  • Run tests under all supported versions. As of May 2019 this includes 2.7, 3.4, 3.5, 3.6, 3.7.

  • On macOS, you can use pyenv <>_ to manage multiple Python installations. Long story short:

    • xcode-select --install
    • brew install pyenv
    • echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
    • Open a new shell
    • pyenv install 3.5.3
    • pyenv install 3.4.6
    • (assuming you already have 2.7.13 and 3.6.1 from Homebrew)
    • pyenv global system 3.5.3 3.4.6
  • You can use tox to automate running tests.

  • Update the version number in

  • Build the source and wheel distributions:

    • pip3 install -U setuptools wheel
    • pip2 install -U setuptools wheel
    • rm -rf dist/ build/
    • python3 sdist bdist_wheel
    • rm -rf build/ (Works around a Wheel bug <>_)
    • python2 bdist_wheel
  • Install the built distributions locally and test (if you were using tox, you already tested the source distribution).

  • Make sure twine is up to date, then run twine upload dist/*.


Work related to PEP 484: and (both released via PyPI) and issue tracker for type system bugs/features.





No packages published