From 7a540d80420ef3633fe057430868c565960f11fa Mon Sep 17 00:00:00 2001 From: genga Date: Thu, 9 Jan 2025 14:30:41 +0300 Subject: [PATCH] python312Packages.neurotkit2: init at 0.2.10 --- .../python-modules/neurokit2/default.nix | 95 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 97 insertions(+) create mode 100644 pkgs/development/python-modules/neurokit2/default.nix diff --git a/pkgs/development/python-modules/neurokit2/default.nix b/pkgs/development/python-modules/neurokit2/default.nix new file mode 100644 index 00000000000000..95dbf7eeb955e8 --- /dev/null +++ b/pkgs/development/python-modules/neurokit2/default.nix @@ -0,0 +1,95 @@ +{ + lib, + fetchFromGitHub, + buildPythonPackage, + setuptools, + pytest, + scipy, + scikit-learn, + pandas, + matplotlib, + requests, + cvxopt, + biosppy, + pytest-cov-stub, + mock, + plotly, + astropy, + coverage, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "neurokit2"; + version = "0.2.10"; + pyproject = true; + + src = fetchFromGitHub { + owner = "neuropsychology"; + repo = "NeuroKit"; + tag = "v${version}"; + hash = "sha256-e/B1JvO6uYZ6iVskFvxZLSSXi0cPep9bBZ0JXZTVS28="; + }; + + postPatch = '' + substituteInPlace setup.py \ + --replace-fail '"pytest-runner"' '"pytest"' + ''; + + build-system = [ + setuptools + pytest + ]; + + dependencies = [ + scipy + scikit-learn + pandas + matplotlib + requests + cvxopt + biosppy + ]; + + nativeCheckInputs = [ + pytest-cov-stub + mock + plotly + astropy + coverage + pytestCheckHook + ]; + + disabledTestPaths = [ + # Required dependencies not available in nixpkgs + "tests/tests_complexity.py" + "tests/tests_eeg.py" + "tests/tests_eog.py" + "tests/tests_ecg.py" + "tests/tests_bio.py" + "tests/tests_data.py" + "tests/tests_epochs.py" + "tests/tests_ecg_findpeaks.py" + "tests/tests_eda.py" + "tests/tests_emg.py" + "tests/tests_hrv.py" + "tests/tests_rsp.py" + "tests/tests_ppg.py" + "tests/tests_signal.py" + + # Dependency is broken `mne-python` + "tests/tests_microstates.py" + ]; + + pythonImportsCheck = [ + "neurokit2" + ]; + + meta = { + description = "Python Toolbox for Neurophysiological Signal Processing"; + homepage = "https://github.com/neuropsychology/NeuroKit"; + changelog = "https://github.com/neuropsychology/NeuroKit/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ genga898 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 63d61d67e26283..8940950d012a2f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9191,6 +9191,8 @@ self: super: with self; { neuralfoil = callPackage ../development/python-modules/neuralfoil { }; + neurokit2 = callPackage ../development/python-modules/neurokit2 { }; + neuron-full = pkgs.neuron-full.override { python3 = python; }; neuronpy = toPythonModule neuron-full;