1{ async_generator
2, buildPythonPackage
3, fetchFromGitHub
4, ipykernel
5, ipywidgets
6, jupyter-client
7, lib
8, nbconvert
9, nbformat
10, nest-asyncio
11, pytest-asyncio
12, pytestCheckHook
13, pythonOlder
14, traitlets
15, xmltodict
16}:
17
18let nbclient = buildPythonPackage rec {
19 pname = "nbclient";
20 version = "0.6.8";
21 format = "setuptools";
22
23 disabled = pythonOlder "3.7";
24
25 src = fetchFromGitHub {
26 owner = "jupyter";
27 repo = pname;
28 rev = "refs/tags/v${version}";
29 hash = "sha256-+GQkEGWReo9y8bgcysslQdzJUcvQiZkQTQiwmWJ1mx8=";
30 };
31
32 propagatedBuildInputs = [ async_generator traitlets nbformat nest-asyncio jupyter-client ];
33
34 # circular dependencies if enabled by default
35 doCheck = false;
36
37 checkInputs = [
38 ipykernel
39 ipywidgets
40 nbconvert
41 pytest-asyncio
42 pytestCheckHook
43 xmltodict
44 ];
45
46 preCheck = ''
47 export HOME=$(mktemp -d)
48 '';
49
50 passthru.tests = {
51 check = nbclient.overridePythonAttrs (_: { doCheck = true; });
52 };
53
54 meta = with lib; {
55 homepage = "https://github.com/jupyter/nbclient";
56 description = "A client library for executing notebooks";
57 license = licenses.bsd3;
58 maintainers = [ maintainers.erictapen ];
59 };
60};
61in nbclient