1{ lib
2, buildPythonPackage
3, fetchPypi
4, pythonOlder
5, flit-core
6, pythonRelaxDepsHook
7, click
8, docutils
9, jinja2
10, jsonschema
11, linkify-it-py
12, myst-nb
13, pyyaml
14, sphinx
15, sphinx-comments
16, sphinx-copybutton
17, sphinx-external-toc
18, sphinx-jupyterbook-latex
19, sphinx-design
20, sphinx-thebe
21, sphinx-book-theme
22, sphinx-togglebutton
23, sphinxcontrib-bibtex
24, sphinx-multitoc-numbering
25}:
26
27buildPythonPackage rec {
28 pname = "jupyter-book";
29 version = "0.15.1";
30
31 format = "flit";
32
33 disabled = pythonOlder "3.7";
34
35 src = fetchPypi {
36 inherit pname version;
37 hash = "sha256-ihY07Bb37t7g0Rbx5ft8SCAyia2S2kLglRnccdlWwBA=";
38 };
39
40 nativeBuildInputs = [
41 flit-core
42 pythonRelaxDepsHook
43 ];
44
45 propagatedBuildInputs = [
46 click
47 docutils
48 jinja2
49 jsonschema
50 linkify-it-py
51 myst-nb
52 pyyaml
53 sphinx
54 sphinx-comments
55 sphinx-copybutton
56 sphinx-external-toc
57 sphinx-jupyterbook-latex
58 sphinx-design
59 sphinx-thebe
60 sphinx-book-theme
61 sphinx-togglebutton
62 sphinxcontrib-bibtex
63 sphinx-multitoc-numbering
64 ];
65
66 pythonRelaxDeps = [
67 "docutils"
68 "sphinx-design"
69 ];
70
71 pythonImportsCheck = [
72 "jupyter_book"
73 ];
74
75 meta = with lib; {
76 description = "Build a book with Jupyter Notebooks and Sphinx";
77 homepage = "https://jupyterbook.org/";
78 changelog = "https://github.com/executablebooks/jupyter-book/blob/v${version}/CHANGELOG.md";
79 license = licenses.bsd3;
80 maintainers = with maintainers; [ marsam ];
81 };
82}