From: Vivien via Guix-patches via <guix-patches@gnu.org>
To: 53402@debbugs.gnu.org
Subject: [bug#53402] Rebase it for the new python packages
Date: Thu, 03 Feb 2022 20:29:03 +0100 [thread overview]
Message-ID: <df09d62f7aa0e6a21362f9b7df5a88ff0ddd0a41.camel@planete-kraus.eu> (raw)
In-Reply-To: <c34c3dd954eea62f2e31abf6da5f6d7517b4a9b1.camel@planete-kraus.eu>
[-- Attachment #1.1: Type: text/plain, Size: 172 bytes --]
Dear guix,
We have 2 new python packages, so my patch series creates a trivial
conflict. Here is a new version that you can apply directly.
Best regards,
Vivien
[-- Attachment #1.2: 0001-gnu-Add-python-imageio-ffmpeg.patch --]
[-- Type: text/x-patch, Size: 2337 bytes --]
From 48fa130f3d4ff8c6319d6796856698bd1deada4d Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Thu, 20 Jan 2022 15:39:12 +0100
Subject: [PATCH 01/18] gnu: Add python-imageio-ffmpeg.
* gnu/packages/python-xyz.scm (python-imageio-ffmpeg): New variable.
---
gnu/packages/python-xyz.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b0374622f2..b409ca16b6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -28910,3 +28910,37 @@ (define-public python-types-dataclasses
"This packages provides a collection of library stubs for Python, with
static types.")
(license license:asl2.0)))
+
+(define-public python-imageio-ffmpeg
+ (package
+ (name "python-imageio-ffmpeg")
+ (version "0.4.5")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "imageio-ffmpeg" version))
+ (sha256
+ (base32
+ "0ff14079izsyxwf6ki68k9a7w5krjlal7lwqvzg2bbddl92l5spj"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'set-ffmpeg-exe
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; There are different strategies to find ffmpeg, we
+ ;; only fix the last resort, "system ffmpeg command"
+ (substitute* "imageio_ffmpeg/_utils.py"
+ (("exe = \"ffmpeg\"")
+ (format #f "exe = ~s"
+ (search-input-file
+ inputs "/bin/ffmpeg")))))))))
+ (inputs (list ffmpeg))
+ (home-page "https://github.com/imageio/imageio-ffmpeg")
+ (synopsis "@samp{ffmpeg} wrapper for Python")
+ (description
+ "The purpose of this project is to provide a simple and reliable
+@samp{ffmpeg} wrapper for working with video files. It implements two simple
+generator functions for reading and writing data from/to ffmpeg, which
+reliably terminate the ffmpeg process when done. It also takes care of
+publishing platform-specific wheels that include the binary @samp{ffmpeg}
+executables.")
+ (license license:bsd-2)))
--
2.34.0
[-- Attachment #1.3: 0002-gnu-Add-python-edflib.patch --]
[-- Type: text/x-patch, Size: 3029 bytes --]
From bd9a1c37287fa9e921ab004dfd2bf6571d2fe71a Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Thu, 20 Jan 2022 15:47:30 +0100
Subject: [PATCH 02/18] gnu: Add python-edflib.
* gnu/packages/python-science.scm (python-edflib): New variable.
---
gnu/packages/python-science.scm | 51 ++++++++++++++++++++++++++++++++-
1 file changed, 50 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 8df311baea..0b754ddd5f 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -61,7 +61,8 @@ (define-module (gnu packages python-science)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
- #:use-module (guix build-system python))
+ #:use-module (guix build-system python)
+ #:use-module (guix gexp))
(define-public python-scipy
(package
@@ -1017,3 +1018,51 @@ (define-public python-modin
libraries, Modin provides seamless integration and compatibility with existing
pandas code.")
(license license:asl2.0)))
+
+(define-public python-edflib
+ (package
+ (name "python-edflib")
+ (version "1.0.6")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "EDFlib-Python" version))
+ (sha256
+ (base32
+ "1g069kyibskx5q2mc494xgjhvdspw5lvk2xhn0kqcgq1h37x5lfv"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; XXX: PEP 517 manual build copied from python-isort.
+ (replace 'build
+ (lambda _
+ (setenv "SOURCE_DATE_EPOCH" "315532800")
+ (invoke "python"
+ "-m"
+ "build"
+ "--wheel"
+ "--no-isolation"
+ ".")))
+ (replace 'install
+ (lambda _
+ (let ((whl (car (find-files "dist" "\\.whl$"))))
+ (invoke "pip"
+ "--no-cache-dir"
+ "--no-input"
+ "install"
+ "--no-deps"
+ "--prefix"
+ #$output
+ whl)))))))
+ (propagated-inputs (list python-numpy python-pypa-build))
+ (home-page "https://www.teuniz.net/edflib_python/")
+ (synopsis "Read and write EDF+/BDF+ files")
+ (description
+ "EDFlib for Python is a programming library to read and write EDF+ and
+BDF+ files. It also reads old-type EDF/BDF files. @dfn{EDF} means
+@url{https://www.teuniz.net/edfbrowser/edf%20format%20description.html,
+European Data Format}. @dfn{BDF} is the
+@url{https://www.teuniz.net/edfbrowser/bdfplus%20format%20description.html,
+24-bit version} of EDF.")
+ (license license:bsd-3)))
--
2.34.0
[-- Attachment #1.4: 0003-gnu-Add-python-eeglabio.patch --]
[-- Type: text/x-patch, Size: 1845 bytes --]
From 10dcbcbe8b7342c09651b143d70012d3d87857d7 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Thu, 20 Jan 2022 17:17:11 +0100
Subject: [PATCH 03/18] gnu: Add python-eeglabio.
* gnu/packages/python-science.scm (python-eeglabio): New variable.
---
gnu/packages/python-science.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 0b754ddd5f..40e31f1526 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -1066,3 +1066,32 @@ (define-public python-edflib
@url{https://www.teuniz.net/edfbrowser/bdfplus%20format%20description.html,
24-bit version} of EDF.")
(license license:bsd-3)))
+
+(define-public python-eeglabio
+ (package
+ (name "python-eeglabio")
+ (version "0.0.1.post6")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "eeglabio" version))
+ (sha256
+ (base32
+ "0k70s8lg9b9mcs883kq8jgnj9wmxvb96q54w23f3zw38jjxw46gs"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'restore-requirements.txt
+ (lambda _
+ ;; requirements.txt is not distributed, but it is in the
+ ;; source
+ (call-with-output-file "requirements.txt"
+ (lambda (port)
+ (format port "numpy
+scipy
+"))))))))
+ (propagated-inputs (list python-numpy python-scipy))
+ (home-page "https://github.com/jackz314/eeglabio")
+ (synopsis "I/O support for EEGLAB files in Python")
+ (description "I/O support for EEGLAB files in Python.")
+ (license license:bsd-3)))
--
2.34.0
[-- Attachment #1.5: 0004-gnu-Add-python-nibabel.patch --]
[-- Type: text/x-patch, Size: 4140 bytes --]
From 938ab5f4a7a2bce84f6b29c167ecdc74de90b405 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Thu, 20 Jan 2022 17:38:47 +0100
Subject: [PATCH 04/18] gnu: Add python-nibabel.
* gnu/packages/python-science.scm (python-nibabel): New variable.
---
gnu/packages/python-science.scm | 63 +++++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 40e31f1526..d8abf2f471 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -54,6 +54,7 @@ (define-module (gnu packages python-science)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages statistics)
#:use-module (gnu packages time)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
@@ -1095,3 +1096,65 @@ (define-public python-eeglabio
(synopsis "I/O support for EEGLAB files in Python")
(description "I/O support for EEGLAB files in Python.")
(license license:bsd-3)))
+
+(define-public python-nibabel
+ (package
+ (name "python-nibabel")
+ (version "3.2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "nibabel" version))
+ (sha256
+ (base32
+ "17n23w7y0hiz2vma5si7wy184d59bp14zd8nr6hi203ldd1gjbsd"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ ;; Some tests have a setup function, but it is not called
+ ;; (!)
+ (for-each (lambda (fix)
+ (let ((file (open-file (string-append
+ "nibabel/streamlines/tests/test_"
+ (car fix) ".py") "a")))
+ (format file "
+~a()"
+ (cdr fix))
+ (close-port file)))
+ '(("array_sequence" . "setup_module")
+ ("streamlines" . "setup")
+ ("tck" . "setup_module")
+ ("tractogram" . "setup_module")
+ ("trk" . "setup_module"))))))))
+ (propagated-inputs (list python-numpy python-packaging))
+ (native-inputs (list python-coverage
+ python-gitpython
+ python-pytest
+ python-pytest-cov
+ python-pytest-doctestplus
+ python-twine))
+ (home-page "https://nipy.org/nibabel/")
+ (synopsis "Access a multitude of neuroimaging data formats")
+ (description
+ "This package provides read +/- write access to some common
+medical and neuroimaging file formats, including:
+@url{http://www.grahamwideman.com/gw/brain/analyze/formatdoc.htm,
+ANALYZE} (plain, SPM99, SPM2 and later),
+@url{https://www.nitrc.org/projects/gifti, GIFTI},
+@url{http://nifti.nimh.nih.gov/nifti-1/, NIfTI1},
+@url{http://nifti.nimh.nih.gov/nifti-2/, NIfTI2},
+@url{https://www.nitrc.org/projects/cifti/, CIFTI-2},
+@url{https://en.wikibooks.org/wiki/MINC/Reference/MINC1_File_Format_Reference,
+MINC1},
+@url{https://en.wikibooks.org/wiki/MINC/Reference/MINC2.0_File_Format_Reference,
+MINC2}, @url{https://afni.nimh.nih.gov/pub/dist/src/README.attributes, AFNI
+BRIK/HEAD},
+@url{https://surfer.nmr.mgh.harvard.edu/fswiki/FsTutorial/MghFormat, MGH} and
+@url{http://xmedcon.sourceforge.net/Docs/Ecat, ECAT} as well as Philips
+PAR/REC. We can read and write @url{https://surfer.nmr.mgh.harvard.edu/,
+FreeSurfer} geometry, annotation and morphometry files. There is some very
+limited support for @url{http://medical.nema.org/, DICOM}. NiBabel is the
+successor of @url{http://niftilib.sourceforge.net/pynifti/, PyNIfTI}.")
+ (license license:expat)))
--
2.34.0
[-- Attachment #1.6: 0005-gnu-Add-python-nitime.patch --]
[-- Type: text/x-patch, Size: 2289 bytes --]
From df45a6fd0ac9d30c4ce0795b056f92344e4dd77d Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Thu, 20 Jan 2022 19:12:02 +0100
Subject: [PATCH 05/18] gnu: Add python-nitime.
* gnu/packages/python-science.scm (python-nitime): New variable.
---
gnu/packages/python-science.scm | 34 +++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index d8abf2f471..92a22aa981 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -1158,3 +1158,37 @@ (define-public python-nibabel
limited support for @url{http://medical.nema.org/, DICOM}. NiBabel is the
successor of @url{http://niftilib.sourceforge.net/pynifti/, PyNIfTI}.")
(license license:expat)))
+
+(define-public python-nitime
+ (package
+ (name "python-nitime")
+ (version "0.9")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "nitime" version))
+ (sha256
+ (base32
+ "0x1q6ka8i330yhp5h0h6igfs2gp5dndiybyfkdi45a8zpfnr0zbf"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-matplotlib python-networkx python-nibabel
+ python-numpy python-scipy))
+ (native-inputs (list python-cython python-pytest))
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'delete-generated-cython
+ (lambda _
+ (delete-file "nitime/_utils.c")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv" "nitime")))))))
+ (home-page "http://nipy.org/nitime/")
+ (synopsis "Nitime: timeseries analysis for neuroscience data")
+ (description
+ "Nitime contains a core of numerical algorithms for
+time-series analysis both in the time and spectral domains, a set of container
+objects to represent time-series, and auxiliary objects that expose a high
+level interface to the numerical machinery and make common analysis tasks easy
+to express with compact and semantically clear code.")
+ (license license:bsd-3)))
--
2.34.0
[-- Attachment #1.7: 0006-gnu-Add-python-flake8-array-spacing.patch --]
[-- Type: text/x-patch, Size: 1919 bytes --]
From 37470da1df9e7af8c1effe0cadb28582152e1d7b Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Thu, 20 Jan 2022 19:20:06 +0100
Subject: [PATCH 06/18] gnu: Add python-flake8-array-spacing.
* gnu/packages/python-science.scm (python-flake8-array-spacing): New variable.
---
gnu/packages/python-science.scm | 1 +
gnu/packages/python-xyz.scm | 17 +++++++++++++++++
2 files changed, 18 insertions(+)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 92a22aa981..6c0915e927 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -1192,3 +1192,4 @@ (define-public python-nitime
level interface to the numerical machinery and make common analysis tasks easy
to express with compact and semantically clear code.")
(license license:bsd-3)))
+
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b409ca16b6..8b27d4b490 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -28944,3 +28944,20 @@ (define-public python-imageio-ffmpeg
publishing platform-specific wheels that include the binary @samp{ffmpeg}
executables.")
(license license:bsd-2)))
+
+(define-public python-flake8-array-spacing
+ (package
+ (name "python-flake8-array-spacing")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "flake8_array_spacing" version))
+ (sha256
+ (base32 "0nyp2x45hg5dkdrn0j2wcd336dnx6csizpfq5fwbk774wrb0lh6d"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-flake8 python-pycodestyle))
+ (home-page "https://github.com/larsoner/flake8-array-spacing")
+ (synopsis "flake8 plugin to make exceptions for array-like variables")
+ (description "Recast some E2XX errors as A2XX with exceptions for array-like variables.")
+ (license license:bsd-3)))
--
2.34.0
[-- Attachment #1.8: 0007-gnu-Add-python-makefun.patch --]
[-- Type: text/x-patch, Size: 1697 bytes --]
From 74564436748b32ea7445f549d3e9ac04986a089b Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Thu, 20 Jan 2022 21:17:39 +0100
Subject: [PATCH 07/18] gnu: Add python-makefun.
* gnu/packages/python-xyz.scm (python-makefun): New variable.
---
gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 8b27d4b490..6a0d176304 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -28961,3 +28961,24 @@ (define-public python-flake8-array-spacing
(synopsis "flake8 plugin to make exceptions for array-like variables")
(description "Recast some E2XX errors as A2XX with exceptions for array-like variables.")
(license license:bsd-3)))
+
+(define-public python-makefun
+ (package
+ (name "python-makefun")
+ (version "1.13.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "makefun" version))
+ (sha256
+ (base32
+ "1gqnqvwzig9ym4nyzwy6dzra7sg6339rdaca59fvkfzzf2vbhnwq"))))
+ (build-system python-build-system)
+ (native-inputs (list python-pytest python-pytest-runner
+ python-setuptools-scm))
+ (home-page "https://github.com/smarie/python-makefun")
+ (synopsis "Small library to dynamically create python functions")
+ (description
+ "@samp{makefun} helps you create functions dynamically, with
+the signature of your choice. It was largely inspired by @samp{decorator} and
+@samp{functools}, and created mainly to cover some of their limitations.")
+ (license license:bsd-3)))
--
2.34.0
[-- Attachment #1.9: 0008-gnu-Add-python-pytest-logging.patch --]
[-- Type: text/x-patch, Size: 1530 bytes --]
From 0a5c51513679d43ec55824ff01c15215f0689b05 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Thu, 20 Jan 2022 22:32:09 +0100
Subject: [PATCH 08/18] gnu: Add python-pytest-logging.
* gnu/packages/python-xyz.scm (python-pytest-logging): New variable.
---
gnu/packages/python-xyz.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6a0d176304..3ff0ba41cd 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -28982,3 +28982,22 @@ (define-public python-makefun
the signature of your choice. It was largely inspired by @samp{decorator} and
@samp{functools}, and created mainly to cover some of their limitations.")
(license license:bsd-3)))
+
+(define-public python-pytest-logging
+ (package
+ (name "python-pytest-logging")
+ (version "2015.11.4")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-logging" version))
+ (sha256
+ (base32
+ "15n8fyxvvwmk982vj0m9yl76hn7pp4qqljfmxarbgahqrxgciiff"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-pytest))
+ (home-page "https://github.com/saltstack/pytest-logging")
+ (synopsis
+ "Configures logging and allows tweaking the log level with a py.test flag")
+ (description
+ "Configures logging and allows tweaking the log level with a py.test flag.")
+ (license license:asl2.0)))
--
2.34.0
[-- Attachment #1.10: 0009-gnu-Add-a-test-less-python-decopatch.patch --]
[-- Type: text/x-patch, Size: 1982 bytes --]
From aae3ae03d5b0d6b9520fcbecbc2062dc2ae51882 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Thu, 20 Jan 2022 22:32:53 +0100
Subject: [PATCH 09/18] gnu: Add a test-less python-decopatch.
* gnu/packages/python-xyz.scm (python-decopatch-minimal): New variable.
---
gnu/packages/python-xyz.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 3ff0ba41cd..be1860941f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29001,3 +29001,33 @@ (define-public python-pytest-logging
(description
"Configures logging and allows tweaking the log level with a py.test flag.")
(license license:asl2.0)))
+
+;; decopatch requires the next pytest modules if tests are enabled. The pytest
+;; modules require each other for tests.
+
+(define python-decopatch-minimal
+ (package
+ (name "python-decopatch-minimal")
+ (version "1.4.8")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "decopatch" version))
+ (sha256
+ (base32
+ "0i6i811s2j1z0cl6y177dwsbfxib8dvb5c2jpgklvc2xy4ahhsy6"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f))
+ (propagated-inputs (list python-makefun))
+ (native-inputs (list python-pytest python-pytest-runner
+ python-setuptools-scm))
+ (home-page "https://github.com/smarie/python-decopatch")
+ (synopsis "Python decorators made easy")
+ (description
+ "Because of a tiny oddity in the python language, writing
+decorators without help can be a pain because you have to handle the
+no-parenthesis usage
+@url{https://smarie.github.io/python-decopatch/motivation, explicitly}.
+@samp{decopatch} provides a simple way to solve this issue so that writing
+decorators is simple and straightforward.")
+ (license license:bsd-3)))
--
2.34.0
[-- Attachment #1.11: 0010-gnu-Add-a-test-less-python-pytest-harvest.patch --]
[-- Type: text/x-patch, Size: 1800 bytes --]
From 939a5fcd45d0c6fdca9953db901a3925183f9e51 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Thu, 20 Jan 2022 22:33:32 +0100
Subject: [PATCH 10/18] gnu: Add a test-less python-pytest-harvest.
* gnu/packages/python-xyz.scm (python-pytest-harvest-minimal): New variable.
---
gnu/packages/python-xyz.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index be1860941f..fb2e70ddfa 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29031,3 +29031,27 @@ (define python-decopatch-minimal
@samp{decopatch} provides a simple way to solve this issue so that writing
decorators is simple and straightforward.")
(license license:bsd-3)))
+
+(define python-pytest-harvest-minimal
+ (package
+ (name "python-pytest-harvest-minimal")
+ (version "1.10.3")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-harvest" version))
+ (sha256
+ (base32
+ "092drlh96rhikwqqyfpwqhkzfzd7z8m5gbmjgky8npm81849jbsk"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f))
+ (propagated-inputs (list python-decopatch-minimal python-makefun
+ python-six))
+ (native-inputs (list python-pytest python-pytest-runner
+ python-setuptools-scm))
+ (home-page "https://github.com/smarie/python-pytest-harvest")
+ (synopsis "Store data created during your @samp{pytest} tests execution")
+ (description
+ "Store data created during your pytest tests execution, and retrieve it
+at the end of the session, e.g. for applicative benchmarking purposes.")
+ (license license:bsd-3)))
--
2.34.0
[-- Attachment #1.12: 0011-gnu-Add-a-test-less-python-pytest-steps.patch --]
[-- Type: text/x-patch, Size: 1713 bytes --]
From 2c7fc35ccd354f3ebd92059f04cdffb51d30f457 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Thu, 20 Jan 2022 22:34:06 +0100
Subject: [PATCH 11/18] gnu: Add a test-less python-pytest-steps.
* gnu/packages/python-xyz.scm (python-pytest-steps-minimal): New variable.
---
gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index fb2e70ddfa..7efae628e8 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29055,3 +29055,25 @@ (define python-pytest-harvest-minimal
"Store data created during your pytest tests execution, and retrieve it
at the end of the session, e.g. for applicative benchmarking purposes.")
(license license:bsd-3)))
+
+(define python-pytest-steps-minimal
+ (package
+ (name "python-pytest-steps-minimal")
+ (version "1.8.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-steps" version))
+ (sha256
+ (base32
+ "05r2ch7191saj7sw6d47bfa5vnyyj157dl8hvlcc78xx6jyxy46j"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f))
+ (propagated-inputs (list python-makefun python-wrapt python-tabulate
+ python-pandas))
+ (native-inputs (list python-pytest python-pytest-runner
+ python-setuptools-scm))
+ (home-page "https://github.com/smarie/python-pytest-steps")
+ (synopsis "Create step-wise / incremental tests in pytest")
+ (description "Create step-wise / incremental tests in pytest.")
+ (license license:bsd-3)))
--
2.34.0
[-- Attachment #1.13: 0012-gnu-Add-a-test-less-python-pytest-cases.patch --]
[-- Type: text/x-patch, Size: 2292 bytes --]
From 9acf333bf46792e3b36bda6612b5382775f9ccbf Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Thu, 20 Jan 2022 22:34:36 +0100
Subject: [PATCH 12/18] gnu: Add a test-less python-pytest-cases.
* gnu/packages/python-xyz.scm (python-pytest-cases-minimal): New variable.
---
gnu/packages/python-xyz.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 7efae628e8..26cd6cbb44 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29077,3 +29077,34 @@ (define python-pytest-steps-minimal
(synopsis "Create step-wise / incremental tests in pytest")
(description "Create step-wise / incremental tests in pytest.")
(license license:bsd-3)))
+
+(define python-pytest-cases-minimal
+ (package
+ (name "python-pytest-cases-minimal")
+ (version "3.6.8")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-cases" version))
+ (sha256
+ (base32
+ "1g3lp4m19fk83kl2b4akwg7wqqaqlfzp4v6qcb0hq27161xyh8yl"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-decopatch-minimal python-makefun))
+ (native-inputs (list python-pytest
+ python-pytest-runner
+ python-setuptools-scm
+ python-pytest-asyncio
+ python-pytest-harvest-minimal
+ python-pytest-steps-minimal))
+ (home-page "https://github.com/smarie/python-pytest-cases")
+ (synopsis "Separate test code from test cases in @samp{pytest}")
+ (description
+ "@samp{pytest-cases} leverages @samp{pytest} and its great
+@samp{@@pytest.mark.parametrize decorator}, so that you can @strong{separate
+your test cases from your test functions}. In addition, @samp{pytest-cases}
+provides several useful goodies to empower @samp{pytest}. In particular it
+improves the fixture mechanism to support \"fixture unions\". This is a
+@strong{major change} in the internal @samp{pytest} engine, unlocking many
+possibilities such as using fixture references as parameter values in a test
+function.")
+ (license license:bsd-3)))
--
2.34.0
[-- Attachment #1.14: 0013-gnu-Add-python-decopatch.patch --]
[-- Type: text/x-patch, Size: 1767 bytes --]
From 6b3842510bf2def117bdd686a69d835fcb81a321 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Thu, 20 Jan 2022 22:35:02 +0100
Subject: [PATCH 13/18] gnu: Add python-decopatch.
* gnu/packages/python-xyz.scm (python-decopatch): New variable.
---
gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 26cd6cbb44..e6c4a8878c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29108,3 +29108,24 @@ (define python-pytest-cases-minimal
possibilities such as using fixture references as parameter values in a test
function.")
(license license:bsd-3)))
+
+(define-public python-decopatch
+ (package
+ (inherit python-decopatch-minimal)
+ (name "python-decopatch")
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ (delete-file "decopatch/tests/test_main2.py")
+ (delete-file
+ "decopatch/tests/test_main2_parametrizers.py")
+ (delete-file "decopatch/tests/test_introspection.py")
+ (delete-file
+ "decopatch/tests/test_introspection_base.py")
+ (substitute* "decopatch/tests/test_doc_advanced.py"
+ (("'uses_introspection', \\[True, False\\]")
+ "'uses_introspection', [False]")))))))
+ (native-inputs (list python-pytest python-pytest-runner
+ python-pytest-cases-minimal python-setuptools-scm
+ python-pytest-logging))))
--
2.34.0
[-- Attachment #1.15: 0014-gnu-Add-python-pytest-cases.patch --]
[-- Type: text/x-patch, Size: 1008 bytes --]
From 4b17866344bba2a72c01a281878f7a747fbce0be Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Thu, 20 Jan 2022 22:35:28 +0100
Subject: [PATCH 14/18] gnu: Add python-pytest-cases.
* gnu/packages/python-xyz.scm (python-pytest-cases): New variable.
---
gnu/packages/python-xyz.scm | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e6c4a8878c..31518820ff 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29129,3 +29129,11 @@ (define-public python-decopatch
(native-inputs (list python-pytest python-pytest-runner
python-pytest-cases-minimal python-setuptools-scm
python-pytest-logging))))
+
+(define-public python-pytest-cases
+ (package
+ (inherit python-pytest-cases-minimal)
+ (name "python-pytest-cases")
+ (arguments
+ '())
+ (propagated-inputs (list python-decopatch python-makefun))))
--
2.34.0
[-- Attachment #1.16: 0015-gnu-Add-python-pytest-harvest.patch --]
[-- Type: text/x-patch, Size: 1469 bytes --]
From 568abb09c392b847a34a9673f4e7e1735a30182a Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Thu, 20 Jan 2022 22:35:49 +0100
Subject: [PATCH 15/18] gnu: Add python-pytest-harvest.
* gnu/packages/python-xyz.scm (python-pytest-harvest): New variable.
---
gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 31518820ff..51f17ed4e7 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29137,3 +29137,21 @@ (define-public python-pytest-cases
(arguments
'())
(propagated-inputs (list python-decopatch python-makefun))))
+
+(define-public python-pytest-harvest
+ (package
+ (inherit python-pytest-harvest-minimal)
+ (name "python-pytest-harvest")
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'move-pytests-plugins
+ (lambda _
+ (rename-file "pytest_harvest/tests/conftest.py"
+ "conftest.py"))))))
+ (native-inputs (list python-pytest
+ python-pytest-runner
+ python-setuptools-scm
+ python-pytest-cases
+ python-tabulate
+ python-pandas))
+ (propagated-inputs (list python-decopatch python-makefun python-six))))
--
2.34.0
[-- Attachment #1.17: 0016-gnu-Add-python-pytest-steps.patch --]
[-- Type: text/x-patch, Size: 1362 bytes --]
From 1c815dfa8636a0a0c7927f18d346fa25d1f3ed10 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Thu, 20 Jan 2022 22:36:06 +0100
Subject: [PATCH 16/18] gnu: Add python-pytest-steps.
* gnu/packages/python-xyz.scm (python-pytest-steps): New variable.
---
gnu/packages/python-xyz.scm | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 51f17ed4e7..1cd2557e58 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29155,3 +29155,17 @@ (define-public python-pytest-harvest
python-tabulate
python-pandas))
(propagated-inputs (list python-decopatch python-makefun python-six))))
+
+(define-public python-pytest-steps
+ (package
+ (inherit python-pytest-steps-minimal)
+ (name "python-pytest-steps")
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'move-pytests-plugins
+ (lambda _
+ (rename-file "pytest_steps/tests/conftest.py"
+ "conftest.py"))))))
+ (native-inputs (list python-pytest python-pytest-runner
+ python-setuptools-scm python-pytest-cases
+ python-pytest-harvest))))
--
2.34.0
[-- Attachment #1.18: 0017-gnu-python-pooch-Update-to-1.5.2.patch --]
[-- Type: text/x-patch, Size: 1407 bytes --]
From 4b6fb12adbd35fafb5f1c79f0db5c38c5ae658da Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Thu, 20 Jan 2022 23:00:37 +0100
Subject: [PATCH 17/18] gnu: python-pooch: Update to 1.5.2.
* gnu/packages/python-xyz.scm (python-pooch): Update to 1.5.2.
[native-inputs]: Add python-setuptools-scm.
---
gnu/packages/python-xyz.scm | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 1cd2557e58..f9b31166e6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -22252,18 +22252,20 @@ (define-public pybind11
(define-public python-pooch
(package
(name "python-pooch")
- (version "1.3.0")
+ (version "1.5.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pooch" version))
(sha256
- (base32 "1618adsg9r8fsv422sv35z1i723q3a1iir5v7dv2sklh4pl4im1h"))))
+ (base32 "109my6dwj2r6gxfzkw973ivy4dmmw02pwxijz5fl1p7vvvqv4sar"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ;requires online data
(propagated-inputs
(list python-appdirs python-packaging python-requests))
+ (native-inputs
+ (list python-setuptools-scm))
(home-page "https://github.com/fatiando/pooch")
(synopsis "Manage your Python library's sample data files")
(description
--
2.34.0
[-- Attachment #1.19: 0018-gnu-Add-python-mne.patch --]
[-- Type: text/x-patch, Size: 3087 bytes --]
From 08ad35d954b27d697688d10e04a0244091b50614 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Thu, 20 Jan 2022 23:21:25 +0100
Subject: [PATCH 18/18] gnu: Add python-mne.
* gnu/packages/python-science.scm (python-mne): New variable.
---
gnu/packages/python-science.scm | 53 +++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 6c0915e927..33e48b1be0 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -39,6 +39,7 @@ (define-module (gnu packages python-science)
#:use-module (gnu packages databases)
#:use-module (gnu packages gcc)
#:use-module (gnu packages image-processing)
+ #:use-module (gnu packages jupyter)
#:use-module (gnu packages machine-learning)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
@@ -1193,3 +1194,55 @@ (define-public python-nitime
to express with compact and semantically clear code.")
(license license:bsd-3)))
+(define-public python-mne
+ (package
+ (name "python-mne")
+ (version "0.24.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "mne" version))
+ (sha256
+ (base32
+ "039h0pwcvl4ywfa4ij7w6x61czd322csqr59yhzfil3a7b8gzjrq"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:tests? #f ;The test data are not distributed
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'set-home
+ (lambda _
+ (setenv "HOME"
+ (getcwd))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv" "mne")))))))
+ (propagated-inputs (list python-numpy python-scipy))
+ (native-inputs (list python-check-manifest
+ python-codespell
+ python-edflib
+ python-eeglabio
+ python-flake8
+ python-flake8-array-spacing
+ python-imageio-ffmpeg
+ python-nbclient
+ python-nitime
+ python-numpydoc
+ python-pooch
+ python-pydocstyle
+ python-pytest
+ python-pytest-cov
+ python-pytest-harvest
+ python-pytest-timeout
+ python-sphinx-gallery
+ python-twine
+ python-wheel))
+ (home-page "https://mne.tools/dev/")
+ (synopsis "MNE-Python project for MEG and EEG data analysis")
+ (description
+ "Open-source Python package for exploring, visualizing, and
+analyzing human neurophysiological data: MEG, EEG, sEEG, ECoG, NIRS, and
+more.")
+ (license license:bsd-3)))
+
+
--
2.34.0
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 695 bytes --]
next prev parent reply other threads:[~2022-02-03 20:43 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-20 22:46 [bug#53402] Add python-mne Vivien via Guix-patches via
[not found] ` <handler.53402.B.164271885411910.ack@debbugs.gnu.org>
2022-01-21 8:17 ` [bug#53402] Add python-mne: fix or disable tests Vivien Kraus via Guix-patches via
2022-02-03 19:29 ` Vivien via Guix-patches via [this message]
2022-02-03 20:49 ` [bug#53402] Rebase it for the new python packages Vinicius Monego
2022-02-06 14:49 ` Vivien via Guix-patches via
2022-02-06 20:06 ` Vinicius Monego
2022-02-11 3:03 ` Vivien via Guix-patches via
2022-03-06 21:48 ` [bug#53402] Add python-mne Ludovic Courtès
2022-03-09 23:28 ` Vinicius Monego
2022-05-26 21:24 ` [bug#53402] Update dependencies and rebase on newer work Vivien Kraus via Guix-patches via
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=df09d62f7aa0e6a21362f9b7df5a88ff0ddd0a41.camel@planete-kraus.eu \
--to=guix-patches@gnu.org \
--cc=53402@debbugs.gnu.org \
--cc=vivien@planete-kraus.eu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.