diff options
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r-- | gnu/packages/python-xyz.scm | 219 |
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))) |