From 57d601692955c3bb302b6d13cd2fcb50a9bdbc2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 9 Mar 2023 14:03:42 -0800 Subject: [PATCH 1/6] python310Packages.y-py: init at 0.6.0 --- .../python-modules/y-py/default.nix | 44 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 46 insertions(+) create mode 100644 pkgs/development/python-modules/y-py/default.nix diff --git a/pkgs/development/python-modules/y-py/default.nix b/pkgs/development/python-modules/y-py/default.nix new file mode 100644 index 000000000000..12111407e525 --- /dev/null +++ b/pkgs/development/python-modules/y-py/default.nix @@ -0,0 +1,44 @@ +{ lib +, buildPythonPackage +, fetchPypi +, rustPlatform +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "y-py"; + version = "0.6.0"; + format = "pyproject"; + + src = fetchPypi { + pname = "y_py"; + inherit version; + hash = "sha256-RoNhaffcKVffhRPP5LwgCRdbOkc+Ywr0IajnXuHEj5g="; + }; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + name = "${pname}-${version}"; + hash = "sha256-tpUDGBIHqXsKPsK+1h2sNuiV2I0pGVBokKh+hdFazRQ="; + }; + + nativeBuildInputs = with rustPlatform; [ + cargoSetupHook + maturinBuildHook + rust.cargo + rust.rustc + ]; + + pythonImportsCheck = [ "y_py" ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + meta = { + description = "Python bindings for Y-CRDT"; + homepage = "https://github.com/y-crdt/ypy"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 60da90944772..bd8d0daebd91 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12677,6 +12677,8 @@ self: super: with self; { xyzservices = callPackage ../development/python-modules/xyzservices { }; + y-py = callPackage ../development/python-modules/y-py { }; + yabadaba = callPackage ../development/python-modules/yabadaba { }; yahooweather = callPackage ../development/python-modules/yahooweather { }; From beadc4783c9147ce16a79d5f64f824209d128118 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 9 Mar 2023 14:39:32 -0800 Subject: [PATCH 2/6] python310Packages.ypy-websocket: init at 0.8.4 --- .../python-modules/ypy-websocket/default.nix | 59 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 61 insertions(+) create mode 100644 pkgs/development/python-modules/ypy-websocket/default.nix diff --git a/pkgs/development/python-modules/ypy-websocket/default.nix b/pkgs/development/python-modules/ypy-websocket/default.nix new file mode 100644 index 000000000000..ca5d5c695629 --- /dev/null +++ b/pkgs/development/python-modules/ypy-websocket/default.nix @@ -0,0 +1,59 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, hatchling +, aiofiles +, aiosqlite +, y-py +, pytest-asyncio +, pytestCheckHook +, websockets +}: + +buildPythonPackage rec { + pname = "ypy-websocket"; + version = "0.8.4"; + + disabled = pythonOlder "3.7"; + + format = "pyproject"; + + src = fetchFromGitHub { + owner = "y-crdt"; + repo = "ypy-websocket"; + rev = "refs/tags/v${version}"; + hash = "sha256-jl2ciIA3enJRfPgcu96MZN+BmNL+bBet54AFDBy3seY="; + }; + + nativeBuildInputs = [ + hatchling + ]; + + propagatedBuildInputs = [ + aiofiles + aiosqlite + y-py + ]; + + pythonImportsCheck = [ "ypy_websocket" ]; + + nativeCheckInputs = [ + pytest-asyncio + pytestCheckHook + websockets + ]; + + disabledTestPaths = [ + # requires installing yjs Node.js module + "tests/test_ypy_yjs.py" + ]; + + meta = { + changelog = "https://github.com/y-crdt/ypy-websocket/blob/${src.rev}/CHANGELOG.md"; + description = "WebSocket Connector for Ypy"; + homepage = "https://github.com/y-crdt/ypy-websocket"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index bd8d0daebd91..52b3bc7cf6b9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12763,6 +12763,8 @@ self: super: with self; { yowsup = callPackage ../development/python-modules/yowsup { }; + ypy-websocket = callPackage ../development/python-modules/ypy-websocket { }; + yq = callPackage ../development/python-modules/yq { inherit (pkgs) jq; }; From 4a19b95af3e2fb1e41dd7af537765281206561c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 9 Mar 2023 14:41:42 -0800 Subject: [PATCH 3/6] python310Packages.jupyter-ydoc: init at 0.3.4 --- .../python-modules/jupyter-ydoc/default.nix | 51 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 1 + 2 files changed, 52 insertions(+) create mode 100644 pkgs/development/python-modules/jupyter-ydoc/default.nix diff --git a/pkgs/development/python-modules/jupyter-ydoc/default.nix b/pkgs/development/python-modules/jupyter-ydoc/default.nix new file mode 100644 index 000000000000..d2643155bff8 --- /dev/null +++ b/pkgs/development/python-modules/jupyter-ydoc/default.nix @@ -0,0 +1,51 @@ +{ lib +, buildPythonPackage +, fetchPypi +, hatch-nodejs-version +, hatchling +, y-py +, pytestCheckHook +, websockets +, ypy-websocket +}: + +buildPythonPackage rec { + pname = "jupyter-ydoc"; + version = "0.3.4"; + + format = "pyproject"; + + src = fetchPypi { + pname = "jupyter_ydoc"; + inherit version; + hash = "sha256-WiJi5wvwBLgsxs5xZ16TMKoFj+MNsuh82BJa1N0a5OE="; + }; + + nativeBuildInputs = [ + hatch-nodejs-version + hatchling + ]; + + propagatedBuildInputs = [ + y-py + ]; + + pythonImportsCheck = [ "jupyter_ydoc" ]; + + nativeCheckInputs = [ + pytestCheckHook + websockets + ypy-websocket + ]; + + # requires a Node.js environment + doCheck = false; + + meta = { + changelog = "https://github.com/jupyter-server/jupyter_ydoc/blob/v${version}/CHANGELOG.md"; + description = "Document structures for collaborative editing using Ypy"; + homepage = "https://github.com/jupyter-server/jupyter_ydoc"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 52b3bc7cf6b9..f882db9dde74 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5097,6 +5097,7 @@ self: super: with self; { jupyter-server-terminals = callPackage ../development/python-modules/jupyter-server-terminals { }; + jupyter-ydoc = callPackage ../development/python-modules/jupyter-ydoc { }; jupyterhub = callPackage ../development/python-modules/jupyterhub { }; From ae0d62bd505009372e4b0ff0787a8963774536e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 9 Mar 2023 15:04:02 -0800 Subject: [PATCH 4/6] python310Packages.jupyter-server-fileid: init at 0.8.0 --- .../jupyter-server-fileid/default.nix | 54 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 56 insertions(+) create mode 100644 pkgs/development/python-modules/jupyter-server-fileid/default.nix diff --git a/pkgs/development/python-modules/jupyter-server-fileid/default.nix b/pkgs/development/python-modules/jupyter-server-fileid/default.nix new file mode 100644 index 000000000000..2846b00ddb4e --- /dev/null +++ b/pkgs/development/python-modules/jupyter-server-fileid/default.nix @@ -0,0 +1,54 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, hatchling +, jupyter-events +, jupyter-server +, pytest-jupyter +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "jupyter-server-fileid"; + version = "0.8.0"; + + disables = pythonOlder "3.7"; + + format = "pyproject"; + + src = fetchFromGitHub { + owner = "jupyter-server"; + repo = "jupyter_server_fileid"; + rev = "refs/tags/v${version}"; + hash = "sha256-gJ+OM2b4JrdBObPnltqCWGK3e5p3K2XcoUohej3nDIM="; + }; + + nativeBuildInputs = [ + hatchling + ]; + + propagatedBuildInputs = [ + jupyter-events + jupyter-server + ]; + + pythonImportsCheck = [ "jupyter_server_fileid" ]; + + checkInputs = [ + pytest-jupyter + pytestCheckHook + ]; + + preCheck = '' + export HOME=$TEMPDIR + ''; + + meta = { + changelog = "https://github.com/jupyter-server/jupyter_server_fileid/blob/${src.rev}/CHANGELOG.md"; + description = "An extension that maintains file IDs for documents in a running Jupyter Server"; + homepage = "https://github.com/jupyter-server/jupyter_server_fileid"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f882db9dde74..33ee4b86d16b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5095,6 +5095,8 @@ self: super: with self; { jupyter-server = callPackage ../development/python-modules/jupyter-server { }; + jupyter-server-fileid = callPackage ../development/python-modules/jupyter-server-fileid { }; + jupyter-server-terminals = callPackage ../development/python-modules/jupyter-server-terminals { }; jupyter-ydoc = callPackage ../development/python-modules/jupyter-ydoc { }; From 7ebbf74d8aa5518925217a38a5e1192fa3e3b7c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 9 Mar 2023 15:15:31 -0800 Subject: [PATCH 5/6] python310Packages.jupyter-server-ydoc: init at 0.8.0 --- .../jupyter-server-ydoc/default.nix | 60 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 62 insertions(+) create mode 100644 pkgs/development/python-modules/jupyter-server-ydoc/default.nix diff --git a/pkgs/development/python-modules/jupyter-server-ydoc/default.nix b/pkgs/development/python-modules/jupyter-server-ydoc/default.nix new file mode 100644 index 000000000000..0a94adc31860 --- /dev/null +++ b/pkgs/development/python-modules/jupyter-server-ydoc/default.nix @@ -0,0 +1,60 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, hatchling +, jupyter-server-fileid +, jupyter-ydoc +, ypy-websocket +, pytest-jupyter +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "jupyter-server-ydoc"; + version = "0.8.0"; + + disabled = pythonOlder "3.7"; + + format = "pyproject"; + + src = fetchFromGitHub { + owner = "jupyterlab"; + repo = "jupyter_collaboration"; + rev = "refs/tags/v${version}"; + hash = "sha256-KLb7kU5jsj6ihGO6HU3Y7uF+0PcwKoQlqQAhtO0oaJw="; + }; + + postPatch = '' + sed -i "/^timeout/d" pyproject.toml + ''; + + nativeBuildInputs = [ + hatchling + ]; + + propagatedBuildInputs = [ + jupyter-server-fileid + jupyter-ydoc + ypy-websocket + ]; + + pythonImportsCheck = [ "jupyter_server_ydoc" ]; + + nativeCheckInputs = [ + pytest-jupyter + pytestCheckHook + ]; + + preCheck = '' + export HOME=$TEMP + ''; + + meta = { + changelog = "https://github.com/jupyterlab/jupyter_collaboration/blob/${src.rev}/CHANGELOG.md"; + description = "A Jupyter Server Extension Providing Y Documents"; + homepage = "https://github.com/jupyterlab/jupyter_collaboration"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 33ee4b86d16b..4f8335380137 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5099,6 +5099,8 @@ self: super: with self; { jupyter-server-terminals = callPackage ../development/python-modules/jupyter-server-terminals { }; + jupyter-server-ydoc = callPackage ../development/python-modules/jupyter-server-ydoc { }; + jupyter-ydoc = callPackage ../development/python-modules/jupyter-ydoc { }; jupyterhub = callPackage ../development/python-modules/jupyterhub { }; From 17f04af85a85d3066025819a293a569224fcb1ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 9 Mar 2023 15:21:36 -0800 Subject: [PATCH 6/6] python310Packages.jupyterlab: update dependencies --- .../python-modules/jupyterlab/default.nix | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/jupyterlab/default.nix b/pkgs/development/python-modules/jupyterlab/default.nix index 9aedd9892b32..743e7582078b 100644 --- a/pkgs/development/python-modules/jupyterlab/default.nix +++ b/pkgs/development/python-modules/jupyterlab/default.nix @@ -1,10 +1,19 @@ { lib , buildPythonPackage , fetchPypi +, ipython +, packaging +, tornado +, jupyter-core , jupyterlab_server +, jupyter-server +, jupyter-server-ydoc , notebook +, jinja2 +, tomli , pythonOlder , jupyter-packaging +, pythonRelaxDepsHook , nbclassic }: @@ -22,12 +31,27 @@ buildPythonPackage rec { nativeBuildInputs = [ jupyter-packaging + pythonRelaxDepsHook + ]; + + pythonRelaxDeps = [ + "jupyter-ydoc" + "jupyter-server-ydoc" ]; propagatedBuildInputs = [ + ipython + packaging + tornado + jupyter-core jupyterlab_server - notebook + jupyter-server + jupyter-server-ydoc nbclassic + notebook + jinja2 + ] ++ lib.optionals (pythonOlder "3.11") [ + tomli ]; makeWrapperArgs = [