1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 cmake,
6 numpy,
7 scikit-build,
8 setuptools,
9 setuptools-scm,
10 wheel,
11 packaging,
12 pybind11,
13 pydantic,
14 rich,
15 awkward,
16 pytestCheckHook,
17 scipy,
18 zlib,
19}:
20
21buildPythonPackage rec {
22 pname = "correctionlib";
23 version = "2.5.0";
24 pyproject = true;
25
26 src = fetchPypi {
27 inherit pname version;
28 hash = "sha256-H8QCdU6piBdqJEJOGVbsz+6eyMhFVuwTpIHKUoKaf4A=";
29 };
30
31 nativeBuildInputs = [
32 cmake
33 scikit-build
34 setuptools
35 setuptools-scm
36 pybind11
37 ];
38
39 buildInputs = [ zlib ];
40
41 propagatedBuildInputs = [
42 numpy
43 packaging
44 pydantic
45 rich
46 ];
47
48 dontUseCmakeConfigure = true;
49
50 nativeCheckInputs = [
51 awkward
52 pytestCheckHook
53 scipy
54 ];
55
56 pythonImportsCheck = [ "correctionlib" ];
57
58 meta = with lib; {
59 description = "Provides a well-structured JSON data format for a wide variety of ad-hoc correction factors encountered in a typical HEP analysis";
60 mainProgram = "correction";
61 homepage = "https://cms-nanoaod.github.io/correctionlib/";
62 license = with licenses; [ bsd3 ];
63 maintainers = with maintainers; [ veprbl ];
64 };
65}