[PATCH 0/2] Add python-keithley2600

  • Done
  • quality assurance status badge
Details
2 participants
  • Frederick Muriuki Muriithi
  • Sharlatan Hellseher
Owner
unassigned
Submitted by
Frederick Muriuki Muriithi
Severity
normal

Debbugs page

Frederick Muriuki Muriithi wrote 2 months ago
(address . guix-patches@gnu.org)
20250114200919.82713-1-fredmanglis@gmail.com
This patch series add the Keithley2600-Series Source Measure Units' driver for
Python.

The first of the patches (0001-Add-python-pyvisa-py.patch) adds a missing
dependency (PyVISA-py) and the second patch (0002-Add-python-keithley2600.patch)
adds the Keithley2600 driver proper.



Frederick Muriuki Muriithi (2):
Add python-pyvisa-py
Add python-keithley2600

gnu/packages/engineering.scm | 67 ++++++++++++++++++++++++++++++++++++
1 file changed, 67 insertions(+)

--
2.41.0
Frederick Muriuki Muriithi wrote 2 months ago
[PATCH 2/2] Add python-keithley2600
(address . 75563@debbugs.gnu.org)
20250114201216.83065-2-fredmanglis@gmail.com
* gnu/packages/engineering.scm (python-keithley2600): New package.

Change-Id: I6cca66222816730a04d3bd712cc6bbab4b42f327
---
gnu/packages/engineering.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 4ff147373b..1427be94be 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -4995,3 +4995,33 @@ (define-public python-pyvisa-py
Message Based communication (Serial/USB/GPIB/Ethernet) using Python and some
well developed, easy to deploy and cross platform libraries.")
(license license:expat)))
+
+(define-public python-keithley2600
+ (let ((revision "0")
+ (commit "dfb5b2de2f62a71386cb957e6dd1c38b94178050"))
+ (package
+ (name "python-keithley2600")
+ (version (git-version "2.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/OE-FET/keithley2600")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "19bs7lswb04a5xr4zdsknynmpllpj18nb19jcbjnzf1fs1dqg0hw"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-numpy
+ python-pyvisa
+ python-pyvisa-py))
+ (home-page "https://keithley2600.readthedocs.io/en/stable/")
+ (synopsis "Full Python driver for Keithley 2600 series of SMU")
+ (description
+ "A full Python driver for the Keithley 2600B series of source measurement
+ units. This driver provides access to base commands and higher level functions
+ such as IV measurements, transfer and output curves, etc. Base commands
+ replicate the functionality and syntax from the Keithley's internal TSP Lua
+ functions.")
+ (license license:expat))))
--
2.41.0
Frederick Muriuki Muriithi wrote 2 months ago
[PATCH 1/2] Add python-pyvisa-py
(address . 75563@debbugs.gnu.org)
20250114201216.83065-1-fredmanglis@gmail.com
* gnu/packages/engineering.scm (python-pyvisa-py): New package.

Change-Id: If6addef9392be03b53a5b4fac2f0fd752af5246f
---
gnu/packages/engineering.scm | 37 ++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)

