1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 hatchling,
6 jsonschema,
7 jupyter-events,
8 jupyter-server,
9 jupyter-server-fileid,
10 jupyter-ydoc,
11 pycrdt,
12 pycrdt-websocket,
13 jupyter-collaboration,
14}:
15
16buildPythonPackage rec {
17 pname = "jupyter-server-ydoc";
18 version = "2.1.0";
19 pyproject = true;
20
21 src = fetchPypi {
22 pname = "jupyter_server_ydoc";
23 inherit version;
24 hash = "sha256-tSa+aEqmIev9lywYpUynxhPGfy0FHPUteiaqCS9zWkY=";
25 };
26
27 build-system = [ hatchling ];
28
29 dependencies = [
30 jsonschema
31 jupyter-events
32 jupyter-server
33 jupyter-server-fileid
34 jupyter-ydoc
35 pycrdt
36 pycrdt-websocket
37 ];
38
39 pythonImportsCheck = [ "jupyter_server_ydoc" ];
40
41 # no tests
42 doCheck = false;
43
44 passthru.tests = jupyter-collaboration;
45
46 meta = {
47 description = "Jupyter-server extension integrating collaborative shared models";
48 homepage = "https://github.com/jupyterlab/jupyter-collaboration/tree/main/projects/jupyter-server-ydoc";
49 license = lib.licenses.bsd3;
50 teams = [ lib.teams.jupyter ];
51 };
52}