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