projects/guix·blob java-team · refs

1943 lines · 71.8 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014 David Thompson <[email protected]>
3;;; Copyright © 2015, 2017, 2019, 2020, 2021, 2023, 2024, 2025 Ricardo Wurmus <[email protected]>
4;;; Copyright © 2015, 2016, 2017 Leo Famulari <[email protected]>
5;;; Copyright © 2016 Hartmut Goebel <[email protected]>
6;;; Copyright © 2016-2019, 2022, 2023 Marius Bakke <[email protected]>
7;;; Copyright © 2017 Danny Milosavljevic <[email protected]>
8;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <[email protected]>
9;;; Copyright © 2017 Frederick M. Muriithi <[email protected]>
10;;; Copyright © 2017 Christine Lemmer-Webber <[email protected]>
11;;; Copyright © 2017 Julien Lepiller <[email protected]>
12;;; Copyright © 2019, 2021, 2022 Efraim Flashner <[email protected]>
13;;; Copyright © 2019, 2021, 2023, 2025 Nicolas Goaziou <[email protected]>
14;;; Copyright © 2019 Alexandros Theodotou <[email protected]>
15;;; Copyright © 2019 Brett Gilio <[email protected]>
16;;; Copyright © 2020 Giacomo Leidi <[email protected]>
17;;; Copyright © 2021 Eric Bavier <[email protected]>
18;;; Copyright © 2021, 2022, 2024 Vinicius Monego <[email protected]>
19;;; Copyright © 2021 Hugo Lecomte <[email protected]>
20;;; Copyright © 2021-2022, 2024-2026 Maxim Cournoyer <[email protected]>
21;;; Copyright © 2024 Troy Figiel <[email protected]>
22;;; Copyright © 2021 Maxime Devos <[email protected]>
23;;; Copyright © 2026 Yan Abu Arab <[email protected]>
24;;; Copyright © 2026 Julian Flake <[email protected]>
25;;;
26;;; This file is part of GNU Guix.
27;;;
28;;; GNU Guix is free software; you can redistribute it and/or modify it
29;;; under the terms of the GNU General Public License as published by
30;;; the Free Software Foundation; either version 3 of the License, or (at
31;;; your option) any later version.
32;;;
33;;; GNU Guix is distributed in the hope that it will be useful, but
34;;; WITHOUT ANY WARRANTY; without even the implied warranty of
35;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
36;;; GNU General Public License for more details.
37;;;
38;;; You should have received a copy of the GNU General Public License
39;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
40
41(define-module (gnu packages sphinx)
42 #:use-module (guix packages)
43 #:use-module (guix download)
44 #:use-module (guix git-download)
45 #:use-module (guix hg-download)
46 #:use-module (guix gexp)
47 #:use-module (guix utils)
48 #:use-module (guix build-system pyproject)
49 #:use-module ((guix licenses) #:prefix license:)
50 #:use-module (gnu packages)
51 #:use-module (gnu packages build-tools)
52 #:use-module (gnu packages check)
53 #:use-module (gnu packages documentation)
54 #:use-module (gnu packages fonts)
55 #:use-module (gnu packages fontutils)
56 #:use-module (gnu packages graph)
57 #:use-module (gnu packages graphviz)
58 #:use-module (gnu packages haskell-xyz)
59 #:use-module (gnu packages image)
60 #:use-module (gnu packages imagemagick)
61 #:use-module (gnu packages jupyter)
62 #:use-module (gnu packages nss)
63 #:use-module (gnu packages python)
64 #:use-module (gnu packages python-build)
65 #:use-module (gnu packages python-check)
66 #:use-module (gnu packages python-crypto)
67 #:use-module (gnu packages python-science)
68 #:use-module (gnu packages python-web)
69 #:use-module (gnu packages python-xyz)
70 #:use-module (gnu packages time)
71 #:use-module (gnu packages statistics)
72 #:use-module (gnu packages tex)
73 #:use-module (gnu packages web)
74 #:use-module (gnu packages xml))
75
76(define-public python-intersphinx-registry
77 (package
78 (name "python-intersphinx-registry")
79 (version "0.2705.27")
80 (source
81 (origin
82 (method git-fetch)
83 (uri
84 (git-reference
85 (url "https://github.com/Quansight-Labs/intersphinx_registry")
86 (commit version)))
87 (file-name (git-file-name name version))
88 (sha256
89 (base32 "02qrdhlhl4wpwvcags46kqs32dkc5kxmldwyp2ij1njfsvf68nn8"))))
90 (build-system pyproject-build-system)
91 ;; XXX: Many tests try to access the network.
92 (arguments (list #:tests? #f))
93 (native-inputs
94 (list python-flit-core))
95 (propagated-inputs
96 (list python-requests))
97 (home-page "https://github.com/Quansight-Labs/intersphinx_registry")
98 (synopsis "Convenient utilities and data to write a Sphinx config file")
99 (description
100 "A simple utility package that provides a default intersphinx mapping for
101a large chunk of the Python ecosystem.")
102 (license license:expat)))
103
104(define-public python-sphinx
105 (package
106 (name "python-sphinx")
107 (version "9.1.0")
108 (source
109 (origin
110 (method url-fetch)
111 (uri (pypi-uri "sphinx" version))
112 (sha256
113 (base32 "1nqdjfaxl12lvzadgljdqw8w5gfkzrqn14k60wczhxfxawip4hbp"))))
114 (build-system pyproject-build-system)
115 (arguments
116 (list
117 #:test-flags
118 #~(list "--numprocesses" (number->string (min 8 (parallel-job-count))))
119 #:phases
120 #~(modify-phases %standard-phases
121 (add-before 'check 'pre-check
122 (lambda _
123 ;; for test_cython
124 (setenv "HOME" "/tmp"))))))
125 (propagated-inputs
126 (list python-babel
127 python-docutils
128 python-imagesize
129 python-jinja2
130 python-packaging
131 python-pygments
132 python-requests
133 python-roman-numerals
134 python-snowballstemmer
135 python-sphinx-alabaster-theme
136 python-sphinxcontrib-applehelp
137 python-sphinxcontrib-devhelp
138 python-sphinxcontrib-htmlhelp
139 python-sphinxcontrib-jsmath
140 python-sphinxcontrib-qthelp
141 python-sphinxcontrib-serializinghtml
142
143 ;; The Sphinx LaTeX library '\RequirePackage' or \\usepackage
144 ;; these:
145 texlive-amsfonts ;amsmath, amssymb, amstext
146 texlive-amsmath
147 texlive-anyfontsize
148 texlive-booktabs
149 texlive-capt-of
150 texlive-carlisle ;remreset
151 texlive-cmap
152 texlive-etoolbox
153 texlive-fancyhdr
154 texlive-fancyvrb
155 texlive-float
156 texlive-fncychap
157 texlive-framed
158 texlive-geometry
159 texlive-hyperref
160 texlive-kvoptions
161 texlive-latex-bin
162 texlive-ltxcmds
163 texlive-needspace
164 texlive-oberdiek ;hypcap
165 texlive-parskip
166 texlive-preview
167 texlive-tabulary
168 texlive-titlesec
169 texlive-tools ;multicol, longtable
170 texlive-upquote
171 texlive-varwidth
172 texlive-wrapfig
173 texlive-xcolor))
174 (native-inputs
175 (list imagemagick ;for "convert"
176 nss-certs-for-test
177 python-cython
178 python-defusedxml
179 python-flit-core
180 python-pytest
181 python-pytest-xdist
182 (texlive-local-tree
183 (list texlive-anyfontsize texlive-cm-super texlive-tex-gyre))))
184 (home-page "https://www.sphinx-doc.org")
185 (synopsis "Python documentation generator")
186 (description "Sphinx is a tool that makes it easy to create documentation
187for Python projects or other documents consisting of multiple reStructuredText
188sources.")
189 (license license:bsd-2)))
190
191(define-public python-sphinx-6
192 (package
193 (inherit python-sphinx)
194 (version "6.2.1")
195 (source
196 (origin
197 (method url-fetch)
198 (uri (pypi-uri "Sphinx" version))
199 (sha256
200 (base32
201 "0sycp5qx7py75fvmjz0av5awfdlqn72azzjj07x9yx5vjx3a6mkd"))))
202 (build-system pyproject-build-system)
203 (arguments
204 (list
205 ;; tests: 1815 passed, 24 skipped, 4451 warnings
206 #:test-flags
207 #~(list "--numprocesses" (number->string (min 8 (parallel-job-count)))
208 "-k" (string-join
209 ;; AttributeError: module 'alabaster' has no
210 ;; attribute 'version'
211 (list "not test_theme_api"
212 ;; The alabaster extension used by this project
213 ;; needs at least Sphinx v3.4; it therefore cannot
214 ;; be built with this version.
215 "test_needs_sphinx"
216 ;; Various assertion errors.
217 "test_additional_targets_should_be_translated"
218 "test_additional_targets_should_not_be_translated"
219 "test_autodoc_default_options"
220 "test_autodoc_type_aliases"
221 "test_enum_class"
222 "test_html_code_role"
223 "test_latex_code_role"
224 "test_latex_images"
225 "test_linenothreshold"
226 "test_literal_include_linenos"
227 "test_viewcode"
228 ;; ModuleNotFoundError: No module named 'target'
229 "test_attrgetter_using")
230 " and not "))
231 #:phases
232 #~(modify-phases %standard-phases
233 (add-before 'check 'pre-check
234 (lambda _
235 ;; for test_cython
236 (setenv "HOME" "/tmp"))))))
237 (propagated-inputs
238 (list python-babel
239 python-colorama
240 python-docutils-0.19
241 python-filelock
242 python-html5lib
243 python-imagesize
244 python-jinja2
245 python-packaging
246 python-pygments
247 python-requests
248 python-snowballstemmer
249 python-sphinx-alabaster-theme
250 python-sphinxcontrib-applehelp
251 python-sphinxcontrib-devhelp
252 python-sphinxcontrib-htmlhelp
253 python-sphinxcontrib-jsmath
254 python-sphinxcontrib-qthelp
255 python-sphinxcontrib-serializinghtml
256 python-sphinxcontrib-websupport
257 python-types-requests
258
259 ;; The Sphinx LaTeX library '\RequirePackage' or \\usepackage
260 ;; these:
261 texlive-amsfonts ;amsmath, amssymb, amstext
262 texlive-amsmath
263 texlive-anyfontsize
264 texlive-booktabs
265 texlive-capt-of
266 texlive-carlisle ;remreset
267 texlive-cmap
268 texlive-etoolbox
269 texlive-fancyhdr
270 texlive-fancyvrb
271 texlive-float
272 texlive-fncychap
273 texlive-framed
274 texlive-geometry
275 texlive-hyperref
276 texlive-kvoptions
277 texlive-latex-bin
278 texlive-ltxcmds
279 texlive-needspace
280 texlive-oberdiek ;hypcap
281 texlive-parskip
282 texlive-preview
283 texlive-tabulary
284 texlive-titlesec
285 texlive-tools ;multicol, longtable
286 texlive-upquote
287 texlive-varwidth
288 texlive-wrapfig
289 texlive-xcolor))
290 (native-inputs
291 (list imagemagick ;for "convert"
292 nss-certs-for-test
293 python-cython
294 python-flit-core
295 python-pytest
296 python-pytest-xdist
297 (texlive-local-tree
298 (list texlive-anyfontsize texlive-cm-super texlive-tex-gyre))))))
299
300(define-public python-sphinx-multitoc-numbering
301 (package
302 (name "python-sphinx-multitoc-numbering")
303 (version "0.1.3")
304 (source
305 (origin
306 (method git-fetch)
307 (uri (git-reference
308 (url "https://github.com/executablebooks/sphinx-multitoc-numbering")
309 (commit (string-append "v" version))))
310 (file-name (git-file-name name version))
311 (sha256
312 (base32
313 "1vpdc19jl0y2lxhpgq4d42wvmd3by6sga6zybfxm09dm557wq0p6"))))
314 (build-system pyproject-build-system)
315 ;; The tests currently rely on an obsolete sphinx.testing version (see:
316 ;; <https://github.com/executablebooks/sphinx-multitoc-numbering/issues/28>).
317 (arguments (list #:tests? #f))
318 (native-inputs (list python-pytest python-setuptools))
319 (propagated-inputs (list python-sphinx))
320 (home-page "https://sphinx-multitoc-numbering.readthedocs.io/en/latest")
321 (synopsis "Sphinx extension for continuous HTML section numbering")
322 (description "This package provides a Sphinx extension adding support for
323continuous HTML section numbering.")
324 (license license:expat)))
325
326(define-public python-sphinx-plantuml
327 (let ((commit "69033c29c5baa6571039c368a73fa2629f08dfa5")
328 (revision "0"))
329 (package
330 (name "python-sphinx-plantuml")
331 (version (git-version "1.0.0" revision commit))
332 (source
333 (origin
334 (method git-fetch)
335 (uri (git-reference
336 (url "https://github.com/zqmillet/sphinx-plantuml")
337 (commit commit)))
338 (file-name (git-file-name name version))
339 (sha256
340 (base32
341 "0aj62x3jkjx1bb05zbddgk8cbi7gvimvr5bcsm7jmr2rhryarawy"))))
342 (build-system pyproject-build-system)
343 (arguments
344 (list
345 #:tests? #f ;no substantial test suite
346 #:phases
347 #~(modify-phases %standard-phases
348 (add-after 'unpack 'relax-requirements
349 (lambda _
350 (substitute* "sphinxcontrib/requirements.txt"
351 (("==") ">=")))))))
352 (propagated-inputs (list python-docutils python-sphinx))
353 (native-inputs (list python-setuptools))
354 (home-page "https://github.com/zqmillet/sphinx-plantuml")
355 (synopsis "Sphinx extension to render plantuml in Sphinx documents")
356 (description "This package provides an extension for Sphinx to render
357plantuml in Sphinx documents.")
358 (license license:expat))))
359
360(define-public python-sphinx-tags
361 (package
362 (name "python-sphinx-tags")
363 (version "0.4")
364 (source
365 (origin
366 (method url-fetch)
367 (uri (pypi-uri "sphinx_tags" version))
368 (sha256
369 (base32 "179mlmql7nmwd12lqyrncx8klbxjcmb7s8zj0v3nfxglmjdj2r9h"))))
370 (build-system pyproject-build-system)
371 (propagated-inputs (list python-sphinx))
372 (native-inputs
373 (list pandoc
374 python-beautifulsoup4
375 python-flit-core
376 python-myst-parser
377 python-nbsphinx
378 python-pytest
379 python-sphinx-design))
380 (home-page "https://sphinx-tags.readthedocs.io/en/latest/")
381 (synopsis "Sphinx extension to create tags")
382 (description "This package provides a Sphinx extension to
383create tags for documentation pages.")
384 (license license:expat)))
385
386(define-public python-sphinx-toml
387 (let ((commit "095a4d193a7fd046317b9f15074a5f70d6b1fd38")
388 (revision "0"))
389 (package
390 (name "python-sphinx-toml")
391 ;; version number from untagged commit
392 ;; 1dc4121cbec4247ae931165c2b22727705cf0caa
393 (version (git-version "0.0.4" revision commit))
394 (source
395 (origin
396 (method git-fetch)
397 (uri
398 (git-reference
399 (url "https://github.com/Carreau/sphinx_toml")
400 (commit commit)))
401 (sha256
402 (base32 "0f5vm8m8gbjl963mgw4r3yq5k9npyiyp80c785f73sh8z9zhq485"))))
403 (build-system pyproject-build-system)
404 (arguments (list #:tests? #f)) ; No tests upstream.
405 (native-inputs
406 (list python-flit-core))
407 (propagated-inputs
408 (list python-intersphinx-registry
409 python-pydantic
410 python-tomli))
411 (home-page "https://github.com/Carreau/sphinx_toml")
412 (synopsis "Load data from a sphinx.toml file next to a conf.py file")
413 (description
414 "This package implements a functionality of partially load Sphinx
415configuration from @code{sphinx.toml} situated in the same dir as
416@code{conf.py}.")
417 (license license:expat))))
418
419(define-public python-sphinxcontrib-apidoc
420 (package
421 (name "python-sphinxcontrib-apidoc")
422 (version "0.6.0")
423 (source
424 (origin
425 (method url-fetch)
426 (uri (pypi-uri "sphinxcontrib_apidoc" version))
427 (sha256
428 (base32
429 "13fqkbs8lwrm39lv9pmq436x3fzgr26d2svs2a7g9239sq89i6rj"))))
430 (build-system pyproject-build-system)
431 (native-inputs
432 (list python-pytest
433 python-setuptools
434 python-wheel))
435 (propagated-inputs
436 (list python-pbr
437 python-sphinx))
438 (home-page "https://github.com/sphinx-contrib/apidoc")
439 (synopsis "Sphinx extension for running @code{sphinx-apidoc}")
440 (description "This package provides Sphinx extension for running
441@code{sphinx-apidoc} on each build.")
442 (license license:bsd-2)))
443
444(define-public python-sphinxcontrib-applehelp
445 (package
446 (name "python-sphinxcontrib-applehelp")
447 (version "2.0.0")
448 (source
449 (origin
450 (method url-fetch)
451 (uri (pypi-uri "sphinxcontrib_applehelp" version))
452 (sha256
453 (base32 "1l863hp1pikrn04082f6jh49fha910zqfd27za79bkim2wryya9g"))))
454 (build-system pyproject-build-system)
455 (arguments
456 `(#:tests? #f)) ;XXX: circular dependency on Sphinx
457 (native-inputs
458 (list python-flit-core))
459 (home-page "https://github.com/sphinx-doc/sphinxcontrib-applehelp")
460 (synopsis "Sphinx extension for creating Apple help books")
461 (description
462 "@code{sphinxcontrib-applehelp} is a Sphinx extension which outputs
463Apple help books.")
464 (license license:bsd-2)))
465
466(define-public python-sphinxcontrib-bibtex
467 (package
468 (name "python-sphinxcontrib-bibtex")
469 (version "2.7.0")
470 (source
471 (origin
472 (method git-fetch)
473 (uri (git-reference
474 (url "https://github.com/mcmtroffaes/sphinxcontrib-bibtex/")
475 (commit version)))
476 (file-name (git-file-name name version))
477 (sha256
478 (base32 "18h68vj535fxy80b3jdyazn375lg7xi5q5fsdza99y35px78nngi"))))
479 (build-system pyproject-build-system)
480 (native-inputs
481 (list python-pytest
482 python-setuptools))
483 (propagated-inputs
484 (list python-pybtex-docutils
485 python-sphinx-autoapi))
486 (home-page "https://github.com/mcmtroffaes/sphinxcontrib-bibtex/")
487 (synopsis "Sphinx extension for bibtex style references")
488 (description "This package allows bibtex citations to be inserted into
489documentation generated by sphinx, via a bibliography directive.")
490 (license license:bsd-2)))
491
492(define-public python-sphinx-click
493 (package
494 (name "python-sphinx-click")
495 (version "6.0.0")
496 (source
497 (origin
498 (method url-fetch)
499 (uri (pypi-uri "sphinx-click" version))
500 (sha256
501 (base32
502 "0ns6mfiw4q6g0kh11dfyzpn0rkjq9v4f3w8ry0pn5in03lr69mpm"))))
503 (build-system pyproject-build-system)
504 (arguments
505 (list
506 #:phases
507 #~(modify-phases %standard-phases
508 (add-after 'unpack 'fix-build-system
509 (lambda _
510 ;; The build system is confused about this top level directory,
511 ;; so we delete it.
512 (delete-file-recursively "releasenotes"))))))
513 (native-inputs (list python-pytest python-setuptools python-wheel))
514 (propagated-inputs (list python-click python-docutils python-sphinx))
515 (home-page "https://github.com/click-contrib/sphinx-click")
516 (synopsis "Sphinx extension that documents click applications")
517 (description "This package provide sphinx extension that automatically
518documents click applications.")
519 (license license:expat)))
520
521(define-public python-sphinx-copybutton
522 (package
523 (name "python-sphinx-copybutton")
524 (version "0.5.2")
525 ;; XXX: PyPI bundles <https://github.com/zenorocha/clipboard.js>.
526 (source
527 (origin
528 (method url-fetch)
529 (uri (pypi-uri "sphinx-copybutton" version))
530 (sha256
531 (base32 "1g8zxq1l258kk7yja4j2iifn0frsh60c4am9kjyd2ilnzf17rwac"))))
532 (build-system pyproject-build-system)
533 (arguments
534 (list #:tests? #f)) ;no tests in PyPI, there are in Git
535 (native-inputs
536 (list python-setuptools
537 python-wheel))
538 (propagated-inputs
539 (list python-sphinx))
540 (home-page "https://github.com/executablebooks/sphinx-copybutton")
541 (synopsis "Sphinx extension to add \"copy\" buttons to code blocks")
542 (description
543 "This package provides a small sphinx extension to add \"copy\" buttons
544to code blocks.")
545 (license license:expat)))
546
547(define-public python-sphinx-design
548 (package
549 (name "python-sphinx-design")
550 (version "0.7.0")
551 (source
552 (origin
553 (method git-fetch)
554 (uri (git-reference
555 (url "https://github.com/executablebooks/sphinx-design")
556 (commit (string-append "v" version))))
557 (file-name (git-file-name name version))
558 (sha256
559 (base32 "0565y4nfpdgjbi49d7m0lfbwjgn6dg0iv4ipgav0bnhp1wih0l1n"))))
560 (build-system pyproject-build-system)
561 (native-inputs
562 (list python-flit-core
563 python-pytest
564 python-pytest-regressions))
565 (propagated-inputs
566 (list python-sphinx))
567 (home-page "https://sphinx-design.readthedocs.io/en/furo-theme/")
568 (synopsis "Sphinx extension to designing responsive web components")
569 (description
570 "This package provides a sphinx extension for designing beautiful, view
571size responsive web components.")
572 (license license:expat)))
573
574(define-public python-sphinxcontrib-devhelp
575 (package
576 (name "python-sphinxcontrib-devhelp")
577 (version "2.0.0")
578 (source
579 (origin
580 (method url-fetch)
581 (uri (pypi-uri "sphinxcontrib_devhelp" version))
582 (sha256
583 (base32 "1bfi9m5hg7p5vgkkqyawvdwyqj22gcvk68fmnlxxgla5sjb5s7s1"))))
584 (build-system pyproject-build-system)
585 (arguments
586 `(#:tests? #f)) ;XXX: circular dependency on Sphinx
587 (native-inputs
588 (list python-flit-core))
589 (home-page "https://github.com/sphinx-doc/sphinxcontrib-devhelp")
590 (synopsis "Sphinx extension for creating Devhelp documents")
591 (description
592 "@code{sphinxcontrib-devhelp} is a Sphinx extension which outputs
593@url{Devhelp,https://wiki.gnome.org/Apps/Devhelp} documents.")
594 (license license:bsd-2)))
595
596(define-public python-sphinxcontrib-doxylink
597 (package
598 (name "python-sphinxcontrib-doxylink")
599 (version "1.13.0")
600 (source
601 (origin
602 (method git-fetch)
603 (uri (git-reference
604 (url "https://github.com/sphinx-contrib/doxylink")
605 (commit version)))
606 (file-name (git-file-name name version))
607 (sha256
608 (base32 "1jl019g65jfnam1pqqw0r95iaary8xyqqx797v9qq6r17vp141dy"))))
609 (build-system pyproject-build-system)
610 (propagated-inputs (list python-dateutil python-pyparsing))
611 (native-inputs (list doxygen python-poetry-core python-testfixtures
612 python-sphinx python-pytest))
613 (home-page "https://github.com/sphinx-contrib/doxylink")
614 (synopsis "Sphinx extension for linking to Doxygen documentation")
615 (description
616 "Doxylink is a Sphinx extension to link to external Doxygen API
617documentation. It allows you to specify C++ symbols and it will convert them
618into links to the HTML page of their Doxygen documentation.")
619 (license license:bsd-3)))
620
621(define-public python-sphinxcontrib-github-alt
622 (package
623 (name "python-sphinxcontrib-github-alt")
624 (version "1.2")
625 (source
626 (origin
627 (method url-fetch)
628 (uri (pypi-uri "sphinxcontrib_github_alt" version))
629 (sha256
630 (base32
631 "1x9af78vamjjcdrrhiah3wg613jv7gm8yh9vvqfrmf4vam6mimyg"))))
632 (build-system pyproject-build-system)
633 (arguments
634 `(#:tests? #f)) ;no tests
635 (native-inputs
636 (list python-flit-core))
637 (propagated-inputs
638 (list python-docutils
639 python-sphinx))
640 (home-page "https://github.com/jupyter/sphinxcontrib_github_alt")
641 (synopsis "Link to GitHub pages from Sphinx docs")
642 (description
643 "This package lets you link to GitHub issues, pull requests, commits and
644users from Sphinx docs.")
645 (license license:bsd-2)))
646
647(define-public python-sphinxcontrib-htmlhelp
648 (package
649 (name "python-sphinxcontrib-htmlhelp")
650 (version "2.1.0")
651 (source
652 (origin
653 (method url-fetch)
654 (uri (pypi-uri "sphinxcontrib-htmlhelp" version))
655 (sha256
656 (base32 "1sc2f368bacz4jak5kxr4n82nzri4bp37lm02g669bcarrm93qn9"))))
657 (build-system pyproject-build-system)
658 (arguments
659 `(#:tests? #f)) ;XXX: circular dependency on Sphinx
660 (native-inputs
661 (list python-flit-core))
662 (home-page "https://github.com/sphinx-doc/sphinxcontrib-htmlhelp")
663 (synopsis "Sphinx extension for rendering HTML help files")
664 (description
665 "@code{sphinxcontrib-htmlhelp} is a Sphinx extension which renders
666HTML help files.")
667 (license license:bsd-2)))
668
669(define-public python-sphinxcontrib-httpdomain
670 (package
671 (name "python-sphinxcontrib-httpdomain")
672 (version "2.0.0")
673 (source
674 (origin
675 (method git-fetch)
676 (uri (git-reference
677 (url "https://github.com/sphinx-contrib/httpdomain")
678 (commit version)))
679 (file-name (git-file-name name version))
680 (sha256
681 (base32 "056l5h5ykmdh1nlrxsqp548m6fdky6638w9vfc8c1g911xhvjc8c"))
682 (patches
683 (search-patches "python-sphinxcontrib-httpdomain-texinfo.patch"))))
684 (arguments (list #:tests? #f)) ;no real tests
685 (build-system pyproject-build-system)
686 (propagated-inputs (list python-sphinx))
687 (native-inputs (list python-uv-build))
688 (home-page "https://github.com/sphinx-contrib/httpdomain")
689 (synopsis "Sphinx extension for documenting HTTP APIs")
690 (description "The @code{sphinxcontrib.httpdomain} extension provides a
691Sphinx domain for documenting RESTful HTTP APIs.")
692 (license license:bsd-3)))
693
694(define-public python-sphinxcontrib-jsmath
695 (package
696 (name "python-sphinxcontrib-jsmath")
697 (version "1.0.1")
698 (source
699 (origin
700 (method url-fetch)
701 (uri (pypi-uri "sphinxcontrib-jsmath" version))
702 (sha256
703 (base32 "1f64w19j33sp151jimibraw6qrbhd5gxy8hs3797w9478m55x4m9"))))
704 (build-system pyproject-build-system)
705 (arguments
706 `(#:tests? #f)) ;XXX: circular dependency on Sphinx
707 (native-inputs
708 (list python-setuptools))
709 (home-page "https://github.com/sphinx-doc/sphinxcontrib-jsmath")
710 (synopsis "Sphinx extension to render math equations")
711 (description
712 "@code{sphinxcontrib-jsmath} is a Sphinx extension which renders display
713math in HTML via JavaScript.")
714 (license license:bsd-2)))
715
716(define-public python-sphinxcontrib-jquery
717 (package
718 (name "python-sphinxcontrib-jquery")
719 ;; Tests of 4.1 (released in 2024) fail with sphinx 9.
720 (properties '((commit . "80d1d3925c17c1860283323972680690f81d7b18")
721 (revision . "0")))
722 (version (git-version "4.1"
723 (assoc-ref properties 'revision)
724 (assoc-ref properties 'commit)))
725 (source
726 (origin
727 (method git-fetch)
728 (uri (git-reference
729 (url "https://github.com/sphinx-contrib/jquery")
730 (commit (assoc-ref properties 'commit))))
731 (file-name (git-file-name name version))
732 (sha256
733 (base32 "0la7qasz5xlyzpx20ldcc62vkwg4xk2dd39j27dqz7zv1m8mjg0c"))
734 ;; Delete pre-minified JavaScript.
735 (snippet '(delete-file "sphinxcontrib/jquery/jquery.js"))))
736 (build-system pyproject-build-system)
737 (arguments
738 (list #:tests? #f ;no tests
739 #:phases
740 #~(modify-phases %standard-phases
741 (add-after 'unpack 'minify-jquery
742 (lambda _
743 (with-directory-excursion "sphinxcontrib/jquery"
744 (invoke "esbuild" "jquery-3.6.0.js" "--minify"
745 (string-append "--outfile=jquery.js"))))))))
746 (propagated-inputs (list python-sphinx))
747 (native-inputs (list esbuild python-flit-core python-pytest))
748 (home-page "https://github.com/sphinx-contrib/jquery")
749 (synopsis "Extension to include jQuery on newer Sphinx releases")
750 (description
751 "This package provide an extension to include @code{jQuery} on newer
752Sphinx releases.")
753 (license license:bsd-0)))
754
755(define-public python-sphinxcontrib-mermaid
756 (package
757 (name "python-sphinxcontrib-mermaid")
758 (version "1.0.0")
759 (source
760 (origin
761 (method git-fetch) ;no tests in pypi archive
762 (uri (git-reference
763 (url "https://github.com/mgaitan/sphinxcontrib-mermaid")
764 (commit version)))
765 (file-name (git-file-name name version))
766 (sha256
767 (base32
768 "0cs5qcb48aigxba0g8va7xszq68d8fq2dlb843nbia3ns1p9zv9q"))))
769 (build-system pyproject-build-system)
770 (propagated-inputs (list python-pyyaml python-sphinx))
771 (native-inputs
772 (list python-myst-parser
773 python-pytest
774 python-setuptools
775 python-wheel))
776 (home-page "https://github.com/mgaitan/sphinxcontrib-mermaid")
777 (synopsis "Sphinx extension for drawing Mermaid diagrams")
778 (description "This extension makes it possible to draw Mermaid diagrams in
779Sphinx documentation.")
780 (license license:bsd-2)))
781
782(define-public python-sphinxcontrib-newsfeed
783 (package
784 (name "python-sphinxcontrib-newsfeed")
785 (version "0.1.4")
786 (source
787 (origin
788 (method git-fetch)
789 (uri (git-reference
790 (url
791 "https://github.com/prometheusresearch/sphinxcontrib-newsfeed")
792 (commit version)))
793 (file-name (git-file-name name version))
794 (sha256
795 (base32 "09hdafir3ba5p8bmwny8r8fvgv0sgvzvw43zq85hb57lwd4prbxg"))))
796 (build-system pyproject-build-system)
797 ;; TODO: demo directory, but no standard test system.
798 (arguments (list #:tests? #f))
799 (native-inputs (list python-setuptools))
800 (propagated-inputs (list python-sphinx))
801 (synopsis "News Feed extension for Sphinx")
802 (description "Sphinxcontrib-newsfeed is an extension for adding a simple
803Blog, News or Announcements section to a Sphinx website.")
804 (home-page "https://github.com/prometheusresearch/sphinxcontrib-newsfeed")
805 (license license:bsd-2)))
806
807(define-public python-sphinx-inline-tabs
808 (package
809 (name "python-sphinx-inline-tabs")
810 ;; Tests of latest release are not compatible with Sphinx 9.
811 (properties '((commit . "cd6ba391a3e9a0f0917c483c0a9aa27f3655adc7")
812 (revision . "0")))
813 (version (git-version "2025.12.21.14"
814 (assoc-ref properties 'revision)
815 (assoc-ref properties 'commit)))
816 (source
817 (origin
818 (method git-fetch)
819 (uri (git-reference
820 (url "https://github.com/pradyunsg/sphinx-inline-tabs")
821 (commit (assoc-ref properties 'commit))))
822 (file-name (git-file-name name version))
823 (sha256
824 (base32 "0ckp5hsxy1fdf5scrkc4fbymqh5awbcpq0y8acv2pnyrb4ga3hdx"))))
825 (build-system pyproject-build-system)
826 (arguments
827 (list
828 #:test-flags
829 #~(list
830 ;; All xml related tests fail with this difference:
831 ;; - <container classes="tab-content" is_div="True">
832 ;; + <container classes="tab-content" is_div="1">
833 "-k not basic-xml and not multiple-xml")))
834 (native-inputs (list python-beautifulsoup4
835 python-flit-core
836 python-myst-parser
837 python-pytest
838 python-pytest-regressions
839 python-sphinx))
840 (home-page "https://github.com/pradyunsg/sphinx-inline-tabs")
841 (synopsis "Add inline tabbed content to your Sphinx documentation")
842 (description "This package provides a Sphinx plugin to add inline tabbed
843content to your Sphinx documentation.")
844 (license license:expat)))
845
846(define-public python-sphinx-issues
847 (package
848 (name "python-sphinx-issues")
849 (version "5.0.1")
850 (source
851 (origin
852 (method git-fetch)
853 (uri (git-reference
854 (url "https://github.com/sloria/sphinx-issues")
855 (commit version)))
856 (file-name (git-file-name name version))
857 (sha256
858 (base32 "0jyd47ihs2wldzzq49bd8db1zwvswja9327m63i5q4svss13jxzy"))))
859 (build-system pyproject-build-system)
860 (arguments
861 (list
862 #:phases
863 #~(modify-phases %standard-phases
864 (add-before 'check 'patch-sphinx-build-path
865 (lambda* (#:key inputs #:allow-other-keys)
866 ;; The path to the sphinx-build binary is hardcoded to be in the
867 ;; same directory as the python executable. That does not work
868 ;; when building the package.
869 (substitute* "tests/test_sphinx_issues.py"
870 (((string-append "Path\\(sys\\.executable\\)"
871 "\\.parent\\.joinpath\\"
872 "(\"sphinx-build\"\\)"))
873 (format #f "~s" (search-input-file
874 inputs "/bin/sphinx-build")))))))))
875 (native-inputs
876 (list python-flit-core
877 python-pytest
878 python-sphinx))
879 (home-page "https://github.com/sloria/sphinx-issues")
880 (synopsis "Sphinx extension for linking to a project's issue tracker")
881 (description
882 "This package provides a Sphinx extension for linking to a project's
883issue tracker. This includes roles for linking to issues, pull requests and
884user profiles. Support for GitHub is built-in, but other services can also be
885supported with @code{sphinx-issues}.")
886 (license license:expat)))
887
888(define-public python-sphinxfeed
889 (package
890 (name "python-sphinxfeed")
891 (version "0.3.6")
892 (home-page "https://github.com/lsaffre/sphinxfeed")
893 (source
894 (origin
895 (method git-fetch)
896 (uri (git-reference
897 (url "https://github.com/lsaffre/sphinxfeed")
898 (commit (string-append "v" version))))
899 (file-name (git-file-name name version))
900 (sha256
901 (base32 "1wqrh01pbqlrm1kixyzaqdjggs02339y849x0lm115wl6q9vq56s"))))
902 (build-system pyproject-build-system)
903 (native-inputs (list python-hatchling python-pytest))
904 (propagated-inputs (list python-dateutil python-feedgen python-sphinx))
905 (synopsis "Sphinx extension for generating RSS feeds")
906 (description
907 "This Sphinx extension is a fork of Fergus Doyle's sphinxfeed package
908which itself is derived from Dan Mackinlay's sphinxcontrib.feed package. It
909relies on Lars Kiesow's python-feedgen package instead of the defunct
910feedformatter package or of Django utils to generate the feed.")
911 (license license:bsd-2)))
912
913(define-public python-sphinx-tabs
914 (package
915 (name "python-sphinx-tabs")
916 (version "3.4.7")
917 (home-page "https://github.com/executablebooks/sphinx-tabs")
918 (source
919 (origin
920 (method git-fetch)
921 (uri (git-reference
922 (url "https://github.com/executablebooks/sphinx-tabs")
923 (commit (string-append "v" version))))
924 (file-name (git-file-name name version))
925 (sha256
926 (base32 "0mck1as0w8j1dhnmyxgic56i5r832hhqld20m76jxmqklggfd5bc"))))
927 (build-system pyproject-build-system)
928 (arguments
929 (list
930 #:tests? #f ;TODO: requires sphinx-testing and rinohtype
931 #:phases
932 #~(modify-phases %standard-phases
933 (add-after 'unpack 'loosen-docutils-requirement
934 (lambda _
935 (substitute* "setup.py"
936 (("docutils~=0\\.18\\.0")
937 "docutils>=0.17.0")))))))
938 (native-inputs (list python-setuptools))
939 (propagated-inputs (list python-docutils python-pygments python-sphinx))
940 (synopsis "Tabbed views for Sphinx")
941 (description
942 "Create tabbed content in Sphinx documentation when building HTML.")
943 (license license:expat)))
944
945(define-public python-sphinxcontrib-programoutput
946 (package
947 (name "python-sphinxcontrib-programoutput")
948 (version "0.17")
949 (source
950 (origin
951 (method git-fetch)
952 (uri (git-reference
953 (url "https://github.com/OpenNTI/sphinxcontrib-programoutput")
954 (commit version)))
955 (file-name (git-file-name name version))
956 (sha256
957 (base32 "02hpx6jnsx0cb1d1kk56gpj69x51m2d0prwwhsyhpwv257s64kz3"))))
958 (build-system pyproject-build-system)
959 (arguments
960 (list
961 #:phases
962 #~(modify-phases %standard-phases
963 (add-before 'check 'cleanup
964 (lambda* (#:key inputs outputs #:allow-other-keys)
965 ;; XXX: AssertionError: SphinxWarning not raised
966 (substitute* (string-append "src/sphinxcontrib/programoutput/"
967 "tests/test_directive.py")
968 (("test_shell_with_unexpected_return_code")
969 "__off_test_shell_with_unexpected_return_code")
970 (("test_unexpected_return_code")
971 "__off_test_unexpected_return_code"))
972 (delete-file-recursively
973 (string-append (site-packages inputs outputs)
974 "/sphinxcontrib/programoutput/tests"))
975 (delete-file "src/sphinxcontrib/programoutput/__init__.py"))))))
976 (propagated-inputs (list python-sphinx))
977 (native-inputs (list python-pytest python-setuptools python-wheel))
978 (home-page "https://github.com/OpenNTI/sphinxcontrib-programoutput")
979 (synopsis "Sphinx extension to include program output")
980 (description "A Sphinx extension to literally insert the output of arbitrary
981commands into documents, helping you to keep your command examples up to date.")
982 (license license:bsd-2)))
983
984(define-public python-sphinxcontrib-qthelp
985 (package
986 (name "python-sphinxcontrib-qthelp")
987 (version "2.0.0")
988 (source
989 (origin
990 (method url-fetch)
991 (uri (pypi-uri "sphinxcontrib_qthelp" version))
992 (sha256
993 (base32 "1axvp4bcw3p4n8xiby9i4xlgh4znm3ia7ar3wrdh8wf1iynd1rsg"))))
994 (build-system pyproject-build-system)
995 (arguments
996 `(#:tests? #f)) ;XXX: circular dependency on Sphinx
997 (native-inputs
998 (list python-flit-core))
999 (home-page "https://github.com/sphinx-doc/sphinxcontrib-qthelp")
1000 (synopsis "Sphinx extension to output QtHelp documents")
1001 (description
1002 "@code{sphinxcontrib-qthelp} is a Sphinx extension which outputs QtHelp
1003documents.")
1004 (license license:bsd-2)))
1005
1006(define-public python-sphinxcontrib-serializinghtml
1007 (package
1008 (name "python-sphinxcontrib-serializinghtml")
1009 (version "2.0.0")
1010 (source
1011 (origin
1012 (method url-fetch)
1013 (uri (pypi-uri "sphinxcontrib_serializinghtml" version))
1014 (sha256
1015 (base32 "0k8x0dq8p3kskwi8fg6jgwzpqchb33r0wgx52y804b47gy115ng9"))))
1016 (build-system pyproject-build-system)
1017 (arguments
1018 `(#:tests? #f)) ;XXX: circular dependency on Sphinx
1019 (native-inputs
1020 (list python-flit-core))
1021 (home-page "https://github.com/sphinx-doc/sphinxcontrib-serializinghtml")
1022 (synopsis "Sphinx extension to serialize HTML files")
1023 (description
1024 "@code{sphinxcontrib-serializinghtml} is a Sphinx extension which outputs
1025\"serialized\" HTML files.")
1026 (license license:bsd-2)))
1027
1028(define-public python-sphinxcontrib-svg2pdfconverter
1029 (package
1030 (name "python-sphinxcontrib-svg2pdfconverter")
1031 (version "1.2.0")
1032 (home-page
1033 "https://github.com/missinglinkelectronics/sphinxcontrib-svg2pdfconverter")
1034 (source
1035 (origin
1036 (method git-fetch)
1037 (uri (git-reference
1038 (url home-page)
1039 (commit (string-append "v" version))))
1040 (file-name (git-file-name name version))
1041 (sha256
1042 (base32 "0ygsdhczq1vh79m42xxpxmls648crwr54pn8vvc64qv754s0wi0l"))))
1043 (build-system pyproject-build-system)
1044 (arguments (list #:tests? #f)) ; No tests.
1045 (native-inputs (list python-setuptools))
1046 (propagated-inputs (list python-sphinx))
1047 (synopsis "Sphinx SVG to PDF converter extension")
1048 (description "A Sphinx extension to convert SVG images to PDF in case the
1049builder does not support SVG images natively (e.g. LaTeX).")
1050 (license license:bsd-2)))
1051
1052(define-public python-sphinxcontrib-video
1053 (package
1054 (name "python-sphinxcontrib-video")
1055 (version "0.4.1")
1056 (source
1057 (origin
1058 (method url-fetch)
1059 (uri (pypi-uri "sphinxcontrib_video" version))
1060 (sha256
1061 (base32 "192wbnljj8wzgv802r5yfz1wd88qm1xhnhq2b7629qbx3gkk783m"))))
1062 (build-system pyproject-build-system)
1063 ;; There is an error not finding the Pytest 'app' fixture causing all the
1064 ;; tests to error (see:
1065 ;; <https://github.com/sphinx-contrib/video/issues/62>).
1066 (arguments (list #:tests? #f))
1067 (propagated-inputs (list python-sphinx))
1068 (native-inputs (list python-beautifulsoup4
1069 python-defusedxml
1070 python-pytest
1071 python-setuptools
1072 python-wheel))
1073 (home-page "https://sphinxcontrib-video.readthedocs.io/")
1074 (synopsis "Allows embedding of HTML5 videos in sphinx")
1075 (description "Allows embedding of HTML5 videos in sphinx.")
1076 (license license:asl2.0)))
1077
1078(define-public python-sphinxcontrib-websupport
1079 (package
1080 (name "python-sphinxcontrib-websupport")
1081 (version "2.0.0")
1082 (source
1083 (origin
1084 (method url-fetch)
1085 (uri (pypi-uri "sphinxcontrib_websupport" version))
1086 (sha256
1087 (base32 "1kbr7q1iwmz5pdp75z15smbbg8flsk2ahap4jwglnif6pb9nfwqb"))))
1088 (build-system pyproject-build-system)
1089 (arguments
1090 `(#:tests? #f)) ;XXX: circular dependency on Sphinx@6
1091 (native-inputs
1092 (list python-flit-core))
1093 (propagated-inputs
1094 (list python-jinja2
1095 python-sphinx
1096 python-sphinxcontrib-serializinghtml))
1097 (home-page "https://sphinx-doc.org/")
1098 (synopsis "Sphinx API for web applications")
1099 (description
1100 "This package provides a Python API to easily integrate Sphinx
1101documentation into your web application. It provides tools to integrate
1102Sphinx documents in web templates and to handle searches.")
1103 (license license:bsd-3)))
1104
1105(define-public python-sphinx-gallery
1106 (package
1107 (name "python-sphinx-gallery")
1108 (version "0.20.0")
1109 (source
1110 (origin
1111 (method url-fetch)
1112 (uri (pypi-uri "sphinx_gallery" version))
1113 (sha256
1114 (base32 "0dfp12zjasnidh7l21zjjfkwamgmrh2p15cm6lnq2g8qqq81aa3h"))))
1115 (build-system pyproject-build-system)
1116 (arguments
1117 (list
1118 #:test-flags
1119 #~(list "-k" (string-join
1120 ;; sphinx.errors.ConfigError: 'matplotlib_animations'
1121 ;; specifies file format: mp4; this requires the
1122 ;; sphinxcontrib.video package.
1123 (list "not test_dummy_image"
1124 ;; urllib.error.URLError: <urlopen error [Errno -3]
1125 ;; Temporary failure in name resolution>
1126 "test_embed_code_links_get_data")
1127 " and not "))))
1128 (native-inputs
1129 (list python-absl-py
1130 python-graphviz
1131 ;;python-intersphinx-registry TODO: package me!
1132 python-ipython
1133 python-joblib
1134 python-jupyterlite-sphinx
1135 python-lxml
1136 python-matplotlib
1137 python-numpy
1138 python-packaging
1139 python-plotly
1140 python-pydata-sphinx-theme
1141 python-pytest
1142 python-seaborn
1143 python-setuptools
1144 python-setuptools-scm
1145 python-sphinxcontrib-video
1146 python-sphinx-design
1147 python-statsmodels
1148 python-wheel))
1149 (propagated-inputs
1150 ;; Propagate joblib as it's needed when building Sphinx doc in parallel
1151 ;; (otherwise the error "joblib must be importable when parallel mode is
1152 ;; enabled" is thrown).
1153 (list python-joblib
1154 python-pillow
1155 python-sphinx))
1156 (home-page "https://sphinx-gallery.github.io/stable/index.html")
1157 (synopsis "Generate an examples gallery automatically")
1158 (description
1159 "@code{sphinx_gallery} is a Sphinx extension that builds an HTML version
1160from any set of Python scripts and puts it into an examples gallery.")
1161 (license license:bsd-3)))
1162
1163(define-public python-sphinx-me
1164 (package
1165 (name "python-sphinx-me")
1166 (version "0.3")
1167 (source
1168 (origin
1169 (method url-fetch)
1170 (uri (pypi-uri "sphinx-me" version))
1171 (sha256
1172 (base32 "06jzgp213zihnvpcy2y5jy3ykid3apc2ncp2pg6a2g05lhiziglq"))))
1173 (build-system pyproject-build-system)
1174 (arguments (list #:tests? #f)) ; No tests.
1175 (native-inputs (list python-setuptools))
1176 (home-page "https://github.com/stephenmcd/sphinx-me")
1177 (synopsis "Create a Sphinx documentation shell")
1178 (description
1179 "Create a Sphinx documentation shell for your project and include the
1180README file as the documentation index. It handles extracting the required
1181meta data such as the project name, author and version from your project for
1182use in your Sphinx docs.")
1183 (license license:bsd-2)))
1184
1185(define-public python-sphinx-repoze-autointerface
1186 (package
1187 (name "python-sphinx-repoze-autointerface")
1188 (version "1.0.0")
1189 (source
1190 (origin
1191 (method url-fetch)
1192 (uri (pypi-uri "repoze.sphinx.autointerface" version))
1193 (sha256
1194 (base32 "18981v34cyw8r6q19syx2vy6yjbc6afyz3287qavk5j6791g2ss8"))))
1195 (build-system pyproject-build-system)
1196 (arguments '(#:tests? #f)) ; No tests.
1197 (native-inputs
1198 (list python-setuptools))
1199 (propagated-inputs
1200 (list python-sphinx
1201 python-zope-interface))
1202 (home-page "https://github.com/repoze/repoze.sphinx.autointerface")
1203 (synopsis "Auto-generate Sphinx API docs from Zope interfaces")
1204 (description "This package defines an extension for the Sphinx documentation
1205system. The extension allows generation of API documentation by
1206introspection of @code{zope.interface} instances in code.")
1207 (license license:repoze)))
1208
1209(define-public python-sphinx-reredirects
1210 (package
1211 (name "python-sphinx-reredirects")
1212 (version "1.1.0")
1213 (source
1214 (origin
1215 (method git-fetch)
1216 (uri (git-reference
1217 (url "https://github.com/documatt/sphinx-reredirects")
1218 (commit (string-append "v" version))))
1219 (file-name (git-file-name name version))
1220 (sha256
1221 (base32 "06nflh7j7q7g1vr5pzj1a98y2mdr394l4khcgr72b2smyf7mvpiz"))))
1222 (build-system pyproject-build-system)
1223 (arguments
1224 (list
1225 ;; Test requires network access
1226 #:test-flags #~(list "-k" "not test_linkcheck")))
1227 (native-inputs (list python-pytest python-sphinx python-flit-core))
1228 (propagated-inputs (list python-linkify-it-py
1229 python-myst-parser
1230 python-sphinx-copybutton
1231 python-sphinx-design
1232 python-sphinx-sitemap
1233 python-sphinxcontrib-mermaid
1234 python-sphinxext-opengraph))
1235 (home-page "https://documatt.com/sphinx-reredirects/")
1236 (synopsis "Extension for sphinx to handle redirects")
1237 (description
1238 "The extension for Sphinx documentation projects that handle redirects for
1239moved pages. It generates HTML pages with meta refresh redirects to the new
1240page location to prevent 404 errors if you rename or move your documents.")
1241 (license license:expat)))
1242
1243(define-public python-sphinx-prompt
1244 (package
1245 (name "python-sphinx-prompt")
1246 (version "1.9.0")
1247 (source
1248 (origin
1249 (method url-fetch)
1250 (uri (pypi-uri "sphinx_prompt" version))
1251 (sha256
1252 (base32 "18cmx6d5582jdaq32vnl1slfkm2zhr0raz8nkc57ikkd8rnkq6s7"))))
1253 (build-system pyproject-build-system)
1254 (arguments (list #:tests? #f)) ;no tests in pypi sdist
1255 (native-inputs (list python-poetry-core))
1256 (propagated-inputs
1257 (list python-certifi
1258 python-docutils
1259 python-idna
1260 python-pygments
1261 python-sphinx
1262 python-urllib3))
1263 (home-page "https://github.com/sbrunner/sphinx-prompt")
1264 (synopsis "Sphinx directive to add unselectable prompt")
1265 (description
1266 "This package provides a Sphinx directive to add unselectable prompt.")
1267 (license license:bsd-3)))
1268
1269(define-public python-sphinx-alabaster-theme
1270 (package
1271 (name "python-sphinx-alabaster-theme")
1272 (version "0.7.16")
1273 (source
1274 (origin
1275 (method url-fetch)
1276 (uri (pypi-uri "alabaster" version))
1277 (sha256
1278 (base32 "0rcdsl333jjwrb8m77nsj8wdn78jg92dvk7qsw6xbnm552fbka3m"))))
1279 (build-system pyproject-build-system)
1280 (arguments
1281 (list #:tests? #f)) ; no tests provided in PyPI or Git
1282 (propagated-inputs
1283 (list python-pygments))
1284 (native-inputs (list python-flit-core))
1285 (home-page "https://alabaster.readthedocs.io/")
1286 (synopsis "Configurable sidebar-enabled Sphinx theme")
1287 (description
1288 "Alabaster is a visually (c)lean, responsive, configurable theme for the
1289Sphinx documentation system. It's the default theme of Sphinx.")
1290 (license license:bsd-3)))
1291
1292(define-public python-sphinx-argparse
1293 (package
1294 (name "python-sphinx-argparse")
1295 (version "0.5.2")
1296 (source
1297 (origin
1298 (method url-fetch)
1299 (uri (pypi-uri "sphinx-argparse" version))
1300 (sha256
1301 (base32 "0cph8iv4whf6r6kc3fzl3sbkbm7qm4lbm604v9pzpdllm27jydg5"))))
1302 (build-system pyproject-build-system)
1303 (propagated-inputs
1304 (list python-docutils python-sphinx))
1305 (native-inputs
1306 (list python-flit-core
1307 python-lxml
1308 python-pytest
1309 python-setuptools
1310 python-typing-extensions))
1311 (home-page "https://github.com/ribozz/sphinx-argparse")
1312 (synopsis "Sphinx extension for documenting argparse commands and options")
1313 (description
1314 "This package is a sphinx extension that automatically documents
1315argparse commands and options")
1316 (license license:expat)))
1317
1318(define-public python-guzzle-sphinx-theme
1319 (package
1320 (name "python-guzzle-sphinx-theme")
1321 (version "0.7.11")
1322 (source
1323 (origin
1324 ;; TODO Unbundle.
1325 (method git-fetch)
1326 (uri (git-reference
1327 (url "https://github.com/guzzle/guzzle_sphinx_theme")
1328 (commit version)))
1329 (file-name (git-file-name name version))
1330 (sha256
1331 (base32 "18mgk1rl1345zf9i7nihfw2mr609ylxcksrklyz6m2xbh19bbrja"))))
1332 (build-system pyproject-build-system)
1333 (arguments (list #:tests? #f)) ; No tests upstream.
1334 (native-inputs (list python-setuptools))
1335 (propagated-inputs (list python-sphinx))
1336 (home-page "https://github.com/guzzle/guzzle_sphinx_theme")
1337 (synopsis "Sphinx theme used by Guzzle")
1338 (description
1339 "This package provides guzzle_sphinx_theme, a theme for the Sphinx
1340documentation system, used by @uref{http://docs.guzzlephp.org, Guzzle} and
1341several other projects.")
1342 (license license:expat)))
1343
1344(define-public python-mpl-sphinx-theme
1345 (package
1346 (name "python-mpl-sphinx-theme")
1347 (version "3.5.0")
1348 (source
1349 (origin
1350 (method git-fetch)
1351 (uri (git-reference
1352 (url "https://github.com/matplotlib/mpl-sphinx-theme")
1353 (commit version)))
1354 (file-name (git-file-name name version))
1355 (sha256
1356 (base32 "0sgax26779sl5fna8lim340j588id820nh2j64rmim17bn5vr19x"))))
1357 (build-system pyproject-build-system)
1358 (arguments (list #:tests? #f)) ; No tests.
1359 (native-inputs (list python-setuptools))
1360 (propagated-inputs (list python-pydata-sphinx-theme))
1361 (home-page "https://github.com/matplotlib/mpl-sphinx-theme")
1362 (synopsis "Matplotlib theme for Sphinx")
1363 (description "This package provides a Matplotlib theme for Sphinx.")
1364 (license license:bsd-3)))
1365
1366(define-public python-myst-parser
1367 (package
1368 (name "python-myst-parser")
1369 (version "5.0.0")
1370 (source
1371 (origin
1372 (method git-fetch)
1373 (uri (git-reference
1374 (url "https://github.com/executablebooks/MyST-Parser")
1375 (commit (string-append "v" version))))
1376 (file-name (git-file-name name version))
1377 (sha256
1378 (base32 "0ijlxls1v0qwn9z1wwfgpqqcjz45sfxha3vvmxdgcmlms66rwlfj"))))
1379 (build-system pyproject-build-system)
1380 (arguments
1381 (list
1382 ;; tests: 138 passed, 2 skipped
1383 #:test-flags
1384 ;; Run pytest for docutils-only tests.
1385 ;; See: <https://github.com/executablebooks/MyST-Parser/pull/1076>,
1386 ;; <https://github.com/executablebooks/MyST-Parser/issues/1030>.
1387 #~(list "tests/test_docutils.py"
1388 "tests/test_renderers/test_fixtures_docutils.py"
1389 "tests/test_renderers/test_include_directive.py"
1390 "tests/test_renderers/test_myst_config.py")))
1391 (native-inputs
1392 (list python-flit-core
1393 python-pytest
1394 python-pytest-param-files))
1395 (propagated-inputs
1396 (list python-docutils
1397 python-jinja2
1398 python-markdown-it-py
1399 python-linkify-it-py
1400 python-mdit-py-plugins
1401 python-pyyaml
1402 python-sphinx))
1403 (home-page "https://myst-parser.readthedocs.io/en/latest/")
1404 (synopsis "Sphinx and Docutils extension to parse MyST")
1405 (description
1406 "This package provides a Sphinx and Docutils extension to parse MyST, a
1407rich and extensible flavour of Markdown for authoring technical and scientific
1408documentation.")
1409 (license license:expat)))
1410
1411(define-public python-sphinx-rtd-theme
1412 (package
1413 (name "python-sphinx-rtd-theme")
1414 (version "3.1.0")
1415 (source
1416 (origin
1417 (method url-fetch)
1418 (uri (pypi-uri "sphinx_rtd_theme" version))
1419 (sha256
1420 (base32 "0k4fnxnwgaqbqsqj6yarg3mszak7lrd9av2gk8ihksbnqbr7chml"))))
1421 (build-system pyproject-build-system)
1422 (native-inputs
1423 (list python-pytest
1424 python-setuptools))
1425 (propagated-inputs
1426 (list python-docutils
1427 python-sphinx
1428 python-sphinxcontrib-jquery))
1429 (home-page "https://github.com/snide/sphinx_rtd_theme/")
1430 (synopsis "ReadTheDocs.org theme for Sphinx")
1431 (description "A theme for Sphinx used by ReadTheDocs.org.")
1432 (license license:expat)))
1433
1434(define-public python-breathe
1435 (package
1436 (name "python-breathe")
1437 (version "4.36.0")
1438 (source (origin
1439 (method git-fetch) ;git repo has tests
1440 (uri (git-reference
1441 (url "https://github.com/breathe-doc/breathe")
1442 (commit (string-append "v" version))))
1443 (file-name (git-file-name name version))
1444 (sha256
1445 (base32
1446 "1jzljqiqyb0jdndakyc69l0as1hhp23ipsbqk4i2giknypqbi8ph"))))
1447 (build-system pyproject-build-system)
1448 (native-inputs
1449 (list python-flit-core
1450 python-pytest))
1451 (propagated-inputs
1452 (list python-docutils
1453 python-sphinx))
1454 (home-page "https://www.breathe-doc.org")
1455 (synopsis "ReStructuredText and Sphinx bridge to Doxygen")
1456 (description "This package is an extension to reStructuredText and Sphinx
1457to be able to read and render the Doxygen xml output.")
1458 (license license:bsd-3)))
1459
1460(define-public python-sphinx-intl
1461 (package
1462 (name "python-sphinx-intl")
1463 (version "2.3.2")
1464 (source
1465 (origin
1466 (method git-fetch)
1467 (uri (git-reference
1468 (url "https://github.com/sphinx-doc/sphinx-intl")
1469 (commit version)))
1470 (file-name (git-file-name name version))
1471 (sha256
1472 (base32 "1hdn7d15kdh9vppa9wwvs6rzi8vb4wmwin57wxx0mhv9dx83w6p5"))))
1473 (build-system pyproject-build-system)
1474 (arguments
1475 (list
1476 #:test-flags
1477 ;; These tests require the transifex_client library.
1478 #~(list "--ignore=tests/test_cmd_transifex.py"
1479 "--ignore=tests/test_transifex.py")))
1480 (native-inputs
1481 (list python-mock
1482 python-pytest
1483 python-setuptools))
1484 (propagated-inputs
1485 (list python-sphinx
1486 python-click))
1487 (home-page "https://github.com/sphinx-doc/sphinx-intl")
1488 (synopsis
1489 "Sphinx utility that makes it easy to translate and to apply translation")
1490 (description
1491 "A utility tool that provides several features that make it easy to
1492translate and to apply translation to Sphinx generated document.")
1493 (license license:bsd-2)))
1494
1495(define-public python-sphinxext-opengraph
1496 (package
1497 (name "python-sphinxext-opengraph")
1498 (version "0.13.0")
1499 (source
1500 (origin
1501 (method git-fetch)
1502 (uri (git-reference
1503 (url "https://github.com/wpilibsuite/sphinxext-opengraph")
1504 (commit (string-append "v" version))))
1505 (file-name (git-file-name name version))
1506 (sha256
1507 (base32 "0bif02izlzbra3mzghxrc5ngl6b3sr9sh7q22s9kydnzc5fpmmdd"))))
1508 (build-system pyproject-build-system)
1509 (native-inputs
1510 (list python-beautifulsoup4
1511 python-flit-core
1512 python-pytest
1513 python-sphinx))
1514 (home-page "https://github.com/wpilibsuite/sphinxext-opengraph")
1515 (synopsis "Sphinx Extension to enable OpenGraph support")
1516 (description
1517 "This package provides a Sphinx Extension to generate OG metadata.")
1518 (license license:bsd-3)))
1519
1520(define-public python-sphinxext-rediraffe
1521 (package
1522 (name "python-sphinxext-rediraffe")
1523 (version "0.2.7")
1524 (source
1525 (origin
1526 (method url-fetch)
1527 (uri (pypi-uri "sphinxext-rediraffe" version))
1528 (sha256
1529 (base32 "0pbjkwmqc8q08bsk66panvpya831ycjq1ysdagyrznpzwpxcn7b5"))))
1530 (build-system pyproject-build-system)
1531 (arguments
1532 (list
1533 #:tests? #f ; No tests.
1534 #:phases
1535 #~(modify-phases %standard-phases
1536 (add-after 'unpack 'patch-version
1537 (lambda _
1538 (substitute* "setup.py"
1539 (("version = \"main\"")
1540 (string-append "version = \"" #$version "\""))))))))
1541 (propagated-inputs (list python-sphinx))
1542 (native-inputs (list python-setuptools))
1543 (home-page "https://github.com/wpilibsuite/sphinxext-rediraffe")
1544 (synopsis
1545 "Sphinx Extension that redirects non-existent pages to working pages")
1546 (description
1547 "This sphinx extension redirects non-existent pages to working
1548pages. Rediraffe can also check that deleted/renamed files in your git repo
1549are redirected.")
1550 (license license:expat)))
1551
1552(define-public python-sphinx-autobuild
1553 (package
1554 (name "python-sphinx-autobuild")
1555 (version "2025.08.25")
1556 (source
1557 (origin
1558 (method git-fetch)
1559 (uri (git-reference
1560 (url "https://github.com/GaretJax/sphinx-autobuild")
1561 (commit version)))
1562 (file-name (git-file-name name version))
1563 (sha256
1564 (base32 "1mnhqjvr9ikr938hgy2jm32p2rqldq4n7s1ba4svbqbnbw5lpy15"))))
1565 (build-system pyproject-build-system)
1566 (propagated-inputs
1567 (list python-colorama
1568 python-sphinx
1569 python-starlette
1570 python-uvicorn
1571 python-watchfiles
1572 python-websockets))
1573 (native-inputs (list python-flit-core python-httpx python-pytest))
1574 (home-page "https://github.com/GaretJax/sphinx-autobuild")
1575 (synopsis "Rebuild Sphinx documentation when a change is detected")
1576 (description
1577 "This package lets you watch a Sphinx directory and rebuild the
1578documentation when a change is detected. It also includes a livereload
1579enabled web server.")
1580 (license license:expat)))
1581
1582(define-public python-sphinx-autodoc-typehints
1583 (package
1584 (name "python-sphinx-autodoc-typehints")
1585 (version "3.5.2")
1586 (source
1587 (origin
1588 (method git-fetch)
1589 (uri (git-reference
1590 (url "https://github.com/tox-dev/sphinx-autodoc-typehints")
1591 (commit version)))
1592 (file-name (git-file-name name version))
1593 (sha256
1594 (base32 "0ab4s7g47dcbyvqwmdwb6q6aha42zwj3zrnwf0221lsh1j5z08bf"))))
1595 (build-system pyproject-build-system)
1596 (arguments
1597 (list
1598 ;; tests: 226 passed, 89 deselected, 15622 warnings
1599 #:test-flags
1600 #~(cons*
1601 ;; This test requires to download an objects.inv file from the Sphinx
1602 ;; website.
1603 "--deselect=tests/test_sphinx_autodoc_typehints.py::test_format_annotation"
1604 ;; Assertions are not equal.
1605 "--deselect=tests/test_sphinx_autodoc_typehints.py::test_always_use_bars_union"
1606 (map (lambda (fixture)
1607 (string-append "--deselect=tests/test_integration.py::test_integration["
1608 fixture "]"))
1609 (list
1610 ;; These tests fail with meaningless string differences,
1611 ;; try running them with [email protected]
1612 "default_conf-TestClassAttributeDocs"
1613 "default_conf-ParamAndAttributeHaveSameName"
1614 "prolog_conf-TestClassAttributeDocs"
1615 "prolog_conf-ParamAndAttributeHaveSameName"
1616 "epilog_conf-TestClassAttributeDocs"
1617 "epilog_conf-ParamAndAttributeHaveSameName"
1618 "bothlog_conf-TestClassAttributeDocs"
1619 "bothlog_conf-ParamAndAttributeHaveSameName"
1620 ;; These tests suggest that function overloading doesn't work
1621 ;; as expected.
1622 "default_conf-func_with_overload"
1623 "prolog_conf-func_with_overload"
1624 "epilog_conf-func_with_overload"
1625 "bothlog_conf-func_with_overload")))))
1626 (native-inputs
1627 (list python-hatch-vcs
1628 python-hatchling
1629 python-pytest
1630 python-setuptools-scm
1631 python-sphobjinv))
1632 (propagated-inputs
1633 (list python-sphinx))
1634 (home-page "https://pypi.org/project/sphinx-autodoc-typehints/")
1635 (synopsis "Type hints for the Sphinx autodoc extension")
1636 (description "This extension allows you to use Python 3 annotations for
1637documenting acceptable argument types and return value types of functions.")
1638 (license license:expat)))
1639
1640(define-public python-sphinx-pytest
1641 (package
1642 (name "python-sphinx-pytest")
1643 (version "0.2.0")
1644 (source (origin
1645 (method url-fetch)
1646 (uri (pypi-uri "sphinx_pytest" version))
1647 (sha256
1648 (base32
1649 "0w16w7zjhb6pxv7py7q13882r58ly4s71l2lyns0wq6qkv1za9iw"))))
1650 (build-system pyproject-build-system)
1651 ;; The 'test_no_transforms' test started failing with Sphinx 9 (see:
1652 ;; <https://github.com/sphinx-extensions2/sphinx-pytest/issues/28>).
1653 (arguments (list #:test-flags #~(list "-k" "not test_no_transforms")))
1654 (native-inputs (list python-flit-core))
1655 (propagated-inputs (list python-pytest python-sphinx))
1656 (home-page "https://github.com/chrisjsewell/sphinx-pytest")
1657 (synopsis "Pytest fixtures for Sphinx extensions")
1658 (description "This Pytest extension mainly provides some Pytest fixtures
1659to simulate converting some source text to Docutils @acronym{AST, Abstract
1660Syntax Tree} at different stages: before transforms, after transforms, etc.")
1661 (license license:expat)))
1662
1663(define-public python-nbsphinx
1664 (package
1665 (name "python-nbsphinx")
1666 (version "0.9.8")
1667 (source
1668 (origin
1669 (method git-fetch)
1670 (uri (git-reference
1671 (url "https://github.com/spatialaudio/nbsphinx")
1672 (commit version)))
1673 (file-name (git-file-name name version))
1674 (sha256
1675 (base32 "13z9mcycc7frg45w8sy2lfgzb51h407d38r1y63p4jyjnpfzic02"))))
1676 (build-system pyproject-build-system)
1677 (arguments
1678 (list #:tests? #f)) ; No tests upstream.
1679 (propagated-inputs
1680 (list python-docutils
1681 python-jinja2
1682 python-nbconvert
1683 python-nbformat
1684 python-sphinx
1685 python-traitlets))
1686 (native-inputs
1687 (list python-setuptools))
1688 (home-page "https://nbsphinx.readthedocs.io/")
1689 (synopsis "Jupyter Notebook Tools for Sphinx")
1690 (description "@code{python-nbsphinx} is a Sphinx extension that
1691provides a source parser for @code{*.ipynb} files. Custom Sphinx
1692directives are used to show Jupyter Notebook code cells (and of course
1693their results) in both HTML and LaTeX output. Un-evaluated notebooks
1694- i.e. notebooks without stored output cells - will be automatically
1695executed during the Sphinx build process.")
1696 (license license:expat)))
1697
1698(define-public python-sphobjinv
1699 (package
1700 (name "python-sphobjinv")
1701 (version "2.3.1.3")
1702 (source
1703 (origin
1704 (method git-fetch)
1705 (uri (git-reference
1706 (url "https://github.com/bskinn/sphobjinv")
1707 (commit (string-append "v" version))))
1708 (file-name (git-file-name name version))
1709 (sha256
1710 (base32 "0cgnxadwjijpqyragbz0ibinhpbaw8l56az4a3i1m2x9hh589jbi"))
1711 (patches (search-patches "python-sphobjinv-defer-ssl-import.patch"))))
1712 (build-system pyproject-build-system)
1713 (native-inputs
1714 (list python-dictdiffer
1715 python-pytest
1716 python-pytest-check
1717 python-pytest-retry
1718 python-setuptools
1719 python-sphinx
1720 python-stdio-mgr))
1721 (propagated-inputs
1722 (list python-attrs python-certifi python-jsonschema))
1723 (home-page "https://github.com/bskinn/sphobjinv")
1724 (synopsis "Sphinx cross-reference tool")
1725 (description "Sphinx objects.inv inspection/manipulation tool.")
1726 (license license:expat)))
1727
1728(define-public python-jupyter-sphinx
1729 (package
1730 (name "python-jupyter-sphinx")
1731 (version "0.5.3")
1732 (source
1733 (origin
1734 ;; Pypi tarball doesn't contain tests.
1735 (method git-fetch)
1736 (uri (git-reference
1737 (url "https://github.com/jupyter/jupyter-sphinx")
1738 (commit (string-append "v" version))))
1739 (file-name (git-file-name name version))
1740 (sha256
1741 (base32
1742 "1l8skhjir7j9jr4xdmwzj5lk5w31jn21ydpcxvgr6adgnrdbgy53"))))
1743 (build-system pyproject-build-system)
1744 (arguments
1745 (list
1746 #:test-flags
1747 #~(list "-W" "ignore::DeprecationWarning")
1748 #:phases
1749 #~(modify-phases %standard-phases
1750 (add-after 'unpack 'ignore-warnings
1751 (lambda _
1752 (substitute* "pyproject.toml"
1753 (("\"error\",") ""))))
1754 (add-after 'unpack 'fix-tests
1755 ;; See: <https://github.com/jupyter/jupyter-sphinx/issues/280>
1756 ;; Tests are rewritten after 0.5.3, so undo when refreshing.
1757 (lambda _
1758 (substitute* "tests/test_execute.py"
1759 (("python\\.tex") "projectnamenotset.tex"))))
1760 (add-before 'check 'set-home
1761 (lambda _
1762 ;; UserWarning: IPython parent '/homeless-shelter' is not
1763 ;; a writable location, using a temp directory.
1764 (setenv "HOME" "/tmp"))))))
1765 (propagated-inputs
1766 (list python-ipython
1767 python-ipywidgets
1768 python-nbconvert
1769 python-nbformat))
1770 (native-inputs
1771 (list python-bash-kernel ;for tests
1772 python-hatchling
1773 python-ipykernel
1774 python-pytest
1775 python-sphinx))
1776 (home-page "https://github.com/jupyter/jupyter-sphinx/")
1777 (synopsis "Jupyter Sphinx Extensions")
1778 (description
1779 "Jupyter-sphinx is a Sphinx extension that executes embedded code in a
1780Jupyter kernel, and embeds outputs of that code in the document. It has
1781support for rich output such as images, LaTeX math and even JavaScript
1782widgets, and supports thebelab for live code execution with minimal effort.")
1783 (license license:bsd-3)))
1784
1785(define-public python-sphinxcontrib-autoprogram
1786 (package
1787 (name "python-sphinxcontrib-autoprogram")
1788 (version "0.1.9")
1789 (source
1790 (origin
1791 (method git-fetch)
1792 (uri (git-reference
1793 (url "https://github.com/sphinx-contrib/autoprogram")
1794 (commit version)))
1795 (file-name (git-file-name name version))
1796 (sha256
1797 (base32 "1nyc5qk01z7kp48iablz059kxvkpm6m5q9wrnj9v3zsphpx3lxgj"))))
1798 (build-system pyproject-build-system)
1799 (arguments (list #:tests? #f)) ; No tests despite tox.ini.
1800 (native-inputs (list python-setuptools))
1801 (propagated-inputs (list python-six python-sphinx))
1802 (home-page "https://github.com/sphinx-contrib/autoprogram")
1803 (synopsis "Documenting CLI programs")
1804 (description
1805 "This Sphinx extension, @code{sphinxcontrib.autoprogram}, provides an
1806automated way to document command-line programs. It scans
1807@code{argparse.ArgumentParser} object, and then expands it into a set of
1808@code{.. program::} and @code{.. option::} directives.")
1809 (license license:bsd-2)))
1810
1811(define-public python-sphinx-theme-builder
1812 (package
1813 (name "python-sphinx-theme-builder")
1814 (version "0.3.2")
1815 (source
1816 (origin
1817 (method git-fetch)
1818 (uri (git-reference
1819 (url "https://github.com/pradyunsg/sphinx-theme-builder")
1820 (commit version)))
1821 (file-name (git-file-name name version))
1822 (sha256
1823 (base32 "100v659ngafxr4lsylac5m2ci7qkjd7h5lg4p7nq8pkj6x2fxql2"))))
1824 (build-system pyproject-build-system)
1825 (native-inputs (list python-flit-core python-pytest))
1826 (propagated-inputs
1827 (list python-pypa-build
1828 python-click
1829 python-diagnostic
1830 python-nodeenv
1831 python-packaging
1832 python-pyproject-metadata
1833 python-rich
1834 python-sphinx-autobuild
1835 python-tomli))
1836 (home-page "https://github.com/pradyunsg/sphinx-theme-builder")
1837 (synopsis "Tool for authoring Sphinx themes")
1838 (description "This package provides a tool for authoring Sphinx themes
1839with a simple (opinionated) workflow.")
1840 (license license:expat)))
1841
1842(define-public python-sphinx-sitemap
1843 (package
1844 (name "python-sphinx-sitemap")
1845 ;; 2.7.0 requires sphinx-git-last-updated-by-git
1846 (version "2.6.0")
1847 (source
1848 (origin
1849 (method git-fetch)
1850 (uri (git-reference
1851 (url "https://github.com/jdillard/sphinx-sitemap")
1852 (commit (string-append "v" version))))
1853 (file-name (git-file-name name version))
1854 (sha256
1855 (base32 "03zaxgm50nf7q6mns89fw7hw209r1cp5sh7i8f70vfhmygxmli24"))))
1856 (build-system pyproject-build-system)
1857 (arguments (list #:tests? #f)) ;No tests despite tox.ini.
1858 (native-inputs (list python-setuptools))
1859 (propagated-inputs (list python-sphinx))
1860 (home-page "https://github.com/jdillard/sphinx-sitemap")
1861 (synopsis "Sitemap generator for Sphinx")
1862 (description
1863 "A Sphinx extension to generate multiversion and multilanguage
1864sitemaps.org compliant sitemaps for the HTML version of your Sphinx
1865documentation.")
1866 (license license:expat)))
1867
1868(define-public python-pydata-sphinx-theme
1869 (package
1870 (name "python-pydata-sphinx-theme")
1871 ;; TODO: This is not the latest release, but the 0.8.x series introduced a
1872 ;; new Sphinx theme build system that complicate things (see:
1873 ;; https://github.com/pydata/pydata-sphinx-theme/issues/628 and
1874 ;; https://src.fedoraproject.org/rpms/python-pydata-sphinx-theme
1875 ;; /blob/rawhide/f/prepare_vendor.sh).
1876 (version "0.7.2")
1877 (source
1878 (origin
1879 (method url-fetch)
1880 (uri (pypi-uri "pydata-sphinx-theme" version))
1881 (sha256
1882 (base32
1883 "0ph69bnnw9w8vksc7rk45q5yknsrsgk9a19xsbxym46jrmgz67b7"))))
1884 (build-system pyproject-build-system)
1885 (arguments
1886 (list
1887 #:test-flags
1888 ;; Fails due to inscrutable differences in the generated HTML
1889 '(list "-k" "not test_logo")))
1890 (propagated-inputs
1891 (list python-beautifulsoup4
1892 python-docutils-0.19
1893 python-jinja2
1894 python-sphinx-6))
1895 (native-inputs
1896 (list python-pytest python-pytest-regressions
1897 python-setuptools python-wheel))
1898 (home-page "https://github.com/pydata/pydata-sphinx-theme")
1899 (synopsis "Bootstrap-based Sphinx theme")
1900 (description
1901 "This package provides a Bootstrap-based Sphinx theme from the PyData
1902community.")
1903 (license license:bsd-3)))
1904
1905(define-public python-sphinx-autoapi
1906 (package
1907 (name "python-sphinx-autoapi")
1908 (version "3.6.1")
1909 (source
1910 (origin
1911 (method git-fetch)
1912 (uri (git-reference
1913 (url "https://github.com/readthedocs/sphinx-autoapi")
1914 (commit (string-append "v" version))))
1915 (file-name (git-file-name name version))
1916 (sha256
1917 (base32 "194qvzzlzdwb8vwv95adjzb81d2n1wi4q8d00m0vbqg5njzfp9vm"))))
1918 (build-system pyproject-build-system)
1919 (arguments
1920 (list
1921 ;; tests: 318 passed, 1 skipped, 1 deselected
1922 ;; Deselect test that requires internet connection.
1923 #:test-flags
1924 #~(list"-k" "not TestPipeUnionModule")))
1925 (native-inputs
1926 (list nss-certs-for-test
1927 python-beautifulsoup4
1928 python-flit-core
1929 python-pytest))
1930 (propagated-inputs
1931 (list python-astroid
1932 python-jinja2
1933 python-pyyaml
1934 python-sphinx))
1935 (home-page "https://github.com/readthedocs/sphinx-autoapi")
1936 (synopsis "Sphinx API documentation generator")
1937 (description
1938 "Sphinx AutoAPI is a Sphinx extension for generating complete
1939API documentation without needing to load, run, or import the project being
1940documented. In contrast to the traditional Sphinx @code{autodoc}, which
1941requires manual authoring and uses code imports, AutoAPI finds and generates
1942documentation by parsing source code.")
1943 (license license:expat)))