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.scm150
1 files changed, 132 insertions, 18 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 7a2b9eecc6..f8afa13f33 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7,7 +7,7 @@
;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Omar Radwan <toxemicsquire4@gmail.com>
;;; Copyright © 2015 Pierre-Antoine Rault <par@rigelk.eu>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2020 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
@@ -26,11 +26,11 @@
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2016, 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2016, 2017, 2019 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2016, 2017, 2018, 2020 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2016, 2017, 2018, 2020, 2021 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
@@ -1063,17 +1063,15 @@ inter-process communication.")
(define-public python-semantic-version
(package
(name "python-semantic-version")
- (version "2.6.0")
+ (version "2.8.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "semantic_version" version))
(sha256
(base32
- "1h2l9xyg1zzsda6kjcmfcgycbvrafwci283vcr1v5sbk01l2hhra"))))
+ "0m4avx8zdkzc7qglv5zlr54g8yna5vl098drg5396ql7aph2vjyj"))))
(build-system python-build-system)
- (arguments
- `(#:tests? #f)) ; PyPI tarball lacks tests
(home-page "https://github.com/rbarrois/python-semanticversion")
(synopsis "Semantic versioning module for Python")
(description
@@ -1164,10 +1162,54 @@ Python 3 support.")
(license (list license:psfl ; setuptools itself
license:expat ; six, appdirs, pyparsing
license:asl2.0 ; packaging is dual ASL2/BSD-2
- license:bsd-2))))
+ license:bsd-2))
+ (properties `((python2-variant . ,(delay python2-setuptools))))))
+;; Newer versions of setuptools no longer support Python 2.
(define-public python2-setuptools
- (package-with-python2 python-setuptools))
+ (package
+ (name "python2-setuptools")
+ (version "41.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "setuptools" version ".zip"))
+ (sha256
+ (base32
+ "04sns22y2hhsrwfy1mha2lgslvpjsjsz8xws7h2rh5a7ylkd28m2"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove included binaries which are used to build self-extracting
+ ;; installers for Windows.
+ ;; TODO: Find some way to build them ourself so we can include them.
+ (for-each delete-file (find-files "setuptools" "^(cli|gui).*\\.exe$"))
+ #t))))
+ (build-system python-build-system)
+ ;; FIXME: Tests require pytest, which itself relies on setuptools.
+ ;; One could bootstrap with an internal untested setuptools.
+ (arguments
+ `(#:tests? #f))
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (home-page "https://pypi.org/project/setuptools/")
+ (synopsis
+ "Library designed to facilitate packaging Python projects")
+ (description
+ "Setuptools is a fully-featured, stable library designed to facilitate
+packaging Python projects, where packaging includes:
+Python package and module definitions,
+distribution package metadata,
+test hooks,
+project installation,
+platform-specific details,
+Python 3 support.")
+ ;; TODO: setuptools now bundles the following libraries:
+ ;; packaging, pyparsing, six and appdirs. How to unbundle?
+ (license (list license:psfl ; setuptools itself
+ license:expat ; six, appdirs, pyparsing
+ license:asl2.0 ; packaging is dual ASL2/BSD-2
+ license:bsd-2))))
;; The setuptools provided by Python 3.7.4 is too new for Tensorflow.
(define-public python-setuptools-for-tensorflow
@@ -4927,10 +4969,17 @@ that client code uses to construct the grammar directly in Python code.")
"Numpy's Sphinx extensions")
(description
"Sphinx extension to support docstrings in Numpy format.")
- (license license:bsd-2)))
+ (license license:bsd-2)
+ (properties `((python2-variant . ,(delay python2-numpydoc))))))
(define-public python2-numpydoc
- (package-with-python2 python-numpydoc))
+ (let ((base (package-with-python2
+ (strip-python2-variant python-numpydoc))))
+ (package
+ (inherit base)
+ (propagated-inputs
+ `(("python2-jinja2" ,python2-jinja2)
+ ,@(package-propagated-inputs base))))))
(define-public python-numexpr
(package
@@ -5192,7 +5241,10 @@ toolkits.")
("python2-subprocess32" ,python2-subprocess32)
("python2-tkinter" ,python-2 "tk")
,@(fold alist-delete (package-propagated-inputs matplotlib)
- '("python-pycairo" "python-pygobject" "python-tkinter")))))))
+ '("python-cairocffi"
+ "python-pycairo"
+ "python-pygobject"
+ "python-tkinter")))))))
(define-public python-matplotlib-documentation
(package
@@ -11871,6 +11923,28 @@ programmatically interfacing with your system's $EDITOR.")
(define-public python2-editor
(package-with-python2 python-editor))
+(define-public python-multiprocessing-logging
+ (package
+ (name "python-multiprocessing-logging")
+ (version "0.3.1")
+ (home-page "https://github.com/jruere/multiprocessing-logging")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1625wy3djlr3b2fpd3vi822f8gw6b75mnls5a4318dbi9za5pf0y"))))
+ (build-system python-build-system)
+ (synopsis "Manage logs from multiple processes")
+ (description
+ "This Python module implements a multiprocessing-aware @code{Handler}
+that, when set on the root @code{Logger}, will tunnel log records to the
+main process so that they are handled correctly.")
+ (license license:lgpl3+)))
+
(define-public python-vobject
(package
(name "python-vobject")
@@ -14552,10 +14626,23 @@ of arguments and options for Python scripts using @code{argparse}. It's
particularly useful for programs with many options or sub-parsers that can
dynamically suggest completions; for example, when browsing resources over the
network.")
- (license license:asl2.0)))
+ (license license:asl2.0)
+ (properties `((python2-variant . ,(delay python2-argcomplete))))))
(define-public python2-argcomplete
- (package-with-python2 python-argcomplete))
+ (let ((variant (package-with-python2
+ (strip-python2-variant python-argcomplete))))
+ (package
+ (inherit variant)
+ (arguments
+ (substitute-keyword-arguments (package-arguments variant)
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'set-my-HOME
+ (lambda _ (setenv "HOME" "/tmp")))))))
+ (native-inputs
+ `(("python2-importlib-metadata" ,python2-importlib-metadata)
+ ,@(package-native-inputs variant))))))
(define-public python-csscompressor
(package
@@ -17121,18 +17208,24 @@ design and layout.")
(define-public python-pkginfo
(package
(name "python-pkginfo")
- (version "1.4.2")
+ (version "1.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pkginfo" version))
(sha256
(base32
- "0x6lm17p1ks031mj6pajyp4rkq74vpqq8qwjb7ikgwmkli1day2q"))))
+ "1d1xn1xmfvz0jr3pj8irdwnwby3r13g0r2gwklr1q5y68p5p16h2"))))
(build-system python-build-system)
(arguments
- ;; The tests are broken upstream.
- '(#:tests? #f))
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'patch-tests
+ (lambda _
+ (substitute* "pkginfo/tests/test_installed.py"
+ (("test_ctor_w_package_no_PKG_INFO")
+ "_test_ctor_w_package_no_PKG_INFO"))
+ #t)))))
(home-page
"https://code.launchpad.net/~tseaver/pkginfo/trunk")
(synopsis
@@ -23533,3 +23626,24 @@ implementations.")
"Pivy provides python bindings for Coin, a 3D graphics library with an
Application Programming Interface based on the Open Inventor 2.1 API.")
(license license:isc)))
+
+(define-public python-crayons
+ (package
+ (name "python-crayons")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "crayons" version))
+ (sha256
+ (base32
+ "0gw106k4b6y8mw7pp52awxyplj2bwvwk315k4sywzwh0g1abfcxx"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-colorama" ,python-colorama)))
+ (home-page "https://github.com/MasterOdin/crayons")
+ (synopsis "TextUI colors for Python")
+ (description "This package gives you colored strings for the terminal.
+Crayons automatically wraps a given string in the foreground color and
+restores the original state after the string is printed.")
+ (license license:expat)))