Skip to content

bpo-41923: PEP 613: Add TypeAlias to typing module #22532

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

east825
Copy link
Contributor

@east825 east825 commented Oct 3, 2020

This special marker annotation is intended to help in distinguishing
proper PEP 484-compliant type aliases from regular top-level variable
assignments.

https://bugs.python.org/issue41923

This special marker annotation is intended to help in distinguishing
proper PEP 484-compliant type aliases from regular top-level variable
assignments.
@east825
Copy link
Contributor Author

east825 commented Oct 5, 2020

I can try to come up with proper documentation for TypeAlias in this PR or separately, especially if someone agrees to proofread me.

@gvanrossum
Copy link
Member

gvanrossum commented Oct 5, 2020 via email

Copy link
Contributor Author

@east825 east825 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can I consider the problem with mentioning me in ACKS resolved, since I only ported my own PR in typing_extensions? I wouldn't ever have claimed someone else's authorship(

@east825
Copy link
Contributor Author

east825 commented Oct 7, 2020

I've added minimal documentation, but already not sure about a couple of things:

  • Should all the examples of type aliases, first of all, those in the documentation for typing module, be updated to use TypeAlias?
  • I don't know how to better put, both in What's New and in the documentation for typing, that people are encouraged to use the new annotation, however, the former "implicit" syntax will continue to be supported by type checkers. PEP 613 doesn't give any deprecation timeline in this regard.

Copy link
Member

@gvanrossum gvanrossum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will apply my text nits and land. Thanks for your contribution, and welcome to the walhalla named Misc/ACKS. :-)

Comment on lines 106 to 107
PEP604: New Type Operator
-------------------------
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
PEP604: New Type Operator
-------------------------
PEP 604: New Type Union Operator
--------------------------------

return number ** 2


Now, type hints can be written in a more succinct manner::
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Now, type hints can be written in a more succinct manner::
Type hints can now be written in a more succinct manner::

@gvanrossum
Copy link
Member

I've added minimal documentation, but already not sure about a couple of things:

* Should all the examples of type aliases, first of all, those in the documentation for typing module, be updated to use TypeAlias?

I don't think so. Let's wait for this to be implemented in all static checkers before we go down that road.

* I don't know how to better put, both in What's New and in the documentation for typing, that people are encouraged to use the new annotation, however, the former "implicit" syntax will continue to be supported by type checkers. PEP 613 doesn't give any deprecation timeline in this regard.

I don't think deprecation is needed at this point -- some type checkers may start enforcing it but they will communicate to their own users.

These should be PEP NNN.
@gvanrossum gvanrossum merged commit 4f3c250 into python:master Oct 7, 2020
@bedevere-bot
Copy link

@gvanrossum: Please replace # with GH- in the commit message next time. Thanks!

@gvanrossum
Copy link
Member

Thanks again!

@east825
Copy link
Contributor Author

east825 commented Oct 8, 2020

I will apply my text nits and land. Thanks for your contribution, and welcome to the walhalla named Misc/ACKS. :-)

Thanks for admitting me there!

@east825 east825 deleted the bpo-41923_PEP-613_typing.TypeAlias branch October 8, 2020 09:58
shihai1991 added a commit to shihai1991/cpython that referenced this pull request Oct 9, 2020
* origin/master: (147 commits)
  Fix the attribute names in the docstring of GenericAlias (pythonGH-22594)
  bpo-39337: Add a test case for normalizing of codec names (pythonGH-19069)
  bpo-41557: Update Windows installer to use SQLite 3.33.0 (pythonGH-21960)
  bpo-41976: Fix the fallback to gcc of ctypes.util.find_library when using gcc>9 (pythonGH-22598)
  bpo-41306: Allow scale value to not be rounded (pythonGH-21715)
  bpo-41970: Avoid test failure in test_lib2to3 if the module is already imported (pythonGH-22595)
  bpo-41376: Fix the documentation of `site.getusersitepackages()` (pythonGH-21602)
  Revert "bpo-26680: Incorporate is_integer in all built-in and standard library numeric types (pythonGH-6121)" (pythonGH-22584)
  bpo-41923: PEP 613: Add TypeAlias to typing module (python#22532)
  Fix comment about PyObject_IsTrue. (pythonGH-22343)
  bpo-38605: Make 'from __future__ import annotations' the default (pythonGH-20434)
  bpo-41905: Add abc.update_abstractmethods() (pythonGH-22485)
  bpo-41944: No longer call eval() on content received via HTTP in the UnicodeNames tests (pythonGH-22575)
  bpo-41944: No longer call eval() on content received via HTTP in the CJK codec tests (pythonGH-22566)
  Post 3.10.0a1
  Python 3.10.0a1
  bpo-41584: clarify when the reflected method of a binary arithemtic operator is called (python#22505)
  bpo-41939: Fix test_site.test_license_exists_at_url() (python#22559)
  bpo-41774: Tweak new programming FAQ entry (pythonGH-22562)
  bpo-41936. Remove macros Py_ALLOW_RECURSION/Py_END_ALLOW_RECURSION (pythonGH-22552)
  ...
xzy3 pushed a commit to xzy3/cpython that referenced this pull request Oct 18, 2020
This special marker annotation is intended to help in distinguishing
proper PEP 484-compliant type aliases from regular top-level variable
assignments.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants