= Proposed System Wide Change: Python 3.7 =
* Charalampos Stratakis <cstratak at fedoraproject dot org>
* Miro Hrončok <churchyard at fedoraproject dot org>
* Tomáš Orsava <torsava at fedoraproject dot org>
* Petr Viktorin <pviktori at fedoraproject dot org>
Update the Python 3 stack in Fedora from Python 3.6 to Python 3.7.
== Detailed description ==
Python 3.7 adds numerous features and optimizations. See the upstream
notes at https://www.python.org/dev/peps/pep-0537/#features-for-3-7
=== Important dates ===
* 2018-05-21 Python 3.7.0 candidate 1
* 2018-06-04 Python 3.7.0 candidate 2 (if necessary)
* 2018-06-15 Python 3.7.0 final
* 2018-07-11 Fedora 29 Mass Rebuild
* 2018-08-14 Fedora 29 Change Checkpoint: Completion deadline (testable)
=== PEP 552 – Deterministic pycs ===
One change is notable from the packaging viewpoint:
– “Deterministic pycs”. We
may decide to use the new UNCHECKED_HASH mode, which would mean that
bytecode cache is not validated on import, i.e. changing a
RPM-installed *.py file manually will have no effect (unless the
corresponding __pycache__/*.pyc is updated or removed).
== Scope ==
We will coordinate the work in a side tag and merge when ready.
* Proposal owners:
*# Retire python37 from F29+
*# Update python3 to what was in python37
*#* Mass rebuild all the packages that BR python3/python3-devel...
(~2300 listed in [http://fedora.portingdb.xyz/
Python 3 Porting
Database for Fedora])
*# Reintroduce python36 from Fedora 25. Update it to have all fixes
and enhancements from python3 in Fedora 28 (or 29 before this change)
* Other developers:
Maintainers of packages that fail to rebuild during the mass rebuild
will be asked, using bugzilla, to fix or remove their packages from
the distribution. If any issues appear, they should be solvable either
by communicating with upstreams first and/or applying downstream
patches. Also the package maintainers should have a look at:
And python-maint team will be available to help with fixing issues.
* Fedora QA:
Based on some troubles with the
, we'd like to have
an ack from QA before we merge the side tag.
* Release engineering:
A targeted rebuild for all python packages will be required, before
the mass rebuild.
** List of deliverables:
* Policies and guidelines:
* Trademark approval:
Platform & Fedora Program Manager
Red Hat Czech s.r.o., Purkynova 99/71, 612 45 Brno, Czech Republic