diff --git a/pkgs/development/python-modules/autograd-gamma/default.nix b/pkgs/development/python-modules/autograd-gamma/default.nix new file mode 100644 index 000000000000..bbb5683e0cee --- /dev/null +++ b/pkgs/development/python-modules/autograd-gamma/default.nix @@ -0,0 +1,29 @@ +{ lib, buildPythonPackage, fetchFromGitHub, pytestCheckHook, autograd, scipy }: + +buildPythonPackage rec { + pname = "autograd-gamma"; + version = "0.4.3"; + + src = fetchFromGitHub { + owner = "CamDavidsonPilon"; + repo = "autograd-gamma"; + rev = "v${version}"; + sha256 = "0v03gly5k3a1hzb54zpw6409m3riak49qd27hkq2f66ai42ivqz2"; + }; + + propagatedBuildInputs = [ + autograd + scipy + ]; + + pythonImportsCheck = [ "autograd_gamma" ]; + + checkInputs = [ pytestCheckHook ]; + + meta = { + homepage = "https://github.com/CamDavidsonPilon/autograd-gamma"; + description = "Autograd compatible approximations to the gamma family of functions"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ swflint ]; + }; +} diff --git a/pkgs/development/python-modules/formulaic/default.nix b/pkgs/development/python-modules/formulaic/default.nix new file mode 100644 index 000000000000..1f7d875b917a --- /dev/null +++ b/pkgs/development/python-modules/formulaic/default.nix @@ -0,0 +1,63 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, hatchling +, hatch-vcs +, git +, astor +, interface-meta +, numpy +, pandas +, scipy +, sympy +, wrapt +, typing-extensions +}: + +buildPythonPackage rec { + pname = "formulaic"; + version = "0.5.2"; + + format = "pyproject"; + + src = fetchFromGitHub { + owner = "matthewwardrop"; + repo = "formulaic"; + rev = "v${version}"; + sha256 = "sha256-sIvHTuUS/nkcDjRgZCoEOY2negIOsarzH0PeXJsavWc="; + }; + + SETUPTOOLS_SCM_PRETEND_VERSION = version; + + nativeBuildInputs = [ + hatchling + hatch-vcs + ]; + + propagatedBuildInputs = [ + astor + numpy + pandas + scipy + wrapt + typing-extensions + interface-meta + sympy + ]; + + pythonImportsCheck = [ "formulaic" ]; + + checkInputs = [ pytestCheckHook ]; + + disabledTestPaths = [ + "tests/transforms/test_poly.py" + ]; + + meta = { + homepage = "https://matthewwardrop.github.io/formulaic/"; + description = "High-performance implementation of Wilkinson formulas for"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ swflint ]; + }; +} diff --git a/pkgs/development/python-modules/interface-meta/0001-fix-version.patch b/pkgs/development/python-modules/interface-meta/0001-fix-version.patch new file mode 100644 index 000000000000..7ff24a210ebd --- /dev/null +++ b/pkgs/development/python-modules/interface-meta/0001-fix-version.patch @@ -0,0 +1,36 @@ +From 581102ae94a7e6dfd3ad3fa5371068189b9e7c44 Mon Sep 17 00:00:00 2001 +From: "Samuel W. Flint" +Date: Thu, 27 Oct 2022 12:42:07 -0500 +Subject: [PATCH] fix-versions + +--- + interface_meta/_version.py | 2 +- + pyproject.toml | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/interface_meta/_version.py b/interface_meta/_version.py +index 3d50665..b3d3818 100644 +--- a/interface_meta/_version.py ++++ b/interface_meta/_version.py +@@ -1,5 +1,5 @@ + __author__ = "Matthew Wardrop" + __author_email__ = "mpwardrop@gmail.com" +-__version__ = "0.0.0" ++__version__ = "1.3.0" + + __dependencies__ = [] +diff --git a/pyproject.toml b/pyproject.toml +index 43dab27..e543549 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -1,6 +1,6 @@ + [tool.poetry] + name = "interface_meta" +-version = "0.0.0" ++version = "1.3.0" + description = "`interface_meta` provides a convenient way to expose an extensible API with enforced method signatures and consistent documentation." + authors = ["Matthew Wardrop "] + license = "MIT" +-- +2.37.0 + diff --git a/pkgs/development/python-modules/interface-meta/default.nix b/pkgs/development/python-modules/interface-meta/default.nix new file mode 100644 index 000000000000..952452b07d3c --- /dev/null +++ b/pkgs/development/python-modules/interface-meta/default.nix @@ -0,0 +1,38 @@ +{ lib, buildPythonPackage, fetchFromGitHub, pytestCheckHook, poetry-core, poetry-dynamic-versioning }: + +buildPythonPackage rec { + pname = "interface-meta"; + version = "1.3.0"; + + format = "pyproject"; + + src = fetchFromGitHub { + owner = "matthewwardrop"; + repo = "interface_meta"; + rev = "v${version}"; + sha256 = "0rzh11wnab33b11391vc2ynf8ncxn22b12wn46lmgkrc5mqza8hd"; + }; + + patches = [ + ./0001-fix-version.patch + ]; + + nativeBuildInputs = [ + poetry-core + ]; + + propogatedBuildInputs = [ + poetry-dynamic-versioning + ]; + + pythonImportsCheck = [ "interface_meta" ]; + + checkInputs = [ pytestCheckHook ]; + + meta = { + homepage = "https://github.com/matthewwardrop/interface_meta"; + description = "Convenient way to expose an extensible API with enforced method signatures and consistent documentation"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ swflint ]; + }; +} diff --git a/pkgs/development/python-modules/lifelines/default.nix b/pkgs/development/python-modules/lifelines/default.nix new file mode 100644 index 000000000000..437a7881b751 --- /dev/null +++ b/pkgs/development/python-modules/lifelines/default.nix @@ -0,0 +1,63 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, numpy +, scipy +, pandas +, matplotlib +, autograd +, autograd-gamma +, formulaic +, scikit-learn +, sybil +, flaky +, jinja2 +, dill +, psutil +}: + +buildPythonPackage rec { + pname = "lifelines"; + version = "0.27.4"; + + src = fetchFromGitHub { + owner = "CamDavidsonPilon"; + repo = "lifelines"; + rev = "v${version}"; + sha256 = "sha256-KDoXplqkTsk85dmcTBhbj2GDcC4ry+2z5C2QHAnBTw4="; + }; + + propagatedBuildInputs = [ + numpy + scipy + pandas + matplotlib + autograd + autograd-gamma + formulaic + ]; + + pythonImportsCheck = [ "lifelines" ]; + + checkInputs = [ + dill + flaky + jinja2 + psutil + pytestCheckHook + scikit-learn + sybil + ]; + + disabledTestPaths = [ + "lifelines/tests/test_estimation.py" + ]; + + meta = { + homepage = "https://lifelines.readthedocs.io"; + description = "Survival analysis in Python"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ swflint ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 404786c7aa28..2b8cc7341e01 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -812,6 +812,8 @@ self: super: with self; { autograd = callPackage ../development/python-modules/autograd { }; + autograd-gamma = callPackage ../development/python-modules/autograd-gamma { }; + autoit-ripper = callPackage ../development/python-modules/autoit-ripper { }; autologging = callPackage ../development/python-modules/autologging { }; @@ -3615,6 +3617,8 @@ self: super: with self; { FormEncode = callPackage ../development/python-modules/FormEncode { }; + formulaic = callPackage ../development/python-modules/formulaic { }; + foundationdb51 = callPackage ../servers/foundationdb/python.nix { foundationdb = pkgs.foundationdb51; }; foundationdb52 = callPackage ../servers/foundationdb/python.nix { foundationdb = pkgs.foundationdb52; }; foundationdb60 = callPackage ../servers/foundationdb/python.nix { foundationdb = pkgs.foundationdb60; }; @@ -4710,6 +4714,8 @@ self: super: with self; { intensity-normalization = callPackage ../development/python-modules/intensity-normalization { }; + interface-meta = callPackage ../development/python-modules/interface-meta { }; + internetarchive = callPackage ../development/python-modules/internetarchive { }; interruptingcow = callPackage ../development/python-modules/interruptingcow { }; @@ -5486,6 +5492,8 @@ self: super: with self; { life360 = callPackage ../development/python-modules/life360 { }; + lifelines = callPackage ../development/python-modules/lifelines { }; + lightgbm = callPackage ../development/python-modules/lightgbm { }; lightning-utilities = callPackage ../development/python-modules/lightning-utilities { };