1{ 2 lib, 3 buildPythonPackage, 4 fetchPypi, 5 git, 6 jupyter-server, 7 hatch-jupyter-builder, 8 hatch-nodejs-version, 9 hatchling, 10 jupyterlab, 11 nbdime, 12 nbformat, 13 pexpect, 14 pytest-asyncio, 15 pytest-jupyter, 16 pytest-tornasync, 17 pytestCheckHook, 18 pythonOlder, 19 traitlets, 20}: 21 22buildPythonPackage rec { 23 pname = "jupyterlab-git"; 24 version = "0.50.1"; 25 pyproject = true; 26 27 disabled = pythonOlder "3.8"; 28 29 src = fetchPypi { 30 pname = "jupyterlab_git"; 31 inherit version; 32 hash = "sha256-v08Go/vCsquE6l1SMmqg4LjM9OmjNX+jGKEZVg4cak0="; 33 }; 34 35 nativeBuildInputs = [ 36 hatch-jupyter-builder 37 hatch-nodejs-version 38 hatchling 39 jupyterlab 40 ]; 41 42 propagatedBuildInputs = [ 43 jupyter-server 44 nbdime 45 git 46 nbformat 47 pexpect 48 traitlets 49 ]; 50 51 nativeCheckInputs = [ 52 jupyterlab 53 pytest-asyncio 54 pytest-jupyter 55 pytest-tornasync 56 pytestCheckHook 57 ]; 58 59 preCheck = '' 60 export HOME=$TMPDIR 61 ''; 62 63 disabledTestPaths = [ 64 "jupyterlab_git/tests/test_handlers.py" 65 # PyPI doesn't ship all required files for the tests 66 "jupyterlab_git/tests/test_config.py" 67 "jupyterlab_git/tests/test_integrations.py" 68 "jupyterlab_git/tests/test_remote.py" 69 "jupyterlab_git/tests/test_settings.py" 70 ]; 71 72 disabledTests = [ 73 "test_Git_get_nbdiff_file" 74 "test_Git_get_nbdiff_dict" 75 ]; 76 77 pythonImportsCheck = [ "jupyterlab_git" ]; 78 79 __darwinAllowLocalNetworking = true; 80 81 meta = with lib; { 82 description = "Jupyter lab extension for version control with Git"; 83 homepage = "https://github.com/jupyterlab/jupyterlab-git"; 84 changelog = "https://github.com/jupyterlab/jupyterlab-git/blob/v${version}/CHANGELOG.md"; 85 license = with licenses; [ bsd3 ]; 86 maintainers = with maintainers; [ chiroptical ]; 87 }; 88}