Toggle diff (54 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index f9c4ac9bbd..4ff147373b 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -41,6 +41,7 @@
;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
;;; Copyright © 2024 Juliana Sims <juli@incana.org>
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
+;;; Copyright © 2025 Frederick Muriuki Muriithi <fredmanglis@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -4958,3 +4959,39 @@ (define-public cadabra2
towards field theory.")
(home-page "https://cadabra.science/")
(license license:gpl3+)))
+
+(define-public python-pyvisa-py
+ (package
+ (name "python-pyvisa-py")
+ (version "0.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "PyVISA-py" version))
+ (sha256
+ (base32 "0lg8a041yg4yl31bxyyy51nh92rdp8ps94pzpyz7siaqg235npsc"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (add-before 'build 'ignore-pyvisa-version
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Remove the minimum version string (>=1.13.0) to fix
+ ;; the ContextualVersionConflict error that arises while
+ ;; running the sanity-check phase
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "pyproject.toml"
+ (("pyvisa>=1.13.0") "pyvisa")))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest")))))))
+ (native-inputs (list python-pytest))
+ (propagated-inputs (list python-pyvisa python-typing-extensions))
+ (home-page "https://pyvisa-py.readthedocs.io/")
+ (synopsis "Backend for PyVISA")
+ (description
+ "PyVISA-py is a backend for PyVISA that implements most of the methods for
+ Message Based communication (Serial/USB/GPIB/Ethernet) using Python and some
+ well developed, easy to deploy and cross platform libraries.")
+ (license license:expat)))
--
2.41.0
Sharlatan Hellseher wrote 1 months ago
[PATCH 0/2] Add python-keithley2600
(address . 75563@debbugs.gnu.org)
87ed09ybt9.fsf@gmail.com
Hi,

Thank you for the patches.

Toggle snippet (6 lines)
+(define-public python-keithley2600
+ (let ((revision "0")
+ (commit "dfb5b2de2f62a71386cb957e6dd1c38b94178050"))
+ (package

Give it a go to use the latest release instead of pining to particular
reason why we need this.

Toggle snippet (9 lines)
+ (add-before 'build 'ignore-pyvisa-version
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Remove the minimum version string (>=1.13.0) to fix
+ ;; the ContextualVersionConflict error that arises while
+ ;; running the sanity-check phase
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "pyproject.toml"
+ (("pyvisa>=1.13.0") "pyvisa")))))
We have python-pyvisa@1.14.1, I think it that modification may be removed.

Toggle snippet (5 lines)
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest")))))))
pyproject-build-system includes this already, it may be removed as well.

Looking forward for v2!

--
Oleg
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmemMLIACgkQdtcnv/Ys
0rU0/w/+N5Ad0stXHqS2f/EuOSTy6o1wBZuzg7lvj/9fMVDtqYWapXLhXUrOlxTg
WCkbu9KktAeRDw12t10taC1CihUK/J6eCOd2VlCj/Djg7tPc1kZ9/JpKBUZ5g8aI
tkGpToZvpiRFzv9Ftv9BA2hStupj1Uif1wU9CKvCKPaQ04fvpr+BkkDU3lvNAisH
DIv4LtfhwaFYIYNfOsVmYpxWcoXDIRWAJyPzYc3xBYlHHOImvNqUicjsZJ4xsOiV
Jy6J98K+VbUVZXg1QvmedE6HgCn1T3SzbsB8DydGJpTJAMXhpvy4tCLaOgR4SQnF
Kv+n7GcFgC/99DLGM+vLH/+kroLr7gJ9GhaPJCQE1ENxYBibrM1FOmy7ZTzww2hk
PwNR928bpBH+OeNh4xGYj18ylTg5A7161BtrsEo07uhBEhdB0jJsUGINk/7y+uGl
F6Iw330XkzHpQDJtdP2ravBB7JsKzr8g+6VH9N0p4C66VqvPkIopmHI7SWtnar58
E8q2v6EuVXsfdGH/HWvHReBA4m3vyAlCiFl9vWjG4uX60ZlLDEzpbYQwuDlxUiz5
gaYM65Z0roaKzbgRJydcDZZ0j8s1135mzjQzeQlMpFm+Yda8SOfgJnQhH/7645DU
4fr5eNuSraAfVRxZ3nxF8Gh2jPfY2zrdE7Gx3z8cI/TYebA9MhU=
=pAc+
-----END PGP SIGNATURE-----

Frederick Muriuki Muriithi wrote 4 weeks ago
[PATCH v2 1/2] Add python-pyvisa-py
(address . 75563@debbugs.gnu.org)
20250212172853.22418-1-fredmanglis@gmail.com
* gnu/packages/engineering.scm (python-pyvisa-py): New package.

Change-Id: If6addef9392be03b53a5b4fac2f0fd752af5246f
---
gnu/packages/engineering.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index d9c0256220..1299a1412f 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -41,6 +41,7 @@
;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
;;; Copyright © 2024 Juliana Sims <juli@incana.org>
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
+;;; Copyright © 2025 Frederick Muriuki Muriithi <fredmanglis@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5044,3 +5045,26 @@ (define-public cadabra2
towards field theory.")
(home-page "https://cadabra.science/")
(license license:gpl3+)))
+
+(define-public python-pyvisa-py
+ (package
+ (name "python-pyvisa-py")
+ (version "0.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "PyVISA-py" version))
+ (sha256
+ (base32 "0lg8a041yg4yl31bxyyy51nh92rdp8ps94pzpyz7siaqg235npsc"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest
+ python-wheel
+ python-setuptools))
+ (propagated-inputs (list python-pyvisa python-typing-extensions))
+ (home-page "https://pyvisa-py.readthedocs.io/")
+ (synopsis "Backend for PyVISA")
+ (description
+ "PyVISA-py is a backend for PyVISA that implements most of the methods for
+ Message Based communication (Serial/USB/GPIB/Ethernet) using Python and some
+ well developed, easy to deploy and cross platform libraries.")
+ (license license:expat)))
--
2.41.0
Frederick Muriuki Muriithi wrote 4 weeks ago
[PATCH v2 2/2] Add python-keithley2600
(address . 75563@debbugs.gnu.org)
20250212172853.22418-2-fredmanglis@gmail.com
* gnu/packages/engineering.scm (python-keithley2600): New package.

Change-Id: I6cca66222816730a04d3bd712cc6bbab4b42f327
---
gnu/packages/engineering.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 1299a1412f..d2669aa021 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -5068,3 +5068,28 @@ (define-public python-pyvisa-py
Message Based communication (Serial/USB/GPIB/Ethernet) using Python and some
well developed, easy to deploy and cross platform libraries.")
(license license:expat)))
+
+(define-public python-keithley2600
+ (package
+ (name "python-keithley2600")
+ (version "2.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/OE-FET/keithley2600")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "19bs7lswb04a5xr4zdsknynmpllpj18nb19jcbjnzf1fs1dqg0hw"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-numpy python-pyvisa python-pyvisa-py))
+ (home-page "https://keithley2600.readthedocs.io/en/stable/")
+ (synopsis "Full Python driver for Keithley 2600 series of SMU")
+ (description
+ "A full Python driver for the Keithley 2600B series of source measurement
+ units. This driver provides access to base commands and higher level functions
+ such as IV measurements, transfer and output curves, etc. Base commands
+ replicate the functionality and syntax from the Keithley's internal TSP Lua
+ functions.")
+ (license license:expat)))
--
2.41.0
Sharlatan Hellseher wrote 4 weeks ago
[PATCH 0/2] Add python-keithley2600
(address . 75563-done@debbugs.gnu.org)
87y0y8sik6.fsf@gmail.com
Hi,

Pushed with minor modifications to master:

c83eede6073 * Add python-keithley2600
c55d9aeb01e * Add python-pyvisa-py

--
Oleg
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmevVAoACgkQdtcnv/Ys
0rUqjg/+IUwuZGdDu/PZJ5AwUiK7Etv8CsppGBubiHysClGLQkwB/QS6n7LqBVBs
X0vGxElwJK9MjkWtwaDF8T9s9HCo9PI1bJJ+G9kfi+0RnmqHdQsUUGRvN7UoE8WC
Pdr7kplQIa/Ylf7WNkBcteW2ds8bAHIyobYrgj58qfS/CVVGffNIa/SLmn2aU/KY
KMWwl8eu7hw365VatmabLmFUcic0BTabiQNZRdhQG6GkvKeu75DO/1blUY/pn//a
C60Biqr6mm8RbkP9wdGKthz/X/mRaWndeUgamqNLCo5dJ/suDUuhnIkRoUGXe9Rl
FMqWaBvzgd5erDq64+B9ljAyURbZlOHc+KI4kkWLhCjB3mlc4JOeERUOiT7eUxWq
ZGdnZRHC4LnPrvtxygvK7p0TBcGvcVtSsOE97uyyVnr5xC/zJSAXo9Lnf8wh1lrk
HYWjn3/tQKsD31MZ2cpBbwADS51W8TvIHdo8ZUtF1uU634j6jvlIzsPQjtnTreUy
qZ7GKMDgbk8gDjCSmnsdn4ojOLLZNiiOtdtQ3A5g4K5l6of77E6Je4ClOygdxWyH
9KZg0A1g4o/caQLmgn4FGgqY89REeZucGEfL1qs8lHw+mRQnqdibF+/5APwEtJ9g
NFoh6+AGCUN5u0w0xNBciF8PyuyNBS4Xm8J874gaqpiURMpJU24=
=lhF+
-----END PGP SIGNATURE-----

Closed
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 75563@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 75563
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help