From 36a552c0c8317e7023121c0ec9c208c5a2d93851 Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Sun, 19 Jul 2026 15:48:11 -0400 Subject: [PATCH] python3Packages.hepdata-lib: init at 0.21.0 Library for getting your data into HEPData. Assisted-by: Claude Sonnet 5 --- .../python-modules/hepdata-lib/default.nix | 63 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 65 insertions(+) create mode 100644 pkgs/development/python-modules/hepdata-lib/default.nix diff --git a/pkgs/development/python-modules/hepdata-lib/default.nix b/pkgs/development/python-modules/hepdata-lib/default.nix new file mode 100644 index 000000000000..f1b22015df34 --- /dev/null +++ b/pkgs/development/python-modules/hepdata-lib/default.nix @@ -0,0 +1,63 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + numpy, + pyyaml, + hist, + scipy, + hepdata-validator, + root, + imagemagick, + pytestCheckHook, + pytest-cov, + withRootSupport ? false, +}: + +buildPythonPackage (finalAttrs: { + pname = "hepdata_lib"; + version = "0.21.0"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "HEPData"; + repo = "hepdata_lib"; + tag = "v${finalAttrs.version}"; + hash = "sha256-+RoiH0yFfR2dJxstk4JWUHWNk5TQH6fgEl7f78Ej2KI="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + numpy + pyyaml + hist + scipy + hepdata-validator + ] + ++ lib.optionals withRootSupport [ root ]; + + nativeCheckInputs = [ + (imagemagick.override { ghostscriptSupport = true; }) + pytest-cov + pytestCheckHook + ]; + + disabledTestMarks = lib.optionals (!withRootSupport) [ "needs_root" ]; + + # These execute example Jupyter notebooks via papermill, requiring extra + # test-only dependencies (papermill, ipykernel) that are not packaged here. + disabledTestPaths = [ "tests/test_notebooks.py" ]; + + pythonImportsCheck = [ "hepdata_lib" ]; + + meta = { + description = "Library for getting your data into HEPData"; + homepage = "https://github.com/HEPData/hepdata_lib"; + changelog = "https://github.com/HEPData/hepdata_lib/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ veprbl ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 02edb2db80b8..6165d171b060 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7492,6 +7492,8 @@ self: super: with self; { hepdata-converter = callPackage ../development/python-modules/hepdata-converter { }; + hepdata-lib = callPackage ../development/python-modules/hepdata-lib { }; + hepdata-validator = callPackage ../development/python-modules/hepdata-validator { }; hepmc3 = toPythonModule (pkgs.hepmc3.override { inherit python; });