1{ lib
2, stdenv
3, buildPythonPackage
4, fetchPypi
5, git
6, jupyter_server
7, jupyter-packaging
8, jupyterlab
9, nbdime
10, nbformat
11, pexpect
12, pytest-asyncio
13, pytest-tornasync
14, pytestCheckHook
15, pythonOlder
16}:
17
18buildPythonPackage rec {
19 pname = "jupyterlab-git";
20 version = "0.39.2";
21
22 disabled = pythonOlder "3.6";
23
24 src = fetchPypi {
25 pname = "jupyterlab_git";
26 inherit version;
27 sha256 = "sha256-+wzKAK5jdrlPjtVDgp7QqOyXaBDzzkRJI+6hcbOcnpo=";
28 };
29
30 nativeBuildInputs = [
31 jupyter-packaging
32 ];
33
34 propagatedBuildInputs = [
35 jupyter_server
36 nbdime
37 git
38 nbformat
39 pexpect
40 ];
41
42 checkInputs = [
43 jupyterlab
44 pytest-asyncio
45 pytest-tornasync
46 pytestCheckHook
47 ];
48
49 # All Tests on darwin fail or are skipped due to sandbox
50 doCheck = !stdenv.isDarwin;
51
52 disabledTestPaths = [
53 "jupyterlab_git/tests/test_handlers.py"
54 # PyPI doesn't ship all required files for the tests
55 "jupyterlab_git/tests/test_config.py"
56 "jupyterlab_git/tests/test_integrations.py"
57 "jupyterlab_git/tests/test_remote.py"
58 "jupyterlab_git/tests/test_settings.py"
59 ];
60
61 disabledTests = [
62 "test_Git_get_nbdiff_file"
63 "test_Git_get_nbdiff_dict"
64 ];
65
66 pythonImportsCheck = [
67 "jupyterlab_git"
68 ];
69
70 meta = with lib; {
71 description = "Jupyter lab extension for version control with Git";
72 homepage = "https://github.com/jupyterlab/jupyterlab-git";
73 license = with licenses; [ bsd3 ];
74 maintainers = with maintainers; [ chiroptical ];
75 };
76}