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][email protected]> wrote: > > Big +1 > Tanya > > On Wed, Sep 12, 2018 at 4:50 PM, David Davis <[4][email protected]> > wrote: > > +1 > David > > On Tue, Sep 11, 2018 at 10:35 AM Jeff Ortel <[5][email protected]> > 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][email protected] > > [15]https://www.redhat.com/mailman/listinfo/pulp-dev > _______________________________________________ > Pulp-dev mailing list > [16][email protected] > [17]https://www.redhat.com/mailman/listinfo/pulp-dev > > _______________________________________________ > Pulp-dev mailing list > [18][email protected] > [19]https://www.redhat.com/mailman/listinfo/pulp-dev > > _______________________________________________ > Pulp-dev mailing list > [20][email protected] > [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:[email protected] > 4. mailto:[email protected] > 5. mailto:[email protected] > 6. > https://github.com/pulp/pulp/blob/631031e38270c5c7c2b2289ff4ab87a058447c5e/plugin/pulpcore/plugin/stages/content_unit_stages.py#L47-L59 > 7. > https://github.com/pulp/pulp/blob/631031e38270c5c7c2b2289ff4ab87a058447c5e/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:[email protected] > 15. https://www.redhat.com/mailman/listinfo/pulp-dev > 16. mailto:[email protected] > 17. https://www.redhat.com/mailman/listinfo/pulp-dev > 18. mailto:[email protected] > 19. https://www.redhat.com/mailman/listinfo/pulp-dev > 20. mailto:[email protected] > 21. https://www.redhat.com/mailman/listinfo/pulp-dev > _______________________________________________ > Pulp-dev mailing list > [email protected] > https://www.redhat.com/mailman/listinfo/pulp-dev -- Simon Baatz <[email protected]> _______________________________________________ Pulp-dev mailing list [email protected] https://www.redhat.com/mailman/listinfo/pulp-dev
