Task #3984
Remove Python 3.5 Support
100%
Description
Problem¶
Async generators are an elegant way to write async data producers (just like synchronous generators for the sync case). Since the repo sync pipeline is fully asynchronous now, they can help to express concepts more elegantly (see e.g. [2] for a stage implementation).
However, async generators were introduced in Python 3.6 and are not available in Python 3.5.
Additional benefits of Python 3.6+ are:
- 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]
OS/distribution support¶
- 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.
Proposal¶
Remove Python 3.5 from Travis tests and require Python 3.6+ in the Python modules & documentation. For pulp/devel 3.6 is the current default version already.
[2] https://github.com/gmbnomis/pulp_cookbook/blob/d44ed593925b78c046e1b568810b15acbdad5ac4/pulp_cookbook/app/tasks/synchronizing.py#L98
[5] https://docs.python.org/3/whatsnew/3.6.html#pep-498-formatted-string-literals
[6] https://twitter.com/raymondh/status/844955415259463681
Related issues
Associated revisions
Revision 13fd95d2
View on GitHub
Remove Python 3.5 support
Revision 4a69b3b8
View on GitHub
Remove Python 3.5 support
Revision f2f675bc
View on GitHub
Remove Python 3.5 support
Revision f2f675bc
View on GitHub
Remove Python 3.5 support
Revision f2f675bc
View on GitHub
Remove Python 3.5 support
Revision f2f675bc
View on GitHub
Remove Python 3.5 support
Revision c1c27416
View on GitHub
Remove Python 3.5 support
Revision e3616e56
View on GitHub
Remove Python 3.5 support
Revision 11c2a99d
View on GitHub
Remove Python 3.5 support
Revision 11c2a99d
View on GitHub
Remove Python 3.5 support
History
#1
Updated by dkliban@redhat.com over 2 years ago
- Tracker changed from Issue to Task
- % Done set to 0
#2
Updated by bmbouter over 2 years ago
- Has duplicate Task #4015: Switch Pulp3 to use Python 3.6 as its base version added
#3
Updated by dalley over 2 years ago
- Status changed from NEW to ASSIGNED
- Assignee set to dalley
#4
Updated by dalley over 2 years ago
- Status changed from ASSIGNED to POST
#5
Updated by dalley over 2 years ago
- Status changed from POST to MODIFIED
- % Done changed from 0 to 100
Applied in changeset pulp|11c2a99db654fd6e23d7b4d4b80b8c7ffaef3c76.
#6
Updated by daviddavis almost 2 years ago
- Sprint/Milestone set to 3.0.0
#7
Updated by bmbouter over 1 year ago
- Tags deleted (
Pulp 3)
#8
Updated by bmbouter about 1 year ago
- Status changed from MODIFIED to CLOSED - CURRENTRELEASE
Please register to edit this issue
Remove Python 3.5 support
re #3984 https://pulp.plan.io/issues/3984