[Pulp-dev] Proposal to drop support of Python 3.5 for Pulp 3
Brian Bouterse
bbouters at redhat.com
Fri Sep 14 19:58:56 UTC 2018
Excellent! I closed mine. @dalley had it at ASSIGNED so maybe he'll do 3984
instead.
On Fri, Sep 14, 2018 at 3:55 PM, Simon Baatz <gmbnomis at gmail.com> wrote:
> fyi, I had already created #3984 [0] for the Python 3.5
> removal/Python 3.6+ requirement.
>
> And: Thanks to you all for supporting this proposal!
>
>
> [0] https://pulp.plan.io/issues/3984
>
> On Fri, Sep 14, 2018 at 02:54:23PM -0400, Brian Bouterse wrote:
> > Here are the two stories for this work. I think we should add them to
> > the sprint. They weren't written this morning for sprint planning
> > unfortunately.
> > [1]https://pulp.plan.io/issues/4015
> > [2]https://pulp.plan.io/issues/4016
> >
> > On Wed, Sep 12, 2018 at 3:27 PM, Tatiana Tereshchenko
> > <[3]ttereshc at redhat.com> wrote:
> >
> > Big +1
> > Tanya
> >
> > On Wed, Sep 12, 2018 at 4:50 PM, David Davis <[4]
> daviddavis at redhat.com>
> > wrote:
> >
> > +1
> > David
> >
> > On Tue, Sep 11, 2018 at 10:35 AM Jeff Ortel <[5]jortel at redhat.com>
> > wrote:
> >
> > +1
> > 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 [7].
> > >
> > > Cheers,
> > > Simon
> > >
> > >
> > > Rationale:
> > >
> > > The trigger for the discussion was to get rid of boilerplate code
> > like
> > > this [0], [1] to handle batches in the stages API. This becomes a
> > > single line [2] when using an asynchronous generator [3]. 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[4]. Among them:
> > >
> > > - As said, async generators/async comprehensions. Async generators
> > are
> > > simpler to write and understand than async iterators.
> > >
> > > - String interpolation "f-Strings" [5]
> > >
> > > - 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 with
> > > them in 3.5 can be clumsy at times.
> > >
> > > - And of course: [6]
> > >
> > >
> > > 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.
> > >
> > >
> > >
> > > [0] [6]https://github.com/pulp/pulp/b
> > lob/631031e38270c5c7c2b2289ff4ab87a058447c5e/plugin/
> > pulpcore/plugin/stages/content_unit_stages.py#L47-L59
> > > [1] [7]https://github.com/pulp/pulp/b
> > lob/631031e38270c5c7c2b2289ff4ab87a058447c5e/plugin/
> > pulpcore/plugin/stages/artifact_stages.py#L48-L60
> > > [2] [8]https://github.com/gmbnomis/pu
> > lp_cookbook/blob/ca4882cecab16995c5713d27131da8112a5f5a0c/
> > pulp_cookbook/app/tasks/synchronizing.py#L98
> > > [3] [9]https://github.com/gmbnomis/pu
> > lp_cookbook/blob/d44ed593925b78c046e1b568810b15acbdad5ac4/
> > pulp_cookbook/app/tasks/synchronizing.py#L26
> > > [4] [10]https://docs.python.org/3/whatsnew/3.6.html
> > > [5] [11]https://docs.python.org/3/what
> > snew/3.6.html#pep-498-formatted-string-literals
> > > [6] [12]https://twitter.com/raymondh/status/844955415259463681
> > > [7] [13]https://pulp.plan.io/issues/3984
> > >
> > > _______________________________________________
> > > Pulp-dev mailing list
> > > [14]Pulp-dev at redhat.com
> > > [15]https://www.redhat.com/mailman/listinfo/pulp-dev
> > _______________________________________________
> > Pulp-dev mailing list
> > [16]Pulp-dev at redhat.com
> > [17]https://www.redhat.com/mailman/listinfo/pulp-dev
> >
> > _______________________________________________
> > Pulp-dev mailing list
> > [18]Pulp-dev at redhat.com
> > [19]https://www.redhat.com/mailman/listinfo/pulp-dev
> >
> > _______________________________________________
> > Pulp-dev mailing list
> > [20]Pulp-dev at redhat.com
> > [21]https://www.redhat.com/mailman/listinfo/pulp-dev
> >
> > References
> >
> > 1. https://pulp.plan.io/issues/4015
> > 2. https://pulp.plan.io/issues/4016
> > 3. mailto:ttereshc at redhat.com
> > 4. mailto:daviddavis at redhat.com
> > 5. mailto:jortel at redhat.com
> > 6. https://github.com/pulp/pulp/blob/631031e38270c5c7c2b2289ff4ab87
> a058447c5e/plugin/pulpcore/plugin/stages/content_unit_stages.py#L47-L59
> > 7. https://github.com/pulp/pulp/blob/631031e38270c5c7c2b2289ff4ab87
> a058447c5e/plugin/pulpcore/plugin/stages/artifact_stages.py#L48-L60
> > 8. https://github.com/gmbnomis/pulp_cookbook/blob/
> ca4882cecab16995c5713d27131da8112a5f5a0c/pulp_cookbook/app/
> tasks/synchronizing.py#L98
> > 9. https://github.com/gmbnomis/pulp_cookbook/blob/
> d44ed593925b78c046e1b568810b15acbdad5ac4/pulp_cookbook/app/
> tasks/synchronizing.py#L26
> > 10. https://docs.python.org/3/whatsnew/3.6.html
> > 11. https://docs.python.org/3/whatsnew/3.6.html#pep-498-
> formatted-string-literals
> > 12. https://twitter.com/raymondh/status/844955415259463681
> > 13. https://pulp.plan.io/issues/3984
> > 14. mailto:Pulp-dev at redhat.com
> > 15. https://www.redhat.com/mailman/listinfo/pulp-dev
> > 16. mailto:Pulp-dev at redhat.com
> > 17. https://www.redhat.com/mailman/listinfo/pulp-dev
> > 18. mailto:Pulp-dev at redhat.com
> > 19. https://www.redhat.com/mailman/listinfo/pulp-dev
> > 20. mailto:Pulp-dev at redhat.com
> > 21. https://www.redhat.com/mailman/listinfo/pulp-dev
>
> > _______________________________________________
> > Pulp-dev mailing list
> > Pulp-dev at redhat.com
> > https://www.redhat.com/mailman/listinfo/pulp-dev
>
>
> --
> Simon Baatz <gmbnomis at gmail.com>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pulp-dev/attachments/20180914/071098fd/attachment.htm>
More information about the Pulp-dev
mailing list