Type comments are also needed (in more limited circumstances) to support Python 3.5, though that is also EOL
On Sun, Jun 5, 2022 at 2:45 PM Anthony Sottile firstname.lastname@example.org wrote:
I selfishly nudged Ethan to post this heh
I'm planning on removing support for type comments in pyflakes since it makes it significantly slower and pyflakes no longer supports python 2x. So I wanted some additional more-official confirmation of "let's deprecate typing comments" from typing-sig. https://github.com/PyCQA/pyflakes/pull/684
I did a very rough survey of the top 500 pypi packages and 111 (about ~20%) utilize type comments (though I suspect they are only there to support python 2.x or by accident) (this was on stream: https://www.youtube.com/watch?v=JcaYY07SRDo&t=1h12m )
as for `for` / `with` -- while there isn't a _direct_ replacement then can be typed with inline annotations (hopefully making the argument stronger for deprecating type comments):
import contextlib def untyped(): ... @contextlib.contextmanager def untyped_ctx(): ... x: int for x in untyped(): reveal_type(x) # Revealed type is "builtins.int" y: int with untyped_ctx() as y: reveal_type(y) # Revealed type is "builtins.int"
On Sun, Jun 5, 2022 at 5:21 PM Jelle Zijlstra email@example.com wrote:
El dom, 5 jun 2022 a las 13:26, Ethan Smith (firstname.lastname@example.org)
Recently I was thinking about the place of type comments in Python
typing. As far as I am aware, mypy is the only typechecker that remains that still supports Python 2. I expect we will remove support for Python 2 before the end of the year (but we haven't decided anything on that yet).
So what does this mean for type comments? I think it would be best if
we no longer needed to support them. However, there are a couple of issues:
- They are specified in PEP 484 so we would need a new PEP most likely
to deprecate/remove them
Yes, there's really no other process right now that we could use to
officially deprecate the feature. I'm hoping eventually we'll put together a "typing specification" separate from the PEP texts where we could make a change like this without a need for the full PEP process.
On the substance I agree that there's no need for type comments any
more. Type checkers should feel free to deprecate and remove their support (subject to their own deprecation policy and timeline), and code that is intended to be understood by multiple type checkers should not use them.
- There isn't an obvious replacement for for/with type comments, we'd
need to figure out a reasonable replacement.
Do we need a replacement? I have never felt the need to use a type
comment for a for or with statement, and I don't recall any user requests around them either. If your `__iter__` and `__enter__` methods are correctly annotated, you shouldn't need a specified type for the for/with target.
Anyway, I thought I'd start this thread to kick off some discussion,
I'd love to hear what others think and if people have ideas for syntax for with/for statements.
Ethan He/Him _______________________________________________ Typing-sig mailing list -- email@example.com To unsubscribe send an email to firstname.lastname@example.org https://mail.python.org/mailman3/lists/typing-sig.python.org/ Member address: email@example.com
Typing-sig mailing list -- firstname.lastname@example.org To unsubscribe send an email to email@example.com https://mail.python.org/mailman3/lists/typing-sig.python.org/ Member address: firstname.lastname@example.org
Typing-sig mailing list -- email@example.com To unsubscribe send an email to firstname.lastname@example.org https://mail.python.org/mailman3/lists/typing-sig.python.org/ Member address: email@example.com