1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6 flit-core,
7 click,
8 jinja2,
9 jsonschema,
10 linkify-it-py,
11 myst-nb,
12 myst-parser,
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 = "1.0.0";
30 pyproject = true;
31
32 disabled = pythonOlder "3.9";
33
34 src = fetchPypi {
35 inherit version;
36 pname = "jupyter_book";
37 hash = "sha256-U5xdBJNUYgDZ3ie9S1936uoDEV+JN/gl1P+Cs4AamH4=";
38 };
39
40 nativeBuildInputs = [ flit-core ];
41
42 propagatedBuildInputs = [
43 click
44 jinja2
45 jsonschema
46 linkify-it-py
47 myst-nb
48 myst-parser
49 pyyaml
50 sphinx
51 sphinx-comments
52 sphinx-copybutton
53 sphinx-external-toc
54 sphinx-jupyterbook-latex
55 sphinx-design
56 sphinx-thebe
57 sphinx-book-theme
58 sphinx-togglebutton
59 sphinxcontrib-bibtex
60 sphinx-multitoc-numbering
61 ];
62
63 pythonImportsCheck = [
64 "jupyter_book"
65 "jupyter_book.cli.main"
66 ];
67
68 meta = with lib; {
69 description = "Build a book with Jupyter Notebooks and Sphinx";
70 homepage = "https://jupyterbook.org/";
71 changelog = "https://github.com/executablebooks/jupyter-book/blob/v${version}/CHANGELOG.md";
72 license = licenses.bsd3;
73 maintainers = with maintainers; [ ];
74 mainProgram = "jupyter-book";
75 };
76}