diff --git a/pkgs/development/python-modules/bambi/default.nix b/pkgs/development/python-modules/bambi/default.nix new file mode 100644 index 000000000000..c15c3117b69b --- /dev/null +++ b/pkgs/development/python-modules/bambi/default.nix @@ -0,0 +1,56 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, pytestCheckHook +, arviz +, formulae +, graphviz +, numpy +, pandas +, pymc +, scipy +}: + +buildPythonPackage rec { + pname = "bambi"; + version = "0.9.3"; + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "bambinos"; + repo = pname; + rev = "refs/tags/${version}"; + hash = "sha256-f/4CrFmma+Lc6wZm+YyDupDWfPAtuRsZdRf28sYUWTk="; + }; + + propagatedBuildInputs = [ + arviz + formulae + numpy + pandas + pymc + scipy + ]; + + preCheck = ''export HOME=$(mktemp -d)''; + + nativeCheckInputs = [ graphviz pytestCheckHook ]; + disabledTests = [ + # attempt to fetch data: + "test_data_is_copied" + "test_predict_offset" + # require blackjax (not in Nixpkgs), numpyro, and jax: + "test_logistic_regression_categoric_alternative_samplers" + "test_regression_alternative_samplers" + ]; + + pythonImportsCheck = [ "bambi" ]; + + meta = with lib; { + homepage = "https://bambinos.github.io/bambi"; + description = "High-level Bayesian model-building interface"; + license = licenses.mit; + maintainers = with maintainers; [ bcdarwin ]; + }; +} diff --git a/pkgs/development/python-modules/formulae/default.nix b/pkgs/development/python-modules/formulae/default.nix new file mode 100644 index 000000000000..9755fed90238 --- /dev/null +++ b/pkgs/development/python-modules/formulae/default.nix @@ -0,0 +1,43 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, pytestCheckHook +, numpy +, pandas +, scipy +}: + +buildPythonPackage rec { + pname = "formulae"; + version = "0.3.4"; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "bambinos"; + repo = pname; + rev = "refs/tags/v${version}"; + hash = "sha256-6IGTn3griooslN6+qRYLJiWaJhvsxa1xj1+1kQ57yN0="; + }; + + propagatedBuildInputs = [ + numpy + pandas + scipy + ]; + + nativeCheckInputs = [ pytestCheckHook ]; + # use assertions of form `assert pytest.approx(...)`, which is now disallowed: + disabledTests = [ "test_basic" "test_degree" ]; + pythonImportsCheck = [ + "formulae" + "formulae.matrices" + ]; + + meta = with lib; { + homepage = "https://bambinos.github.io/formulae"; + description = "Formulas for mixed-effects models in Python"; + license = licenses.mit; + maintainers = with maintainers; [ bcdarwin ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 915f5d14a546..7c55959b6149 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1101,6 +1101,8 @@ self: super: with self; { babelgladeextractor = callPackage ../development/python-modules/babelgladeextractor { }; + bambi = callPackage ../development/python-modules/bambi { }; + pad4pi = callPackage ../development/python-modules/pad4pi { }; pulumi = callPackage ../development/python-modules/pulumi { inherit (pkgs) pulumi; }; @@ -3571,6 +3573,8 @@ self: super: with self; { formbox = callPackage ../development/python-modules/formbox { }; + formulae = callPackage ../development/python-modules/formulae { }; + fortiosapi = callPackage ../development/python-modules/fortiosapi { }; FormEncode = callPackage ../development/python-modules/FormEncode { };