[Pulp-dev] Proposal to drop support of Python 3.5 for Pulp 3
daviddavis at redhat.com
Wed Sep 12 14:50:12 UTC 2018
On Tue, Sep 11, 2018 at 10:35 AM Jeff Ortel <jortel at redhat.com> wrote:
> On 09/07/2018 01:09 AM, Simon Baatz wrote:
> > I had a discussion on IRC with Brian yesterday which led to the
> > question whether we can drop support for Python 3.5. I think there are
> > good reasons for this, see the rationale below.
> > Brian proposed to initiate a vote on this topic (and find out whether
> > this "community thing" works :-) ).
> > Please send feedback by Friday Sept 14th. Especially, let me know if
> > there are specific reasons for depending on Python 3.5. The
> > corresponding issue is 3984 .
> > Cheers,
> > Simon
> > Rationale:
> > The trigger for the discussion was to get rid of boilerplate code like
> > this ,  to handle batches in the stages API. This becomes a
> > single line  when using an asynchronous generator . Adding the
> > `batches()` async generator to Pulp core would simplify existing
> > stages and ease implementation of stages in plugins.
> > Async generators have been introduced in Python 3.6. Thus, to make the
> > `batches` generator available in the Pulp core plugin API, we either
> > - have to drop support for Python 3.5 or
> > - reimplement the async generator as an async iterator (which would be
> > more convoluted but looks doable)
> > I prefer to drop 3.5, since this will allow to use additional language
> > features. Among them:
> > - As said, async generators/async comprehensions. Async generators are
> > simpler to write and understand than async iterators.
> > - String interpolation "f-Strings" 
> > - dict objects preserve insertion-order (officially declared part of
> > the language with Python 3.7). Eliminates a source of subtle
> > "works on 3.6, sometimes works on 3.5" bugs.
> > - One version less to support is always a good thing (provided nobody
> > really requires it)
> > - Type annotations are currently not used by the Pulp project, but if
> > the project decides to use them in the future: IMHO type annotations
> > (which are great btw.) began to feel â€œrightâ€ with 3.6. Working
> > them in 3.5 can be clumsy at times.
> > - And of course: 
> > Python 3.6 has the OS/distribution support we need:
> > - Python 3.6 SCL is available for RHEL 7 / CentOS 7
> > - It is part of Fedora as of Fedora 26
> > For Ubuntu, it is part of 18.04 LTS. Debian does not have Python 3.6 in
> stable yet.
> > 
> > 
> > 
> > 
> >  https://docs.python.org/3/whatsnew/3.6.html
> > 
> >  https://twitter.com/raymondh/status/844955415259463681
> >  https://pulp.plan.io/issues/3984
> > _______________________________________________
> > Pulp-dev mailing list
> > Pulp-dev at redhat.com
> > https://www.redhat.com/mailman/listinfo/pulp-dev
> Pulp-dev mailing list
> Pulp-dev at redhat.com
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Pulp-dev