Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 click, 6 ordered-set, 7 orjson, 8 clevercsv, 9 jsonpickle, 10 numpy, 11 pytestCheckHook, 12 python-dateutil, 13 pyyaml, 14 toml, 15 tomli-w, 16 pythonOlder, 17}: 18 19buildPythonPackage rec { 20 pname = "deepdiff"; 21 version = "7.0.1"; 22 format = "setuptools"; 23 24 disabled = pythonOlder "3.7"; 25 26 src = fetchFromGitHub { 27 owner = "seperman"; 28 repo = "deepdiff"; 29 rev = "refs/tags/${version}"; 30 hash = "sha256-HqmAE5sLwyjyUahIUeRIJW0c5eliq/qEzE2FydHwc70="; 31 }; 32 33 postPatch = '' 34 substituteInPlace tests/test_command.py \ 35 --replace '/tmp/' "$TMPDIR/" 36 ''; 37 38 propagatedBuildInputs = [ 39 click 40 ordered-set 41 orjson 42 ]; 43 44 passthru.optional-dependencies = { 45 cli = [ 46 clevercsv 47 click 48 pyyaml 49 toml 50 ]; 51 }; 52 53 nativeCheckInputs = [ 54 jsonpickle 55 numpy 56 pytestCheckHook 57 python-dateutil 58 tomli-w 59 ] ++ passthru.optional-dependencies.cli; 60 61 disabledTests = [ 62 # not compatible with pydantic 2.x 63 "test_pydantic1" 64 "test_pydantic2" 65 ]; 66 67 pythonImportsCheck = [ "deepdiff" ]; 68 69 meta = with lib; { 70 description = "Deep Difference and Search of any Python object/data"; 71 mainProgram = "deep"; 72 homepage = "https://github.com/seperman/deepdiff"; 73 changelog = "https://github.com/seperman/deepdiff/releases/tag/${version}"; 74 license = licenses.mit; 75 maintainers = with maintainers; [ mic92 ]; 76 }; 77}