On Wed, Feb 26, 2020 at 3:29 PM Kenneth Knowles <k...@apache.org> wrote:
>
> Are these divergent enough that they all need to consume testing resources? 
> For example can lower priority versions be daily runs or some such?

For the 3.x series, I think we will get the most signal out of the
lowest and highest version, and can get by with smoke tests +
infrequent post-commits for the ones between.

> Kenn
>
> On Wed, Feb 26, 2020 at 3:25 PM Robert Bradshaw <rober...@google.com> wrote:
>>
>> +1 to consulting users. Currently 3.5 downloads sit at 3.7%, or about
>> 20% of all Python 3 downloads.
>>
>> I would propose getting in warnings about 3.5 EoL well ahead of time,
>> at the very least as part of the 2.7 warning.
>>
>> Fortunately, supporting multiple 3.x versions is significantly easier
>> than spanning 2.7 and 3.x. I would rather not impose an ordering on
>> dropping 3.5 and adding 3.8 but consider their merits independently.
>>
>>
>> On Wed, Feb 26, 2020 at 3:16 PM Kyle Weaver <kcwea...@google.com> wrote:
>> >
>> > 5 versions is too many IMO. We've had issues with Python precommit 
>> > resource usage in the past, and adding another version would surely 
>> > exacerbate those issues. And we have also already had to leave out certain 
>> > features on 3.5 [1]. Therefore, I am in favor of dropping 3.5 before 
>> > adding 3.8. After dropping Python 2 and adding 3.8, that will leave us 
>> > with the latest three minor versions (3.6, 3.7, 3.8), which I think is 
>> > closer to the "sweet spot." Though I would be interested in hearing if 
>> > there are any users who would prefer we continue supporting 3.5.
>> >
>> > [1] 
>> > https://github.com/apache/beam/blob/8658b95545352e51f35959f38334f3c7df8b48eb/sdks/python/apache_beam/runners/portability/flink_runner.py#L55
>> >
>> > On Wed, Feb 26, 2020 at 3:00 PM Valentyn Tymofieiev <valen...@google.com> 
>> > wrote:
>> >>
>> >> I would like to start a discussion about identifying a guideline for 
>> >> answering questions like:
>> >>
>> >> 1. When will Beam support a new Python version (say, Python 3.8)?
>> >> 2. When will Beam drop support for an old Python version (say, Python 
>> >> 3.5)?
>> >> 3. How many Python versions should we aim to support concurrently 
>> >> (investigate issues, have continuous integration tests)?
>> >> 4. What comes first: adding support for a new version (3.8) or 
>> >> deprecating older one (3.5)? This may affect the max load our test 
>> >> infrastructure needs to sustain.
>> >>
>> >> We are already getting requests for supporting Python 3.8 and there were 
>> >> some good reasons[1] to drop support for Python 3.5 (at least, early 
>> >> versions of 3.5). Answering these questions would help set expectations 
>> >> in Beam user community, Beam dev community, and  may help us establish 
>> >> resource requirements for test infrastructure and plan efforts.
>> >>
>> >> PEP-0602 [2] establishes a yearly release cycle for Python versions 
>> >> starting from 3.9. Each release is a long-term support release and is 
>> >> supported for 5 years: first 1.5 years allow for general bug fix support, 
>> >> remaining 3.5 years have security fix support.
>> >>
>> >> At every point, there may be up to 5 Python minor versions that did not 
>> >> yet reach EOL, see "Release overlap with 12 month diagram" [3]. We can 
>> >> try to support all of them, but that may come at a cost of velocity: we 
>> >> will have more tests to maintain, and we will have to develop Beam 
>> >> against a lower version for a longer period. Supporting less versions 
>> >> will have implications for user experience. It also may be difficult to 
>> >> ensure support of the most recent version early, since our  dependencies 
>> >> (e.g. picklers) may not be supporting them yet.
>> >>
>> >> Currently we support 4 Python versions (2.7, 3.5, 3.6, 3.7).
>> >>
>> >> Is 4 versions a sweet spot? Too much? Too little? What do you think?
>> >>
>> >> [1] https://github.com/apache/beam/pull/10821#issuecomment-590167711
>> >> [2] https://www.python.org/dev/peps/pep-0602/
>> >> [3] https://www.python.org/dev/peps/pep-0602/#id17

Reply via email to