guix_mirror_bot pushed a commit to branch master
in repository guix.
commit 510baaaad8f523bfc2bc60e44a8270df42a31730
Author: bdunahu <[email protected]>
AuthorDate: Mon Jan 5 16:20:48 2026 -0700
gnu: Add python-meshtastic.
* gnu/packages/radio.scm (python-meshtastic): New variable.
Change-Id: I2c6ee6d02cfea3c0e300ef3ab29a246d68f6897b
Signed-off-by: Sharlatan Hellseher <[email protected]>
---
gnu/packages/radio.scm | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 4af5ab64ad..929b31d9d9 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -20,6 +20,7 @@
;;; Copyright © 2025 Jordan Moore <[email protected]>
;;; Copyright © 2025 Artyom V. Poptsov <[email protected]>
;;; Copyright © 2025 Laura Kirsch <[email protected]>
+;;; Copyright © 2026 bdunahu <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -831,6 +832,58 @@ library.")
devices that are supported by the SoapySDR library.")
(license license:expat)))
+(define-public python-meshtastic
+ (package
+ (name "python-meshtastic")
+ (version "2.7.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/meshtastic/python")
+ (commit version)
+ (recursive? #t))) ;TODO: package meshtastic/protobufs subproject
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0fdxlwdf1ga00wa7vbfvhhd0dpwcxakdlmrjs24zhd6pq5k7jicf"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; tests: 220 passed, 3 skipped, 77 deselected
+ #:test-flags
+ ;; requires pytap2 input, which is not in Guix
+ #~(list "-k not test_tunnel_tunnel_arg")))
+ (native-inputs
+ (list python-poetry-core
+ python-pytest))
+ ;; unpackaged (optional) inputs: python-print-color, python-dash
+ ;; python-pytap2, python-dash-bootstrap-components
+ (propagated-inputs
+ (list python-argcomplete
+ python-bleak
+ python-dotmap
+ python-packaging
+ python-pandas
+ python-pandas-stubs
+ python-protobuf
+ python-pypubsub
+ python-pyqrcode
+ python-pyserial
+ python-pyyaml
+ python-requests
+ python-tabulate
+ python-wcwidth))
+ (home-page "https://github.com/meshtastic/python")
+ (synopsis "Python library and CLI for talking to Meshtastic devices")
+ (description
+ "@url{https://meshtastic.org/,Meshtastic} Python is a small library which
+provides an easy API for sending and receiving messages over mesh radios. It
+provides access to any of the operations/data available in the device user
+interface or the Android applications. Events are delivered using a
+publish-subscribe model, and you can subscribe to only the message types you
+are interested in.")
+ (license license:gpl3))) ;XXX: both python API and protobufs
+
(define-public qspectrumanalyzer
(package
(name "qspectrumanalyzer")