1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchPypi,
6 hatch-jupyter-builder,
7 hatchling,
8 jupyterlab,
9 nbformat,
10 colorama,
11 pygments,
12 tornado,
13 requests,
14 gitpython,
15 jupyter-server,
16 jupyter-server-mathjax,
17 jinja2,
18 git,
19 pytest-tornado,
20 pytestCheckHook,
21}:
22
23buildPythonPackage rec {
24 pname = "nbdime";
25 version = "4.0.2";
26 pyproject = true;
27
28 disabled = pythonOlder "3.6";
29
30 src = fetchPypi {
31 inherit pname version;
32 hash = "sha256-2Cefj0sjbAslOyDWDEgxu2eEPtjb1uCfI06wEdNvG/I=";
33 };
34
35 build-system = [
36 hatch-jupyter-builder
37 hatchling
38 jupyterlab
39 ];
40
41 dependencies = [
42 nbformat
43 colorama
44 pygments
45 tornado
46 requests
47 gitpython
48 jupyter-server
49 jupyter-server-mathjax
50 jinja2
51 ];
52
53 nativeCheckInputs = [
54 git
55 pytest-tornado
56 pytestCheckHook
57 ];
58
59 disabledTests = [
60 "test_git_diffdriver"
61 "test_git_difftool"
62 "test_git_mergedriver"
63 "test_git_mergetool"
64 ];
65
66 preCheck = ''
67 export HOME="$TEMP"
68 git config --global user.email "janedoe@example.com"
69 git config --global user.name "Jane Doe"
70 '';
71
72 __darwinAllowLocalNetworking = true;
73
74 pythonImportsCheck = [ "nbdime" ];
75
76 meta = with lib; {
77 homepage = "https://github.com/jupyter/nbdime";
78 changelog = "https://github.com/jupyter/nbdime/blob/${version}/CHANGELOG.md";
79 description = "Tools for diffing and merging of Jupyter notebooks";
80 license = licenses.bsd3;
81 maintainers = with maintainers; [ tbenst ];
82 };
83}