1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build
7 hatchling,
8
9 # runtime
10 terminado,
11
12 # tests
13 pytest-jupyter,
14 pytest-timeout,
15 pytestCheckHook,
16}:
17
18let
19 self = buildPythonPackage rec {
20 pname = "jupyter-server-terminals";
21 version = "0.5.3";
22 pyproject = true;
23
24 src = fetchFromGitHub {
25 owner = "jupyter-server";
26 repo = "jupyter_server_terminals";
27 tag = "v${version}";
28 hash = "sha256-af7jBscGkbekXgfDxwAfrJSY1uEuIGfzzSsjaPdlYcY=";
29 };
30
31 nativeBuildInputs = [ hatchling ];
32
33 propagatedBuildInputs = [ terminado ];
34
35 doCheck = false; # infinite recursion
36
37 nativeCheckInputs = [
38 pytest-jupyter
39 pytest-timeout
40 pytestCheckHook
41 ]
42 ++ pytest-jupyter.optional-dependencies.server;
43
44 passthru.tests = {
45 check = self.overridePythonAttrs (_: {
46 doCheck = true;
47 });
48 };
49
50 meta = with lib; {
51 changelog = "https://github.com/jupyter-server/jupyter_server_terminals/releases/tag/v${version}";
52 description = "Jupyter Server Extension Providing Support for Terminals";
53 homepage = "https://github.com/jupyter-server/jupyter_server_terminals";
54 license = licenses.bsd3;
55 maintainers = [ ];
56 };
57 };
58in
59self