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 { };