Fedora 33 Self-Contained Change proposal: Deprecate python-pytoml

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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-packages/
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@xxxxxxxxxx


== 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-packages/
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@xxxxxxxxxxxxxxxxxxxxxxx/message/MOAHRKMZRFNR34WHPICHCP6MR3IWY4FW/
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
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux