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.scm219
1 files changed, 142 insertions, 77 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ee1f9acda0..629826cd48 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -89,6 +89,8 @@
;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2020 Bonface Munyoki Kilyungi <bonfacemunyoki@gmail.com>
;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
+;;; Copyright © 2020 Diego N. Barbato <dnbarbato@posteo.de>
+;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -138,7 +140,6 @@
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
- #:use-module (gnu packages imagemagick)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
@@ -3457,8 +3458,11 @@ structure for Python.")
(synopsis "Python Documentation Utilities")
(description
"Docutils is a modular system for processing documentation into useful
-formats, such as HTML, XML, and LaTeX. For input Docutils supports
-reStructuredText.")
+formats, such as HTML, XML, and LaTeX. It uses @dfn{reStructuredText}, an
+easy to use markup language, for input.
+
+This package provides tools for converting @file{.rst} files to other formats
+via commands such as @command{rst2man}, as well as supporting Python code.")
;; Most of the source code is public domain, but some source files are
;; licensed under the PFSL, BSD 2-clause, and GPLv3+ licenses.
(license (list license:public-domain license:psfl license:bsd-2 license:gpl3+))))
@@ -3870,14 +3874,13 @@ outside the standard library.")
(define-public python-scp
(package
(name "python-scp")
- (version "0.13.2")
+ (version "0.13.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "scp" version))
(sha256
- (base32
- "1crlpw9lnn58fs1c1rmh7s7s9y5gkgpgjsqlvg9qa51kq1knx7gg"))))
+ (base32 "1m2v09m407p097cy3xy5rxicqfzrqjwf8v5rd4qhfqkk7lllimwb"))))
(build-system python-build-system)
(arguments
'(#:tests? #f)) ;tests require an SSH server
@@ -4986,7 +4989,6 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc.
("python-cairocffi" ,python-cairocffi)))
(inputs
`(("libpng" ,libpng)
- ("imagemagick" ,imagemagick)
("freetype" ,freetype)
("cairo" ,cairo)
("glib" ,glib)
@@ -5061,6 +5063,9 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc.
;; has not effect.
(setenv "LD_LIBRARY_PATH" (string-append cairo "/lib"))
(setenv "HOME" (getcwd))
+ ;; Fix rounding errors when using the x87 FPU.
+ (when (string-prefix? "i686" ,(%current-system))
+ (setenv "CFLAGS" "-ffloat-store"))
(call-with-output-file "setup.cfg"
(lambda (port)
(format port "[directories]~%
@@ -10889,14 +10894,13 @@ for the module to work under Python 3.3.")
(define-public python-colorama
(package
(name "python-colorama")
- (version "0.4.3")
+ (version "0.4.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "colorama" version))
(sha256
- (base32
- "189n8hpijy14jfan4ha9f5n06mnl33cxz7ay92wjqgkr639s0vg9"))))
+ (base32 "16w62sm95hmh55rqxn4zwdz0bkh3fqm1qnz9cwi3s510iasb4har"))))
(build-system python-build-system)
(synopsis "Colored terminal text rendering for Python")
(description "Colorama is a Python library for rendering colored terminal
@@ -17186,14 +17190,14 @@ such as figshare or Zenodo.")
(base32
"183kg1rhzz3hqizvphkd8hlbf1zxfx8737zhfkmqzxi71jmdw7pd"))))
(build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (delete-file "setup.cfg")
+ (invoke "py.test"))))))
(native-inputs
- `(("python-appdirs" ,python-appdirs)
- ("python-distlib" ,python-distlib)
- ("python-importlib-metadata" ,python-importlib-metadata)
- ("python-filelock" ,python-filelock)
- ("python-six" ,python-six)
- ("python-tox" ,python-tox)
- ("python-virtualenv" ,python-virtualenv)))
+ `(("python-pytest" ,python-pytest)))
(home-page "https://github.com/k-bx/python-semver")
(synopsis "Python helper for Semantic Versioning")
(description "This package provides a Python library for
@@ -18232,6 +18236,109 @@ gevent-powered application.")
(define-public python2-gipc
(package-with-python2 python-gipc))
+(define-public python-beautifultable
+ (package
+ (name "python-beautifultable")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "beautifultable" version))
+ (sha256
+ (base32
+ "0wwlbifcbpzy3wfv6yzsxncarsngzizmmxbn6cy5gazlcq7h4k5x"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-wcwidth" ,python-wcwidth)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-setup.py
+ (lambda _
+ (substitute* "setup.py"
+ (("setup\\(")
+ "setup(\n test_suite=\"test\",")))))))
+ (home-page "https://github.com/pri22296/beautifultable")
+ (synopsis "Print ASCII tables for terminals")
+ (description "@code{python-beautifultable} provides a class for easily
+printing tabular data in a visually appealing ASCII format to a terminal.
+
+Features include, but are not limited to:
+@itemize
+@item Full customization of the look and feel of the table
+@item Row and column accessors.
+@item Full support for colors using ANSI sequences or any library.
+@item Plenty of predefined styles and option to create custom ones.
+@item Support for Unicode characters.
+@item Supports streaming table when data is slow to retrieve.
+@end itemize")
+ (license license:expat)))
+
+(define-public python-globber
+ (package
+ (name "python-globber")
+ (version "0.2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/asharov/globber")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "055xf7ja7zjhxis0ab5fnfsx16fsvr5fvc6mixqybanwxh8sgfjk"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/asharov/globber")
+ (synopsis "Library for string matching with glob patterns")
+ (description
+ "Globber is a Python library for matching file names against glob patterns.
+In contrast to other glob-matching libraries, it matches arbitrary strings and
+doesn't require the matched names to be existing files. In addition, it
+supports the globstar @code{**} operator to match an arbitrary number of
+path components.")
+ (license license:asl2.0)))
+
+(define-public python-git-hammer
+ (package
+ (name "python-git-hammer")
+ (version "0.3.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/asharov/git-hammer")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0f9xlk86ijzpdj25hr1q4wcy8k72v3w470ngwm9mpdkfj8ng84wr"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-setup.py
+ (lambda _
+ (substitute* "setup.py"
+ (("setup\\(")
+ "setup(\n test_suite=\"test\",")))))))
+ (propagated-inputs
+ `(("python-beautifultable" ,python-beautifultable)
+ ("python-dateutil" ,python-dateutil)
+ ("python-gitpython" ,python-gitpython)
+ ("python-globber" ,python-globber)
+ ("python-matplotlib" ,python-matplotlib)
+ ("python-sqlalchemy" ,python-sqlalchemy)
+ ("python-sqlalchemy-utils"
+ ,python-sqlalchemy-utils)))
+ (home-page "https://github.com/asharov/git-hammer")
+ (synopsis "Provide statistics for git repositories")
+ (description
+ "Git Hammer is a statistics tool for projects in git repositories.
+Its major feature is tracking the number of lines authored by each person for every
+commit, but it also includes some other useful statistics.")
+ (license license:asl2.0)))
+
(define-public python-fusepy
(package
(name "python-fusepy")
@@ -18691,79 +18798,37 @@ validation testing and application logic.")
(define-public python-numba
(package
(name "python-numba")
- (version "0.46.0")
+ (version "0.51.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "numba" version))
(sha256
(base32
- "1vnfzcq6fcnkmdms6114d49awvvj5181fl7z1wlha27qc2paxjy2"))))
+ "0s0777m8kq4l96i88zj78np7283v1n4878qfc1gvzb8l45bmkg8n"))))
(build-system python-build-system)
(arguments
- `(#:modules ((guix build utils)
- (guix build python-build-system)
- (ice-9 ftw)
- (srfi srfi-1)
- (srfi srfi-26))
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-proprietary-features
(lambda _
(setenv "NUMBA_DISABLE_HSA" "1")
(setenv "NUMBA_DISABLE_CUDA" "1")
#t))
- (add-after 'unpack 'remove-failing-tests
- (lambda _
- ;; FIXME: These tests fail for unknown reasons:
- ;; test_non_writable_pycache, test_non_creatable_pycache, and
- ;; test_frozen (all in numba.tests.test_dispatcher.TestCache).
- (substitute* "numba/tests/test_dispatcher.py"
- (("def test(_non_writable_pycache)" _ m)
- (string-append "def guix_skip" m))
- (("def test(_non_creatable_pycache)" _ m)
- (string-append "def guix_skip" m))
- (("def test(_frozen)" _ m)
- (string-append "def guix_skip" m)))
-
- ;; These tests fail because we don't run the tests from the build
- ;; directory: test_setup_py_distutils, test_setup_py_setuptools
- ;; They are in numba.tests.test_pycc.TestDistutilsSupport.
- (substitute* "numba/tests/test_pycc.py"
- (("def test(_setup_py_distutils|_setup_py_setuptools)" _ m)
- (string-append "def guix_skip" m)))
-
- ;; These tests fail because our version of Python does not have
- ;; a recognizable front-end for the Numba distribution to use
- ;; to check against.
- (substitute* "numba/tests/test_entrypoints.py"
- (("def test(_init_entrypoint)" _ m)
- (string-append "def guix_skip" m)))
- (substitute* "numba/tests/test_jitclasses.py"
- (("def test(_jitclass_longlabel_not_truncated)" _ m)
- (string-append "def guix_skip" m)))
- #t))
(replace 'check
- (lambda _
- (let ((cwd (getcwd)))
- (setenv "PYTHONPATH"
- (string-append cwd "/build/"
- (find (cut string-prefix? "lib" <>)
- (scandir (string-append cwd "/build")))
- ":"
- (getenv "PYTHONPATH")))
- ;; Something is wrong with the PYTHONPATH when running the
- ;; tests from the build directory, as it complains about not being
- ;; able to import certain modules.
- (with-directory-excursion "/tmp"
- (invoke "python3" "-m" "numba.runtests" "-v" "-m")))
- #t)))))
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ ;; Something is wrong with the PYTHONPATH when running the
+ ;; tests from the build directory, as it complains about not being
+ ;; able to import certain modules.
+ (with-directory-excursion "/tmp"
+ (setenv "HOME" (getcwd))
+ (invoke "python3" "-m" "numba.runtests" "-v" "-m")))))))
(propagated-inputs
`(("python-llvmlite" ,python-llvmlite)
("python-numpy" ,python-numpy)
("python-singledispatch" ,python-singledispatch)))
- ;; Needed for tests.
- (inputs
+ (native-inputs ;for tests
`(("python-jinja2" ,python-jinja2)
("python-pygments" ,python-pygments)))
(home-page "https://numba.pydata.org")
@@ -21437,13 +21502,13 @@ information for your operating system.")
(define-public python-canonicaljson
(package
(name "python-canonicaljson")
- (version "1.1.4")
+ (version "1.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "canonicaljson" version))
(sha256
- (base32 "09cpacc8yvcc74i63pdmlfaahh77dnvbyw9zf29wml2zzwqfbg25"))))
+ (base32 "0c86g0vvzdcg3nrcsqnbzlfhpprc2i894p8i14hska56yl27d6w9"))))
(build-system python-build-system)
(propagated-inputs
`(("python-six" ,python-six)
@@ -21865,13 +21930,13 @@ dictionaries.")
(define-public pyzo
(package
(name "pyzo")
- (version "4.10.2")
+ (version "4.11.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyzo" version))
(sha256
- (base32 "1zplxcb78qy8qibifmnsx5i9gnlfmw9n6nr4yflsabpxw57mx4m1"))))
+ (base32 "0vzsk6rchavlvy7ciq1z9qh3qrj9q213v2nn491fgjq3g19glj53"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -21881,8 +21946,8 @@ dictionaries.")
;; Tests fail with "Permission denied: '/homeless-shelter'".
(setenv "HOME" "/tmp")
#t)))
- ;; Tests fail with "Uncaught Python exception: invalid literal for
- ;; int() with base 10: 'test'".
+ ;; Tests fail with "Uncaught Python exception: python: undefined
+ ;; symbol: objc_getClass".
#:tests? #f))
(propagated-inputs
`(("python-pyqt" ,python-pyqt)))