summaryrefslogtreecommitdiff
path: root/gnu/packages/python.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/python.scm')
-rw-r--r--gnu/packages/python.scm160
1 files changed, 137 insertions, 23 deletions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 22b87eba69..9b43f465cc 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -56,6 +56,7 @@
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com>
+;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -902,6 +903,29 @@ version identifier.")
(define-public python2-semantic-version
(package-with-python2 python-semantic-version))
+(define-public python-serpent
+ (package
+ (name "python-serpent")
+ (version "1.27")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "serpent" version))
+ (sha256
+ (base32
+ "04p9dsrm5pv8vhk3flvih55kgvlzpi38hlaykdiakddmgwqw93bg"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/irmen/Serpent")
+ (synopsis "Serializer for literal Python expressions")
+ (description
+ "Serpent provides ast.literal_eval() compatible object tree
+serialization. It serializes an object tree into bytes (utf-8 encoded string)
+that can be decoded and then passed as-is to ast.literal_eval() to rebuild it
+as the original object tree. As such it is safe to send serpent data to other
+machines over the network for instance (because only safe literals are
+encoded).")
+ (license license:expat)))
+
(define-public python-setuptools
(package
(name "python-setuptools")
@@ -1042,6 +1066,32 @@ for additional processing.")
(define-public python2-capturer
(package-with-python2 python-capturer))
+(define-public python-case
+ (package
+ (name "python-case")
+ (version "1.5.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "case" version))
+ (sha256
+ (base32
+ "1cagg06vfph864s6l5jb0zqliwxh647bki8j6lf4a4qrv40jnhs8"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-mock" ,python-mock)
+ ("python-nose" ,python-nose)
+ ("python-six" ,python-six)
+ ("python-unittest2" ,python-unittest2)))
+ (native-inputs
+ `(("python-coverage" ,python-coverage)))
+ (home-page "https://github.com/celery/case")
+ (synopsis "Unittest utilities and convenience methods")
+ (description
+ "The @code{case} package provides utilities on top of unittest, including
+some helpful Python 2 compatibility convenience methods.")
+ (license license:bsd-3)))
+
(define-public python-verboselogs
(package
(name "python-verboselogs")
@@ -2262,6 +2312,30 @@ object.")
(define-public python2-pyyaml
(package-with-python2 python-pyyaml))
+(define-public python-vine
+ (package
+ (name "python-vine")
+ (version "1.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "vine" version))
+ (sha256
+ (base32
+ "0wkskb2hb494v9gixqnf4bl972p4ibcmxdykzpwjlfa5picns4aj"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-case" ,python-case)))
+ (home-page "https://github.com/celery/vine")
+ (synopsis "Promises for Python")
+ (description
+ "@code{vine} provides a special implementation of promises in that it can
+be used both for \"promise of a value\" and lazy evaluation. The biggest
+upside for this is that everything in a promise can also be a promise,
+e.g. filters, callbacks and errbacks can all be promises.")
+ (license license:bsd-3)))
+
(define-public python-virtualenv
(package
(name "python-virtualenv")
@@ -8190,18 +8264,21 @@ and provides a uniform API regardless of which JSON implementation is used.")
(define-public python-amqp
(package
(name "python-amqp")
- (version "1.4.9")
+ (version "2.3.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "amqp" version))
(sha256
(base32
- "06n6q0kxhjnbfz3vn8x9yz09lwmn1xi9d6wxp31h5jbks0b4vsid"))))
+ "1sv600dgqwpimr6i1g59y9hpn50mc236gdqkr7zin13kvlpx0g87"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)
+ `(("python-case" ,python-case)
+ ("python-pytest-sugar" ,python-pytest-sugar)
("python-mock" ,python-mock)))
+ (propagated-inputs
+ `(("python-vine" ,python-vine)))
(home-page "https://github.com/celery/py-amqp")
(synopsis
"Low-level AMQP client for Python (fork of amqplib)")
@@ -8255,23 +8332,26 @@ applications.")
(define-public python-kombu
(package
(name "python-kombu")
- (version "3.0.37")
+ (version "4.2.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "kombu" version))
(sha256
(base32
- "0l16chb314gpq2v7fh94a22c30lcv6w3ylmhsa60bldlcq6a0r70"))))
+ "15k8f7mzqr049sg9vi48m19vjykviafk3f0p5xzgw9by0x0kyxjj"))))
(build-system python-build-system)
(native-inputs
`(("python-mock" ,python-mock)
- ("python-nose" ,python-nose)))
+ ("python-case" ,python-case)
+ ("python-pyro4" ,python-pyro4)
+ ("python-pytest-sugar" ,python-pytest-sugar)
+ ("python-pytz" ,python-pytz)))
(propagated-inputs
`(("python-anyjson" ,python-anyjson)
("python-amqp" ,python-amqp)
("python-redis" ,python-redis)))
- (home-page "http://kombu.readthedocs.org")
+ (home-page "https://kombu.readthedocs.io")
(synopsis "Message passing library for Python")
(description "The aim of Kombu is to make messaging in Python as easy as
possible by providing an idiomatic high-level interface for the AMQ protocol,
@@ -8297,17 +8377,18 @@ RabbitMQ messaging server is the most popular implementation.")
(define-public python-billiard
(package
(name "python-billiard")
- (version "3.3.0.23")
+ (version "3.5.0.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "billiard" version))
(sha256
(base32
- "02wxsc6bhqvzh8j6w758kvgqbnj14l796mvmrcms8fgfamd2lak9"))))
+ "03msmapj3s5zgqk87d646mafz7a01h5bm2wijalgpi0s80ks5na2"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)))
+ `(("python-case" ,python-case)
+ ("python-pytest" ,python-pytest)))
(home-page "https://github.com/celery/billiard")
(synopsis
"Python multiprocessing fork with improvements and bugfixes")
@@ -8331,31 +8412,35 @@ Python 2.4 and 2.5, and will draw its fixes/improvements from python-trunk.")
(define-public python-celery
(package
(name "python-celery")
- (version "3.1.24")
+ (version "4.2.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "celery" version))
(sha256
(base32
- "0yh2prhdnx2dgkb67a5drj12hh2zvzx5f611p7mqqg01ydghif4r"))))
+ "0y66rz7z8dfcgs3s0qxmdddlaq57bzbgxgfz896nbp14grkv9nkp"))))
(build-system python-build-system)
(arguments
- `(#:phases
+ '(;; TODO The tests fail with Python 3.7
+ ;; https://github.com/celery/celery/issues/4849
+ #:tests? #f
+ #:phases
(modify-phases %standard-phases
- ;; These tests break with Python 3.5:
- ;; https://github.com/celery/celery/issues/2897#issuecomment-253066295
- (replace 'check
+ (add-after 'unpack 'patch-requirements
(lambda _
- (zero?
- (system* "nosetests" "--exclude=^test_safe_to_remove.*")))))))
+ (substitute* "requirements/test.txt"
+ (("pytest>=3\\.0,<3\\.3")
+ "pytest>=3.0"))
+ #t)))))
(native-inputs
- `(("python-nose" ,python-nose)))
+ `(("python-case" ,python-case)
+ ("python-pytest" ,python-pytest)))
(propagated-inputs
`(("python-pytz" ,python-pytz)
("python-billiard" ,python-billiard)
("python-kombu" ,python-kombu)))
- (home-page "http://celeryproject.org")
+ (home-page "https://celeryproject.org")
(synopsis "Distributed Task Queue")
(description "Celery is an asynchronous task queue/job queue based on
distributed message passing. It is focused on real-time operation, but
@@ -10617,9 +10702,16 @@ useful as a validator for JSON data.")
(base32
"090vdksbz341f7ljvr0zswblw4lspa8qaiikzyjkf318arpxmil9"))))
(build-system python-build-system)
- ;; Test suite requires python-setuptools
- (native-inputs
- `(("python-setuptools" ,python-setuptools)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'set-pythonpath
+ (lambda _
+ (setenv "PYTHONPATH"
+ (string-append
+ (getcwd) "/test/"
+ ":" (getenv "PYTHONPATH")))
+ #t)))))
(home-page
"https://github.com/eliben/pyelftools")
(synopsis
@@ -13253,6 +13345,28 @@ such as figshare or Zenodo.")
(define-public python2-semver
(package-with-python2 python-semver))
+(define-public python-pyro4
+ (package
+ (name "python-pyro4")
+ (version "4.74")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Pyro4" version))
+ (sha256
+ (base32
+ "0pzp7c6q3vvkxq0wy9lr6wd5wky40sajz69g697i5rb2q497pvc9"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-serpent" ,python-serpent)))
+ (home-page "https://pyro4.readthedocs.io")
+ (synopsis "Distributed object middleware for Python")
+ (description
+ "Pyro enables you to build applications in which objects can talk to each
+other over the network. You can just use normal Python method calls to call
+objects on other machines, also known as remote procedure calls (RPC).")
+ (license license:expat)))
+
(define-public python2-pyro
(package
(name "python2-pyro")