at master 1.6 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 stdenv, 6 7 # build-system 8 flit-core, 9 10 # dependencies 11 orderly-set, 12 13 # optional-dependencies 14 click, 15 orjson, 16 pyyaml, 17 18 # tests 19 jsonpickle, 20 numpy, 21 pytestCheckHook, 22 python-dateutil, 23 pydantic, 24 tomli-w, 25 polars, 26 pandas, 27 uuid6, 28}: 29 30buildPythonPackage rec { 31 pname = "deepdiff"; 32 version = "8.6.1"; 33 pyproject = true; 34 35 src = fetchFromGitHub { 36 owner = "seperman"; 37 repo = "deepdiff"; 38 tag = version; 39 hash = "sha256-1DB1OgIS/TSMd+Pqd2vvW+qwM/b5+Dy3qStlg+asidE="; 40 }; 41 42 build-system = [ 43 flit-core 44 ]; 45 46 dependencies = [ 47 orderly-set 48 ]; 49 50 optional-dependencies = { 51 cli = [ 52 click 53 pyyaml 54 ]; 55 optimize = [ 56 orjson 57 ]; 58 }; 59 60 nativeCheckInputs = [ 61 jsonpickle 62 numpy 63 pytestCheckHook 64 python-dateutil 65 pydantic 66 tomli-w 67 polars 68 pandas 69 uuid6 70 ] 71 ++ lib.flatten (lib.attrValues optional-dependencies); 72 73 disabledTests = [ 74 # Require pytest-benchmark 75 "test_cache_deeply_nested_a1" 76 "test_lfu" 77 ] 78 ++ lib.optionals stdenv.hostPlatform.isDarwin [ 79 # Times out on darwin in Hydra 80 "test_repeated_timer" 81 ]; 82 83 pythonImportsCheck = [ "deepdiff" ]; 84 85 meta = { 86 description = "Deep Difference and Search of any Python object/data"; 87 mainProgram = "deep"; 88 homepage = "https://github.com/seperman/deepdiff"; 89 changelog = "https://github.com/seperman/deepdiff/blob/${src.tag}/CHANGELOG.md"; 90 license = lib.licenses.mit; 91 maintainers = with lib.maintainers; [ 92 mic92 93 doronbehar 94 ]; 95 }; 96}