about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/notebook/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/notebook/default.nix')
-rw-r--r--nixpkgs/pkgs/development/python-modules/notebook/default.nix101
1 files changed, 37 insertions, 64 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/notebook/default.nix b/nixpkgs/pkgs/development/python-modules/notebook/default.nix
index 9cd1e9c37a1e..95f387653d97 100644
--- a/nixpkgs/pkgs/development/python-modules/notebook/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/notebook/default.nix
@@ -3,97 +3,70 @@
 , buildPythonPackage
 , pythonOlder
 , fetchPypi
-, argon2-cffi
-, glibcLocales
-, mock
-, jinja2
+, hatch-jupyter-builder
+, hatchling
+, jupyter-server
+, jupyterlab
+, jupyterlab_server
+, notebook-shim
 , tornado
-, ipython_genutils
-, traitlets
-, jupyter-core
-, jupyter-client
-, nbformat
-, nbclassic
-, nbconvert
-, ipykernel
-, terminado
-, requests
-, send2trash
-, pexpect
-, prometheus-client
+, pytest-jupyter
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "notebook";
-  version = "6.5.2";
-  disabled = pythonOlder "3.7";
+  version = "7.0.2";
+  disabled = pythonOlder "3.8";
+
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-wYl+UxfiJfx4tFVJpqtLZo5MmW/QOgTpOP5eevK//9A=";
+    hash = "sha256-1w1qB0GMgpvV9UM3zpk7cQUmHZAm+dP+aOm4qhog2po=";
   };
 
-  LC_ALL = "en_US.utf8";
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "timeout = 300" ""
+  '';
 
-  nativeCheckInputs = [ pytestCheckHook glibcLocales ];
+  nativeBuildInputs = [
+    hatch-jupyter-builder
+    hatchling
+    jupyterlab
+  ];
 
   propagatedBuildInputs = [
-    jinja2
+    jupyter-server
+    jupyterlab
+    jupyterlab_server
+    notebook-shim
     tornado
-    ipython_genutils
-    traitlets
-    jupyter-core
-    send2trash
-    jupyter-client
-    nbformat
-    nbclassic
-    nbconvert
-    ipykernel
-    terminado
-    requests
-    pexpect
-    prometheus-client
-    argon2-cffi
   ];
 
-  postPatch = ''
-    # Remove selenium tests
-    rm -rf notebook/tests/selenium
-    export HOME=$TMPDIR
-  '';
-
-  disabledTests = [
-    # a "system_config" is generated, and fails many tests
-    "config"
-    "load_ordered"
-    # requires jupyter, but will cause circular imports
-    "test_run"
-    "TestInstallServerExtension"
-    "launch_socket"
-    "sock_server"
-    "test_list_formats" # tries to find python MIME type
-    "KernelCullingTest" # has a race condition failing on slower hardware
-    "test_connections" # tornado.simple_httpclient.HTTPTimeoutError: Timeout during request"
-  ] ++ lib.optionals stdenv.isDarwin [
-    "test_delete"
-    "test_checkpoints_follow_file"
+  nativeCheckInputs = [
+    pytest-jupyter
+    pytestCheckHook
   ];
 
-  disabledTestPaths = lib.optionals stdenv.isDarwin [
-    # requires local networking
-    "notebook/auth/tests/test_login.py"
-    "notebook/bundler/tests/test_bundler_api.py"
+  pytestFlagsArray = [
+    "-W" "ignore::DeprecationWarning"
   ];
 
+  env = {
+    JUPYTER_PLATFORM_DIRS = 1;
+  };
+
   # Some of the tests use localhost networking.
   __darwinAllowLocalNetworking = true;
 
   meta = {
-    description = "The Jupyter HTML notebook is a web-based notebook environment for interactive computing";
+    changelog = "https://github.com/jupyter/notebook/blob/v${version}/CHANGELOG.md";
+    description = "Web-based notebook environment for interactive computing";
     homepage = "https://github.com/jupyter/notebook";
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh ];
+    maintainers = lib.teams.jupyter.members;
     mainProgram = "jupyter-notebook";
   };
 }