F38 proposal: Deprecate python-toml (Self-Contained Change proposal)

2022-10-06 Thread Ben Cotton
https://fedoraproject.org/wiki/Changes/DeprecatePythonToml

This document represents a proposed Change. As part of the Changes
process, proposals are publicly announced in order to receive
community feedback. This proposal will only be implemented if approved
by the Fedora Engineering Steering Committee.


== Summary ==
The {{package|python-toml}} (`python3-toml`) package will be
[https://docs.fedoraproject.org/en-US/packaging-guidelines/deprecating-packages/
deprecated] in [[Releases/38|Fedora 38]]. The
[https://pypi.org/project/toml/ upstream toml package] is considered
unmaintained (see [[#Detailed_Description|description]]) and Python
3.11 contains [https://peps.python.org/pep-0680/ a TOML-reading
library in the standard library]. Existing Fedora packages depend on
{{package|python-toml}}, so we cannot remove it yet. Packagers are
encouraged to work with upstreams to switch to
[https://peps.python.org/pep-0680/
tomllib]/[https://pypi.org/project/tomli/ tomli] for reading toml or
[https://pypi.org/project/tomli/ tomli-w] for writing it. But
{{package|python-toml}} remains available until it is a leaf package,
it will be removed then (possibly not yet in Fedora 38).

== Owner ==
* Name: [[User:Churchyard|Miro HronĨok]]
* Email: mhron...@redhat.com


== Detailed Description ==
The {{package|python-toml}} package is [https://pypi.org/project/toml/
unmaintained upstream]. It does not support the latest TOML standard
and no longer releases newer versions.

We'd like to drop it from Fedora, but several packages still require
it. Before we attempt to remove the package, we need to stop new
packages to (Build)Require `python3-toml`, hence we want to have it
[https://docs.fedoraproject.org/en-US/packaging-guidelines/deprecating-packages/
deprecated]. No new packages that require it may be added to Fedora
and existing packages may not gain new dependencies on it. Requiring
it only `if python3 < 3.11` or similar is allowed because python3 on
Fedora 38 is 3.11.

Packagers are encouraged to switch to an alternative TOML library with
upstream involvement. Downstream-only patches to switch are not
encouraged. Change owners recommend the following alternatives:

* Use the [https://docs.python.org/3.11/library/tomllib.html tomllib]
module from the standard library to read TOML with Python 3.11+.
* Use the {{package|python-tomli}} package to read TOML with an older
version of Python. The `tomllib` module has started as `tomli` and
they share the same API except for the module name.
* Use the {{package|python-tomli-w}} package to write TOML.

Note that repoquery gives many packages depending on
`python3-toml`:

 $ repoquery --repo=rawhide{,-source} --whatrequires python3-toml | wc -l
 443

This is because many packages BuildRequire `(python3dist(toml) if
python3-devel < 3.11)` due to {{package|pyproject-rpm-macros}}.

 $ repoquery --repo=rawhide{,-source} --whatrequires
'(python3dist(toml) if python3-devel < 3.11)' | wc -l
 413

The change owners don't know how to
[https://lists.fedoraproject.org/archives/list/de...@lists.fedoraproject.org/thread/3YA5AVHIM65FRSTLLISY5Y7KNGOS4KYA/
easily filter them out], but when filtered the hard way, this remains:

(Results from 2022-10-05, may contain false positives.)

 $ for pkg in $(repoquery --repo=rawhide{,-source} --whatrequires
python3-toml); do repoquery -q --repo=rawhide{,-source} --requires
$pkg | grep -Fv '(python3dist(toml) if python3-devel < 3.11)' | grep
-Eq '(\(|-)toml\b' && echo $pkg; done
 academic-admin-0:0.5.1-10.fc37.noarch
 academic-admin-0:0.5.1-10.fc37.src
 bandit-0:1.7.4-3.fc37.src
 bst-external-0:0.29.0-1.fc38.src
 cvc4-0:1.8-12.fc37.src
 fedora-license-data-0:1.5-1.fc38.src
 fedora-messaging-0:3.1.0-5.fc38.src
 gi-docgen-0:2022.1-7.fc38.noarch
 gi-docgen-0:2022.1-7.fc38.src
 jrnl-0:3.0-3.fc37.src
 micropipenv-0:1.4.2-1.fc37.noarch
 pre-commit-0:2.20.0-2.fc37.noarch
 pre-commit-0:2.20.0-2.fc37.src
 pylint-0:2.14.4-3.fc37.src
 python-anyconfig-0:0.13.0-3.fc37.src
 python-anymarkup-0:0.8.1-10.fc37.src
 python-anymarkup-core-0:0.8.1-9.fc37.src
 python-ast-monitor-0:0.2.1-1.fc38.src
 python-asttokens-0:2.0.8-1.fc38.src
 python-autopep8-0:1.6.0-5.fc37.src
 python-botocore-0:1.27.86-1.fc38.src
 python-box-0:6.0.2-1.fc38.src
 python-build-0:0.8.0-4.fc37.src
 python-check-manifest-0:0.48-3.fc37.src
 python-deepdiff-0:5.8.2-2.fc37.src
 python-devicely-0:1.1.1-3.fc37.src
 python-elpy-0:1.34.0-8.fc37.src
 python-exoscale-0:0.7.1-4.fc37.src
 python-fasjson-client-0:1.0.7-5.fc38.src
 python-fireflyalgorithm-0:0.3.2-2.fc37.src
 python-interrogate-0:1.5.0-4.fc37.src
 python-jsonpickle-0:2.2.0-4.fc37.src
 python-lsp-black-0:1.2.0-3.fc37.src
 python-matrix-nio-0:0.19.0-6.fc38.src
 python-molecule-podman-0:1.0.1-4.fc37.src
 python-neurom-0:3.1.0-5.fc37.src
 python-niaaml-0:1.1.11-1.fc38.src
 python-niaarm-0:0.2.1-2.fc38.src
 python-niaclass-0:0.1.2-8.fc37.src
 python-nikola-0:8.2.2-4.fc37.src
 python-pendulum-0:2.1.2-8.fc37.src
 python-podman-3:4.2.0-7.fc38.src
 python-pyedflib-

Fedora Linux 37 Final Go/No-Go meeting next week

2022-10-06 Thread Ben Cotton
The Fedora Linux 37 Final Go/No-Go[1] meeting is scheduled for
Thursday 13 October at 1700 UTC in #fedora-meeting. At this time, we
will determine the status of the F37 Final for the 18 October early
target date[2]. For more information about the Go/No-Go meeting, see
the wiki[3].

Currently, we have 9 accepted and 7 proposed release blocker bugs[4].

[1] https://calendar.fedoraproject.org/meeting/10352/
[2] https://fedorapeople.org/groups/schedule/f-37/f-37-key-tasks.html
[3] https://fedoraproject.org/wiki/Go_No_Go_Meeting
[4] https://qa.fedoraproject.org/blockerbugs/milestone/37/final/buglist

-- 
Ben Cotton
He / Him / His
Fedora Program Manager
Red Hat
TZ=America/Indiana/Indianapolis
___
devel-announce mailing list -- devel-announce@lists.fedoraproject.org
To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue