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 ] 63 ++ lib.flatten (builtins.attrValues optional-dependencies); 64 65 pythonImportsCheck = [ "dask_awkward" ]; 66 67 disabledTests = [ 68 # Tests require network access 69 "test_remote_double" 70 "test_remote_single" 71 "test_from_text" 72 # ValueError: not a ROOT file: first four bytes... 73 "test_basic_root_works" 74 # Flaky. https://github.com/dask-contrib/dask-awkward/issues/506. 75 "test_distance_behavior" 76 77 # RuntimeError: Attempting to use an asynchronous Client in a synchronous context of `dask.compute` 78 # https://github.com/dask-contrib/dask-awkward/issues/573 79 "test_persist" 80 "test_ravel_fail" 81 ]; 82 83 __darwinAllowLocalNetworking = true; 84 85 meta = { 86 description = "Native Dask collection for awkward arrays, and the library to use it"; 87 homepage = "https://github.com/dask-contrib/dask-awkward"; 88 changelog = "https://github.com/dask-contrib/dask-awkward/releases/tag/${src.tag}"; 89 license = lib.licenses.bsd3; 90 maintainers = with lib.maintainers; [ veprbl ]; 91 }; 92}