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