Skip to content

Conversation

@j-n-c
Copy link
Contributor

@j-n-c j-n-c commented Oct 18, 2022

What this PR does / why we need it:

Add support for building Sphynx guides using Python 3.10+

Which issue(s) this PR closes:

Special notes for your reviewer:

Tested Sphynx version 5.3.0 with Python 3.9.7 and the docs were built successfully. However, chose to add rules for Python >= 3.10 and < 3.10 to ensure backward compatibility

Suggestions on how to test this:

  • Install Sphynx requirements while using Python 3.9.x and build guides: Sphynx version 3.5.4 should be installed and build should be successful
  • Install Sphynx requirements while using Python 3.10.x and build guides: Sphynx version 5.3.0 should be installed and build should be successful

@pdurbin pdurbin changed the title #9074 - Added support for building sphynx docs using python 3.10+ #9074 - Added support for building sphinx docs using python 3.10+ Oct 23, 2022
@mreekie mreekie added the bk2211 label Nov 1, 2022
@pdurbin pdurbin added the Size: 3 A percentage of a sprint. 2.1 hours. label Dec 2, 2022
@pdurbin
Copy link
Member

pdurbin commented Dec 12, 2022

@donsizemore and I discussed this. The main wrinkle is that https://guides.dataverse.org is built by Jenkins worker notes running Rocky 8 which offers Python 3.9 (not 3.10 or newer). So we'll stick with Python 3.9 for the guides for now.

This means that devs should also stick with Python 3.9 for now. And they should stick with the same version of Sphinx (3.5.4) used in production.

That said, this PR allows developers to use Python 3.10 if they must. It also means they will be using a newer version of Sphinx (5.3.0). However, the older version of Sphinx that matches what is used in production should be preferred.

For now I think we can explain all this in requirements.txt as a comment. That is, a small update to this PR. I'd say it would be nice to mention how Python 3.9 is preferred here as well: https://guides.dataverse.org/en/5.12.1/developers/documentation.html#building-the-guides-with-sphinx

@j-n-c if you feel like doing this, please go ahead. If not someone can jump on your branch (assuming you allow us to push) and make these small doc changes.

@mreekie
Copy link

mreekie commented Dec 14, 2022

added to sprint Dec 15, 2022

@pdurbin pdurbin self-assigned this Dec 16, 2022
Copy link
Member

@pdurbin pdurbin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@j-n-c I left your fix in place (thanks!) but rewrote the comment to ask developers to use the same version of Sphinx that we use to build the production guides (which necessitates Python 3.9 or lower).

@kcondon for even a bit more context you can check out the post from @j-n-c to https://groups.google.com/g/dataverse-dev/c/fJ5U8mPyJ8U/m/lADDZVkBAgAJ

If you can still build the guides and it's still using Sphinx 3.5.4, we're good.

@pdurbin pdurbin removed their assignment Dec 16, 2022
@kcondon kcondon self-assigned this Dec 16, 2022
@kcondon kcondon merged commit 2be92f3 into IQSS:develop Dec 16, 2022
@pdurbin pdurbin added this to the 5.13 milestone Dec 16, 2022
@cmbz cmbz added the FY26 Sprint 4 FY26 Sprint 4 (2025-08-13 - 2025-08-27) label Aug 16, 2025
@cmbz cmbz added FY26 Sprint 14 FY26 Sprint 14 (2025-12-31 - 2026-01-14) and removed FY26 Sprint 14 FY26 Sprint 14 (2025-12-31 - 2026-01-14) labels Jan 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

FY26 Sprint 4 FY26 Sprint 4 (2025-08-13 - 2025-08-27) Size: 3 A percentage of a sprint. 2.1 hours.

Projects

Status: No status
Status: Valuation

Development

Successfully merging this pull request may close these issues.

Currently defined Sphinx version (3.5.4) doesn't support python 3.10

5 participants