[issue38242] Revert the new asyncio Streams API

2022-03-22 Thread Ian Good
Change by Ian Good : -- nosy: +icgood nosy_count: 9.0 -> 10.0 pull_requests: +30142 pull_request: https://github.com/python/cpython/pull/13143 ___ Python tracker ___

[issue38242] Revert the new asyncio Streams API

2019-12-08 Thread Andrew Svetlov
Change by Andrew Svetlov : -- resolution: -> fixed stage: commit review -> resolved status: open -> closed ___ Python tracker ___

[issue38242] Revert the new asyncio Streams API

2019-10-01 Thread Łukasz Langa
Change by Łukasz Langa : -- priority: release blocker -> normal ___ Python tracker ___ ___ Python-bugs-list mailing list

[issue38242] Revert the new asyncio Streams API

2019-09-30 Thread Bruce Merry
Change by Bruce Merry : -- nosy: +bmerry ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue38242] Revert the new asyncio Streams API

2019-09-29 Thread Kyle Stanley
Change by Kyle Stanley : -- status: closed -> open ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue38242] Revert the new asyncio Streams API

2019-09-29 Thread Kyle Stanley
Change by Kyle Stanley : -- stage: resolved -> commit review ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue38242] Revert the new asyncio Streams API

2019-09-29 Thread Kyle Stanley
Kyle Stanley added the comment: > I've reverted the code. Andrew, would really appreciate if you could quickly > do a post commit review. Oops, I'll reopen it. -- ___ Python tracker

[issue38242] Revert the new asyncio Streams API

2019-09-29 Thread Kyle Stanley
Change by Kyle Stanley : -- stage: commit review -> resolved status: open -> closed ___ Python tracker ___ ___ Python-bugs-list

[issue38242] Revert the new asyncio Streams API

2019-09-29 Thread Yury Selivanov
Yury Selivanov added the comment: New changeset 1c19d656a79a00f58361ceb61c0a6d1faf90c686 by Yury Selivanov in branch '3.8': bpo-38242: Revert "bpo-36889: Merge asyncio streams (GH-13251)" (#16482) (#16485) https://github.com/python/cpython/commit/1c19d656a79a00f58361ceb61c0a6d1faf90c686

[issue38242] Revert the new asyncio Streams API

2019-09-29 Thread Yury Selivanov
Yury Selivanov added the comment: I've reverted the code. Andrew, would really appreciate if you could quickly do a post commit review. -- stage: patch review -> commit review ___ Python tracker

[issue38242] Revert the new asyncio Streams API

2019-09-29 Thread Yury Selivanov
Change by Yury Selivanov : -- pull_requests: +16070 pull_request: https://github.com/python/cpython/pull/16485 ___ Python tracker ___

[issue38242] Revert the new asyncio Streams API

2019-09-29 Thread Yury Selivanov
Yury Selivanov added the comment: New changeset 6758e6e12a71ef5530146161881f88df1fa43382 by Yury Selivanov in branch 'master': bpo-38242: Revert "bpo-36889: Merge asyncio streams (GH-13251)" (#16482) https://github.com/python/cpython/commit/6758e6e12a71ef5530146161881f88df1fa43382

[issue38242] Revert the new asyncio Streams API

2019-09-29 Thread Yury Selivanov
Change by Yury Selivanov : -- pull_requests: +16066 pull_request: https://github.com/python/cpython/pull/16482 ___ Python tracker ___

[issue38242] Revert the new asyncio Streams API

2019-09-29 Thread Guido van Rossum
Change by Guido van Rossum : -- nosy: -gvanrossum ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue38242] Revert the new asyncio Streams API

2019-09-29 Thread Caleb Hattingh
Change by Caleb Hattingh : -- nosy: +cjrh ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue38242] Revert the new asyncio Streams API

2019-09-27 Thread Kyle Stanley
Change by Kyle Stanley : -- pull_requests: +16035 pull_request: https://github.com/python/cpython/pull/16455 ___ Python tracker ___

[issue38242] Revert the new asyncio Streams API

