Unverified Commit 28e627bb authored by Gaétan Lepage's avatar Gaétan Lepage Committed by GitHub
Browse files

python312Packages.neurokit2: init at 0.2.10 and python312Packages.biosppy: init at 2.2.2 (#371449)

parents 6396330e 81af8743
Loading
Loading
Loading
Loading
+70 −0
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  fetchFromGitHub,
  buildPythonPackage,
  setuptools,
  bidict,
  h5py,
  matplotlib,
  numpy,
  scikit-learn,
  scipy,
  shortuuid,
  six,
  joblib,
  pywavelets,
  mock,
  tkinter,
  opencv-python,
}:

buildPythonPackage rec {
  pname = "biosppy";
  version = "2.2.2";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "scientisst";
    repo = "BioSPPy";
    tag = "v${version}";
    hash = "sha256-U0ZftAlRlazSO66raH74o/6eP1RpmuFoA6HJ+xmgKR8=";
  };

  build-system = [
    setuptools
  ];

  dependencies = [
    opencv-python
    bidict
    h5py
    matplotlib
    numpy
    scikit-learn
    scipy
    shortuuid
    six
    joblib
    pywavelets
    mock
  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ tkinter ];

  doCheck = false; # no tests

  pythonImportsCheck = [
    "biosppy"
    "biosppy.signals"
    "biosppy.synthesizers"
    "biosppy.inter_plotting"
    "biosppy.features"
  ];

  meta = {
    description = "Biosignal Processing in Python";
    homepage = "https://biosppy.readthedocs.io/";
    changelog = "https://github.com/scientisst/BioSPPy/releases/tag/v${version}";
    license = lib.licenses.bsd3;
    maintainers = with lib.maintainers; [ genga898 ];
  };
}
+101 −0
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  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
  ];

  disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
    # Crash in matplotlib (Fatal Python error: Aborted)
    "test_events_plot"
  ];

  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 ];
  };
}
+4 −0
Original line number Diff line number Diff line
@@ -1673,6 +1673,8 @@ self: super: with self; {
  biopython = callPackage ../development/python-modules/biopython { };
  biosppy = callPackage ../development/python-modules/biosppy { };
  biothings-client = callPackage ../development/python-modules/biothings-client { };
  biplist = callPackage ../development/python-modules/biplist { };
@@ -9184,6 +9186,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;