From 869c766a2577d8aaa88ff3ca4b1bb35fd0d1822a Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 30 Sep 2024 09:30:00 +0200 Subject: [PATCH] python312Packages.nutpie: init at 0.13.2 --- .../python-modules/nutpie/default.nix | 98 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 100 insertions(+) create mode 100644 pkgs/development/python-modules/nutpie/default.nix diff --git a/pkgs/development/python-modules/nutpie/default.nix b/pkgs/development/python-modules/nutpie/default.nix new file mode 100644 index 000000000000..6c31d823c625 --- /dev/null +++ b/pkgs/development/python-modules/nutpie/default.nix @@ -0,0 +1,98 @@ +{ + lib, + stdenv, + buildPythonPackage, + fetchFromGitHub, + rustPlatform, + + # build-system + cargo, + rustc, + + # buildInputs + libiconv, + + # dependencies + arviz, + pandas, + pyarrow, + xarray, + + # tests + # bridgestan, (not packaged) + jax, + jaxlib, + numba, + pymc, + pytestCheckHook, + setuptools, +}: + +buildPythonPackage rec { + pname = "nutpie"; + version = "0.13.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pymc-devs"; + repo = "nutpie"; + rev = "refs/tags/v${version}"; + hash = "sha256-XyUMCnHm5V7oFaf3W+nGpcHfq1ZFppeGMIMCU5OB87s="; + }; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + name = "${pname}-${version}"; + hash = "sha256-9lM1S42Bmnlb0opstZN2aOKYhBnP87Frq+fQxk0ez+c="; + }; + + build-system = [ + cargo + rustPlatform.bindgenHook + rustPlatform.cargoSetupHook + rustPlatform.maturinBuildHook + rustc + ]; + + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + libiconv + ]; + + dependencies = [ + arviz + pandas + pyarrow + xarray + ]; + + pythonImportsCheck = [ "nutpie" ]; + + nativeCheckInputs = [ + # bridgestan + numba + jax + jaxlib + pymc + pytestCheckHook + setuptools + ]; + + disabledTestPaths = [ + # Require unpackaged bridgestan + "tests/test_stan.py" + + # KeyError: "duplicate registration for " + "tests/test_pymc.py" + ]; + + # Currently, no test are working... + doCheck = false; + + meta = { + description = "Python wrapper for nuts-rs"; + homepage = "https://github.com/pymc-devs/nutpie"; + changelog = "https://github.com/pymc-devs/nutpie/blob/${src.rev}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0e4926959ab1..600428df7afb 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9143,6 +9143,8 @@ self: super: with self; { nutils-poly = callPackage ../development/python-modules/nutils-poly { }; + nutpie = callPackage ../development/python-modules/nutpie { }; + nvchecker = callPackage ../development/python-modules/nvchecker { }; nvdlib = callPackage ../development/python-modules/nvdlib { };