1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6 hatchling,
7 hatch-vcs,
8 aiohttp,
9 awkward,
10 cachetools,
11 cloudpickle,
12 correctionlib,
13 dask,
14 dask-awkward,
15 dask-histogram,
16 fsspec-xrootd,
17 hist,
18 lz4,
19 matplotlib,
20 mplhep,
21 numba,
22 numpy,
23 packaging,
24 pandas,
25 pyarrow,
26 requests,
27 scipy,
28 toml,
29 tqdm,
30 uproot,
31 distributed,
32 pyinstrument,
33 pytestCheckHook,
34}:
35
36buildPythonPackage rec {
37 pname = "coffea";
38 version = "2024.5.0";
39 pyproject = true;
40
41 disabled = pythonOlder "3.8";
42
43 src = fetchFromGitHub {
44 owner = "CoffeaTeam";
45 repo = "coffea";
46 rev = "refs/tags/v${version}";
47 hash = "sha256-FHE7/VL0mnf0eBPzCsrr8ISr7OmfFvI9xuV0CPa7JdU=";
48 };
49
50 build-system = [
51 hatchling
52 hatch-vcs
53 ];
54
55 dependencies = [
56 aiohttp
57 awkward
58 cachetools
59 cloudpickle
60 correctionlib
61 dask
62 dask-awkward
63 dask-histogram
64 fsspec-xrootd
65 hist
66 lz4
67 matplotlib
68 mplhep
69 numba
70 numpy
71 packaging
72 pandas
73 pyarrow
74 requests
75 scipy
76 toml
77 tqdm
78 uproot
79 ] ++ dask.optional-dependencies.array;
80
81 nativeCheckInputs = [
82 distributed
83 pyinstrument
84 pytestCheckHook
85 ];
86
87 pythonImportsCheck = [ "coffea" ];
88
89 disabledTests = [
90 # Requires internet access
91 # https://github.com/CoffeaTeam/coffea/issues/1094
92 "test_lumimask"
93 ];
94
95 __darwinAllowLocalNetworking = true;
96
97 meta = with lib; {
98 description = "Basic tools and wrappers for enabling not-too-alien syntax when running columnar Collider HEP analysis";
99 homepage = "https://github.com/CoffeaTeam/coffea";
100 changelog = "https://github.com/CoffeaTeam/coffea/releases/tag/v${version}";
101 license = with licenses; [ bsd3 ];
102 maintainers = with maintainers; [ veprbl ];
103 };
104}