Minor improvements to CI workflows (#201) - Use the new `allow-prereleases` key for `actions/setup-python`. If we set this to `true`, then we can just use `3.12` in our CI matrix, instead of `3.12-dev`. That means we won't have to worry about updating the matrix from `3.12-dev` to `3.12` when 3.12.0 comes out in the autumn; our CI will automatically start using the latest version of Python 3.12. - Colorise the output of flake8. - Don't bother upgrading pip in CI. It's not really necessary, and wastes a few seconds. Disable the "you're using an older version of pip" message instead, using the `PIP_DISABLE_PIP_VERSION_CHECK` environment variable.
The typing_extensions module serves two related purposes:
typing.TypeGuard is new in Python 3.10, but typing_extensions allows users on previous Python versions to use it too.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.
See the documentation for a complete listing of module contents.
To run tests, navigate into the src/ directory and run test_typing_extensions.py.