Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib
2, stdenv
3, buildPythonPackage
4, fetchPypi
5, pythonOlder
6, hatch-jupyter-builder
7, hatchling
8, pandoc
9, pytestCheckHook
10, pytest-console-scripts
11, pytest-jupyter
12, pytest-timeout
13, pytest-tornasync
14, argon2-cffi
15, jinja2
16, tornado
17, pyzmq
18, ipykernel
19, traitlets
20, jupyter-core
21, jupyter-client
22, jupyter-events
23, jupyter-server-terminals
24, nbformat
25, nbconvert
26, packaging
27, send2trash
28, terminado
29, prometheus-client
30, anyio
31, websocket-client
32, overrides
33, requests
34, flaky
35}:
36
37buildPythonPackage rec {
38 pname = "jupyter-server";
39 version = "2.7.3";
40 format = "pyproject";
41 disabled = pythonOlder "3.8";
42
43 src = fetchPypi {
44 pname = "jupyter_server";
45 inherit version;
46 hash = "sha256-1JFshYHE67xTTOvaqOyiR42fO/3Yjq4p/KsBIOrFdkk=";
47 };
48
49 nativeBuildInputs = [
50 hatch-jupyter-builder
51 hatchling
52 ];
53
54 propagatedBuildInputs = [
55 argon2-cffi
56 jinja2
57 tornado
58 pyzmq
59 traitlets
60 jupyter-core
61 jupyter-client
62 jupyter-events
63 jupyter-server-terminals
64 nbformat
65 nbconvert
66 packaging
67 send2trash
68 terminado
69 prometheus-client
70 anyio
71 websocket-client
72 overrides
73 ];
74
75 nativeCheckInputs = [
76 ipykernel
77 pytestCheckHook
78 pytest-console-scripts
79 pytest-jupyter
80 pytest-timeout
81 requests
82 flaky
83 ];
84
85 pytestFlagsArray = [
86 "-W" "ignore::DeprecationWarning"
87 ];
88
89 preCheck = ''
90 export HOME=$(mktemp -d)
91 export PATH=$out/bin:$PATH
92 '';
93
94 disabledTests = [
95 "test_server_extension_list"
96 "test_cull_idle"
97 "test_server_extension_list"
98 ] ++ lib.optionals stdenv.isDarwin [
99 # attempts to use trashcan, build env doesn't allow this
100 "test_delete"
101 # test is presumable broken in sandbox
102 "test_authorized_requests"
103 # Insufficient access privileges for operation
104 "test_regression_is_hidden"
105 ] ++ lib.optionals (stdenv.isLinux && stdenv.isAarch64) [
106 "test_copy_big_dir"
107 ];
108
109 disabledTestPaths = [
110 "tests/services/kernels/test_api.py"
111 "tests/services/sessions/test_api.py"
112 # nbconvert failed: `relax_add_props` kwargs of validate has been
113 # deprecated for security reasons, and will be removed soon.
114 "tests/nbconvert/test_handlers.py"
115 ];
116
117 __darwinAllowLocalNetworking = true;
118
119 meta = with lib; {
120 changelog = "https://github.com/jupyter-server/jupyter_server/blob/v${version}/CHANGELOG.md";
121 description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications";
122 homepage = "https://github.com/jupyter-server/jupyter_server";
123 license = licenses.bsdOriginal;
124 maintainers = lib.teams.jupyter.members;
125 };
126}