[Pulp-dev] Proposal to drop support of Python 3.5 for Pulp 3

Dana Walker dawalker at redhat.com
Fri Sep 7 15:44:54 UTC 2018


Ok, cool, thanks for the clarification.

Dana Walker

Associate Software Engineer

Red Hat

<https://www.redhat.com>
<https://red.ht/sig>

On Fri, Sep 7, 2018 at 11:16 AM, Dennis Kliban <dkliban at redhat.com> wrote:

> I am +1 on this also.
>
>
> On Fri, Sep 7, 2018 at 10:29 AM, Dana Walker <dawalker at redhat.com> wrote:
>
>> This sounds like a great idea.  +1
>>
>> My only hesitation would be if this hurts a significant portion of
>> users.  Do we know how many users use older versions of Ubuntu or Debian
>> that this would impact?  Any other groups we might not have considered yet?
>>
>>
> Right now no one is able to run Pulp 2 on Ubuntu. Ubuntu users will be
> able to install Python 3.6 and run Pulp 3. After May 2019, Ubuntu users
> will be able to skip installing Python 3.6 because it will already be
> installed.
>
>
>
>
>> Dana Walker
>>
>> Associate Software Engineer
>>
>> Red Hat
>>
>> <https://www.redhat.com>
>> <https://red.ht/sig>
>>
>> On Fri, Sep 7, 2018 at 8:50 AM, Brian Bouterse <bbouters at redhat.com>
>> wrote:
>>
>>> I'm also +1 on this for the various reasons. Even with the portability
>>> downsides. Also, practically speaking, the batch code is legit, and it will
>>> benfit the stages code a lot.
>>>
>>> On Fri, Sep 7, 2018 at 8:17 AM, Daniel Alley <dalley at redhat.com> wrote:
>>>
>>>> Personally, +1.  I ran into this issue myself and it was infuriating to
>>>> deal with.
>>>>
>>>> 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.
>>>>>
>>>>
>>>> Just to expand on this though:
>>>>
>>>> For Ubuntu, it is part of 18.04 LTS. Debian does not have Python 3.6 in
>>>>> stable yet.
>>>>>
>>>>
>>>> It does mean that we won't be able to support Ubuntu 16.04 (or
>>>> previous) or Debian at all until the next release (~May 2019), unless they
>>>> install a newer Python themselves.
>>>>
>>>> On Fri, Sep 7, 2018 at 2:09 AM, Simon Baatz <gmbnomis at gmail.com> 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] https://github.com/pulp/pulp/blob/631031e38270c5c7c2b2289ff4
>>>>> ab87a058447c5e/plugin/pulpcore/plugin/stages/content_unit_st
>>>>> ages.py#L47-L59
>>>>> [1] https://github.com/pulp/pulp/blob/631031e38270c5c7c2b2289ff4
>>>>> ab87a058447c5e/plugin/pulpcore/plugin/stages/artifact_stages
>>>>> .py#L48-L60
>>>>> [2] https://github.com/gmbnomis/pulp_cookbook/blob/ca4882cecab16
>>>>> 995c5713d27131da8112a5f5a0c/pulp_cookbook/app/tasks/synchron
>>>>> izing.py#L98
>>>>> [3] https://github.com/gmbnomis/pulp_cookbook/blob/d44ed593925b7
>>>>> 8c046e1b568810b15acbdad5ac4/pulp_cookbook/app/tasks/synchron
>>>>> izing.py#L26
>>>>> [4] https://docs.python.org/3/whatsnew/3.6.html
>>>>> [5] https://docs.python.org/3/whatsnew/3.6.html#pep-498-formatte
>>>>> d-string-literals
>>>>> [6] https://twitter.com/raymondh/status/844955415259463681
>>>>> [7] 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
>>>> 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
>>>
>>>
>>
>> _______________________________________________
>> Pulp-dev mailing list
>> Pulp-dev at redhat.com
>> https://www.redhat.com/mailman/listinfo/pulp-dev
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pulp-dev/attachments/20180907/ba548ee8/attachment.htm>


More information about the Pulp-dev mailing list