Files
2026-05-18 23:42:08 +02:00

96 lines
1.9 KiB
Nix

{
lib,
stdenv,
buildPythonPackage,
fetchPypi,
# build-system
hatch-jupyter-builder,
hatchling,
jupyterlab,
# dependencies
colorama,
gitpython,
jinja2,
jupyter-server,
nbformat,
pygments,
requests,
tornado,
# tests
gitMinimal,
pytestCheckHook,
writableTmpDirAsHomeHook,
}:
buildPythonPackage rec {
pname = "nbdime";
version = "4.0.4";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-jNJez+61EF1WMjfX9k60dIBY+6m7qas4kqH/YeF3zhY=";
};
build-system = [
hatch-jupyter-builder
hatchling
jupyterlab
];
dependencies = [
colorama
gitpython
jinja2
jupyter-server
nbformat
pygments
requests
tornado
];
nativeCheckInputs = [
gitMinimal
pytestCheckHook
writableTmpDirAsHomeHook
];
disabledTests = [
# subprocess.CalledProcessError: Command '['git', 'diff', 'base', 'diff.ipynb']' returned non-zero exit status 128.
# git-nbdiffdriver diff: line 1: git-nbdiffdriver: command not found
# fatal: external diff died, stopping at diff.ipynb
"test_git_diffdriver"
# subprocess.CalledProcessError: Command '['git', 'merge', 'remote-no-conflict']' returned non-zero exit status 1.
"test_git_mergedriver"
# Require network access
"test_git_difftool"
"test_git_mergetool"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# OSError: Could not find system gitattributes location!
"test_locate_gitattributes_syste"
];
preCheck = ''
git config --global user.email "janedoe@example.com"
git config --global user.name "Jane Doe"
'';
__darwinAllowLocalNetworking = true;
pythonImportsCheck = [ "nbdime" ];
meta = {
homepage = "https://github.com/jupyter/nbdime";
changelog = "https://github.com/jupyter/nbdime/blob/v${version}/CHANGELOG.md";
description = "Tools for diffing and merging of Jupyter notebooks";
license = lib.licenses.bsd3;
maintainers = [ ];
};
}