my-guix/wip/mycroft.scm

726 lines
25 KiB
Scheme
Raw Normal View History

2021-02-28 22:59:44 +01:00
;;; Copyright © 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
2020-07-31 17:50:20 +02:00
;;;
;;; This file is an addendum to GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (wip mycroft)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix git-download)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix utils)
2021-02-28 22:59:44 +01:00
#:use-module (guix build-system gnu)
2020-07-31 17:50:20 +02:00
#:use-module (guix build-system python)
#:use-module (gnu packages audio)
2021-03-02 16:40:50 +01:00
#:use-module (gnu packages autotools)
2020-07-31 17:50:20 +02:00
#:use-module (gnu packages check)
2020-09-06 14:28:07 +02:00
#:use-module (gnu packages compression)
2021-02-28 22:59:44 +01:00
#:use-module (gnu packages django)
2020-07-31 17:50:20 +02:00
#:use-module (gnu packages freedesktop)
2021-02-28 22:59:44 +01:00
#:use-module (gnu packages linux)
#:use-module (gnu packages machine-learning)
2021-03-02 16:40:50 +01:00
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
2021-02-28 22:59:44 +01:00
#:use-module (gnu packages pulseaudio)
2020-08-09 14:07:06 +02:00
#:use-module (gnu packages python-check)
2020-07-31 17:50:20 +02:00
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages speech)
#:use-module (gnu packages sphinx)
2021-02-28 22:59:44 +01:00
#:use-module (gnu packages swig)
2020-08-09 14:07:06 +02:00
#:use-module (gnu packages time)
2020-09-06 14:28:07 +02:00
#:use-module (gnu packages version-control)
2020-08-09 14:07:06 +02:00
#:use-module (gnu packages xiph))
2020-07-31 17:50:20 +02:00
(define-public mycroft-core
(package
(name "mycroft-core")
2021-02-28 22:59:44 +01:00
(version "20.8.1")
2020-07-31 17:50:20 +02:00
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/MycroftAI/mycroft-core")
(commit (string-append "release/v" version))))
(file-name (git-file-name name version))
(sha256
(base32
2021-02-28 22:59:44 +01:00
"0hc1xbxgpi23l77d1avccn4hd31g0q1jz315z24h95w2calww3kz"))))
2020-07-31 17:50:20 +02:00
(build-system python-build-system)
2021-02-28 22:59:44 +01:00
(arguments
`(#:tests? #f ; tests try to connect to the internet and expect to play audio
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'use-loose-package-version-requirements
(lambda _
(setenv "MYCROFT_LOOSE_REQUIREMENTS" "TRUE")
#t))
(add-after 'unpack 'dont-use-var-tmp
(lambda _
(substitute* (find-files "." "\\.py$")
(("/var/tmp") "/tmp/mycroft"))
#t))
(add-before 'build 'set-home
(lambda _
(setenv "HOME" (getcwd))
#t))
)))
2020-07-31 17:50:20 +02:00
(inputs
`(
;; from requirements/requirements.txt
("python-requests" ,python-requests)
("python-gTTS" ,python-gtts)
("python-PyAudio", python-pyaudio)
("python-pyee" ,python-pyee)
("python-SpeechRecognition" ,python-speechrecognition)
2021-02-28 22:59:44 +01:00
("python-tornado" ,python-tornado-6)
2020-08-09 14:07:06 +02:00
("python-websocket-client" ,python-websocket-client)
("python-requests-futures" ,python-requests-futures)
("python-pyserial" ,python-pyserial)
("python-psutil" ,python-psutil)
2021-02-28 22:59:44 +01:00
("python-pocketsphinx" ,python-pocketsphinx)
2020-08-09 14:07:06 +02:00
("python-inflection" ,python-inflection)
("python-pillow" ,python-pillow)
("python-dateutil" ,python-dateutil)
("python-fasteners" ,python-fasteners)
("python-PyYAML" ,python-pyyaml)
2020-07-31 17:50:20 +02:00
2020-09-06 14:28:07 +02:00
("python-lingua-franca" ,python-lingua-franca)
("python-msm" ,python-msm)
2021-02-28 22:59:44 +01:00
("python-msk" ,python-msk)
("python-adapt-parser" ,python-adapt-parser)
("python-padatious" ,python-padatious)
("python-fann2" ,python-fann2)
("python-padaos" ,python-padaos)
2020-08-09 14:07:06 +02:00
("python-precise-runner" ,python-precise-runner)
2020-07-31 17:50:20 +02:00
("python-petact" ,python-petact)
2021-02-28 22:59:44 +01:00
("python-pyxdg" ,python-pyxdg)
2020-07-31 17:50:20 +02:00
;; requirements/extra-audiobackend.txt
;("python-pychromecast" ,python-pychromecast)
;("python-vlc" ,python-vlc)
;; requirements/extra-stt.txt
;("python-google-api-python-client" ,python-google-api-python-client)
))
2021-02-28 22:59:44 +01:00
(native-inputs
`(
;; requirements/tests.txt
("python-coveralls" ,python-coveralls)
("python-flake8" ,python-flake8)
("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)
("python-cov-core" ,python-cov-core)
("python-sphinx" ,python-sphinx)
("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)
;("python-behave" ,python-behave)
;("python-allure-behave" ,python-allure-behave)
;("python-vlc" ,python-vlc)
))
2020-07-31 17:50:20 +02:00
(home-page "https://mycroft.ai/")
2021-02-28 22:59:44 +01:00
(synopsis "Mycroft Core, the Mycroft Artificial Intelligence platform")
(description "Mycroft Core, the Mycroft Artificial Intelligence platform.")
2020-07-31 17:50:20 +02:00
(license license:asl2.0)))
2021-02-28 22:59:44 +01:00
(define-public mimic
2020-07-31 17:50:20 +02:00
(package
2021-02-28 22:59:44 +01:00
(name "mimic")
(version "1.3.0.1")
2020-07-31 17:50:20 +02:00
(source
(origin
2021-02-28 22:59:44 +01:00
(method git-fetch)
(uri (git-reference
(url "https://github.com/MycroftAI/mimic1")
(commit version)))
(file-name (git-file-name name version))
2020-07-31 17:50:20 +02:00
(sha256
(base32
2021-03-02 16:40:50 +01:00
"1agwgby9ql8r3x5rd1rgx3xp9y4cdg4pi3kqlz3vanv9na8nf3id"))))
2021-02-28 22:59:44 +01:00
(build-system gnu-build-system)
2020-07-31 17:50:20 +02:00
(arguments
2021-03-02 16:40:50 +01:00
`(#:configure-flags '("--enable-shared")))
2021-02-28 22:59:44 +01:00
(native-inputs
2021-03-02 16:40:50 +01:00
`(("autoconf" ,autoconf)
2021-02-28 22:59:44 +01:00
("automake" ,automake)
2021-03-02 16:40:50 +01:00
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
2021-02-28 22:59:44 +01:00
(inputs
2021-03-02 16:40:50 +01:00
`(("alsa-lib" ,alsa-lib)
2021-02-28 22:59:44 +01:00
("pcre2" ,pcre2)
2021-03-02 16:40:50 +01:00
("pulseaudio" ,pulseaudio)))
2021-02-28 22:59:44 +01:00
(home-page "https://mimic.mycroft.ai/")
(synopsis "Mycroft's TTS engine, based on CMU's Flite")
(description "Mimic is a fast, lightweight Text-to-speech engine developed
by Mycroft A.I. and VocaliD, based on Carnegie Mellon Universitys Flite
(Festival-Lite) software. Mimic takes in text and reads it out loud to create a
high quality voice.")
(license (list
#f ; lang/vid_gb_ap/*[ch], voices/mycroft_voice_4.0.flitevox; autogenerated files and Popey's voice
license:expat ; unittests/cutest.h
license:public-domain ; doc/alice
license:bsd-3 ; lang/cmulex/make_cmulex_helper.py, include/flite_hts_engine.h, src/hts/flite_hts_engine.c, src/hts/hts_engine_API, src/regex/
license:asl2.0 ; lang/cmu_grapheme_lex/grapheme_unitran_tables.c
2021-03-02 16:40:50 +01:00
(license:non-copyleft "flite") ; rest
2021-02-28 22:59:44 +01:00
))))
2020-07-31 17:50:20 +02:00
(define-public python-petact
(package
(name "python-petact")
(version "0.1.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "petact" version))
(sha256
(base32
"1rjh0fjimmixbvrv6znkfrfa83ndjc4pgyfyl90iwq3az120vjsx"))))
(build-system python-build-system)
(home-page "https://github.com/matthewscholefield/petact")
(synopsis "Package extraction tool")
(description "A package extraction tool.")
(license license:expat)))
(define-public python-gtts
(package
(name "python-gtts")
2021-02-28 22:59:44 +01:00
(version "2.2.2")
2020-07-31 17:50:20 +02:00
(source
(origin
(method url-fetch)
(uri (pypi-uri "gTTS" version))
(sha256
(base32
2021-02-28 22:59:44 +01:00
"03qah9gxhx8m6apviqyffay2dpijm2k5h88ikzgndyvs6zc18dxm"))))
2020-07-31 17:50:20 +02:00
(build-system python-build-system)
2021-03-02 16:40:50 +01:00
(arguments
`(#:tests? #f ; Most tests require network access.
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-v" "-s" "gtts"))
#t)))))
2020-07-31 17:50:20 +02:00
(propagated-inputs
2021-03-02 16:40:50 +01:00
`(("python-click" ,python-click)
2020-07-31 17:50:20 +02:00
("python-requests" ,python-requests)
2021-03-02 16:40:50 +01:00
("python-six" ,python-six)
;; Is this needed?
("python-gtts-token" ,python-gtts-token)))
2020-07-31 17:50:20 +02:00
(native-inputs
`(("python-flake8" ,python-flake8)
("python-mock" ,python-mock)
("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)
("python-six" ,python-six)
2021-03-02 16:40:50 +01:00
("python-testfixtures" ,python-testfixtures)))
2020-07-31 17:50:20 +02:00
(home-page "https://github.com/pndurette/gTTS")
2021-03-02 16:40:50 +01:00
(synopsis "Python library and CLI tool fpr Google Translate text-to-speech API")
2020-07-31 17:50:20 +02:00
(description
2021-03-02 16:40:50 +01:00
"This package provides @acronym{gTTS, Google Text-to-Speech}, a Python
library and CLI tool to interface with Google Translate text-to-speech API.")
2020-07-31 17:50:20 +02:00
(license license:expat)))
(define-public python-gtts-token
(package
(name "python-gtts-token")
2021-02-28 22:59:44 +01:00
(version "1.1.4")
2020-07-31 17:50:20 +02:00
(source
(origin
(method git-fetch)
;; tests not included in pypi release
(uri (git-reference
(url "https://github.com/Boudewijn26/gTTS-token")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
2021-02-28 22:59:44 +01:00
"0vr52zc0jqyfvsccl67j1baims3cdx2is1y2lpx2kav9gadkn8hp"))))
2020-07-31 17:50:20 +02:00
(build-system python-build-system)
(arguments
'(#:tests? #f ; tests try to connect to the internet
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
2021-02-28 22:59:44 +01:00
(when tests?
2021-03-02 16:40:50 +01:00
(invoke "python" "-m" "unittest" "discover"
"-v" "-s" "gtts_token/tests/"))
2021-02-28 22:59:44 +01:00
#t)))))
2020-07-31 17:50:20 +02:00
(propagated-inputs
`(("python-requests" ,python-requests)))
(home-page "https://github.com/boudewijn26/gTTS-token")
(synopsis "Calculates a token to run the Google Translate text to speech")
(description "This package provides a Python implementation of the token
validation of Google Translate.")
(license license:expat)))
(define-public python-pyee
(package
(name "python-pyee")
2021-02-28 22:59:44 +01:00
(version "8.1.0")
2020-07-31 17:50:20 +02:00
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyee" version))
(sha256
(base32
2021-02-28 22:59:44 +01:00
"0cgxbdr4zmil03wwr5fv58789i51gka8a9fxm1dgkf5xs9dwrnlj"))))
2020-07-31 17:50:20 +02:00
(build-system python-build-system)
(native-inputs
`(("python-mock" ,python-mock)
2020-08-09 14:07:06 +02:00
("python-pytest" ,python-pytest)
2020-07-31 17:50:20 +02:00
("python-pytest-asyncio" ,python-pytest-asyncio)
("python-pytest-runner" ,python-pytest-runner)
("python-pytest-trio" ,python-pytest-trio)
("python-twisted" ,python-twisted)
("python-vcversioner" ,python-vcversioner)))
(home-page "https://github.com/jfhbrook/pyee")
(synopsis "Port of node.js's EventEmitter to Python")
(description
"@code{pyee} supplies a @code{BaseEventEmitter} object that is similar to
the @code{EventEmitter} class from Node.js. It also supplies a number of
subclasses with added support for async and threaded programming in Python, such
as async/await as seen in Python 3.5+.")
(license license:expat)))
(define-public python-speechrecognition
(package
(name "python-speechrecognition")
(version "3.8.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Uberi/speech_recognition")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1lq6g4kl3y1b4ch3b6wik7xy743x6pp5iald0jb9zxqgyxy1zsz4"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "third-party")
(delete-file-recursively "speech_recognition/pocketsphinx-data")
(for-each delete-file (find-files "speech_recognition" "^flac"))
#t))))
(build-system python-build-system)
(arguments
2021-03-02 16:40:50 +01:00
;; Standard tests fail because there's no attached microphone.
;; Unit tests fail because it wants internet connectivity.
2020-08-09 14:07:06 +02:00
'(#:tests? #f
#:phases
2020-07-31 17:50:20 +02:00
(modify-phases %standard-phases
(replace 'check
2020-08-09 14:07:06 +02:00
(lambda* (#:key tests? #:allow-other-keys)
2021-02-28 22:59:44 +01:00
(when tests?
(invoke "python" "-m" "unittest" "discover" "--verbose"))
#t)))))
2020-07-31 17:50:20 +02:00
(propagated-inputs
2020-08-09 14:07:06 +02:00
`(("python-pyaudio" ,python-pyaudio)))
2020-07-31 17:50:20 +02:00
(inputs
2020-08-09 14:07:06 +02:00
`(("flac" ,flac)
2020-07-31 17:50:20 +02:00
("pocketsphinx" ,pocketsphinx)
2020-08-09 14:07:06 +02:00
("sphinxbase" ,sphinxbase)))
2020-07-31 17:50:20 +02:00
(home-page "https://github.com/Uberi/speech_recognition")
(synopsis "Speech recognition module for Python")
(description "Library for performing speech recognition, with support for
several engines and APIs, online and offline.")
(license license:bsd-3)))
2020-08-09 14:07:06 +02:00
(define-public python-requests-futures
(package
(name "python-requests-futures")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "requests-futures" version))
(sha256
(base32
"0j611g1wkn98qp2b16kqz7lfz29a153jyfm02r3h8n0rpw17am1m"))))
(build-system python-build-system)
(arguments
'(#:tests? #f)) ; Tests require network access.
(propagated-inputs
`(("python-requests" ,python-requests)))
2021-02-28 22:59:44 +01:00
(home-page "https://github.com/ross/requests-futures")
2020-08-09 14:07:06 +02:00
(synopsis "Asynchronous Python HTTP for Humans")
(description "This package provides a small add-on for the Python requests
http library.")
(license license:asl2.0)))
(define-public python-precise-runner
(package
(name "python-precise-runner")
(version "0.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "precise-runner" version))
(sha256
(base32
"03dqjvw0mafxs5hakhvb3ah8f157n8632a54spss7w2bzc4l4ihs"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pyaudio" ,python-pyaudio)))
;; 'numpy==1.16',
;; 'tensorflow>=1.13,<1.14', # Must be on piwheels
;; 'sonopy',
;; 'pyaudio',
;; 'keras<=2.1.5',
;; 'h5py',
;; 'wavio',
;; 'typing',
;; 'prettyparse>=1.1.0',
;; 'precise-runner',
;; 'attrs',
;; 'fitipy<1.0',
;; 'speechpy-fast',
;; 'pyache'
(home-page "https://github.com/MycroftAI/mycroft-precise")
(synopsis "Wrapper to use Mycroft Precise Wake Word Listener")
(description
"Wrapper to use Mycroft Precise Wake Word Listener")
2020-08-09 17:52:01 +02:00
(license license:asl2.0)))
2020-09-06 14:28:07 +02:00
(define-public python-lingua-franca
(package
(name "python-lingua-franca")
2021-02-28 22:59:44 +01:00
(version "0.3.1")
2020-09-06 14:28:07 +02:00
(source
(origin
2021-02-28 22:59:44 +01:00
(method url-fetch)
(uri (pypi-uri "lingua_franca" version))
2020-09-06 14:28:07 +02:00
(sha256
(base32
2021-02-28 22:59:44 +01:00
"1b9r5l49hrjdlj5nggmy76s3g2ish0z5lg7a79ma54yh2kzbpljf"))))
2020-09-06 14:28:07 +02:00
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-dependency-versions
(lambda _
(substitute* "requirements.txt"
2021-02-28 22:59:44 +01:00
(("==") ">="))
2020-09-06 14:28:07 +02:00
#t)))))
(propagated-inputs
`(("python-dateutil" ,python-dateutil)))
(home-page "https://github.com/MycroftAI/lingua-franca")
(synopsis "Multilingual text parsing and formatting library")
(description
"Mycroft's multilingual text parsing and formatting library.")
(license license:asl2.0)))
(define-public python-msm
(package
(name "python-msm")
2021-02-28 22:59:44 +01:00
(version "0.9.0")
2020-09-06 14:28:07 +02:00
(source
(origin
2021-02-28 22:59:44 +01:00
;; Some files not included in the release tarball.
2020-09-06 14:28:07 +02:00
(method git-fetch)
(uri (git-reference
(url "https://github.com/MycroftAI/mycroft-skills-manager")
2021-02-28 22:59:44 +01:00
(commit (string-append "release/v" version))))
2020-09-06 14:28:07 +02:00
(file-name (git-file-name name version))
(sha256
(base32
2021-02-28 22:59:44 +01:00
"0n2x3qkzbgk6ycgj5fl3f99dyvk33c85mnjlxbl0p8djrqkwg78l"))))
2020-09-06 14:28:07 +02:00
(build-system python-build-system)
(arguments
'(#:tests? #f ; Tests try to access the internet.
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
2021-02-28 22:59:44 +01:00
(when tests?
(setenv "HOME" (getcwd))
(invoke "pytest" "tests"))
#t)))))
2020-09-06 14:28:07 +02:00
(propagated-inputs
`(("python-fasteners" ,python-fasteners)
("python-gitpython" ,python-gitpython)
("python-lazy" ,python-lazy)
("python-pako" ,python-pako)
2021-02-28 22:59:44 +01:00
("python-pyxdg" ,python-pyxdg)
2020-09-06 14:28:07 +02:00
("python-pyyaml" ,python-pyyaml)
("python-requests" ,python-requests)))
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://github.com/MycroftAI/mycroft-skills-manager")
(synopsis "Mycroft Skills Manager")
(description "Mycroft Skills Manager is a command line tool and a Python
module for interacting with the mycroft-skills repository. It allows querying
the repository for information (skill listings, skill meta data, etc) and of
course installing and removing skills from the system.")
(license license:asl2.0)))
(define-public python-lazy
(package
(name "python-lazy")
(version "1.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "lazy" version ".zip"))
(sha256
(base32
"0hsvbzv92qv0qsq03idwxhvwpb83fjj521ij6mabh3qkmfjjfv9c"))))
(build-system python-build-system)
(native-inputs `(("unzip" ,unzip)))
(home-page "https://github.com/stefanholek/lazy")
(synopsis "Lazy attributes for Python objects")
(description
"Lazy attributes for Python objects")
(license license:bsd-2)))
(define-public python-pako
(package
(name "python-pako")
2021-02-28 22:59:44 +01:00
(version "0.3.0")
2020-09-06 14:28:07 +02:00
(source
(origin
(method url-fetch)
(uri (pypi-uri "pako" version))
(sha256
2021-02-28 22:59:44 +01:00
(base32 "1izr1ymi94pn0wxsjs1xbbkz9dg2gqcjy4qh3afhc0b73l91rgga"))))
2020-09-06 14:28:07 +02:00
(build-system python-build-system)
(propagated-inputs
`(("python-appdirs" ,python-appdirs)))
(home-page "https://github.com/MycroftAI/pako")
(synopsis
"The universal package manager library")
(description
"The universal package manager library")
(license license:asl2.0)))
2021-02-28 22:59:44 +01:00
(define-public python-testfixtures
(package
(name "python-testfixtures")
(version "6.17.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "testfixtures" version))
(sha256
(base32
"1nlv2hz20czjp4a811ichl5kwg99rh84l0mw9wq4rk3idzfs1hsy"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; Lets come back to this later. Need DJANGO_SETTINGS_MODULE
(native-inputs
`(("python-django" ,python-django)
("python-mock" ,python-mock)
("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)
;("python-pytest-django" ,python-pytest-django)
("python-sybil" ,python-sybil)
("python-twisted" ,python-twisted)
("python-zope-component" ,python-zope-component)))
(home-page "https://github.com/Simplistix/testfixtures")
(synopsis
"A collection of helpers and mock objects for unit tests and doc tests.")
(description
"A collection of helpers and mock objects for unit tests and doc tests.")
(license license:expat)))
(define-public python-sybil
(package
(name "python-sybil")
(version "2.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sybil" version))
(sha256
(base32
"091mvh08l40yh15008nhkazdqw64r9yyvw1jq4ir42v98vi72zar"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; AttributeError: 'NoneType' object has no attribute 'setup'
(native-inputs
`(("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)))
(home-page "https://github.com/cjw296/sybil")
(synopsis
"Automated testing for the examples in your documentation.")
(description
"Automated testing for the examples in your documentation.")
(license license:expat)))
(define-public python-padaos
(package
(name "python-padaos")
(version "0.1.10")
(source
(origin
(method url-fetch)
(uri (pypi-uri "padaos" version))
(sha256
(base32
"0wkd6p3ggf3ffsg3j47fgfcfmmj5k7h5rak88mbkr1r6r35mzh1a"))))
(build-system python-build-system)
(home-page "https://github.com/MatthewScholefield/padaos")
(synopsis
"A rigid, lightweight, dead-simple intent parser")
(description
"A rigid, lightweight, dead-simple intent parser")
(license license:expat)))
(define-public python-fann2
(package
(name "python-fann2")
(version "1.1.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "fann2" version))
(sha256
(base32
"07nlpncl5cx2kzdy3r91g3i1bsnl7n6f7zracwh87q28mmjhmjnd"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-fann-location
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "setup.py"
(("/usr/pkg/lib")
(string-append (assoc-ref inputs "fann") "/lib")))
#t)))))
(inputs
`(("fann" ,fann)))
(native-inputs
`(("swig" ,swig)))
(home-page "https://github.com/FutureLinkCorporation/fann2")
(synopsis
"Fast Artificial Neural Network Library (FANN) Python bindings.")
(description
"Fast Artificial Neural Network Library (FANN) Python bindings.")
(license license:lgpl2.1)))
(define-public python-padatious
(package
(name "python-padatious")
(version "0.4.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "padatious" version))
(sha256
(base32
"0xbgf75kxclacgairid8m948hrrngcxhykr1wkvav32fp58z4wg4"))))
(build-system python-build-system)
(propagated-inputs
`(("python-fann2" ,python-fann2)
("python-padaos" ,python-padaos)
("python-xxhash" ,python-xxhash)))
(home-page "https://github.com/MycroftAI/padatious")
(synopsis "A neural network intent parser")
(description "A neural network intent parser")
(license #f)))
(define-public python-xxhash
(package
(name "python-xxhash")
(version "2.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xxhash" version))
(sha256
(base32
"0g225kk6hj9ab8ggiw5s157jkqh2f2wd8v3g8nhnyiy1aj2q3jjq"))))
(build-system python-build-system)
(home-page "https://github.com/ifduyue/python-xxhash")
(synopsis "Python binding for xxHash")
(description "Python binding for xxHash")
(license license:bsd-3)))
(define-public python-adapt-parser
(package
(name "python-adapt-parser")
(version "0.3.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "adapt-parser" version))
(sha256
(base32
"0h9kwdycf4x042xwy7hb9978y917ismx9f3zg55z65iv1ksff17c"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pyee" ,python-pyee)
("python-six" ,python-six)))
(home-page "https://github.com/MycroftAI/adapt")
(synopsis "A text-to-intent parsing framework.")
(description
"A text-to-intent parsing framework.")
(license #f)))
(define-public python-msk
(package
(name "python-msk")
(version "0.3.16")
(source
(origin
(method url-fetch)
(uri (pypi-uri "msk" version))
(sha256
(base32
"11zf2s5wdglzki2r05plx6j9gykwvbpdn8fbr3fnjz4g0vy1g9y6"))))
(build-system python-build-system)
(propagated-inputs
`(("python-colorama" ,python-colorama)
("python-gitpython" ,python-gitpython)
("python-msm" ,python-msm)
("python-pygithub" ,python-pygithub)
("python-requests" ,python-requests)))
(home-page "https://github.com/MycroftAI/mycroft-skills-kit")
(synopsis "Mycroft Skills Kit")
(description "Mycroft Skills Kit")
(license #f)))
;; TODO: Unbundle sphinxbase
(define-public python-pocketsphinx
(package
(name "python-pocketsphinx")
(version "0.1.15")
(source
(origin
2021-03-02 16:40:50 +01:00
;; Not all bundled files included in git repo.
2021-02-28 22:59:44 +01:00
(method url-fetch)
(uri (pypi-uri "pocketsphinx" version))
(sha256
(base32
"0qwvix2bq7n2g7kp1kcfa8z3j3yi35f5p0f9rai6zgkxbis91lil"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; No tests included in release tarball.
(inputs
`(("alsa-lib" ,alsa-lib)
("pulseaudio" ,pulseaudio)))
(native-inputs
`(("swig" ,swig)))
(home-page "https://github.com/bambocher/pocketsphinx-python")
(synopsis
"Python interface to CMU Sphinxbase and Pocketsphinx libraries")
(description
"Python interface to CMU Sphinxbase and Pocketsphinx libraries")
(license license:bsd-3)))