I have reviewed Slack, Twitter and User@ channels [1-3] we used to
communicate our consideration to make 2.23.0 a final release supporting
Py2.

I did not see any objections or negative feedback there.

I suggest we hold a VOTE to decide whether 2.24.0 should be the final
release supporting Py2. I can send the voting email.

[1]
https://app.slack.com/client/T4S1WH2J3/CBDNLQZM1/thread/C9H0YNP3P-1592524218.050700
[2] https://twitter.com/ApacheBeam/status/1273760375570194432
[3]
https://lists.apache.org/thread.html/r0de71d98d98b213dd1d0c45c1f5642135116f25def5637a5f41c8d29%40%3Cuser.beam.apache.org%3E

On Thu, Jul 23, 2020 at 10:57 AM Robert Bradshaw <rober...@google.com>
wrote:

> The release cut date for 2.24 is in a couple of weeks; if this is the last
> release supporting 2.7 we should make the call and announce it soon.
>
> On Mon, Jul 6, 2020 at 2:26 PM Robert Bradshaw <rober...@google.com>
> wrote:
>
>> Note that just because Beam drops 2.x support in new releases doesn't
>> mean that the old releases won't continue to work. One can even use an
>> expansion service to run 2.x transforms (on an older version of Beam)
>> within a Python 3 pipeline running the newest version of Beam until
>> such a time that (possibly incrementally) the dependent libraries
>> catch up, if it comes to that. Not that this will be ideal.
>>
>> Now that the 2.23 release branch has been cut, we *could* remove 2.7
>> support if we will actually plan to remove it in 2.24. (One concern,
>> however, is how tied the release testing infrastructure is to
>> mainline...) However, other than Chad's response (the VFX / Animation
>> isn't quite there yet) it seems we still don't have a very strong
>> signal either direction. Pypi downloads are still hovering around 50%.
>> Did we hear anything back from twitter/slack?
>>
>> My inclination would be to publish loudly that 2.24 would be the last
>> Beam to support Python 2.7 (this is pushing it back one release), so
>> if you're still stuck on it make sure it has everything you need by
>> the release cut date (which is still in the future).
>>
>>
>> On Mon, Jul 6, 2020 at 9:52 AM David Yan <david...@google.com> wrote:
>> >
>> > +1 for removing Python 2.7 support sooner than later.
>> >
>> > I recently added a small feature in Beam Python and I found that having
>> to write code that worked with Python2 was quite awkward and time consuming
>> (needing to make sure code works for both 2 and 3 and doubling the Jenkins
>> running time), and I can imagine that may hinder or even discourage new
>> contributions.
>> >
>> > On Thu, Jun 18, 2020 at 5:12 PM Ahmet Altay <al...@google.com> wrote:
>> >>
>> >> 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.
>>
>

Reply via email to