diff --git a/pkgs/development/python-modules/hepdata-converter/default.nix b/pkgs/development/python-modules/hepdata-converter/default.nix new file mode 100644 index 000000000000..1dc289c89e32 --- /dev/null +++ b/pkgs/development/python-modules/hepdata-converter/default.nix @@ -0,0 +1,57 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + hepdata-validator, + root, + yoda, + pytestCheckHook, + coverage, +}: + +buildPythonPackage (finalAttrs: { + pname = "hepdata-converter"; + version = "0.3.3"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "HEPData"; + repo = "hepdata-converter"; + tag = finalAttrs.version; + hash = "sha256-1aq+7JM/4J5gfnzkYTOdhXoXm8KJEB5xuqLTCeKSBsE="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + hepdata-validator + # ROOT and yoda writers are loaded unconditionally at import time. + root + yoda + ]; + + nativeCheckInputs = [ + coverage + pytestCheckHook + ]; + + disabledTestPaths = [ + # Fails with newer ROOT due to a mismatch in produced histogram names. + "hepdata_converter/testsuite/test_rootwriter.py::ROOTWriterTestSuite::test_simple_parse" + # yoda in nixpkgs is not built with HDF5 support. + "hepdata_converter/testsuite/test_yodawriter.py::YODAWriterTestSuite::test_parse_h5" + ]; + + pythonImportsCheck = [ "hepdata_converter" ]; + + meta = { + description = "Library providing means of conversion between oldhepdata format and the new one, and the new one to csv / yoda / root etc"; + homepage = "https://github.com/HEPData/hepdata-converter"; + changelog = "https://github.com/HEPData/hepdata-converter/releases/tag/${finalAttrs.version}"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ veprbl ]; + mainProgram = "hepdata-converter"; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 92c7ae1eed8b..02edb2db80b8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7490,6 +7490,8 @@ self: super: with self; { helper = callPackage ../development/python-modules/helper { }; + hepdata-converter = callPackage ../development/python-modules/hepdata-converter { }; + hepdata-validator = callPackage ../development/python-modules/hepdata-validator { }; hepmc3 = toPythonModule (pkgs.hepmc3.override { inherit python; });