gnu: Add python-jupyter-sphinx.
[jackhill/guix/guix.git] / gnu / packages / sphinx.scm
CommitLineData
9d0c291e
MB
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014 David Thompson <davet@gnu.org>
a818a34f 3;;; Copyright © 2015, 2017, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
9d0c291e
MB
4;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
5;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
6;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
7;;; Copyright © 2017 Danny Milosavljevic <dannym+a@scratchpost.org>
f49b8c14 8;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
9d0c291e
MB
9;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com>
10;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
11;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
12;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
e5c1348a 13;;; Copyright © 2019, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
90ee17cd 14;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org>
0066f6be 15;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
83ade5bf 16;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
b1572018 17;;; Copyright © 2021 Eric Bavier <bavier@posteo.net>
51e85395 18;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
d6b39088 19;;; Copyright © 2021 Hugo Lecomte <hugo.lecomte@inria.fr>
9d0c291e
MB
20;;;
21;;; This file is part of GNU Guix.
22;;;
23;;; GNU Guix is free software; you can redistribute it and/or modify it
24;;; under the terms of the GNU General Public License as published by
25;;; the Free Software Foundation; either version 3 of the License, or (at
26;;; your option) any later version.
27;;;
28;;; GNU Guix is distributed in the hope that it will be useful, but
29;;; WITHOUT ANY WARRANTY; without even the implied warranty of
30;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
31;;; GNU General Public License for more details.
32;;;
33;;; You should have received a copy of the GNU General Public License
34;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
35
36(define-module (gnu packages sphinx)
37 #:use-module (guix packages)
38 #:use-module (guix download)
d090a1c1 39 #:use-module (guix git-download)
d309b36d 40 #:use-module (guix utils)
9d0c291e
MB
41 #:use-module (guix build-system python)
42 #:use-module ((guix licenses) #:prefix license:)
43 #:use-module (gnu packages)
44 #:use-module (gnu packages check)
45 #:use-module (gnu packages graphviz)
46 #:use-module (gnu packages image)
47 #:use-module (gnu packages imagemagick)
dbcd2050 48 #:use-module (gnu packages python-build)
1ed435bf 49 #:use-module (gnu packages python-crypto)
9d0c291e
MB
50 #:use-module (gnu packages python-web)
51 #:use-module (gnu packages python-xyz)
52 #:use-module (gnu packages time))
53
54(define-public python-sphinx
55 (package
56 (name "python-sphinx")
9fe0ca40 57 (version "3.3.1")
9d0c291e
MB
58 (source
59 (origin
60 (method url-fetch)
61 (uri (pypi-uri "Sphinx" version))
62 (sha256
63 (base32
9fe0ca40 64 "0023vc2i29pjxmvdqbz1wdbi7gbj56y1br1b2z8h8wa44li5k38y"))))
9d0c291e
MB
65 (build-system python-build-system)
66 (arguments
67 `(#:phases
68 (modify-phases %standard-phases
69 (replace 'check
70 (lambda _
71 ;; Requires Internet access.
72 (delete-file "tests/test_build_linkcheck.py")
73 (substitute* "tests/test_build_latex.py"
74 (("@pytest.mark.sphinx\\('latex', testroot='images'\\)")
75 "@pytest.mark.skip()"))
9d0c291e
MB
76 (invoke "make" "test"))))))
77 (propagated-inputs
4b8c8f76 78 `(("python-babel" ,python-babel)
9d0c291e
MB
79 ("python-docutils" ,python-docutils)
80 ("python-jinja2" ,python-jinja2)
4b8c8f76 81 ("python-imagesize" ,python-imagesize)
9d0c291e
MB
82 ("python-packaging" ,python-packaging)
83 ("python-pygments" ,python-pygments)
84 ("python-requests" ,python-requests)
4b8c8f76
BG
85 ("python-snowballstemmer" ,python-snowballstemmer)
86 ("python-sphinx-alabaster-theme"
87 ,python-sphinx-alabaster-theme)
d309b36d
MB
88 ("python-sphinxcontrib-applehelp" ,python-sphinxcontrib-applehelp)
89 ("python-sphinxcontrib-devhelp" ,python-sphinxcontrib-devhelp)
90 ("python-sphinxcontrib-htmlhelp" ,python-sphinxcontrib-htmlhelp)
91 ("python-sphinxcontrib-jsmath" ,python-sphinxcontrib-jsmath)
92 ("python-sphinxcontrib-qthelp" ,python-sphinxcontrib-qthelp)
93 ("python-sphinxcontrib-serializinghtml"
94 ,python-sphinxcontrib-serializinghtml)))
9d0c291e
MB
95 (native-inputs
96 `(("graphviz" ,graphviz)
97 ("imagemagick" ,imagemagick) ;for "convert"
98 ("python-html5lib" ,python-html5lib)
99 ("python-mock" ,python-mock)
100 ("python-nose" ,python-nose)
101 ("python-pytest" ,python-pytest)))
555f3d15 102 (home-page "https://www.sphinx-doc.org")
9d0c291e
MB
103 (synopsis "Python documentation generator")
104 (description "Sphinx is a tool that makes it easy to create documentation
105for Python projects or other documents consisting of multiple reStructuredText
106sources.")
50bb74d0 107 (license license:bsd-2)
a60be5c5
RW
108 (properties `((python2-variant . ,(delay python2-sphinx))))))
109
110;; Sphinx 2 does not support Python 2, so we stick with this older version here.
111(define-public python2-sphinx
112 (let ((base (package-with-python2 (strip-python2-variant python-sphinx))))
113 (package
114 (inherit base)
115 (version "1.7.7")
116 (source (origin
117 (method url-fetch)
118 (uri (pypi-uri "Sphinx" version))
119 (sha256
120 (base32
121 "0pkkbfj7cl157q550gcs45am5y78ps0h7q6455d64s1zmw01jlvi"))))
122 (arguments
123 (substitute-keyword-arguments (package-arguments base)
124 ((#:phases phases)
125 `(modify-phases ,phases
126 (add-before 'check 'disable-broken-tests
127 (lambda _
128 (for-each delete-file
129 ;; These tests are broken when using Python2:
130 ;; <https://github.com/sphinx-doc/sphinx/issues/4710>.
131 '("tests/test_api_translator.py"
132 "tests/test_setup_command.py"
133 ;; This one fails for unknown reasons.
134 "tests/test_correct_year.py"))))))))
135 (native-inputs `(("python2-mock" ,python2-mock)
136 ("python2-enum34" ,python2-enum34)
137 ,@(package-native-inputs base)))
138 ;; Sphinx 2 has some dependencies that do not support Python 2, so
139 ;; we keep our own propagated-inputs here instead of inheriting.
140 (propagated-inputs
141 `(("python2-pytz" ,python2-pytz)
142 ("python2-typing" ,python2-typing)
143 ("python2-imagesize" ,python2-imagesize)
144 ("python2-sphinx-alabaster-theme" ,python2-sphinx-alabaster-theme)
145 ("python2-babel" ,python2-babel)
146 ("python2-snowballstemmer" ,python2-snowballstemmer)
147 ("python2-docutils" ,python2-docutils-0.14)
148 ("python2-jinja2" ,python2-jinja2)
149 ("python2-packaging" ,python2-packaging)
150 ("python2-pygments" ,python2-pygments)
151 ("python2-requests" ,python2-requests)
152 ("python2-six" ,python2-six)
153 ("python2-sphinxcontrib-websupport" ,python2-sphinxcontrib-websupport))))))
9d0c291e 154
bc2a3f7c
MB
155(define-public python-sphinxcontrib-applehelp
156 (package
157 (name "python-sphinxcontrib-applehelp")
f49b8c14 158 (version "1.0.2")
bc2a3f7c
MB
159 (source (origin
160 (method url-fetch)
161 (uri (pypi-uri "sphinxcontrib-applehelp" version))
162 (sha256
163 (base32
f49b8c14 164 "0n5wrn4l7x6gxvi1g7c6y72hkxgc223axz1jykipaxhfr1g76wm0"))))
bc2a3f7c
MB
165 (build-system python-build-system)
166 (arguments
167 `(#:tests? #f)) ;XXX: circular dependency on Sphinx
168 (home-page "https://github.com/sphinx-doc/sphinxcontrib-applehelp")
169 (synopsis "Sphinx extension for creating Apple help books")
170 (description
171 "@code{sphinxcontrib-applehelp} is a Sphinx extension which outputs
172Apple help books.")
173 (license license:bsd-2)))
174
bcb22b36
RW
175(define-public python-sphinx-copybutton
176 (package
177 (name "python-sphinx-copybutton")
8d45404e 178 (version "0.2.6")
bcb22b36
RW
179 (source
180 (origin
181 (method url-fetch)
182 (uri (pypi-uri "sphinx-copybutton" version))
183 (sha256
184 (base32
8d45404e 185 "0ny9jpygj93z8jyjpi4v6jjz90pmns74s389wq16igzzq2mpgfjm"))))
bcb22b36 186 (build-system python-build-system)
8d45404e
BG
187 (arguments
188 `(#:tests? #f)) ; XXX: Check requires network access.
189 (propagated-inputs
190 `(("python-flit" ,python-flit)
191 ("python-setuptools" ,python-setuptools)
192 ("python-sphinx" ,python-sphinx)
193 ("python-wheel" ,python-wheel)))
bcb22b36
RW
194 (home-page "https://github.com/choldgraf/sphinx-copybutton")
195 (synopsis "Sphinx extension to add \"copy\" buttons to code blocks")
196 (description
197 "This package provides a small sphinx extension to add \"copy\" buttons
198to code blocks.")
199 (license license:expat)))
200
62ad0c8b
MB
201(define-public python-sphinxcontrib-devhelp
202 (package
203 (name "python-sphinxcontrib-devhelp")
ccac5118 204 (version "1.0.2")
62ad0c8b
MB
205 (source (origin
206 (method url-fetch)
207 (uri (pypi-uri "sphinxcontrib-devhelp" version))
208 (sha256
209 (base32
ccac5118 210 "1r1qngsbjqbg4rj93kpj44qqy7n4x5khldkr0c3ffhlnggx1lzzz"))))
62ad0c8b
MB
211 (build-system python-build-system)
212 (arguments
213 `(#:tests? #f)) ;XXX: circular dependency on Sphinx
214 (home-page "https://github.com/sphinx-doc/sphinxcontrib-devhelp")
215 (synopsis "Sphinx extension for creating Devhelp documents")
216 (description
217 "@code{sphinxcontrib-devhelp} is a Sphinx extension which outputs
218@url{Devhelp,https://wiki.gnome.org/Apps/Devhelp} documents.")
219 (license license:bsd-2)))
220
a818a34f
RW
221(define-public python-sphinxcontrib-github-alt
222 (package
223 (name "python-sphinxcontrib-github-alt")
224 (version "1.2")
225 (source
226 (origin
227 (method url-fetch)
228 (uri (pypi-uri "sphinxcontrib_github_alt" version))
229 (sha256
230 (base32
231 "1x9af78vamjjcdrrhiah3wg613jv7gm8yh9vvqfrmf4vam6mimyg"))))
232 (build-system python-build-system)
233 (propagated-inputs
234 `(("python-docutils" ,python-docutils)
235 ("python-sphinx" ,python-sphinx)))
236 (home-page "https://github.com/jupyter/sphinxcontrib_github_alt")
237 (synopsis "Link to GitHub pages from Sphinx docs")
238 (description
239 "This package lets you link to GitHub issues, pull requests, commits and
240users from Sphinx docs.")
241 (license license:bsd-2)))
242
72f278a0
MB
243(define-public python-sphinxcontrib-htmlhelp
244 (package
245 (name "python-sphinxcontrib-htmlhelp")
25b576a9 246 (version "1.0.3")
72f278a0
MB
247 (source (origin
248 (method url-fetch)
249 (uri (pypi-uri "sphinxcontrib-htmlhelp" version))
250 (sha256
251 (base32
25b576a9 252 "16v5jdnibwrqjdr5aqchgyzpwy3rgamwhdf4kidv5nxj65zbpxg8"))))
72f278a0
MB
253 (build-system python-build-system)
254 (arguments
255 `(#:tests? #f)) ;XXX: circular dependency on Sphinx
256 (home-page "https://github.com/sphinx-doc/sphinxcontrib-htmlhelp")
35fc0f4c 257 (synopsis "Sphinx extension for rendering HTML help files")
72f278a0
MB
258 (description
259 "@code{sphinxcontrib-htmlhelp} is a Sphinx extension which renders
260HTML help files.")
261 (license license:bsd-2)))
262
67be8943
MB
263(define-public python-sphinxcontrib-jsmath
264 (package
265 (name "python-sphinxcontrib-jsmath")
266 (version "1.0.1")
267 (source (origin
268 (method url-fetch)
269 (uri (pypi-uri "sphinxcontrib-jsmath" version))
270 (sha256
271 (base32
272 "1f64w19j33sp151jimibraw6qrbhd5gxy8hs3797w9478m55x4m9"))))
273 (build-system python-build-system)
274 (arguments
275 `(#:tests? #f)) ;XXX: circular dependency on Sphinx
276 (home-page "https://github.com/sphinx-doc/sphinxcontrib-jsmath")
277 (synopsis "Sphinx extension to render math equations")
278 (description
279 "@code{sphinxcontrib-jsmath} is a Sphinx extension which renders display
280math in HTML via JavaScript.")
774520df 281 (license license:bsd-2)))
67be8943 282
9d0c291e
MB
283(define-public python-sphinxcontrib-newsfeed
284 (package
285 (name "python-sphinxcontrib-newsfeed")
286 (version "0.1.4")
287 (source (origin
288 (method url-fetch)
289 (uri (pypi-uri "sphinxcontrib-newsfeed" version))
290 (sha256
291 (base32
292 "1d7gam3mn8v4in4p16yn3v10vps7nnaz6ilw99j4klij39dqd37p"))))
293 (arguments '(#:tests? #f)) ; No tests.
294 (build-system python-build-system)
295 (propagated-inputs
296 `(("python-sphinx" ,python-sphinx)))
297 (synopsis "News Feed extension for Sphinx")
298 (description "Sphinxcontrib-newsfeed is an extension for adding a simple
299Blog, News or Announcements section to a Sphinx website.")
300 (home-page "https://bitbucket.org/prometheus/sphinxcontrib-newsfeed")
301 (license license:bsd-2)))
302
303(define-public python-sphinxcontrib-programoutput
304 (package
305 (name "python-sphinxcontrib-programoutput")
e2734fec 306 (version "0.15")
9d0c291e
MB
307 (source (origin
308 (method url-fetch)
309 (uri (pypi-uri "sphinxcontrib-programoutput" version))
310 (sha256
311 (base32
e2734fec 312 "155bz0z2cz544pphkd3nk7ph83mz7nn0ql135kzi62kqmd75ppc0"))))
9d0c291e
MB
313 (build-system python-build-system)
314 (arguments
b45aafd5 315 ;; FIXME: Many tests are failing.
9d0c291e
MB
316 '(#:tests? #f))
317 (propagated-inputs
318 `(("python-sphinx" ,python-sphinx)))
319 (synopsis "Sphinx extension to include program output")
320 (description "A Sphinx extension to literally insert the output of arbitrary
321commands into documents, helping you to keep your command examples up to date.")
b45aafd5 322 (home-page "https://github.com/NextThought/sphinxcontrib-programoutput")
9d0c291e
MB
323 (license license:bsd-2)))
324
325(define-public python2-sphinxcontrib-programoutput
326 (package-with-python2 python-sphinxcontrib-programoutput))
327
6eceb2d4
MB
328(define-public python-sphinxcontrib-qthelp
329 (package
330 (name "python-sphinxcontrib-qthelp")
99533beb 331 (version "1.0.3")
6eceb2d4
MB
332 (source (origin
333 (method url-fetch)
334 (uri (pypi-uri "sphinxcontrib-qthelp" version))
335 (sha256
336 (base32
99533beb 337 "0wjsp96d262shzkx7pb7pra7mmf0j8c5rz56i6x0vdsqw1z7ccsc"))))
6eceb2d4
MB
338 (build-system python-build-system)
339 (arguments
340 `(#:tests? #f)) ;XXX: circular dependency on Sphinx
341 (home-page "https://github.com/sphinx-doc/sphinxcontrib-qthelp")
342 (synopsis "Sphinx extension to output QtHelp documents")
343 (description
344 "@code{sphinxcontrib-qthelp} is a Sphinx extension which outputs QtHelp
345documents.")
346 (license license:bsd-2)))
347
c5c55a9f
MB
348(define-public python-sphinxcontrib-serializinghtml
349 (package
350 (name "python-sphinxcontrib-serializinghtml")
11be1573 351 (version "1.1.4")
c5c55a9f
MB
352 (source (origin
353 (method url-fetch)
354 (uri (pypi-uri "sphinxcontrib-serializinghtml" version))
355 (sha256
356 (base32
11be1573 357 "1g3pbx0g88zd9xzcrbaypa2k60axrh92vf5j76wsk0p9hv6fr87a"))))
c5c55a9f
MB
358 (build-system python-build-system)
359 (arguments
360 `(#:tests? #f)) ;XXX: circular dependency on Sphinx
361 (home-page "https://github.com/sphinx-doc/sphinxcontrib-serializinghtml")
362 (synopsis "Sphinx extension to serialize HTML files")
363 (description
364 "@code{sphinxcontrib-serializinghtml} is a Sphinx extension which outputs
365\"serialized\" HTML files.")
366 (license license:bsd-2)))
367
9d0c291e
MB
368(define-public python-sphinxcontrib-svg2pdfconverter
369 (package
370 (name "python-sphinxcontrib-svg2pdfconverter")
76c83e33 371 (version "1.0.1")
9d0c291e
MB
372 (source (origin
373 (method url-fetch)
374 (uri (pypi-uri "sphinxcontrib-svg2pdfconverter" version))
375 (sha256
376 (base32
76c83e33 377 "1hhaxmqc7wh8gnyw5jaqckliknvk0p21y12wk3bdmncgkaf9ar8f"))))
9d0c291e
MB
378 (build-system python-build-system)
379 (propagated-inputs
380 `(("python-sphinx" ,python-sphinx)))
2564081c 381 (home-page "https://github.com/missinglinkelectronics/sphinxcontrib-svg2pdfconverter")
9d0c291e 382 (synopsis "Sphinx SVG to PDF converter extension")
f80d3442
BG
383 (description "A Sphinx extension to convert SVG images to PDF in case the
384builder does not support SVG images natively (e.g. LaTeX).")
f3c00bd1 385 (license license:bsd-2)))
9d0c291e
MB
386
387(define-public python-sphinxcontrib-websupport
388 (package
389 (name "python-sphinxcontrib-websupport")
18d59640 390 (version "1.2.0")
9d0c291e
MB
391 (source (origin
392 (method url-fetch)
393 (uri (pypi-uri "sphinxcontrib-websupport" version))
394 (sha256
395 (base32
18d59640 396 "1smma7r0rhwcmbfvvkfs5djfz1qm8wbpcvp084ca6dmw2b9zplxs"))))
9d0c291e
MB
397 (build-system python-build-system)
398 (arguments
399 ;; FIXME: Tests depend on Sphinx, which depends on this.
400 `(#:tests? #f))
b549a053 401 (home-page "https://sphinx-doc.org/")
9d0c291e
MB
402 (synopsis "Sphinx API for web applications")
403 (description "This package provides a Python API to easily integrate
404Sphinx documentation into your web application. It provides tools to
405integrate Sphinx documents in web templates and to handle searches.")
406 (license license:bsd-3)))
407
408(define-public python2-sphinxcontrib-websupport
409 (package-with-python2 python-sphinxcontrib-websupport))
410
411(define-public python-sphinx-gallery
412 (package
413 (name "python-sphinx-gallery")
51e85395
VM
414 (version "0.9.0")
415 (source
416 (origin
417 (method url-fetch)
418 (uri (pypi-uri "sphinx-gallery" version))
419 (sha256
420 (base32 "14zyhr7m92nafhhnzfvnbgkf5m91krd9mjyi24zn59bjq6zyr8hl"))))
9d0c291e
MB
421 (build-system python-build-system)
422 (arguments
51e85395
VM
423 `(#:phases
424 (modify-phases %standard-phases
425 (add-before 'check 'writable-files-for-tests
426 (lambda _
427 (for-each make-file-writable (find-files "."))))
428 (replace 'check
429 (lambda* (#:key inputs outputs tests? #:allow-other-keys)
430 (when tests?
431 (add-installed-pythonpath inputs outputs)
432 (invoke "python" "-m" "pytest" "--pyargs" "sphinx_gallery" "-k"
433 (string-append
434 ;; These tests require online data.
435 "not test_embed_code_links_get_data"
436 " and not test_run_sphinx"
437 ;; AssertionError.
438 " and not test_embed_links_and_styles"))))))))
9d0c291e 439 (native-inputs
51e85395
VM
440 `(("python-joblib" ,python-joblib)
441 ("python-matplotlib" ,python-matplotlib)
442 ("python-numpy" ,python-numpy)
443 ("python-pillow" ,python-pillow)
444 ("python-pytest" ,python-pytest)
445 ("python-pytest-cov" ,python-pytest-cov)
446 ("python-sphinx" ,python-sphinx)))
447 (home-page "https://sphinx-gallery.github.io/stable/index.html")
9d0c291e
MB
448 (synopsis "Generate an examples gallery automatically")
449 (description
450 "@code{sphinx_gallery} is a Sphinx extension that builds an HTML version
451from any set of Python scripts and puts it into an examples gallery.")
452 (license license:bsd-3)))
453
9d0c291e
MB
454(define-public python-sphinx-me
455 (package
456 (name "python-sphinx-me")
457 (version "0.3")
458 (source
459 (origin
460 (method url-fetch)
461 (uri (pypi-uri "sphinx-me" version))
462 (sha256
463 (base32
464 "06jzgp213zihnvpcy2y5jy3ykid3apc2ncp2pg6a2g05lhiziglq"))))
465 (build-system python-build-system)
466 (home-page "https://github.com/stephenmcd/sphinx-me")
467 (synopsis "Create a Sphinx documentation shell")
468 (description
469 "Create a Sphinx documentation shell for your project and include the
470README file as the documentation index. It handles extracting the required
471meta data such as the project name, author and version from your project for
472use in your Sphinx docs.")
473 (license license:bsd-2)))
474
475(define-public python2-sphinx-me
476 (package-with-python2 python-sphinx-me))
477
478(define-public python-sphinx-repoze-autointerface
479 (package
480 (name "python-sphinx-repoze-autointerface")
481 (version "0.8")
482 (source (origin
483 (method url-fetch)
484 (uri (pypi-uri "repoze.sphinx.autointerface" version))
485 (sha256
486 (base32
487 "08ycivzf7bh4a1zcyp31hbyqs1b2c9r26raa3vxjwwmbfqr3iw4f"))))
488 (build-system python-build-system)
489 (arguments '(#:tests? #f)) ; No tests.
490 (propagated-inputs
491 `(("python-sphinx" ,python-sphinx)
492 ("python-zope-interface" ,python-zope-interface)))
493 (synopsis "Auto-generate Sphinx API docs from Zope interfaces")
494 (description "This package defines an extension for the Sphinx documentation
495system. The extension allows generation of API documentation by
496introspection of @code{zope.interface} instances in code.")
497 (home-page "https://github.com/repoze/repoze.sphinx.autointerface")
498 (license license:repoze)))
499
500(define-public python2-sphinx-repoze-autointerface
501 (package-with-python2 python-sphinx-repoze-autointerface))
502
503(define-public python-sphinx-alabaster-theme
504 (package
505 (name "python-sphinx-alabaster-theme")
506 (version "0.7.12")
507 (source (origin
508 (method url-fetch)
509 (uri (pypi-uri "alabaster" version))
510 (sha256
511 (base32
512 "00nwwjj2d2ym4s2kk217x7jkx1hnczc3fvm8yxbqmsp6b0nxfqd6"))))
513 (build-system python-build-system)
514 (propagated-inputs
515 `(("python-pygments" ,python-pygments)))
516 (home-page "https://alabaster.readthedocs.io/")
517 (synopsis "Configurable sidebar-enabled Sphinx theme")
518 (description "Alabaster is a visually (c)lean, responsive, configurable
519theme for the Sphinx documentation system. It's the default theme of Sphinx.")
520 (license license:bsd-3)))
521
522(define-public python2-sphinx-alabaster-theme
523 (package-with-python2 python-sphinx-alabaster-theme))
524
e5c1348a
NG
525(define-public python-sphinx-argparse
526 (package
527 (name "python-sphinx-argparse")
528 (version "0.2.5")
529 (source
530 (origin
531 (method url-fetch)
532 (uri (pypi-uri "sphinx-argparse" version))
533 (sha256
534 (base32 "05wc8f5hb3jsg2vh2jf7jsyan8d4i09ifrz2c8fp6f7x1zw9iav0"))))
535 (build-system python-build-system)
536 (propagated-inputs
537 `(("python-sphinx" ,python-sphinx)))
538 (native-inputs
539 `(("python-commonmark" ,python-commonmark)
540 ("python-pytest" ,python-pytest)
541 ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)))
542 (home-page "https://github.com/ribozz/sphinx-argparse")
543 (synopsis "Sphinx extension for documenting argparse commands and options")
544 (description
545 "This package is a sphinx extension that automatically documents
546argparse commands and options")
547 (license license:expat)))
548
9d0c291e
MB
549(define-public python-sphinx-cloud-sptheme
550 (package
551 (name "python-sphinx-cloud-sptheme")
552 (version "1.8.0")
553 (source (origin
554 (method url-fetch)
555 (uri (pypi-uri "cloud_sptheme" version))
556 (sha256
557 (base32
558 "1dniqb6a39yh786f86c4jn666rwnyi1jvzn4616zhcchb7sfdshd"))))
559 (build-system python-build-system)
560 ;; FIXME: The 'pypi' release archive does not contain tests.
561 (arguments '(#:tests? #f))
562 (native-inputs
563 `(("python-sphinx" ,python-sphinx)))
564 (home-page "https://bitbucket.org/ecollins/cloud_sptheme")
565 (synopsis "'Cloud' theme for Sphinx documenter")
566 (description "This package contains the \"Cloud\" theme for Sphinx and some
567related extensions.")
568 (license license:bsd-3)))
569
570(define-public python2-sphinx-cloud-sptheme
571 (package-with-python2 python-sphinx-cloud-sptheme))
572
573(define-public python-guzzle-sphinx-theme
574 (package
575 (name "python-guzzle-sphinx-theme")
576 (version "0.7.11")
577 (source
578 (origin
579 (method url-fetch)
580 (uri (pypi-uri "guzzle_sphinx_theme" version))
581 (sha256
582 (base32
583 "1rnkzrrsbnifn3vsb4pfaia3nlvgvw6ndpxp7lzjrh23qcwid34v"))))
584 (build-system python-build-system)
585 (propagated-inputs
586 `(("python-sphinx" ,python-sphinx)))
587 (home-page "https://github.com/guzzle/guzzle_sphinx_theme")
588 (synopsis "Sphinx theme used by Guzzle")
589 (description "This package provides guzzle_sphinx_theme, a theme for the
590Sphinx documentation system, used by @uref{http://docs.guzzlephp.org, Guzzle}
591and several other projects.")
592 (license license:expat)))
593
594(define-public python2-guzzle-sphinx-theme
595 (package-with-python2 python-guzzle-sphinx-theme))
596
597(define-public python-sphinx-rtd-theme
598 (package
599 (name "python-sphinx-rtd-theme")
600 (version "0.2.4")
601 (source
602 (origin
603 (method url-fetch)
604 (uri (pypi-uri "sphinx_rtd_theme" version))
605 (sha256
606 (base32
607 "05rlhjzdyapr2w74jjs7mrm8hi69qskcr5vya9f9drpsys7lpxrd"))))
608 (build-system python-build-system)
609 (arguments '(#:tests? #f)) ; No tests.
610 (propagated-inputs
611 `(("python-sphinx" ,python-sphinx)))
612 (home-page "https://github.com/snide/sphinx_rtd_theme/")
613 (synopsis "ReadTheDocs.org theme for Sphinx")
614 (description "A theme for Sphinx used by ReadTheDocs.org.")
615 (license license:expat)))
616
617(define-public python2-sphinx-rtd-theme
618 (package-with-python2 python-sphinx-rtd-theme))
68f0de01
SB
619
620(define-public python-breathe
621 (package
622 (name "python-breathe")
488fc3d2 623 (version "4.30.0")
68f0de01
SB
624 (source
625 (origin
626 (method url-fetch)
627 (uri (pypi-uri "breathe" version))
628 (sha256
629 (base32
488fc3d2 630 "055h95fkdld7s49878fqjx1nri1drj1czc184vrb7i60mf2yqg9n"))))
68f0de01
SB
631 (build-system python-build-system)
632 (propagated-inputs
633 `(("python-docutils" ,python-docutils)
68f0de01
SB
634 ("python-sphinx" ,python-sphinx)))
635 (home-page "https://github.com/michaeljones/breathe")
636 (synopsis "ReStructuredText and Sphinx bridge to Doxygen")
637 (description "This package is an extension to reStructuredText and Sphinx
638to be able to read and render the Doxygen xml output.")
639 (license license:bsd-3)))
90ee17cd
AT
640
641(define-public python-sphinx-intl
642 (package
643 (name "python-sphinx-intl")
728fdd83 644 (version "2.0.1")
90ee17cd
AT
645 (source
646 (origin
647 (method url-fetch)
648 (uri (pypi-uri "sphinx-intl" version))
649 (sha256
728fdd83 650 (base32 "1d1q0sanjp4nkfvhsxi75zf3xjyyi8nzxvl3v7l0jy9ld70nwnmj"))))
90ee17cd
AT
651 (build-system python-build-system)
652 (propagated-inputs
653 `(("python-sphinx" ,python-sphinx)
654 ("python-click" ,python-click)))
655 (home-page "https://github.com/sphinx-doc/sphinx-intl")
656 (synopsis
657 "Sphinx utility that makes it easy to translate and to apply translation")
658 (description
659 "A utility tool that provides several features that make it easy to
660translate and to apply translation to Sphinx generated document.")
661 (license license:bsd-2)))
e9f93cd5
RW
662
663(define-public python-sphinx-autobuild
664 (package
665 (name "python-sphinx-autobuild")
666 (version "0.7.1")
667 (source
668 (origin
669 (method url-fetch)
670 (uri (pypi-uri "sphinx-autobuild" version))
671 (sha256
672 (base32
673 "0kn753dyh3b1s0h77lbk704niyqc7bamvq6v3s1f6rj6i20qyf36"))))
674 (build-system python-build-system)
675 (arguments
676 `(#:phases
677 (modify-phases %standard-phases
678 ;; See https://github.com/GaretJax/sphinx-autobuild/pull/72
679 (add-after 'unpack 'use-later-port-for
680 (lambda _
681 (substitute* "requirements.txt"
682 (("port_for==.*") "port_for\n"))
683 #t))
684 (delete 'check)
685 (add-after 'install 'check
686 (lambda* (#:key inputs outputs tests? #:allow-other-keys)
687 (when tests?
688 (add-installed-pythonpath inputs outputs)
689 (invoke "pytest" "-v"))
690 #t)))))
691 (propagated-inputs
692 `(("python-argh" ,python-argh)
693 ("python-livereload" ,python-livereload)
694 ("python-pathtools" ,python-pathtools)
695 ("python-port-for" ,python-port-for)
696 ("python-pyyaml" ,python-pyyaml)
697 ("python-tornado" ,python-tornado)
698 ("python-watchdog" ,python-watchdog)))
699 (native-inputs
700 `(("python-pytest" ,python-pytest)))
701 (home-page "https://github.com/GaretJax/sphinx-autobuild")
702 (synopsis "Rebuild Sphinx documentation when a change is detected")
703 (description
704 "This package lets you watch a Sphinx directory and rebuild the
705documentation when a change is detected. It also includes a livereload
706enabled web server.")
707 (license license:expat)))
83ade5bf 708
207aa62e
EB
709(define-public python-sphinx-autodoc-typehints
710 (package
711 (name "python-sphinx-autodoc-typehints")
712 (version "1.11.1")
713 (source
714 (origin
715 (method url-fetch)
716 (uri (pypi-uri "sphinx-autodoc-typehints" version))
717 (sha256
718 (base32
719 "086v9mg21pvfx0lfqjx2xf36hnzrsripfg345xi59f7xwb9scjr4"))))
720 (build-system python-build-system)
721 (propagated-inputs
722 `(("python-setuptools-scm" ,python-setuptools-scm)
723 ("python-sphinx" ,python-sphinx)))
724 (native-inputs
725 `(("python-dataclasses" ,python-dataclasses)
726 ("python-pytest" ,python-pytest)
727 ("python-sphinx" ,python-sphinx)
728 ("python-sphobjinv" ,python-sphobjinv)
729 ("python-typing-extensions" ,python-typing-extensions)))
730 (home-page "https://pypi.org/project/sphinx-autodoc-typehints/")
731 (synopsis "Type hints for the Sphinx autodoc extension")
732 (description "This extension allows you to use Python 3 annotations for
733documenting acceptable argument types and return value types of functions.")
734 (license license:expat)))
735
83ade5bf
GL
736(define-public python-nbsphinx
737 (package
738 (name "python-nbsphinx")
739 (version "0.7.1")
740 (source
741 (origin
742 (method url-fetch)
743 (uri (pypi-uri "nbsphinx" version))
744 (sha256
745 (base32
746 "0j56bxdj08vn3q1804qwb1ywhga1mdg1awgm7i64wfpfwi8df2zm"))))
747 (build-system python-build-system)
748 (propagated-inputs
749 `(("python-docutils" ,python-docutils)
750 ("python-jinja2" ,python-jinja2)
751 ("python-nbconvert" ,python-nbconvert)
752 ("python-nbformat" ,python-nbformat)
753 ("python-sphinx" ,python-sphinx)
754 ("python-traitlets" ,python-traitlets)))
755 (home-page "https://nbsphinx.readthedocs.io/")
756 (synopsis "Jupyter Notebook Tools for Sphinx")
757 (description "@code{python-nbsphinx} is a Sphinx extension that
758provides a source parser for @code{*.ipynb} files. Custom Sphinx
759directives are used to show Jupyter Notebook code cells (and of course
760their results) in both HTML and LaTeX output. Un-evaluated notebooks
761- i.e. notebooks without stored output cells - will be automatically
762executed during the Sphinx build process.")
763 (license license:expat)))
b1572018
EB
764
765(define-public python-sphobjinv
766 (package
767 (name "python-sphobjinv")
768 (version "2.0.1")
769 (source
770 (origin
771 (method url-fetch)
772 (uri (pypi-uri "sphobjinv" version))
773 (sha256
774 (base32
1ed435bf 775 "126lgm54c94ay3fci512ap4l607gak90pbz0fk98syxvj5izrrzx"))))
b1572018
EB
776 (build-system python-build-system)
777 (propagated-inputs
778 `(("python-attrs" ,python-attrs)
1ed435bf 779 ("python-certifi" ,python-certifi)
b1572018
EB
780 ("python-fuzzywuzzy" ,python-fuzzywuzzy)
781 ("python-jsonschema" ,python-jsonschema)
782 ("python-levenshtein" ,python-levenshtein)))
783 (home-page "https://github.com/bskinn/sphobjinv")
784 (synopsis "Sphinx cross-reference tool")
785 (description "Sphinx objects.inv inspection/manipulation tool.")
786 (license license:expat)))
d6b39088
HL
787
788(define-public python-jupyter-sphinx
789 (package
790 (name "python-jupyter-sphinx")
791 (version "0.3.2")
792 (source
793 (origin
794 (method url-fetch)
795 (uri (pypi-uri "jupyter_sphinx" version))
796 (sha256
797 (base32
798 "1wma60787m2451nn4bc4jw7bzqksplplb84wqxm34iaw70499z1p"))))
799 (build-system python-build-system)
800 (propagated-inputs
801 `(("python-ipython" ,python-ipython)
802 ("python-ipywidgets" ,python-ipywidgets)
803 ("python-nbconvert" ,python-nbconvert)
804 ("python-nbformat" ,python-nbformat)))
805 (native-inputs
806 `(("python-sphinx" ,python-sphinx)))
807 (home-page "https://github.com/jupyter/jupyter-sphinx/")
808 (synopsis "Jupyter Sphinx Extensions")
809 (description
810 "Jupyter-sphinx is a Sphinx extension that executes embedded code in a
811Jupyter kernel, and embeds outputs of that code in the document. It has
812support for rich output such as images, LaTeX math and even JavaScript
813widgets, and supports thebelab for live code execution with minimal effort.")
814 (license license:bsd-3)))