100 lines
2.1 KiB
Nix
100 lines
2.1 KiB
Nix
{ stdenv
|
|
, lib
|
|
, buildPythonPackage
|
|
, pythonOlder
|
|
, fetchPypi
|
|
, argon2-cffi
|
|
, glibcLocales
|
|
, mock
|
|
, jinja2
|
|
, tornado
|
|
, ipython_genutils
|
|
, traitlets
|
|
, jupyter-core
|
|
, jupyter-client
|
|
, nbformat
|
|
, nbclassic
|
|
, nbconvert
|
|
, ipykernel
|
|
, terminado
|
|
, requests
|
|
, send2trash
|
|
, pexpect
|
|
, prometheus-client
|
|
, pytestCheckHook
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "notebook";
|
|
version = "6.5.2";
|
|
disabled = pythonOlder "3.7";
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
hash = "sha256-wYl+UxfiJfx4tFVJpqtLZo5MmW/QOgTpOP5eevK//9A=";
|
|
};
|
|
|
|
LC_ALL = "en_US.utf8";
|
|
|
|
nativeCheckInputs = [ pytestCheckHook glibcLocales ];
|
|
|
|
propagatedBuildInputs = [
|
|
jinja2
|
|
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"
|
|
];
|
|
|
|
disabledTestPaths = lib.optionals stdenv.isDarwin [
|
|
# requires local networking
|
|
"notebook/auth/tests/test_login.py"
|
|
"notebook/bundler/tests/test_bundler_api.py"
|
|
];
|
|
|
|
# Some of the tests use localhost networking.
|
|
__darwinAllowLocalNetworking = true;
|
|
|
|
meta = {
|
|
description = "The Jupyter HTML notebook is a web-based notebook environment for interactive computing";
|
|
homepage = "https://jupyter.org/";
|
|
license = lib.licenses.bsd3;
|
|
maintainers = with lib.maintainers; [ fridh ];
|
|
mainProgram = "jupyter-notebook";
|
|
};
|
|
}
|