Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Increase minimum supported Sphinx to 7.2.6 #125277

Closed
AA-Turner opened this issue Oct 10, 2024 · 9 comments
Closed

Increase minimum supported Sphinx to 7.2.6 #125277

AA-Turner opened this issue Oct 10, 2024 · 9 comments
Labels
docs Documentation in the Doc dir

Comments

@AA-Turner
Copy link
Member

AA-Turner commented Oct 10, 2024

Documentation

Python 3.13 has been released, so I looked to review the minimum Sphinx version.

Using the same survey as #109209 (comment) and #117928:

Distro CPython Sphinx
Debian 13 Trixie (testing) 3.12.6 7.4.7
Debian Sid (unstable) 3.12.6 7.4.7
Debian (experimental) 3.12.6 N/A
Fedora 39 (EOL 12/11/2024) 3.12.6 6.2.1
Fedora 40 3.12.6 7.2.6
Fedora 41 3.13.0 7.3.7
Fedora rawhide 3.13.0 7.3.7
Gentoo N/A N/A
openSUSE Leap   8.0.2
openSUSE Tumbleweed   8.0.2
RHEL N/A N/A
Minimum Sphinx version for 3.12 3.12 7.2.6

† The blocker to updating is Fedora 39, which is end-of-life in a month's time. cc @hroncok -- would you prefer we wait until November until the actual EOL date?

Sphinx 7.2 has support for documenting generic classes and :no-typesetting:. Sadly .. py:type:: is new in Sphinx 7.4, so we need to wait for Fedora 40's end-of-life (13 May 2025) to use it.

References:

cc:

Linked PRs

@AA-Turner AA-Turner added the docs Documentation in the Doc dir label Oct 10, 2024
@hroncok
Copy link
Contributor

hroncok commented Oct 10, 2024

  • Python 3.12.8 is planned for 2024-12-03.
  • Fedora 39 end of life is planned for 2024-11-19.

I can accept that chance. In the unlikely event Python 3.12.8 is released before Fedora 39 goes EOL, if the documentation no longer builds with Sphinx 6.2.1, we'll ship that last update without updating the docs.

ack, do it

@danigm
Copy link

danigm commented Oct 11, 2024

cc @mcepl / openSUSE

@mcepl
Copy link
Contributor

mcepl commented Oct 12, 2024

openSUSE Leap 8.0.2

This is not correct, for the general Python packages we need to use Python 3.6-based Sphinx, which is currently 4.2.0 at best.

@danigm Any thoughts on what to do with this? Porting some recent Sphinx to 3.6?

@mgorny
Copy link
Contributor

mgorny commented Oct 12, 2024

Gentoo's oldest is 7.4.7, and I suppose we'll remove that sooner than later (the next oldest is 8.0.2).

@AA-Turner
Copy link
Member Author

@mcepl apologies -- I looked here, which shows:

image

Previously, @danigm said:

So for future releases we can just use this modern version of Sphinx to build the python interpreter documentation.

So in this specific case, you can forget about the old 4.2.0 version and it should be okay to set the minimum supported Sphinx to 6.2.1. Shouldn't be a problem in openSUSE.

Note that this change will be for Python 3.12+, older branches will keep their current minimum-supported versions.

A

@mcepl
Copy link
Contributor

mcepl commented Oct 13, 2024

@mcepl apologies -- I looked here, which shows:

Yeah, it is confusing. The problem is (I believe my Red Hat colleagues can sympathize), that we have promised to keep API for the whole length of SLE-15 life (GA was 2018-06-25), and nobody thought that we will have to maintain Python 3.6 for howevermany years we will support SLE-15. We will have to make some internal-only closed solution, but so far it was enough just to patch out any incompatible features of documentation. I guess, we are now on the brink of the need to do something more drastic.

@AA-Turner
Copy link
Member Author

Thank you for the helpful background context, I don't envy you in needing to maintain Python 3.6 for nearly 7 years now...

In terms of this issue, our minimum supported Sphinx version currently requires Python 3.8+ (the last version supporting Python 3.6 was v5.3), so per Daniel Garcia's previous comments I think we should be alright to update the minimum supported version here in CPython.

I'll hold off until Monday before merging the PR, though if it causes problems we can always undo it later.

A

@danigm
Copy link

danigm commented Oct 14, 2024

openSUSE Leap 8.0.2

This is not correct, for the general Python packages we need to use Python 3.6-based Sphinx, which is currently 4.2.0 at best.

@danigm Any thoughts on what to do with this? Porting some recent Sphinx to 3.6?

We can build modern python in SLE-15 / Leap using the Sphinx 7.2.6 that we've right now in the python 3.11 stack. Indeed this is what I'm doing to be able to build python 3.13 for SLE-15-SP7, so I think that this change for python 3.12+ is not a big deal for us.

@mcepl
Copy link
Contributor

mcepl commented Oct 14, 2024

We can build modern python in SLE-15 / Leap using the Sphinx 7.2.6 that we've right now in the python 3.11 stack. Indeed this is what I'm doing to be able to build python 3.13 for SLE-15-SP7, so I think that this change for python 3.12+ is not a big deal for us.

If it works, then we are saved!

miss-islington pushed a commit to miss-islington/cpython that referenced this issue Oct 19, 2024
miss-islington pushed a commit to miss-islington/cpython that referenced this issue Oct 19, 2024
hugovk added a commit to hugovk/cpython that referenced this issue Oct 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs Documentation in the Doc dir
Projects
None yet
Development

No branches or pull requests

5 participants