Skip to content

What min_sphinx for Python 3.10 #87009

Description

@JulienPalard
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']

    Activity

    1. JulienPalard commented on Jan 6, 2021

      @JulienPalard
      MemberAuthor

      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.

    2. self-assigned this
      on Jan 6, 2021
    3. self-assigned this
      on Jan 6, 2021
    4. JulienPalard commented on Jan 6, 2021

      @JulienPalard
      MemberAuthor

      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.

    5. vstinner commented on Jan 12, 2021

      @vstinner
      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

    6. vstinner commented on Jan 12, 2021

      @vstinner
      Member

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

    7. vstinner commented on Jan 12, 2021

      @vstinner
      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).

    8. vstinner commented on Jan 12, 2021

      @vstinner
      Member

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

    9. doko42 commented on Jan 13, 2021

      @doko42
      Member

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

    10. JulienPalard commented on Jan 25, 2021

      @JulienPalard
      MemberAuthor

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

    11. transferred this issue fromon Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Assignees

    Labels

    3.10 (EOL)end of lifedocsDocumentation in the Doc dir

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions