From 2eecf15ad7776f924f8fc01e329d9bd17fbd6bf5 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Thu, 2 Jan 2025 11:36:22 +0100 Subject: [PATCH 1/3] python312Packages.deepdish: fix build --- .../python-modules/deepdish/default.nix | 28 ++++++++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/deepdish/default.nix b/pkgs/development/python-modules/deepdish/default.nix index 04062db872a7..119defd7ea17 100644 --- a/pkgs/development/python-modules/deepdish/default.nix +++ b/pkgs/development/python-modules/deepdish/default.nix @@ -1,7 +1,12 @@ { lib, - fetchPypi, buildPythonPackage, + fetchPypi, + + # build-system + setuptools, + + # dependencies numpy, scipy, tables, @@ -10,14 +15,23 @@ buildPythonPackage rec { pname = "deepdish"; version = "0.3.7"; - format = "setuptools"; + pyproject = true; src = fetchPypi { inherit pname version; - sha256 = "1wqzwh3y0mjdyba5kfbvlamn561d3afz50zi712c7klkysz3mzva"; + hash = "sha256-av86vvaTzsNEOPGD8p0aLZhiq6J7uVnU8k1W4AfkH/M="; }; - propagatedBuildInputs = [ + postPatch = '' + substituteInPlace deepdish/core.py \ + --replace-fail "np.ComplexWarning" "np.exceptions.ComplexWarning" + ''; + + build-system = [ + setuptools + ]; + + dependencies = [ numpy scipy tables @@ -32,11 +46,11 @@ buildPythonPackage rec { # The tests are broken: `ModuleNotFoundError: No module named 'deepdish.six.conf'` doCheck = false; - meta = with lib; { + meta = { description = "Flexible HDF5 saving/loading and other data science tools from the University of Chicago"; mainProgram = "ddls"; homepage = "https://github.com/uchicago-cs/deepdish"; - license = licenses.asl20; - maintainers = with maintainers; [ ndl ]; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ ndl ]; }; } From 41ea9f469098acee3c247bf3860610ee74adefa7 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Thu, 2 Jan 2025 11:40:37 +0100 Subject: [PATCH 2/3] python312Packages.pyedflib: init at 0.1.38 --- .../python-modules/pyedflib/default.nix | 55 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 57 insertions(+) create mode 100644 pkgs/development/python-modules/pyedflib/default.nix diff --git a/pkgs/development/python-modules/pyedflib/default.nix b/pkgs/development/python-modules/pyedflib/default.nix new file mode 100644 index 000000000000..a83fe89795b0 --- /dev/null +++ b/pkgs/development/python-modules/pyedflib/default.nix @@ -0,0 +1,55 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + cython, + numpy, + setuptools, + + # tests + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "pyedflib"; + version = "0.1.38"; + pyproject = true; + + src = fetchFromGitHub { + owner = "holgern"; + repo = "pyedflib"; + tag = "v${version}"; + hash = "sha256-sj2O5ISAy12u4GdtucLaRfOeSA6o6FJpZWTyiLq5B3U="; + }; + + build-system = [ + cython + numpy + setuptools + ]; + + pythonImportsCheck = [ + "pyedflib" + ]; + + # Otherwise, the module is imported from source and lacks the compiled artifacts + # By moving to the pyedflib directory, python imports the installed package instead of the module + # from the local files + preCheck = '' + cd pyedflib + ''; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + meta = { + description = "Python library to read/write EDF+/BDF+ files based on EDFlib"; + homepage = "https://github.com/holgern/pyedflib"; + changelog = "https://github.com/holgern/pyedflib/releases/tag/v${version}"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c7db18e65452..b5a48837f234 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11619,6 +11619,8 @@ self: super: with self; { pyecowitt = callPackage ../development/python-modules/pyecowitt { }; + pyedflib = callPackage ../development/python-modules/pyedflib { }; + pyedimax = callPackage ../development/python-modules/pyedimax { }; pyee = callPackage ../development/python-modules/pyee { }; From 6a22aaca7219ede672ab5361b30a3b472223d5fd Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sat, 14 Sep 2024 21:06:55 +0200 Subject: [PATCH 3/3] python312Packages.pyseries: init at 1.0.26 --- .../python-modules/pyseries/default.nix | 63 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 65 insertions(+) create mode 100644 pkgs/development/python-modules/pyseries/default.nix diff --git a/pkgs/development/python-modules/pyseries/default.nix b/pkgs/development/python-modules/pyseries/default.nix new file mode 100644 index 000000000000..76003eb105af --- /dev/null +++ b/pkgs/development/python-modules/pyseries/default.nix @@ -0,0 +1,63 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + + # build-system + setuptools, + + # dependencies + deepdish, + matplotlib, + numpy, + obspy, + pandas, + pyedflib, + scikit-learn, + scipy, + seaborn, + tabulate, +}: + +buildPythonPackage rec { + pname = "pyseries"; + version = "1.0.26"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-Cq+DXt0/6Ncae8OO+kaPuTCxouh0cFPHP+T8tGVXxXo="; + }; + + build-system = [ setuptools ]; + + pythonRemoveDeps = [ + # sklearn is the old name of the scikit-learn package + "sklearn" + ]; + + dependencies = [ + deepdish + matplotlib + numpy + obspy + pandas + pyedflib + scikit-learn + scipy + seaborn + tabulate + ]; + + pythonImportsCheck = [ "pyseries" ]; + + # no tests in the pypi archive + doCheck = false; + + meta = { + description = "Package for statistical analysis of time-series data"; + homepage = "https://pypi.org/project/pyseries/"; + 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 b5a48837f234..151fcf870f82 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10649,6 +10649,8 @@ self: super: with self; { pysequoia = callPackage ../development/python-modules/pysequoia { }; + pyseries = callPackage ../development/python-modules/pyseries { }; + pyschemes = callPackage ../development/python-modules/pyschemes { }; pyschlage = callPackage ../development/python-modules/pyschlage { };