2019-09-27 Thread Kyle Stanley
Change by Kyle Stanley : -- keywords: +patch pull_requests: +16024 stage: -> patch review pull_request: https://github.com/python/cpython/pull/16445 ___ Python tracker ___

[issue38242] Revert the new asyncio Streams API

2019-09-27 Thread Kyle Stanley
Kyle Stanley added the comment: Currently focusing on the Lib/asyncio/* and Lib/test/* changes. Working on doc changes next, but that should be significantly easier. In addition to https://github.com/python/cpython/commit/23b4b697e5b6cc897696f9c0288c187d2d24bff2 (main commit from Andrew

[issue38242] Revert the new asyncio Streams API

2019-09-27 Thread Kyle Stanley
Kyle Stanley added the comment: > You'll need to be careful to only revert the new functions & the > asyncio.Stream class. So far the trickiest part has proven to be the tests (specifically test_streams.py) and keeping the deprecation warning for passing explicit loop arguments. I've had

[issue38242] Revert the new asyncio Streams API

2019-09-27 Thread Yury Selivanov
Yury Selivanov added the comment: > Since this has been elevated to a release blocker, I wouldn't mind helping to > revert this ASAP. I can open a PR to fix it today. Sure, by all means, any help would be hugely appreciated. Thank you, Kyle. You'll need to be careful to only revert the new

[issue38242] Revert the new asyncio Streams API

2019-09-27 Thread Kyle Stanley
Kyle Stanley added the comment: > Andrew, do you want me to submit a PR or you can do it? Since this has been elevated to a release blocker, I wouldn't mind helping to revert this ASAP. I can open a PR to fix it today. -- ___ Python tracker

[issue38242] Revert the new asyncio Streams API

2019-09-24 Thread Yury Selivanov
Yury Selivanov added the comment: I slept on this and discussed this issue privately with a few non-involved people who use asyncio daily. My final opinion on this issue: we must revert the new streaming API from asyncio and take our time to design it properly. I don't like what we have in

[issue38242] Revert the new asyncio Streams API

2019-09-24 Thread Kyle Stanley
Kyle Stanley added the comment: > We have to document that Process objects use a third kind of stream object > that doesn't match either the old or new APIs, and how this one works >From my perspective, this point would have the largest user learning cost due >to the stream object having a

[issue38242] Revert the new asyncio Streams API

2019-09-23 Thread Kyle Stanley
Change by Kyle Stanley : -- nosy: +aeros167 ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue38242] Revert the new asyncio Streams API

2019-09-23 Thread Yury Selivanov
Yury Selivanov added the comment: > So like... both of these approaches are definitely possible, but to me it > seems like if you look at it holistically, your approach is actually making > the documentation and deprecations *more* complicated, not less. I think Nathaniel might have a point

[issue38242] Revert the new asyncio Streams API

2019-09-23 Thread Nathaniel Smith
Nathaniel Smith added the comment: > I hope that the Trio project can minimize the number of methods they want to > add to those ABCs so that we don't need to duplicate a lot of functionality > in asyncio.Stream. E.g. in the new asyncio.Stream there's a Stream.write() > coroutine; in Trio

[issue38242] Revert the new asyncio Streams API

2019-09-23 Thread Yury Selivanov
Yury Selivanov added the comment: Nathaniel, thanks for the summary! A few comments to address some points: > So Yury and I are tentatively thinking we'll make some kind of PEP for the > 3.9 timescale, probably just for the core ABCs Yes! At the very least for things like asynchronous

[issue38242] Revert the new asyncio Streams API

2019-09-23 Thread Nathaniel Smith
Nathaniel Smith added the comment: BTW Andrew, while writing that I realized that there's also overlap between your new Server classes and Trio's ABC for servers, and I think it'd be interesting to chat about how they compare maybe? But it's not relevant to this issue, so maybe gitter or

[issue38242] Revert the new asyncio Streams API

2019-09-23 Thread Nathaniel Smith
Nathaniel Smith added the comment: I saw Yury on Saturday, and we spent some time working through the implications of different options here. For context: the stream ABCs will be a bit different from most third-party code, because their value is proportional to how many projects adopt them.

[issue38242] Revert the new asyncio Streams API

2019-09-21 Thread Andrew Svetlov
Andrew Svetlov added the comment: Awesome! -- ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue38242] Revert the new asyncio Streams API

2019-09-21 Thread Yury Selivanov
Yury Selivanov added the comment: > Task group is another very required thing. If I choose between groups and > steams I probably invest my time into the former. We should get them in 3.9. I'm going to be working on the ExceptionGroup PEP today. --

[issue38242] Revert the new asyncio Streams API

2019-09-21 Thread Andrew Svetlov
Change by Andrew Svetlov : -- nosy: +rhettinger ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue38242] Revert the new asyncio Streams API

2019-09-21 Thread Andrew Svetlov
Andrew Svetlov added the comment: I would say that we can reimplement the Stream class on top of new composable streams in the future. I'd love to do it right now but these streams don't exist yet. I totally support the idea of new streams design, it looks very attractive. The

[issue38242] Revert the new asyncio Streams API

2019-09-21 Thread Guido van Rossum
Guido van Rossum added the comment: I am going to recommend sticking to the status quo, i.e. Andrew's improvements to asyncio.Stream should stay. The rest of this message is an elaboration. The new perfect composable Streams design is just that -- a design. Many things could go wrong in the

[issue38242] Revert the new asyncio Streams API

2019-09-21 Thread Nathaniel Smith
Nathaniel Smith added the comment: > I think we need something *like* asyncio.Stream in the mix, for compatibility > and bridging between the two worlds, but right now it's not quite clear how > that should look, and pushing it off to 3.9 would give us time to figure out > the details for

[issue38242] Revert the new asyncio Streams API

2019-09-21 Thread Andrew Svetlov
Change by Andrew Svetlov : -- nosy: +rhettinger ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue38242] Revert the new asyncio Streams API

2019-09-21 Thread Nathaniel Smith
Nathaniel Smith added the comment: That seems a bit extreme, and I don't think conflicts with Trio are the most important motivation here. (And they shouldn't be.) But, we should probably write down what the motivations actually are. Yury might have a different perspective, but to me the

[issue38242] Revert the new asyncio Streams API

2019-09-21 Thread Raymond Hettinger
Raymond Hettinger added the comment: Reversion is cheap. Published APIs are hard to take back. If the plan is to deprecate, then anything added for 3.8 should be reverted. There's no point in publishing a new API only to take it away. -- nosy: +rhettinger

[issue38242] Revert the new asyncio Streams API

2019-09-21 Thread Andrew Svetlov
Andrew Svetlov added the comment: There is an alternative proposal: let's deprecate and eventually remove streams API entirely (for sockets, pipes, and subprocesses). By this, we will never have a chance to conflict with trio. Another option is removing asyncio at all (again to never

[issue38242] Revert the new asyncio Streams API

2019-09-20 Thread Karthikeyan Singaravelan
Change by Karthikeyan Singaravelan : -- nosy: +xtreak ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue38242] Revert the new asyncio Streams API

2019-09-20 Thread Nathaniel Smith
Nathaniel Smith added the comment: Yury asked me to weigh in here, since I guess between him and Andrew there's some uncertainty about whether reverting is the right choice or not. I can't answer that, but I can share some thoughts. Unfortunately, I wasn't aware of the Stream PR when it was

[issue38242] Revert the new asyncio Streams API

2019-09-20 Thread Karthikeyan Singaravelan
Change by Karthikeyan Singaravelan : -- nosy: +xtreak ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue38242] Revert the new asyncio Streams API

2019-09-20 Thread Yury Selivanov
New submission from Yury Selivanov : == Context 1. Andrew and I implemented a new streaming API in asyncio 3.8. The key idea is that there's a single Stream object, combining old StreamReader & StreamWriter APIs. On top of that, `Stream.write()` and `Stream.close()` became coroutines.