1{ lib
2, awkward
3, buildPythonPackage
4, dask
5, fetchFromGitHub
6, fetchpatch
7, hatch-vcs
8, hatchling
9, pyarrow
10, pytestCheckHook
11, pythonOlder
12, pythonRelaxDepsHook
13}:
14
15buildPythonPackage rec {
16 pname = "dask-awkward";
17 version = "2023.8.1";
18 format = "pyproject";
19
20 disabled = pythonOlder "3.8";
21
22 src = fetchFromGitHub {
23 owner = "dask-contrib";
24 repo = pname;
25 rev = "refs/tags/${version}";
26 hash = "sha256-sSsd35Psf3VEydkNxtd9mSBzV23S7fRM/jhbC9T62kY=";
27 };
28
29 patches = [
30 (fetchpatch {
31 name = "dask-awkward-pyarrow13-test-fixes.patch";
32 url = "https://github.com/dask-contrib/dask-awkward/commit/abe7f4504b4f926232e4d0dfa5c601d265773d85.patch";
33 hash = "sha256-IYlKTV6YasuKIJutB4cCmHeglGWUwBcvFgx1MZw4hjU=";
34 })
35 ];
36
37 SETUPTOOLS_SCM_PRETEND_VERSION = version;
38
39 pythonRelaxDeps = [
40 "awkward"
41 ];
42
43 nativeBuildInputs = [
44 hatch-vcs
45 hatchling
46 pythonRelaxDepsHook
47 ];
48
49 propagatedBuildInputs = [
50 awkward
51 dask
52 ];
53
54 checkInputs = [
55 pytestCheckHook
56 pyarrow
57 ];
58
59 pythonImportsCheck = [
60 "dask_awkward"
61 ];
62
63 disabledTests = [
64 # Tests require network access
65 "test_remote_double"
66 "test_remote_single"
67 ];
68
69 meta = with lib; {
70 description = "Native Dask collection for awkward arrays, and the library to use it";
71 homepage = "https://github.com/dask-contrib/dask-awkward";
72 changelog = "https://github.com/dask-contrib/dask-awkward/releases/tag/${version}";
73 license = licenses.bsd3;
74 maintainers = with maintainers; [ veprbl ];
75 };
76}