Good to hear from you and good to hear the news. Release branch cut date for 2.24 is 8/12.
On Thu, Jun 18, 2020 at 5:01 PM Chad Dombrova <chad...@gmail.com> wrote: > Hi all, > Sorry I've been AWOL. I've been pulled in a number of different > directions. > > We are still increasing our use of Beam, and I have it on my todo list to > reach out to Kenneth about how Beam could be expanded into the VFX / > Animation industries. > > Our industry uses a number of specialized applications with embedded > python interpreters. We run Beam inside these interpreters, so we're > waiting for them to switch to python3. > > Here's the status report for python3 adoption in our key applications: > > *Maya*: In Beta > *Houdini*: Released > *Nuke*: In Beta > *Katana*: Not started (Alpha?) > > I hate to be the one holding the project back, and I understand if you all > ultimately decide it's untenable to wait any longer. The good news is 3 > out of 4 applications should be ready in the next 2-3 months. I can do > some investigation into what workarounds might look like for Katana, or > maybe we can use the Beta version once python3 support arrives, which would > move our schedule forward. > > When would 2.24 release? > > -chad > > > > > > > > > > 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. >>>>>>>> >>>>>>>