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

What min_sphinx for Python 3.10 #87009

Closed
JulienPalard opened this issue Jan 6, 2021 · 8 comments
Closed

What min_sphinx for Python 3.10 #87009

JulienPalard opened this issue Jan 6, 2021 · 8 comments
Assignees
Labels
3.10 only security fixes docs Documentation in the Doc dir

Comments

@JulienPalard
Copy link
Member

BPO 42843
Nosy @doko42, @vstinner, @JulienPalard, @corona10
PRs
  • bpo-42843: Doc: Bump Sphinx min-version (needed as we use :no-trim-doctest-flags:). #24142
  • bpo-42843: Keep Sphinx 1.8 and Sphinx 2 compatibility #24282
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = 'https://github.com/JulienPalard'
    closed_at = <Date 2021-01-25.14:47:16.517>
    created_at = <Date 2021-01-06.16:52:46.965>
    labels = ['invalid', '3.10', 'docs']
    title = 'What min_sphinx for Python 3.10'
    updated_at = <Date 2021-01-25.14:47:16.517>
    user = 'https://github.com/JulienPalard'

    bugs.python.org fields:

    activity = <Date 2021-01-25.14:47:16.517>
    actor = 'mdk'
    assignee = 'mdk'
    closed = True
    closed_date = <Date 2021-01-25.14:47:16.517>
    closer = 'mdk'
    components = ['Documentation']
    creation = <Date 2021-01-06.16:52:46.965>
    creator = 'mdk'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 42843
    keywords = ['patch']
    message_count = 8.0
    messages = ['384512', '384514', '384950', '384959', '384963', '384965', '385021', '385631']
    nosy_count = 4.0
    nosy_names = ['doko', 'vstinner', 'mdk', 'corona10']
    pr_nums = ['24142', '24282']
    priority = 'normal'
    resolution = 'not a bug'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = None
    url = 'https://bugs.python.org/issue42843'
    versions = ['Python 3.10']

    @JulienPalard
    Copy link
    Member Author

    According to 1 there's no concensus on which minimum Sphinx version we should use for Python 3.10.

    "sadly" since #23620 which make use of a Sphinx 3.2.0 only feature, we should bump it to 3.2, but it may not work for everybody.

    @JulienPalard JulienPalard self-assigned this Jan 6, 2021
    @JulienPalard JulienPalard added the docs Documentation in the Doc dir label Jan 6, 2021
    @JulienPalard JulienPalard self-assigned this Jan 6, 2021
    @JulienPalard JulienPalard added the docs Documentation in the Doc dir label Jan 6, 2021
    @JulienPalard
    Copy link
    Member Author

    In favor of Sphinx 3 only :

    In favor of keeping compatibility with Sphinx 2 :

    • Some distribs may want/need to ship Python 3.10 along with Sphinx 2?

    So I'm personally in favor of a full witch to Sphinx 3 with Python 3.10, but I'm open to hear everybody.

    @vstinner
    Copy link
    Member

    Some distribs may want/need to ship Python 3.10 along with Sphinx 2?

    In my experience, Linux distributions prefer to only ship a single Sphinx version. The question is more which Linux distributions are stuck at Sphinx 2 only?

    If there is a short list of Linux distributions which cannot use Sphinx 3, even just to build the Python documentation, would it be acceptable for them to stop shipping the Python documentation?

    In Fedora, the Python documentation is a separated package. For example, it allows us to upgrade Python while Fedora Rawhide was upgrade to Sphinx 3 but the Python documentation was not compatible with Sphinx 3 (fixed in bpo-40204).

    If you ask *me*: I mostly care about Fedora which already uses Sphinx 3.2, so I'm fine with requiring Sphinx 3.2 (the Python documentation is *not* compatible with Sphinx 3.0 and 3.1: see bpo-40204).

    If the minimum required Sphinx version changes, please document it properly at:
    https://docs.python.org/dev/whatsnew/3.10.html#build-changes

    @vstinner
    Copy link
    Member

    Ah, the issue is also being discussed in PR 24142 comments.

    @vstinner
    Copy link
    Member

    • Fedora 33 (stable) ships python3-sphinx 3.2.1-1 and python3.10 version 3.10.0~a3-1 (the alpha4 is under tests).
    • Debian Buster (stable) ships python3-sphinx 1.8.4-1 and python3 version 3.7.3-1
    • Debian Sid (unstable) ships python3-sphinx 3.4.3-1 and python3 version 3.9.1-1.
    • Ubuntu Groovy (stable) ships python3-sphinx 3.2.1-1 and python3 version 3.8.6-0ubuntu1
    • Ubuntu Hirsute (dev) ships python3-sphinx 3.3.1-1 and python3 version 3.9.0-3ubuntu1

    In this list, requiring Sphinx 3.2+ to build Python 3.10 documentation would only be an issue on Debian Buster.

    I didn't check Red Hat RHEL or SUSE SLE. If they want to ship Python 3.10 but only have an old Sphinx, they can either use a newer Sphinx to build the doc, or ship Python 3.10 with no doc (since it would not be the "system Python", it may be an acceptable tradeoff).

    @vstinner
    Copy link
    Member

    There is a PPA on Ubuntu for Python 3.10. The PPA maintainer considers the drop the documentation, see discussion at:
    #23620 (comment)

    @vstinner vstinner added 3.10 only security fixes labels Jan 12, 2021
    @doko42
    Copy link
    Member

    doko42 commented Jan 13, 2021

    Ubuntu 20.04 LTS still sees subminor Python 3.8 version updates, and needs to use sphinx 1.8.5.

    @JulienPalard
    Copy link
    Member Author

    New changeset 5c1f15b by Julien Palard in branch 'master':
    bpo-42843: Keep Sphinx 1.8 and Sphinx 2 compatibility (GH-24282)
    5c1f15b

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.10 only security fixes docs Documentation in the Doc dir
    Projects
    None yet
    Development

    No branches or pull requests

    3 participants