1{ lib
2, buildPythonPackage
3, fetchPypi
4, pythonOlder
5, awkward-cpp
6, hatch-fancy-pypi-readme
7, hatchling
8, numba
9, numpy
10, packaging
11, typing-extensions
12, pytestCheckHook
13}:
14
15buildPythonPackage rec {
16 pname = "awkward";
17 version = "2.2.1";
18 format = "pyproject";
19
20 disabled = pythonOlder "3.7";
21
22 src = fetchPypi {
23 inherit pname version;
24 sha256 = "653e5b69f1c8e32d1d59445a8414d03f850d327eb933f45aad163f0778861dc2";
25 };
26
27 nativeBuildInputs = [
28 hatch-fancy-pypi-readme
29 hatchling
30 ];
31
32 propagatedBuildInputs = [
33 awkward-cpp
34 numpy
35 packaging
36 ] ++ lib.optionals (pythonOlder "3.11") [
37 typing-extensions
38 ];
39
40 dontUseCmakeConfigure = true;
41
42 nativeCheckInputs = [
43 pytestCheckHook
44 numba
45 ];
46
47 disabledTestPaths = [
48 "tests-cuda"
49 ];
50
51 pythonImportsCheck = [
52 "awkward"
53 ];
54
55 meta = with lib; {
56 description = "Manipulate JSON-like data with NumPy-like idioms";
57 homepage = "https://github.com/scikit-hep/awkward";
58 license = licenses.bsd3;
59 maintainers = with maintainers; [ veprbl ];
60 };
61}