ansible-later: 2.0.22 -> 2.0.23
[NixPkgs.git] / pkgs / development / python-modules / nbconvert / default.nix
blob51123d05ef4a48d5a5d0d31a96da523ab8873485
1 { beautifulsoup4
2 , bleach
3 , buildPythonPackage
4 , defusedxml
5 , fetchPypi
6 , fetchpatch
7 , fetchurl
8 , hatchling
9 , importlib-metadata
10 , ipywidgets
11 , jinja2
12 , jupyter_core
13 , jupyterlab-pygments
14 , lib
15 , markupsafe
16 , mistune
17 , nbclient
18 , packaging
19 , pandocfilters
20 , pygments
21 , pyppeteer
22 , pytestCheckHook
23 , pythonOlder
24 , tinycss2
25 , traitlets
28 let
29   # see https://github.com/jupyter/nbconvert/issues/1896
30   style-css = fetchurl {
31     url = "https://cdn.jupyter.org/notebook/5.4.0/style/style.min.css";
32     hash = "sha256-WGWmCfRDewRkvBIc1We2GQdOVAoFFaO4LyIvdk61HgE=";
33   };
34 in buildPythonPackage rec {
35   pname = "nbconvert";
36   version = "7.2.3";
38   disabled = pythonOlder "3.7";
40   format = "pyproject";
42   src = fetchPypi {
43     inherit pname version;
44     hash = "sha256-eufMxoSVtWXasVNFnufmUDmXCRPrEVBw2m4sZzzw6fg=";
45   };
47   # Add $out/share/jupyter to the list of paths that are used to search for
48   # various exporter templates
49   patches = [
50     ./templates.patch
51   ];
53   postPatch = ''
54     substituteAllInPlace ./nbconvert/exporters/templateexporter.py
56     mkdir -p share/templates/classic/static
57     cp ${style-css} share/templates/classic/static/style.css
58   '';
60   nativeBuildInputs = [
61     hatchling
62   ];
64   propagatedBuildInputs = [
65     beautifulsoup4
66     bleach
67     defusedxml
68     jinja2
69     jupyter_core
70     jupyterlab-pygments
71     markupsafe
72     mistune
73     nbclient
74     packaging
75     pandocfilters
76     pygments
77     tinycss2
78     traitlets
79   ] ++ lib.optionals (pythonOlder "3.10") [
80     importlib-metadata
81   ];
83   preCheck = ''
84     export HOME=$(mktemp -d)
85   '';
87   checkInputs = [
88     ipywidgets
89     pyppeteer
90     pytestCheckHook
91   ];
93   disabledTests = [
94     # Attempts network access (Failed to establish a new connection: [Errno -3] Temporary failure in name resolution)
95     "test_export"
96     "test_webpdf_with_chromium"
97     # ModuleNotFoundError: No module named 'nbconvert.tests'
98     "test_convert_full_qualified_name"
99     "test_post_processor"
100   ];
102   # Some of the tests use localhost networking.
103   __darwinAllowLocalNetworking = true;
105   meta = {
106     description = "Converting Jupyter Notebooks";
107     homepage = "https://jupyter.org/";
108     license = lib.licenses.bsd3;
109     maintainers = with lib.maintainers; [ fridh ];
110   };