Thank you! Shared on Slack as well. On Thu, Jun 18, 2020 at 4:33 PM Ahmet Altay <al...@google.com> wrote:
> OK, tweeted the message. Could you share on Slack? > > On Thu, Jun 18, 2020 at 4:28 PM Valentyn Tymofieiev <valen...@google.com> > wrote: > >> Alright, let's publish the message on Twitter and echo on Slack once >> that's done. >> Thank you! >> >> On Tue, Jun 16, 2020 at 5:31 PM Ahmet Altay <al...@google.com> wrote: >> >>> That sounds reasonable to me. I agree, it is better to get specific >>> reasons rather than a yes/no answer. >>> >>> On Tue, Jun 16, 2020 at 1:50 PM Valentyn Tymofieiev <valen...@google.com> >>> wrote: >>> >>>> After thinking about it for a bit, I am not sure whether a poll would >>>> be actionable. For example, if 1000 users provide a positive response and 5 >>>> users provide a negative response, how do we interpret that and where do >>>> we draw a line? How about instead we encourage users to reach out, and tell >>>> what is not working for them? For example: >>>> >>>> Beam is considering making 2.23.0 a final release supporting Py2. If >>>> you are not able to switch to Python 3, please let us know why: [short link >>>> to user@ thread] [1]. >>>> >>>> Thoughts? >>>> >>>> [1] >>>> https://lists.apache.org/thread.html/r0de71d98d98b213dd1d0c45c1f5642135116f25def5637a5f41c8d29%40%3Cuser.beam.apache.org%3E >>>> >>>> On Tue, Jun 16, 2020 at 11:50 AM Ahmet Altay <al...@google.com> wrote: >>>> >>>>> >>>>> >>>>> On Tue, Jun 16, 2020 at 11:38 AM Valentyn Tymofieiev < >>>>> valen...@google.com> wrote: >>>>> >>>>>> I have reached out to user@ for feedback on Python 3 migration[1]. >>>>>> >>>>> >>>>> Maybe also ask on slack? There are quite a bit of users there as well. >>>>> >>>>> >>>>>> >>>>>> Could somebody from PMC please help with Twitter poll? >>>>>> >>>>> >>>>> I can try to do this. What question would you like to ask? I do not >>>>> know much about twitter polls but I assume they have character limits >>>>> similar to regular tweets. >>>>> >>>>> >>>>>> >>>>>> Technically, we can proceed with the change between 2.23.0 and >>>>>> 2.24.0, so that's after 2.23.0 is cut and we give sufficient time for >>>>>> users >>>>>> to respond. >>>>>> >>>>>> [1] >>>>>> https://lists.apache.org/thread.html/r0de71d98d98b213dd1d0c45c1f5642135116f25def5637a5f41c8d29%40%3Cuser.beam.apache.org%3E >>>>>> On Tue, Jun 16, 2020 at 9:22 AM Ismaël Mejía <ieme...@gmail.com> >>>>>> wrote: >>>>>> >>>>>>> Yes we need to poll this outside as Robert proposed. >>>>>>> >>>>>>> The proposed last support version corresponds with the next release >>>>>>> that will be >>>>>>> cut in two weeks. Sounds a bit short if we count the time to poll >>>>>>> people on this >>>>>>> subject but still could be. >>>>>> >>>>>> Technically, we can proceed with the change between 2.23.0 and >>>>>> 2.24.0, so that's after 2.23.0 is cut and we give sufficient time for >>>>>> users >>>>>> to respond. >>>>>> >>>>>> >>>>>>> I remember Chad mentioned in this thread the impossibility to get >>>>>>> support for >>>>>>> python 2 in his industry until the end of the year, Maybe things >>>>>>> have improved. >>>>>>> Have they? >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Tue, Jun 16, 2020 at 6:10 PM Robert Bradshaw <rober...@google.com> >>>>>>> wrote: >>>>>>> > >>>>>>> > I like that option as a concrete proposal. I think we should >>>>>>> circulate it more widely (the users list, twitter poll, at least a new >>>>>>> thread...), maybe phrasing it as "is there any reason you couldn't >>>>>>> migrate >>>>>>> to Python 3 (or stick with an older version of Beam) after 2.23 (due to >>>>>>> be >>>>>>> cut here in a couple of weeks)?" If there is strong concern/pushback, we >>>>>>> could consider holding on for one more release. >>>>>>> > >>>>>>> > On Tue, Jun 16, 2020 at 8:54 AM David Cavazos <dcava...@google.com> >>>>>>> wrote: >>>>>>> >> >>>>>>> >> +1 >>>>>>> >> >>>>>>> >> On Mon, Jun 15, 2020 at 6:52 PM Udi Meiri <eh...@google.com> >>>>>>> wrote: >>>>>>> >>> >>>>>>> >>> +1 >>>>>>> >>> >>>>>>> >>> On Mon, Jun 15, 2020 at 4:27 PM Ahmet Altay <al...@google.com> >>>>>>> wrote: >>>>>>> >>>> >>>>>>> >>>> As a concrete proposal, could we commit to removing python 2 >>>>>>> support by 2.24? In other words, mark the next release 2.23 as the last >>>>>>> python 2 compatible Beam version. >>>>>>> >>>> >>>>>>> >>>> On Mon, Jun 15, 2020 at 2:09 PM Valentyn Tymofieiev < >>>>>>> valen...@google.com> wrote: >>>>>>> >>>>> >>>>>>> >>>>> Another input here: >>>>>>> >>>>> >>>>>>> >>>>> If you opened a Python PR in the last few days, you probably >>>>>>> noticed that our test suites were broken by a transitive dependency of >>>>>>> Beam >>>>>>> that dropped python 2 support, but did not declare python_requires>=3 in >>>>>>> its setup.py [1]. This temporarily broke a subset of Beam Py2 users (who >>>>>>> did not explicitly pin the 'rsa' dependency), and still affects Beam >>>>>>> development[2]. >>>>>>> >>>>> >>>>>>> >>>>> This is the second time[3] Beam is affected with an issue of >>>>>>> this kind, so support of Python 2 starts to slow down our development, >>>>>>> and >>>>>>> add toil for maintainers of packages we depend on (both directly and >>>>>>> transitively). >>>>>>> >>>>> >>>>>>> >>>>> [1] https://github.com/sybrenstuvel/python-rsa/issues/152 >>>>>>> >>>>> [2] >>>>>>> https://lists.apache.org/thread.html/r9993b40b0c1cb8682ce56013165d4b80fdde0ee469a73bcb9466ddfb%40%3Cdev.beam.apache.org%3E >>>>>>> >>>>> [3] https://github.com/hamcrest/PyHamcrest/issues/131 >>>>>>> >>>>> >>>>>>> >>>>> On Tue, Jun 9, 2020 at 4:06 PM Ahmet Altay <al...@google.com> >>>>>>> wrote: >>>>>>> >>>>>> >>>>>>> >>>>>> Thank you for re-opening this Valentyn. I am in favor of >>>>>>> EOLing py2 support sooner than later. The reality is that we will not be >>>>>>> effectively supporting beam python 2 for a long time while the ecosystem >>>>>>> already EOLed python 2. That said, a significant chunk (but no longer a >>>>>>> majority) of our users are still using python 2. Upgrades are painful, >>>>>>> it >>>>>>> might be especially painful nowadays. It would be good to hear counter >>>>>>> view >>>>>>> points, user voices related to this. >>>>>>> >>>>>> >>>>>>> >>>>>> On Thu, Jun 4, 2020 at 4:53 PM Valentyn Tymofieiev < >>>>>>> valen...@google.com> wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> Back at the end of February we decided to revisit this >>>>>>> conversation in 3 months. Do folks on this thread have any new input or >>>>>>> perspective regarding us balancing "user pain/contributor pain/our >>>>>>> ability >>>>>>> to continuously test with python 2 in a shifting environment"? >>>>>>> >>>>>>> >>>>>>> >>>>>>> Some new information on my end is that we have been seeing >>>>>>> steady adoption of Python 3 among Beam Python users in Dataflow, >>>>>>> particularly strong adoption among streaming users, and Dataflow is >>>>>>> sunsetting Python 2 support for all released Beam SDKs later this year >>>>>>> [1]. >>>>>>> We will have to remove Python 2 Beam test suites that use Dataflow when >>>>>>> Dataflow runner disables Py2 support if this happens before Beam Py2 EOL >>>>>>> (when we have to remove all Py2 suites), including performance tests >>>>>>> that >>>>>>> still use Dataflow on Python 3. >>>>>>> >>>>>>> >>>>>>> >>>>>>> I am curious how much motivation there is in the community >>>>>>> at this moment to continue Py2 support in Beam, whether any previous >>>>>>> Py3 >>>>>>> migration blockers were resolved or any new blockers discovered among >>>>>>> Beam >>>>>>> users. >>>>>>> >>>>>>> >>>>>>> >>>>>>> [1] >>>>>>> https://cloud.google.com/python/docs/python2-sunset/#dataflow >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Fri, May 8, 2020 at 3:52 PM Valentyn Tymofieiev < >>>>>>> valen...@google.com> wrote: >>>>>>> >>>>>>>> >>>>>>> >>>>>>>> That's good news! Thanks for sharing. >>>>>>> >>>>>>>> >>>>>>> >>>>>>>> Another datapoint, here are a few of Beam's dependencies >>>>>>> that no longer release new py2 artifacts (I looked at REQUIRED_PACKAGES >>>>>>> + >>>>>>> aws, gcp, and interactive extras): >>>>>>> >>>>>>>> >>>>>>> >>>>>>>> hdfs >>>>>>> >>>>>>>> numpy >>>>>>> >>>>>>>> pyarrow >>>>>>> >>>>>>>> ipython >>>>>>> >>>>>>>> >>>>>>> >>>>>>>> There are more if we include transitive dependencies and >>>>>>> test-only packages. I also remember encountering one issue last month >>>>>>> that >>>>>>> was broken only on Py2, which we had to go back and fix. >>>>>>> >>>>>>>> >>>>>>> >>>>>>>> If others have noticed frictions related to ongoing Py2 >>>>>>> support or have updates on previously mentioned Py3 migration blockers, >>>>>>> feel free to post them. >>>>>>> >>>>>>>> >>>>>>> >>>>>>>> On Fri, May 8, 2020 at 9:19 AM Robert Bradshaw < >>>>>>> rober...@google.com> wrote: >>>>>>> >>>>>>>>> >>>>>>> >>>>>>>>> It hasn't been 3 months yet, but I wanted to call out a >>>>>>> milestone that >>>>>>> >>>>>>>>> Python 3 downloads crossed the 50% threshold on pypi, if >>>>>>> just briefly. >>>>>>> >>>>>>>>> >>>>>>> >>>>>>>>> On Thu, Feb 13, 2020 at 12:40 AM Ismaël Mejía < >>>>>>> ieme...@gmail.com> wrote: >>>>>>> >>>>>>>>> > >>>>>>> >>>>>>>>> > > I would suggest re-evaluating this within the next 3 >>>>>>> months again. We need to balance between user pain/contributor pain/our >>>>>>> ability to continuously test with python 2 in a shifting environment. >>>>>>> >>>>>>>>> > >>>>>>> >>>>>>>>> > Good idea for the in 3 months evaluation, at that point >>>>>>> also distributions will probably be phasing out python2 by default which >>>>>>> definitely help in this direction. >>>>>>> >>>>>>>>> > Thanks for updating the roadmap Ahmet >>>>>>> >>>>>>>>> > >>>>>>> >>>>>>>>> > >>>>>>> >>>>>>>>> > On Thu, Feb 13, 2020 at 2:49 AM Ahmet Altay < >>>>>>> al...@google.com> wrote: >>>>>>> >>>>>>>>> >> >>>>>>> >>>>>>>>> >> >>>>>>> >>>>>>>>> >> >>>>>>> >>>>>>>>> >> On Wed, Feb 12, 2020 at 1:29 AM Ismaël Mejía < >>>>>>> ieme...@gmail.com> wrote: >>>>>>> >>>>>>>>> >>> >>>>>>> >>>>>>>>> >>> I am with Chad on this, we should probably extend it a >>>>>>> bit more, even if it >>>>>>> >>>>>>>>> >>> makes us struggle a bit at least we have some >>>>>>> workarounds as Robert suggests, >>>>>>> >>>>>>>>> >>> and as Chad said there are still many people playing >>>>>>> the python 3 catchup game, >>>>>>> >>>>>>>>> >>> so worth to support those users. >>>>>>> >>>>>>>>> >>> >>>>>>> >>>>>>>>> >>> >>>>>>> >>>>>>>>> >>> But maybe it is worth to evaluate the current state >>>>>>> later in the year. >>>>>>> >>>>>>>>> >> >>>>>>> >>>>>>>>> >> >>>>>>> >>>>>>>>> >> I would suggest re-evaluating this within the next 3 >>>>>>> months again. We need to balance between user pain/contributor pain/our >>>>>>> ability to continuously test with python 2 in a shifting environment. >>>>>>> >>>>>>>>> >> >>>>>>> >>>>>>>>> >>> >>>>>>> >>>>>>>>> >>> In the >>>>>>> >>>>>>>>> >>> meantime can someone please update our Roadmap in the >>>>>>> website with this info and >>>>>>> >>>>>>>>> >>> where we are with Python 3 support (it looks not up to >>>>>>> date). >>>>>>> >>>>>>>>> >>> https://beam.apache.org/roadmap/ >>>>>>> >>>>>>>>> >> >>>>>>> >>>>>>>>> >> >>>>>>> >>>>>>>>> >> I made a minor change to update that page ( >>>>>>> https://github.com/apache/beam/pull/10848). A more comprehensive >>>>>>> update to that page and linked ( >>>>>>> https://beam.apache.org/roadmap/python-sdk/#python-3-support) would >>>>>>> still be welcome. >>>>>>> >>>>>>>>> >> >>>>>>> >>>>>>>>> >>> >>>>>>> >>>>>>>>> >>> >>>>>>> >>>>>>>>> >>> - Ismaël >>>>>>> >>>>>>>>> >>> >>>>>>> >>>>>>>>> >>> >>>>>>> >>>>>>>>> >>> On Tue, Feb 4, 2020 at 10:49 PM Robert Bradshaw < >>>>>>> rober...@google.com> wrote: >>>>>>> >>>>>>>>> >>>> >>>>>>> >>>>>>>>> >>>> On Tue, Feb 4, 2020 at 12:12 PM Chad Dombrova < >>>>>>> chad...@gmail.com> wrote: >>>>>>> >>>>>>>>> >>>> >> >>>>>>> >>>>>>>>> >>>> >> Not to mention that all the nice work for the >>>>>>> type hints will have to be redone in the for 3.x. >>>>>>> >>>>>>>>> >>>> > >>>>>>> >>>>>>>>> >>>> > Note that there's a tool for automatically >>>>>>> converting type comments to annotations: >>>>>>> https://github.com/ilevkivskyi/com2ann >>>>>>> >>>>>>>>> >>>> > >>>>>>> >>>>>>>>> >>>> > So don't let that part bother you. >>>>>>> >>>>>>>>> >>>> >>>>>>> >>>>>>>>> >>>> +1, I wouldn't worry about what can be easily >>>>>>> automated. >>>>>>> >>>>>>>>> >>>> >>>>>>> >>>>>>>>> >>>> > I'm curious what other features you'd like to be >>>>>>> using in the Beam source that you cannot now. >>>>>>> >>>>>>>>> >>>> >>>>>>> >>>>>>>>> >>>> I hit things occasionally, e.g. I just ran into >>>>>>> wanting keyword-only >>>>>>> >>>>>>>>> >>>> arguments the other day. >>>>>>> >>>>>>>>> >>>> >>>>>>> >>>>>>>>> >>>> >> It seems the faster we drop support the better. >>>>>>> >>>>>>>>> >>>> > >>>>>>> >>>>>>>>> >>>> > >>>>>>> >>>>>>>>> >>>> > I've already gone over my position on this, but a >>>>>>> refresher for those who care: some of the key vendors that support my >>>>>>> industry will not offer python3-compatible versions of their software >>>>>>> until >>>>>>> the 4th quarter of 2020. If Beam switches to python3-only before that >>>>>>> point we may be forced to stop contributing features (note: I'm the guy >>>>>>> who >>>>>>> added the type hints :). Every month you can give us would be greatly >>>>>>> appreciated. >>>>>>> >>>>>>>>> >>>> >>>>>>> >>>>>>>>> >>>> As another data point, we're still 80/20 on Py2/Py3 >>>>>>> for downloads at >>>>>>> >>>>>>>>> >>>> PyPi [1] (which I've heard should be taken with a >>>>>>> grain of salt, but >>>>>>> >>>>>>>>> >>>> likely isn't totally off). IMHO that ratio needs to >>>>>>> be way higher for >>>>>>> >>>>>>>>> >>>> Python 3 to consider dropping Python 2. It's pretty >>>>>>> noisy, but say it >>>>>>> >>>>>>>>> >>>> doubles every 3 months that would put us at least >>>>>>> mid-year before we >>>>>>> >>>>>>>>> >>>> hit a cross-over point. On the other hand Q4 2020 is >>>>>>> probably a >>>>>>> >>>>>>>>> >>>> stretch. >>>>>>> >>>>>>>>> >>>> >>>>>>> >>>>>>>>> >>>> We could consider whether it needs to be an >>>>>>> all-or-nothing thing as >>>>>>> >>>>>>>>> >>>> well. E.g. perhaps some features could be Python 3 >>>>>>> only sooner than >>>>>>> >>>>>>>>> >>>> the whole codebase. (This would have to be well >>>>>>> justified.) Another >>>>>>> >>>>>>>>> >>>> mitigation is that it is possible to mix Python 2 and >>>>>>> Python 3 in the >>>>>>> >>>>>>>>> >>>> same pipeline with portability, so if there's a >>>>>>> library that you need >>>>>>> >>>>>>>>> >>>> for one DoFn it doesn't mean you have to hold back >>>>>>> your whole >>>>>>> >>>>>>>>> >>>> pipeline. >>>>>>> >>>>>>>>> >>>> >>>>>>> >>>>>>>>> >>>> - Robert >>>>>>> >>>>>>>>> >>>> >>>>>>> >>>>>>>>> >>>> [1] https://pypistats.org/packages/apache-beam , and >>>>>>> that 20% may just >>>>>>> >>>>>>>>> >>>> be a spike. >>>>>>> >>>>>>