This is an automated email from the ASF dual-hosted git repository.
gaogaotiantian pushed a commit to branch branch-4.x
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/branch-4.x by this push:
new d46c684e8082 [SPARK-57911][DOC] Upgrade sphinx version to 8.2.3
d46c684e8082 is described below
commit d46c684e808276509d6e0786c3f0db32be75d12f
Author: Tian Gao <[email protected]>
AuthorDate: Mon Jul 6 18:10:50 2026 -0700
[SPARK-57911][DOC] Upgrade sphinx version to 8.2.3
### What changes were proposed in this pull request?
Upgrade sphinx version to 8.2.3
### Why are the changes needed?
The current 4.5.0 is too old (2022). We had to pin some extension versions
to make it work. We should upgrade util tools from time to time.
### Does this PR introduce _any_ user-facing change?
No. Sphinx is only used to generate our docs. Our users do not use it at
all.
### How was this patch tested?
CI.
### Was this patch authored or co-authored using generative AI tooling?
No.
Closes #56980 from gaogaotiantian/upgrade-sphinx.
Authored-by: Tian Gao <[email protected]>
Signed-off-by: Tian Gao <[email protected]>
(cherry picked from commit 0fea5ee6d6f43dfe252561d429cb1dd9e45935f7)
Signed-off-by: Tian Gao <[email protected]>
---
.github/workflows/pages.yml | 5 ++---
dev/create-release/spark-rm/Dockerfile | 12 ++++--------
dev/requirements.txt | 11 ++---------
dev/spark-test-image/docs/Dockerfile | 6 ++----
4 files changed, 10 insertions(+), 24 deletions(-)
diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml
index 6130d0271770..3fb1595aa48b 100644
--- a/.github/workflows/pages.yml
+++ b/.github/workflows/pages.yml
@@ -60,11 +60,10 @@ jobs:
cache: 'pip'
- name: Install Python dependencies
run: |
- pip install 'sphinx==4.5.0' mkdocs 'pydata_sphinx_theme>=0.13'
sphinx-copybutton nbsphinx numpydoc jinja2 markupsafe 'pyzmq<24.0.0' \
- ipython ipython_genutils sphinx_plotly_directive 'numpy>=1.23.2'
pyarrow 'pandas==2.3.3' 'plotly>=4.8' 'docutils<0.18.0' \
+ pip install 'sphinx==8.2.3' mkdocs 'pydata_sphinx_theme>=0.13'
sphinx-copybutton nbsphinx numpydoc jinja2 markupsafe 'pyzmq<24.0.0' \
+ ipython ipython_genutils sphinx_plotly_directive 'numpy>=1.23.2'
pyarrow 'pandas==2.3.3' 'plotly>=4.8' 'docutils' \
'flake8==3.9.0' 'mypy==1.8.0' 'pytest==7.1.3'
'pytest-mypy-plugins==1.9.3' 'ruff==0.14.8' \
'pandas-stubs==1.2.0.53' 'grpcio==1.76.0' 'grpcio-status==1.76.0'
'protobuf==6.33.5' 'grpc-stubs==1.24.11'
'googleapis-common-protos-stubs==2.2.0' \
- 'sphinxcontrib-applehelp==1.0.4' 'sphinxcontrib-devhelp==1.0.2'
'sphinxcontrib-htmlhelp==2.0.1' 'sphinxcontrib-qthelp==1.0.3'
'sphinxcontrib-serializinghtml==1.1.5'
- name: Install Ruby for documentation generation
uses: ruby/setup-ruby@4dc28cf14d77b0afa6832d9765ac422dbf0dfedd # v1
with:
diff --git a/dev/create-release/spark-rm/Dockerfile
b/dev/create-release/spark-rm/Dockerfile
index d40e9de45741..c9bf486707dc 100644
--- a/dev/create-release/spark-rm/Dockerfile
+++ b/dev/create-release/spark-rm/Dockerfile
@@ -55,17 +55,13 @@ RUN python3.11 -m pip install --ignore-installed
'blinker>=1.6.2' && \
python3.11 -m pip cache purge
# Sphinx and documentation packages
-# Should unpin 'sphinxcontrib-*' after upgrading sphinx>5
-# See 'ipython_genutils' in SPARK-38517, 'docutils<0.18.0' in SPARK-39421
-RUN python3.11 -m pip install 'sphinx==4.5.0' mkdocs
'pydata_sphinx_theme>=0.13' \
+# See 'ipython_genutils' in SPARK-38517, 'docutils' in SPARK-39421
+RUN python3.11 -m pip install 'sphinx==8.2.3' mkdocs
'pydata_sphinx_theme>=0.13' \
sphinx-copybutton nbsphinx numpydoc jinja2 markupsafe 'pyzmq<24.0.0' \
ipython ipython_genutils sphinx_plotly_directive 'numpy>=1.23.2' pyarrow
pandas \
- 'plotly>=4.8' 'docutils<0.18.0' 'flake8==3.9.0' 'mypy==1.19.1'
'pytest==7.1.3' \
+ 'plotly>=4.8' 'docutils' 'flake8==3.9.0' 'mypy==1.19.1' 'pytest==7.1.3' \
'pytest-mypy-plugins==1.9.3' 'ruff==0.14.8' 'pandas-stubs==1.2.0.53' \
- 'grpcio==1.76.0' 'grpc-stubs==1.24.11'
'googleapis-common-protos-stubs==2.2.0' \
- 'sphinxcontrib-applehelp==1.0.4' 'sphinxcontrib-devhelp==1.0.2' \
- 'sphinxcontrib-htmlhelp==2.0.1' 'sphinxcontrib-qthelp==1.0.3' \
- 'sphinxcontrib-serializinghtml==1.1.5'
+ 'grpcio==1.76.0' 'grpc-stubs==1.24.11'
'googleapis-common-protos-stubs==2.2.0'
# Set Python 3.11 as the default
RUN ln -sf "$(which python3.11)" "/usr/local/bin/python" && \
diff --git a/dev/requirements.txt b/dev/requirements.txt
index 759045fd4ac9..5e99abf1e34c 100644
--- a/dev/requirements.txt
+++ b/dev/requirements.txt
@@ -45,17 +45,10 @@ ipython
nbsphinx
numpydoc
jinja2
-sphinx==4.5.0
-# With sphinx 4.5.0, we need to set the upperbound version of sphinxcontrib*,
it should be removed after upgrading sphinx>=5
-sphinxcontrib-applehelp<=1.0.4
-sphinxcontrib-devhelp<=1.0.2
-sphinxcontrib-htmlhelp<=2.0.1
-sphinxcontrib-jsmath<=1.0.1
-sphinxcontrib-qthelp<=1.0.3
-sphinxcontrib-serializinghtml<=1.1.5
+sphinx==8.2.3
sphinx-plotly-directive
sphinx-copybutton
-docutils<0.18.0
+docutils
markupsafe
# Development scripts
diff --git a/dev/spark-test-image/docs/Dockerfile
b/dev/spark-test-image/docs/Dockerfile
index 8b13d9534670..fd4bc7f1e6ec 100644
--- a/dev/spark-test-image/docs/Dockerfile
+++ b/dev/spark-test-image/docs/Dockerfile
@@ -89,12 +89,10 @@ ENV VIRTUAL_ENV=/opt/spark-venv
RUN python3.12 -m venv $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
-# Should unpin 'sphinxcontrib-*' after upgrading sphinx>5
# See 'ipython_genutils' in SPARK-38517
# See 'docutils<0.18.0' in SPARK-39421
-RUN python3.12 -m pip install 'sphinx==4.5.0' mkdocs
'pydata_sphinx_theme>=0.13' sphinx-copybutton nbsphinx numpydoc jinja2
markupsafe \
- ipython ipython_genutils sphinx_plotly_directive 'numpy>=1.23.2'
'pyarrow>=23.0.0' 'pandas==2.3.3' 'plotly>=4.8' 'docutils<0.18.0' \
+RUN python3.12 -m pip install 'sphinx==8.2.3' mkdocs
'pydata_sphinx_theme>=0.13' sphinx-copybutton nbsphinx numpydoc jinja2
markupsafe \
+ ipython ipython_genutils sphinx_plotly_directive 'numpy>=1.23.2'
'pyarrow>=23.0.0' 'pandas==2.3.3' 'plotly>=4.8' 'docutils' \
'flake8==3.9.0' 'mypy==1.19.1' 'pytest==7.1.3' 'pytest-mypy-plugins==1.9.3'
'ruff==0.14.8' \
'pandas-stubs==1.2.0.53' 'grpcio==1.76.0' 'grpcio-status==1.76.0'
'protobuf==6.33.5' 'grpc-stubs==1.24.11'
'googleapis-common-protos-stubs==2.2.0' \
- 'sphinxcontrib-applehelp==1.0.4' 'sphinxcontrib-devhelp==1.0.2'
'sphinxcontrib-htmlhelp==2.0.1' 'sphinxcontrib-qthelp==1.0.3'
'sphinxcontrib-serializinghtml==1.1.5' \
&& python3.12 -m pip cache purge
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]