https://fedoraproject.org/wiki/Changes/DeprecatePytoml
== Summary ==
The {{package|python-pytoml}} ({{package|python3-pytoml}}) package
will be [
https://docs.fedoraproject.org/en-US/packaging-guidelines/deprecating-pac...
deprecated] in [[Releases/33|Fedora 33]]. Pytoml is deprecated
upstream in favor of [
https://pypi.org/project/toml/ toml]
({{package|python-toml}}), but existing Fedora packages depend on it,
so we cannot remove it yet. Packagers are encouraged to work with
upstream to switch to {{package|python-toml}}, but
{{package|python-pytoml}} remains available until it is a leaf
package, it will be removed then (possibly not yet in Fedora 33).
== Owner ==
* Name: [[User:Churchyard|Miro HronĨok]]
* Email: mhroncok(a)redhat.com
== Detailed Description ==
The {{package|python-pytoml}} package is
[
https://pypi.org/project/pytoml/ deprecated upstream]:
The pytoml project is no longer being actively maintained. Consider
using the [
https://pypi.org/project/toml/ toml] package instead.
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 {{package|python3-pytoml}}, hence we want
to have it
[
https://docs.fedoraproject.org/en-US/packaging-guidelines/deprecating-pac...
deprecated].
Packagers are encouraged to switch to {{package|python3-toml}} with
upstream involvement. Downstream patches to switch from pytoml to toml
are not encouraged.
Note that <code>repoquery</code> gives many packages that BuildRequire
{{package|python3-toml}}:
$ repoquery --repo=rawhide{,-source} --whatrequires python3-pytoml
ilua-0:0.2.1-1.fc33.src
pyproject-rpm-macros-0:0-15.fc33.noarch
pyproject-rpm-macros-0:0-15.fc33.src
python-black-0:19.10~b0-3.fc33.src
python-chaospy-0:3.2.12-1.fc33.src
python-copr-0:1.102-1.fc33.src
python-decopatch-0:1.4.6-3.fc33.src
python-elementpath-0:1.4.0-4.fc33.src
python-flit-0:2.3.0-3.fc33.src
python-latexcodec-0:2.0.1-1.fc33.src
python-makefun-0:1.6.11-3.fc33.src
python-numpoly-0:0.2.3-2.fc33.src
python-openqa_client-0:4.1.0-2.fc33.src
python-pint-0:0.13-1.fc33~bootstrap.src
python-pybtex-docutils-0:0.2.2-4.fc33.src
python-pytest-cases-0:1.11.1-3.fc33.src
python-pytest-harvest-0:1.7.2-3.fc33.src
python-pytest-steps-0:1.7.2-2.fc33.src
python-readthedocs-sphinx-ext-0:2.0.0-1.fc33.src
python-requests-download-0:0.1.2-3.fc33.src
python-sphinx-copybutton-0:0.2.12-1.fc33.src
python-sphinxcontrib-bibtex-0:1.0.0-4.fc33.src
python-wikitcms-0:2.6.3-2.fc33.src
python-xmlschema-0:1.0.18-3.fc33.src
python-xmlsec-0:1.3.8-1.fc33.src
python3-flit-0:2.3.0-3.fc33.noarch
python3-flit-core-0:2.3.0-3.fc33.noarch
But many of them are only there because the dependency was generated
by {{package|pyproject-rpm-macros}} BuildRequires generator which was
since already updated to use {{package|python3-toml}}. When rebuilt
with updated {{package|pyproject-rpm-macros}}, the dependency will be
replaced with {{package|python3-toml}}.
$ repoquery --repo=rawhide{,-source} --whatrequires pyproject-rpm-macros
ansible-lint-0:4.2.0-4.fc33.src
ilua-0:0.2.1-1.fc33.src
python-PyGithub-0:1.51-2.fc33.src
python-black-0:19.10~b0-3.fc33.src
python-chaospy-0:3.2.12-1.fc33.src
python-copr-0:1.102-1.fc33.src
python-decopatch-0:1.4.6-3.fc33.src
python-elementpath-0:1.4.0-4.fc33.src
python-latexcodec-0:2.0.1-1.fc33.src
python-makefun-0:1.6.11-3.fc33.src
python-numpoly-0:0.2.3-2.fc33.src
python-openqa_client-0:4.1.0-2.fc33.src
python-pep517-0:0.7.0-4.fc33.src
python-pint-0:0.13-1.fc33~bootstrap.src
python-pybtex-docutils-0:0.2.2-4.fc33.src
python-pytest-cases-0:1.11.1-3.fc33.src
python-pytest-harvest-0:1.7.2-3.fc33.src
python-pytest-steps-0:1.7.2-2.fc33.src
python-readthedocs-sphinx-ext-0:2.0.0-1.fc33.src
python-requests-download-0:0.1.2-3.fc33.src
python-sphinx-copybutton-0:0.2.12-1.fc33.src
python-sphinxcontrib-bibtex-0:1.0.0-4.fc33.src
python-tox-current-env-0:0.0.2-5.fc33.src
python-wikitcms-0:2.6.3-2.fc33.src
python-xmlschema-0:1.0.18-3.fc33.src
python-xmlsec-0:1.3.8-1.fc33.src
The only really affected package is {{package|python-flit}}. Upstream
already discusses the transition:
https://github.com/takluyver/flit/issues/255
Once all dependencies are removed, we plan to retire
{{package|python-pytoml}}, whether it will be in Fedora 33 or later.
== Feedback ==
The intent was announced at
https://lists.fedoraproject.org/archives/list/python-devel@lists.fedorapr...
but there was no feedback. The primary point of contact for the
{{package|python-pytoml}} and {{package|python-toml}} packages is on
board.
== Benefit to Fedora ==
An upstream deprecated package will not be depended upon by new packages.
== Scope ==
* Proposal owners: Deprecate {{package|python3-pytoml}}. Work with
flit upstream to make the transition as well. Once the dependency is
removed from flit, rebuild remaining packages using
{{package|pyproject-rpm-macros}} and retire {{package|python-pytoml}}
(possibly later than Fedora 33).
* Other developers: No action needed. Don't add new dependencies on
{{package|python3-pytoml}}.
* Release engineering: N/A (not a System Wide Change)
* Policies and guidelines: N/A
* Trademark approval: N/A
== Upgrade/compatibility impact ==
The package will remain available. Only new packages cannot depend on it.
Once retired, we don't plan to provide <code>python3-pytoml</code>
from {{package|python3-toml}}, because it cannot work as drop-in
replacement (the Python module has a different name). The package will
eventually be obsoleted by {{package|fedora-obsolete-packages}} once
Python is updated to 3.10 to avoid broken upgrades.
== How To Test ==
$ repoquery --repo=rawhide --provides python3-pytoml
...
deprecated()
...
== User Experience ==
No changes.
== Dependencies ==
N/A (not a System Wide Change)
== Documentation ==
N/A (not a System Wide Change)
--
Ben Cotton
He / Him / His
Senior Program Manager, Fedora & CentOS Stream
Red Hat
TZ=America/Indiana/Indianapolis