From 35688eeb43127cf1365f43d878cc56bd7c1fe953 Mon Sep 17 00:00:00 2001 From: Johan Herland Date: Wed, 2 Jul 2025 10:15:12 +0000 Subject: [PATCH 1/2] python3Packages.pyhdfe: init at 0.2.0 --- .../python-modules/pyhdfe/default.nix | 41 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 43 insertions(+) create mode 100644 pkgs/development/python-modules/pyhdfe/default.nix diff --git a/pkgs/development/python-modules/pyhdfe/default.nix b/pkgs/development/python-modules/pyhdfe/default.nix new file mode 100644 index 000000000000..6b887dceb83b --- /dev/null +++ b/pkgs/development/python-modules/pyhdfe/default.nix @@ -0,0 +1,41 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + numpy, + pytestCheckHook, + scipy, + setuptools, +}: + +buildPythonPackage rec { + pname = "pyhdfe"; + version = "0.2.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "jeffgortmaker"; + repo = "pyhdfe"; + tag = "v${version}"; + hash = "sha256-UXVQHf4Nmq/zQZtPaLba4TShhpgPUBwPM+zCEa8qaKs="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + numpy + scipy + ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "pyhdfe" ]; + + meta = { + description = "Python 3 implementation of algorithms for absorbing high dimensional fixed effects"; + homepage = "https://github.com/jeffgortmaker/pyhdfe"; + changelog = "https://github.com/jeffgortmaker/pyhdfe/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ jherland ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5d3262b216a4..bdd64bc7aa00 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12783,6 +12783,8 @@ self: super: with self; { pyhcl = callPackage ../development/python-modules/pyhcl { }; + pyhdfe = callPackage ../development/python-modules/pyhdfe { }; + pyheck = callPackage ../development/python-modules/pyheck { }; pyheif = callPackage ../development/python-modules/pyheif { }; From ed3411a8174d84e6bf72317e4e490520df21b171 Mon Sep 17 00:00:00 2001 From: Johan Herland Date: Wed, 2 Jul 2025 11:31:55 +0000 Subject: [PATCH 2/2] python3Packages.linearmodels: init at 6.1 --- .../python-modules/linearmodels/default.nix | 59 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 61 insertions(+) create mode 100644 pkgs/development/python-modules/linearmodels/default.nix diff --git a/pkgs/development/python-modules/linearmodels/default.nix b/pkgs/development/python-modules/linearmodels/default.nix new file mode 100644 index 000000000000..c8f3b819959d --- /dev/null +++ b/pkgs/development/python-modules/linearmodels/default.nix @@ -0,0 +1,59 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + cython, + formulaic, + mypy-extensions, + numpy, + pandas, + pyhdfe, + pytestCheckHook, + scipy, + setuptools, + setuptools-scm, + statsmodels, +}: + +buildPythonPackage rec { + pname = "linearmodels"; + version = "6.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "bashtage"; + repo = "linearmodels"; + tag = "v${version}"; + hash = "sha256-oWVBsFSKnv/8AHYP5sxO6+u5+hsOw/uQlOetse5ue88="; + }; + + build-system = [ + setuptools + setuptools-scm + cython + ]; + + env.SETUPTOOLS_SCM_PRETEND_VERSION = version; + + dependencies = [ + formulaic + mypy-extensions + numpy + pandas + pyhdfe + scipy + statsmodels + ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "linearmodels" ]; + + meta = { + description = "Models for panel data, system regression, instrumental variables and asset pricing"; + homepage = "https://bashtage.github.io/linearmodels/"; + changelog = "https://github.com/bashtage/linearmodels/releases/tag/v${version}"; + license = lib.licenses.ncsa; + maintainers = with lib.maintainers; [ jherland ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index bdd64bc7aa00..ed8c49a87b43 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8219,6 +8219,8 @@ self: super: with self; { linear-operator = callPackage ../development/python-modules/linear-operator { }; + linearmodels = callPackage ../development/python-modules/linearmodels { }; + lineax = callPackage ../development/python-modules/lineax { }; linecache2 = callPackage ../development/python-modules/linecache2 { };