summaryrefslogtreecommitdiff
path: root/gnu/packages/python-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r--gnu/packages/python-xyz.scm395
1 files changed, 324 insertions, 71 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index bf2e7de238..be27f2b60b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -61,7 +61,7 @@
;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com>
-;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2019, 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
;;; Copyright © 2019, 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
@@ -81,6 +81,7 @@
;;; Copyright © 2020 Josh Holland <josh@inv.alid.pw>
;;; Copyright © 2020 Yuval Kogman <nothingmuch@woobling.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -106,6 +107,7 @@
#:use-module (gnu packages backup)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
+ #:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
@@ -4991,46 +4993,51 @@ as the original project seems to have been abandoned circa 2007.")
(package-with-python2 python-socksipy-branch))
(define-public python-socksipychain
- (let ((commit "eb5ee8741ce006ac0c5c3e2e83204062c348c155")
- (revision "1")
- (version "2.1.1"))
- (package
- (name "python-socksipychain")
- (version (git-version version revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/pagekite/PySocksipyChain.git")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0fpphn6xnpm7qk8a914s4abycsbq9w6qkci07my632v0fylnm5n7"))))
- (build-system python-build-system)
- (arguments
- `(#:tests? #f)) ; Tests try to access the network.
- (home-page "http://pagekite.net/wiki/Floss/PySocksipyChain/")
- (synopsis "Python SOCKS module with chained proxies support")
- (description
- "SocksiPyChain is a modified version of the SocksiPy SOCKS module, which
+ (package
+ (name "python-socksipychain")
+ (version "2.1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pagekite/PySocksipyChain.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "02pp994qmiivkdx4y6az5q80l6rzy8g6d2ipvp7kns7lsxvmc2y7"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f)) ; Tests try to access the network.
+ (home-page "http://pagekite.net/wiki/Floss/PySocksipyChain/")
+ (synopsis "Python SOCKS module with chained proxies support")
+ (description
+ "SocksiPyChain is a modified version of the SocksiPy SOCKS module, which
adds support for arbitrary chaining of proxy servers and various modes of
TLS/SSL encryption. It was developed for use in PageKite, and also includes
a simple netcat replacement with chaining support.")
- (license license:bsd-3))))
+ (license license:bsd-3)))
(define-public python-pycodestyle
(package
(name "python-pycodestyle")
- (version "2.5.0")
+ (version "2.6.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pycodestyle" version))
(sha256
(base32
- "0v4prb05n21bm8650v0a01k1nyqjdmkrsm3zycfxh2j5k9n962p4"))))
+ "0bhr6ia0hmgx3nhgibc9pmkzhlh1zcqk707i5fbxgs702ll7v2n5"))))
(build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "pytest" "-vv"))))))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
(home-page "https://pycodestyle.readthedocs.io/")
(synopsis "Python style guide checker")
(description "@code{pycodestyle} (formerly pep8) is a tool to check
@@ -5121,17 +5128,18 @@ multivalue dictionary that retains the order of insertions and deletions.")
(define-public python-autopep8
(package
(name "python-autopep8")
- (version "1.3.5")
+ (version "1.5.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "autopep8" version))
(sha256
(base32
- "192bvhzi4d0claqxgzymvv7k3qnj627742bc8sgxpzjj42pd9112"))))
+ "1w6vh627vrmgfbvrdcxrc3k4gxcldrb2lpgxv9irkdds851qrzb0"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pycodestyle" ,python-pycodestyle)))
+ `(("python-pycodestyle" ,python-pycodestyle)
+ ("python-toml" ,python-toml)))
(home-page "https://github.com/hhatto/autopep8")
(synopsis "Format Python code according to the PEP 8 style guide")
(description
@@ -5315,6 +5323,115 @@ a general image processing tool.")
(define-public python2-pillow
(package-with-python2 python-pillow))
+(define-public python-roifile
+ (package
+ (name "python-roifile")
+ (version "2020.5.28")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "roifile" version))
+ (sha256
+ (base32
+ "1vwbwfsw745gyqymff6dllc5zqjsgqmxaw245sw4an6yw9rcbzc0"))))
+ (build-system python-build-system)
+ (arguments `(#:tests? #f)) ; there are none
+ (propagated-inputs
+ `(("python-numpy" ,python-numpy)))
+ (home-page "https://www.lfd.uci.edu/~gohlke/")
+ (synopsis "Read and write ImageJ ROI format")
+ (description "Roifile is a Python library to read, write, create, and plot
+ImageJ ROIs, an undocumented and ImageJ application specific format to store
+regions of interest, geometric shapes, paths, text, etc for image overlays.")
+ (license license:bsd-3)))
+
+(define-public python-tifffile
+ (package
+ (name "python-tifffile")
+ (version "2020.6.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tifffile" version))
+ (sha256
+ (base32
+ "0xv3ynkbrsibqvx7250075idb7wm3canjd6lx2nzf3cbp6l07577"))))
+ (build-system python-build-system)
+ ;; Tests require lfdfiles, which depends on tifffile
+ (arguments `(#:tests? #f))
+ (propagated-inputs
+ `(("python-numpy" ,python-numpy)
+ ;;("python-lfdfiles" ,python-lfdfiles)
+ ("python-roifile" ,python-roifile)))
+ (home-page "https://www.lfd.uci.edu/~gohlke/")
+ (synopsis "Read and write TIFF(r) files")
+ (description "This package lets you read image and metadata from many
+bio-scientific formats such as plain TIFF, BigTIFF, OME-TIFF, STK, LSM, SGI,
+NIH, ImageJ, MicroManager, MD GEL, and FluoView files. It also lets you write
+numpy arrays to TIFF, BigTIFF, and ImageJ hyperstack compatible files.")
+ (license license:bsd-3)))
+
+(define-public python-lfdfiles
+ (package
+ (name "python-lfdfiles")
+ (version "2020.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "lfdfiles" version))
+ (sha256
+ (base32
+ "1n9bkfn4vxl0lbhzd0m35lq86ayx5fwcj3ghpfl2vbjbsnfp3h47"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-click" ,python-click)
+ ("python-numpy" ,python-numpy)
+ ("python-tifffile" ,python-tifffile)))
+ (home-page "https://www.lfd.uci.edu/~gohlke/")
+ (synopsis "Work with LFD data files")
+ (description
+ "Lfdfiles is a Python library and console script for reading, writing,
+converting, and viewing many of the proprietary file formats used to store
+experimental data and metadata at the Laboratory for Fluorescence Dynamics.")
+ (license license:bsd-3)))
+
+(define-public python-imageio
+ (package
+ (name "python-imageio")
+ (version "2.8.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "imageio" version))
+ (sha256
+ (base32
+ "1ksjl523fm0fikrd85llxfba35rc1qsgwadgr6mbn9kis79xcpzv"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f ; many tests require online data
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key outputs inputs tests? #:allow-other-keys)
+ (if tests?
+ (begin
+ ;; Make installed package available for running the tests.
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "-vv"))
+ #t))))))
+ (propagated-inputs
+ `(("python-numpy" ,python-numpy)
+ ("python-pillow" ,python-pillow)
+ ("python-psutil" ,python-psutil)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page "https://github.com/imageio/imageio")
+ (synopsis "Read and write image, video, scientific, and volumetric data formats")
+ (description
+ "This package provides a Python library for reading and writing a wide
+range of image, video, scientific, and volumetric data formats.")
+ (license license:bsd-2)))
+
(define-public python-pycparser
(package
(name "python-pycparser")
@@ -5364,14 +5481,14 @@ a front-end for C compilers or analysis tools.")
(define-public python-pywavelets
(package
(name "python-pywavelets")
- (version "1.0.1")
+ (version "1.1.1")
(home-page "https://github.com/PyWavelets/pywt")
(source (origin
(method url-fetch)
(uri (pypi-uri "PyWavelets" version))
(sha256
(base32
- "1p3qv2v66ghnqrb1f98wyyhp9dz71jwcd6kfpsax65sfdpiyqp1w"))))
+ "1j88c0r4j1d4mb3f8qhz6nalyx21qrzmsm70rjngnkybd87v8r0s"))))
(build-system python-build-system)
(arguments
'(#:modules ((ice-9 ftw)
@@ -5379,17 +5496,18 @@ a front-end for C compilers or analysis tools.")
(srfi srfi-26)
(guix build utils)
(guix build python-build-system))
- #:phases (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (let ((cwd (getcwd))
- (libdir (find (cut string-prefix? "lib." <>)
- (scandir "build"))))
- (with-directory-excursion (string-append cwd "/build/" libdir)
- (invoke "nosetests" "-v" "."))))))))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (let ((cwd (getcwd))
+ (libdir (find (cut string-prefix? "lib." <>)
+ (scandir "build"))))
+ (with-directory-excursion (string-append cwd "/build/" libdir)
+ (invoke "pytest" "-vv"))))))))
(native-inputs
`(("python-matplotlib" ,python-matplotlib) ;for tests
- ("python-nose" ,python-nose)))
+ ("python-pytest" ,python-pytest)))
(propagated-inputs
`(("python-numpy" ,python-numpy)))
(synopsis "Wavelet transforms in Python")
@@ -5647,7 +5765,7 @@ memoizing PEG/Packrat parser in Python.")
(define-public python-gridmap
(package
(name "python-gridmap")
- (version "0.13.0")
+ (version "0.14.0")
(source
(origin
(method git-fetch)
@@ -5656,7 +5774,7 @@ memoizing PEG/Packrat parser in Python.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1478lbwsr1w24cii2x01m2910fvh8r43ghnb78nc972a96hqiknm"))))
+ (base32 "0v0sgpg6pz8h61f9aqjf5xk0ipr512bbz8dxzjjylksj135qr19l"))))
(build-system python-build-system)
(arguments
'(#:tests? #f)) ; FIXME: Requires python-cherrypy.
@@ -6453,7 +6571,7 @@ callback signature using a prototype function.")
(propagated-inputs
`(("python-backcall" ,python-backcall)
("python-pyzmq" ,python-pyzmq)
- ("python-prompt-toolkit" ,python-prompt-toolkit)
+ ("python-prompt-toolkit" ,python-prompt-toolkit-2)
("python-terminado" ,python-terminado)
("python-matplotlib" ,python-matplotlib)
("python-numpy" ,python-numpy)
@@ -7484,14 +7602,14 @@ PEP 8.")
(define-public python-pyflakes
(package
(name "python-pyflakes")
- (version "2.1.1")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyflakes" version))
(sha256
(base32
- "18pq95a1xj2dgdd0m85gyfsn40jajj4xc3lp8wfv7igqhrc86xnr"))))
+ "1j3zqbiwkyicvww499bblq33x0bjpzdrxajhaysr7sk7x5gdgcim"))))
(build-system python-build-system)
(home-page
"https://github.com/pyflakes/pyflakes")
@@ -7585,13 +7703,13 @@ complexity of Python source code.")
(define-public python-flake8
(package
(name "python-flake8")
- (version "3.7.9")
+ (version "3.8.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "flake8" version))
(sha256
(base32
- "1yscj6avirm6m12bjh4fn2lfgxaamqsjh9pirdqfi0fcgq8ils25"))))
+ "02527892hh0qjivxaiphzalj7q32qkna1cqaikjs7c03mk5ryjzh"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -9007,8 +9125,7 @@ interactive computing.")
"1ismyaxbv9d56yqqqb8xl58hg0iq0bbyy014a53y1g3hfbc8g7q7"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-ipykernel"
- ,(prompt-toolkit-2-instead-of-prompt-toolkit python-ipykernel))
+ `(("python-ipykernel" ,python-ipykernel)
("python-notebook" ,python-notebook)))
(native-inputs
`(("python-certifi" ,python-certifi)
@@ -9035,8 +9152,7 @@ notebooks.")
"15sww2mvnkqlvx55gwa82v05062a8j1xpncnqna4k9sl53hgcig9"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-ipython" ,(prompt-toolkit-2-instead-of-prompt-toolkit
- python-ipython))
+ `(("python-ipython" ,python-ipython)
("python-traitlets" ,python-traitlets)
("python-widgetsnbextension" ,python-widgetsnbextension)))
(native-inputs
@@ -9066,8 +9182,7 @@ in the data.")
"06s3kr5vx0l1y1b7fxb04dmrppscl7q69sl9yyfr0d057d1ssvkg"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-ipykernel" ,(prompt-toolkit-2-instead-of-prompt-toolkit
- python-ipykernel))
+ `(("python-ipykernel" ,python-ipykernel)
("python-jupyter-client" ,python-jupyter-client)
("python-prompt-toolkit" ,python-prompt-toolkit-2)
("python-pygments" ,python-pygments)))
@@ -9881,6 +9996,38 @@ concurrent.futures package from Python 3.2")
("python2-pytest" ,python2-pytest)
,@(package-native-inputs promise))))))
+(define-public python-progressbar2
+ (package
+ (name "python-progressbar2")
+ (version "3.51.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "progressbar2" version))
+ (sha256
+ (base32
+ "0b2v3mim90rmfvixkaniz2qrs650sk230rzgd5zhcjfldmlqgxpc"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-six" ,python-six)
+ ("python-utils" ,python-utils)))
+ (native-inputs
+ `(("python-flake8" ,python-flake8)
+ ("python-freezegun" ,python-freezegun)
+ ("python-pycodestyle" ,python-pycodestyle)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cache" ,python-pytest-cache)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-pytest-flakes" ,python-pytest-flakes)
+ ("python-pytest-pep8" ,python-pytest-pep8)
+ ("python-sphinx" ,python-sphinx)))
+ (home-page "https://github.com/WoLpH/python-progressbar")
+ (synopsis "Text progress bar library for Python")
+ (description
+ "This package provides a Python progressbar library to provide
+visual (yet text based) progress to long running operations.")
+ (license license:bsd-3)))
+
(define-public python-progressbar33
(package
(name "python-progressbar33")
@@ -10052,6 +10199,29 @@ document.")
(define-public python2-jmespath
(package-with-python2 python-jmespath))
+(define-public python-symengine
+ (package
+ (name "python-symengine")
+ (version "0.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "symengine" version))
+ (sha256
+ (base32 "1kn1w4dp9mrsq6kzmhf4pjmx3wicxc3dw1mwa924q8g48g77lr4c"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("cmake" ,cmake)
+ ("python-cython" ,python-cython)))
+ (inputs
+ `(("symengine" ,symengine)))
+ (home-page "https://github.com/symengine/symengine.py")
+ (synopsis "Python library providing wrappers to SymEngine")
+ (description
+ "This library provides a Python wrapper to SymEngine, a fast C++ symbolic
+manipulation library.")
+ (license license:expat)))
+
(define-public python-botocore
(package
(name "python-botocore")
@@ -10087,6 +10257,24 @@ interface to the Amazon Web Services (AWS) API.")
(define-public python2-botocore
(package-with-python2 python-botocore))
+(define-public python-pyfiglet
+ (package
+ (name "python-pyfiglet")
+ (version "0.8.post1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyfiglet" version))
+ (sha256
+ (base32
+ "0f9n2076ga2ccsg174k2d7n0z4d44ml96yzc72s6g4nhalbk5hn6"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/pwaller/pyfiglet")
+ (synopsis "Draw ASCII art big letters in Python")
+ (description "This module lets you draw large letter from ordinary characters
+in pure Python.")
+ (license license:expat)))
+
(define-public python-xdo
(package
(name "python-xdo")
@@ -11749,17 +11937,26 @@ implementation has been adapted, improved, and fixed from Molten.")
(define-public python-shellingham
(package
(name "python-shellingham")
- (version "1.3.1")
+ (version "1.3.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "shellingham" version))
(sha256
- (base32
- "1q7kws7w4x2hji3g7y0ni9ddk4sd676ylrb3db54gbpys6xj6nwq"))))
+ (base32 "07kmia2hvd2q7wik89m82hig9mqr2faynvy38vxq5fm0ps11jv2p"))))
(build-system python-build-system)
- (home-page
- "https://github.com/sarugaku/shellingham")
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'restore-setup.py
+ ;; setup.py will return in the next release.
+ ;; <https://github.com/sarugaku/shellingham/issues/33>
+ (lambda _
+ (with-output-to-file "setup.py"
+ (lambda _
+ (display "from setuptools import setup\nsetup()\n")))
+ #t)))))
+ (home-page "https://github.com/sarugaku/shellingham")
(synopsis "Tool to detect surrounding shell")
(description
"Shellingham detects what shell the current Python executable is
@@ -11776,7 +11973,8 @@ running in.")
(uri (pypi-uri "python-memcached" version))
(sha256
(base32
- "0kvyapavbirk2x3n1jx4yb9nyigrj1s3x15nm3qhpvhkpqvqdqm2"))))
+ "0kvyapavbirk2x3n1jx4yb9nyigrj1s3x15nm3qhpvhkpqvqdqm2"))
+ (patches (search-patches "python-memcached-syntax-warnings.patch"))))
(build-system python-build-system)
(propagated-inputs `(("python-six" ,python-six)))
(home-page
@@ -11880,7 +12078,7 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.")
(define-public poetry
(package
(name "poetry")
- (version "1.0.5")
+ (version "1.0.9")
;; Poetry can only be built from source with Poetry.
(source
(origin
@@ -11888,7 +12086,7 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.")
(uri (pypi-uri "poetry" version))
(sha256
(base32
- "02h387k0xssvv78yy82pcpknpq4w5ym2in1zl8cg9r5wljl5w6cf"))))
+ "1avp0db1a4hf6lz3wrzhpdvj4rpmzr4in3myrd3lp5j66nc5ck0a"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ;; Pypi does not have tests.
@@ -11899,8 +12097,7 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.")
(substitute* "setup.py"
;; poetry won't update version as 21.0.0 relies on python > 3.6
(("keyring>=20.0.1,<21.0.0") "keyring>=21.0.0,<22.0.0")
- (("pyrsistent>=0.14.2,<0.15.0") "pyrsistent>=0.14.2,<0.16.0")
- (("importlib-metadata>=1.1.3,<1.2.0") "importlib-metadata>=1.1.3,<1.5.0"))
+ (("pyrsistent>=0.14.2,<0.15.0") "pyrsistent>=0.14.2,<0.17.0"))
#t)))))
(propagated-inputs
`(("python-cachecontrol" ,python-cachecontrol)
@@ -11908,9 +12105,9 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.")
("python-cleo" ,python-cleo)
("python-clikit" ,python-clikit)
("python-html5lib" ,python-html5lib)
- ("python-importlib-metadata" ,python-importlib-metadata) ;; python < 3.8
("python-jsonschema" ,python-jsonschema)
("python-keyring" ,python-keyring)
+ ("python-msgpack-transitional" ,python-msgpack-transitional)
("python-pexpect" ,python-pexpect)
("python-pkginfo" ,python-pkginfo)
("python-pyparsing" ,python-pyparsing)
@@ -12186,10 +12383,6 @@ characters, mouse support, and auto suggestions.")
("python-six" ,python-six)
("python-pygments" ,python-pygments)))))
-(define-public prompt-toolkit-2-instead-of-prompt-toolkit
- (package-input-rewriting/spec
- `(("python-prompt-toolkit" . ,(const python-prompt-toolkit-2)))))
-
(define-public python2-prompt-toolkit
(package-with-python2 python-prompt-toolkit-2))
@@ -14170,14 +14363,22 @@ exception message with a traceback that points to the culprit.")
(define-public python-utils
(package
(name "python-utils")
- (version "2.1.0")
+ (version "2.4.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "python-utils" version))
(sha256
(base32
- "1mcsy6q5am4ya72rgkpb6kax6vv7c93cfkkas89xnpa4sj9zf28p"))))
+ "12c0glzkm81ljgf6pwh0d4rmdm1r7vvgg3ifzp8yp9cfyngw07zj"))))
(build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (delete-file "pytest.ini")
+ (invoke "pytest" "-vv"))))))
(native-inputs
`(("pytest-runner" ,python-pytest-runner)
("pytest" ,python-pytest)
@@ -17702,6 +17903,39 @@ on regular expressions.")
`(("python2-enum34" ,python2-enum34)
,@(package-propagated-inputs reparser))))))
+(define-public python-retrying
+ (package
+ (name "python-retrying")
+ (version "1.3.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rholder/retrying.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1kqipkbdaw5s1xg0gi29awm03vp1x8dz24pjidgxagvkvrjpzhi7"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-six" ,python-six)))
+ (home-page "https://github.com/rholder/retrying")
+ (synopsis "Library for adding retry behavior")
+ (description "Retrying is a general-purpose retrying library to simplify
+the task of adding retry behavior to just about anything.
+
+Features:
+
+@itemize
+@item Generic Decorator API.
+@item Specify stop condition (i.e. limit by number of attempts).
+@item Specify wait condition (i.e. exponential backoff sleeping between attempts).
+@item Customize retrying on Exceptions.
+@item Customize retrying on expected returned result.
+@end itemize")
+ (license license:asl2.0)))
+
(define-public python-precis-i18n
(package
(name "python-precis-i18n")
@@ -19462,6 +19696,25 @@ using “=” characters. However this conveys no benefit so many protocols
choose to use Base64 without the “=” padding.")
(license license:asl2.0)))
+(define-public python-py-cpuinfo
+ (package
+ (name "python-py-cpuinfo")
+ (version "5.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "py-cpuinfo" version))
+ (sha256
+ (base32
+ "0045y6832gqjg63jmw0qj2jwyypgjwr7sfdq3lfv49b6fxpl5xic"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/workhorsy/py-cpuinfo")
+ (synopsis "Get CPU info with Python")
+ (description
+ "This Python module returns the CPU info by using the best sources of
+information for your operating system.")
+ (license license:expat)))
+
(define-public python-canonicaljson
(package
(name "python-canonicaljson")