1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 6 # build-system 7 hatch-vcs, 8 hatchling, 9 10 # dependencies 11 awkward, 12 cachetools, 13 dask, 14 typing-extensions, 15 16 # optional-dependencies 17 pyarrow, 18 19 # tests 20 distributed, 21 hist, 22 pandas, 23 pytestCheckHook, 24 uproot, 25}: 26 27buildPythonPackage rec { 28 pname = "dask-awkward"; 29 version = "2025.5.0"; 30 pyproject = true; 31 32 src = fetchFromGitHub { 33 owner = "dask-contrib"; 34 repo = "dask-awkward"; 35 tag = version; 36 hash = "sha256-TLMT7YxedBUfz05F8wTsS5LQ9LyBbcUhQENM8C7Xric="; 37 }; 38 39 build-system = [ 40 hatch-vcs 41 hatchling 42 ]; 43 44 dependencies = [ 45 awkward 46 cachetools 47 dask 48 typing-extensions 49 ]; 50 51 optional-dependencies = { 52 io = [ pyarrow ]; 53 }; 54 55 nativeCheckInputs = [ 56 # dask-histogram (circular dependency) 57 distributed 58 hist 59 pandas 60 pytestCheckHook 61 uproot 62 ] ++ lib.flatten (builtins.attrValues optional-dependencies); 63 64 pythonImportsCheck = [ "dask_awkward" ]; 65 66 disabledTests = [ 67 # Tests require network access 68 "test_remote_double" 69 "test_remote_single" 70 "test_from_text" 71 # ValueError: not a ROOT file: first four bytes... 72 "test_basic_root_works" 73 # Flaky. https://github.com/dask-contrib/dask-awkward/issues/506. 74 "test_distance_behavior" 75 76 # RuntimeError: Attempting to use an asynchronous Client in a synchronous context of `dask.compute` 77 # https://github.com/dask-contrib/dask-awkward/issues/573 78 "test_persist" 79 "test_ravel_fail" 80 ]; 81 82 __darwinAllowLocalNetworking = true; 83 84 meta = { 85 description = "Native Dask collection for awkward arrays, and the library to use it"; 86 homepage = "https://github.com/dask-contrib/dask-awkward"; 87 changelog = "https://github.com/dask-contrib/dask-awkward/releases/tag/${src.tag}"; 88 license = lib.licenses.bsd3; 89 maintainers = with lib.maintainers; [ veprbl ]; 90 }; 91}