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 ] ++ pytest-jupyter.optional-dependencies.server;
42
43 passthru.tests = {
44 check = self.overridePythonAttrs (_: {
45 doCheck = true;
46 });
47 };
48
49 meta = with lib; {
50 changelog = "https://github.com/jupyter-server/jupyter_server_terminals/releases/tag/v${version}";
51 description = "Jupyter Server Extension Providing Support for Terminals";
52 homepage = "https://github.com/jupyter-server/jupyter_server_terminals";
53 license = licenses.bsd3;
54 maintainers = [ ];
55 };
56 };
57in
58self