-
Notifications
You must be signed in to change notification settings - Fork 235
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
A milestone for dropping provisional status? #247
Comments
And #208, I'm working on it. |
There's no issue for this yes, but I'd want us to resolve the slowness of expressions like This was discussed at PyCon and somebody (@ambv?) raised this as a potential issue. |
@JukkaL There was a proposal #130 to cache outcomes of such things. The issue is closed now. I think that making some typing objects more lightweight together with cashing could give a significant speed-up (also @markshannon will be happy). I think if @gvanrossum does not object (he closed that issue), then you could reopen #130 to track this. |
Caching would likely be quite helpful with casts and nested functions, but it might not eliminate enough of the startup overhead. I think that we should have some (repeatable) benchmark figures so that we understand the scope of the problem before starting to optimize things. Also, perhaps we should also come up with a target acceptable performance level, such as "don't make program startup more than 10% slower compared to unannotated code for typical (?) programs". |
Another thing we may want to resolve is |
I've seen many issues caused by IO[] vs. BinaryIO. maybe we could just
define BinaryIO as an alias for IO[bytes] and TextIO as IO[str]? (I'd have
to look at the code in detail to understand what each of the named classes
adds, and how important the distinction is -- but it's caused lots of
confusion with in typeshed.)
|
If some issues from the original list are fixed I will just edit it not to bother everyone. |
FWIW I don't think we should hold our breath for many of these.
|
@gvanrossum I would say that #136 is the most important for me in this list. Protocols, Concerning #130, it does not require PEP changes directly, but the solution could change the behavior of |
Yeah, I think you have the right idea. #136 especially needs to be sorted Pure additions to typing.py can be their own PEP or even discussed in the |
So this was never actually decided, however the 3.6 what's new says typing.py is no longer provisional. I actually now believe that's premature. Can we keep it provisional for 3.6? |
I've filed http://bugs.python.org/issue29316 to discuss this. |
1. Add links on documentation and bug tracker 2. Install/update typing on python 3.7 too ( python/typing#247 )
FWIW |
PEP 484 will drop its provisional status at some point. I hope this will happen in time for 3.6.
I propose to create a milestone to estimate how much work should be done before this happens.
Here are some issues that I propose to add to this milestone:
Big things:
Smaller things:
Intersection
) This will be very easy to implement in typing.py. It will work nicely with protocols. Also I could speculate that mypy implementation will not be too difficult (it should be similar toUnion
).Callable
to be able to specify argument names and kinds #264 (flexibleCallable
) This feature has been requested several times, and it is really easy to implement in typing.py, there are some detail to discuss.Implementation
) It seems that an agreement on this is quite close.I could volunteer to take care about all of the above except #11 (it probably will be better done by Jukka) and SelfType. By "take care" I mean make PRs to PEPs and typing.py. However, I do not exclude also working on some of these in mypy if necessary. I think it is not necessary for mypy to support all the features at the point when PEP 484 drops provisional status, they could be implemented later.
The text was updated successfully, but these errors were encountered: