aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/python.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/python.scm')
-rw-r--r--gnu/packages/python.scm492
1 files changed, 379 insertions, 113 deletions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 727e1bff26..bfd003ba3e 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -75,6 +75,7 @@
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages man)
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages networking)
@@ -87,6 +88,7 @@
#:use-module (gnu packages protobuf)
#:use-module (gnu packages readline)
#:use-module (gnu packages sdl)
+ #:use-module (gnu packages shells)
#:use-module (gnu packages statistics)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
@@ -438,6 +440,9 @@ instead of @command{python3}.")))
(base32
"1w4r09fvn6kd80m5mx4ws1wz100brkaq6hzzpwrns8cgjzjpl6c6"))))
(build-system python-build-system)
+ (arguments
+ ;; FIXME: some tests does not return and times out.
+ '(#:tests? #f))
(home-page "https://www.github.com/giampaolo/psutil")
(synopsis "Library for retrieving information on running processes")
(description
@@ -538,6 +543,14 @@ John the Ripper).")
(base32
"14k8z7ndc3zk5xivnm4d8lncchx475ll5izpf8vmfbq7rp9yp5rj"))))
(build-system python-build-system)
+ (arguments
+ '(;; FIXME: One test fails with "EOFError not raised by connect".
+ #:tests? #f))
+ ;; #:phases
+ ;; (modify-phases %standard-phases
+ ;; (replace 'check
+ ;; (lambda _
+ ;; (zero? (system* "python" "test.py")))))))
(propagated-inputs
`(("python-pycrypto" ,python-pycrypto)
("python-ecdsa" ,python-ecdsa)))
@@ -1046,6 +1059,9 @@ password storage.")
(base32
"0snmb8xffb3vsma0z67i0h0w2g2dy0p3gsgh9gi4i0kgc5l8spqh"))))
(build-system python-build-system)
+ (native-inputs
+ `(("python-py" ,python-py)
+ ("python-pytest" ,python-pytest)))
(home-page "http://pypi.python.org/pypi/six/")
(synopsis "Python 2 and 3 compatibility utilities")
(description
@@ -1059,7 +1075,7 @@ Python file, so it can be easily copied into your project.")
(define-public python2-six
(package-with-python2 python-six))
-(define-public python-dateutil-2
+(define-public python-dateutil
(package
(name "python-dateutil")
(version "2.5.2")
@@ -1080,29 +1096,6 @@ Python file, so it can be easily copied into your project.")
datetime module, available in Python 2.3+.")
(license license:bsd-3)))
-(define-public python2-dateutil-2
- (package-with-python2 python-dateutil-2))
-
-(define-public python-dateutil
- (package
- (name "python-dateutil")
- (version "1.5") ; last version for python < 3
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://labix.org/download/python-dateutil/"
- "python-dateutil-" version ".tar.gz"))
- (sha256
- (base32
- "0fqfglhy5khbvsipr3x7m6bcaqljh8xl5cw33vbfxy7qhmywm2n0"))))
- (build-system python-build-system)
- (home-page "https://dateutil.readthedocs.io/en/stable/")
- (synopsis "Extensions to the standard datetime module")
- (description
- "The dateutil module provides powerful extensions to the standard
-datetime module, available in Python 2.3+.")
- (license license:psfl)))
-
(define-public python2-dateutil
(package-with-python2 python-dateutil))
@@ -1148,7 +1141,7 @@ datetime module, available in Python 2.3+.")
(propagated-inputs
`(("python-numpy" ,python-numpy)
("python-pytz" ,python-pytz)
- ("python-dateutil" ,python-dateutil-2)))
+ ("python-dateutil" ,python-dateutil)))
(native-inputs
`(("python-nose" ,python-nose)
("python-cython" ,python-cython)))
@@ -1724,6 +1717,12 @@ standard library.")
(base32
"0561gz2w3i825gyl42mcq14y3dcgkapfiv5zv9a2bz15qxiijl56"))))
(build-system python-build-system)
+ (arguments
+ ;; FIXME: "ImportError: 'test' module incorrectly imported from
+ ;; '/gnu/store/...-python-pytest-mimimal-3.0.5/lib/python3.5/site-packages'.
+ ;; Expected '/tmp/guix-build-python-py-1.4.31.drv-0/py-1.4.31/py'.
+ ;; Is this module globally installed?"
+ '(#:tests? #f))
(home-page "http://pylib.readthedocs.org/")
(synopsis "Python library for parsing, I/O, instrospection, and logging")
(description
@@ -1922,6 +1921,15 @@ same arguments.")
(for-each delete-file (find-files "." "\\.pyc$"))
#t))))
(build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ;FIXME: Some tests are failing.
+ ;; #:phases
+ ;; (modify-phases %standard-phases
+ ;; (delete 'check)
+ ;; (add-after 'install 'check
+ ;; (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; (add-installed-pythonpath inputs outputs)
+ ;; (zero? (system* "py.test" "-v")))))
(native-inputs
`(("unzip" ,unzip)
("python-setuptools-scm" ,python-setuptools-scm)))
@@ -2155,10 +2163,18 @@ from git information.
(base32
"0djxvdwm8s60dbfn7bhf40x6g818p3b3mlwijm1c3bqg7msn271y"))))
(build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (zero? (system* "python" "-m" "testtools.run"
+ "fixtures.test_suite")))))))
(propagated-inputs
`(("python-six" ,python-six)))
(native-inputs
- `(("python-pbr-minimal" ,python-pbr-minimal)
+ `(("python-mock" ,python-mock)
+ ("python-pbr-minimal" ,python-pbr-minimal)
("python-testtools" ,python-testtools)))
(home-page "https://launchpad.net/python-fixtures")
(synopsis "Python test fixture library")
@@ -2184,6 +2200,9 @@ Python tests.")
(base32
"1ssqb07c277010i6gzzkbdd46gd9mrj0bi0i8vn560n2k2y4j93m"))))
(build-system python-build-system)
+ (arguments
+ ;; FIXME: Many tests are failing.
+ '(#:tests? #f))
(propagated-inputs
`(("python-fixtures" ,python-fixtures)
("python-subunit" ,python-subunit)
@@ -2213,6 +2232,9 @@ have failed since the last commit or what tests are currently failing.")
(base32
"01rbr4br4lsk0lwn8fb96zwd2xr4f0mg1w7iq3j11i8f5ig2nqs1"))))
(build-system python-build-system)
+ (arguments
+ ;; FIXME: 95 tests failed, 539 passed, 6 skipped, 2 errors.
+ '(#:tests? #f))
(home-page "http://nedbatchelder.com/code/coverage")
(synopsis "Code coverage measurement for Python")
(description
@@ -2388,7 +2410,12 @@ is used by the Requests library to verify HTTPS requests.")
(substitute* "click/_unicodefun.py"
(("'locale'")
(string-append "'" glibc "/bin/locale'"))))
- #t)))))
+ #t))
+ (replace 'check
+ (lambda _
+ (zero? (system* "make" "test")))))))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
(home-page "http://click.pocoo.org")
(synopsis "Command line library for Python")
(description
@@ -2447,12 +2474,11 @@ installed with a newer @code{pip} or with wheel's own command line utility.")
(sha256
(base32
"0zsqrzlybf25xscgi7ja4s48y2abf9wvjkn47wh984qgs1fq2xy5"))))
+ ;; TODO: unbundle urllib3 and chardet.
(build-system python-build-system)
- (native-inputs
- `(("python-py" ,python-py)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-wheel" ,python-wheel)))
+ (arguments
+ ;; FIXME: Some tests require network access.
+ '(#:tests? #f))
(home-page "http://python-requests.org/")
(synopsis "Python HTTP library")
(description
@@ -2625,6 +2651,7 @@ somewhat intelligeble.")
(build-system python-build-system)
(native-inputs
`(("python-nose" ,python-nose)
+ ("python-mock" ,python-mock)
("python-cryptography" ,python-cryptography)
("python-pyjwt" ,python-pyjwt)
("python-blinker" ,python-blinker)))
@@ -2641,7 +2668,6 @@ OAuth request-signing logic.")
(package
(inherit base)
(native-inputs `(("python2-unittest2" ,python2-unittest2)
- ("python2-mock" ,python2-mock)
,@(package-native-inputs base))))))
(define-public python-itsdangerous
@@ -2788,15 +2814,26 @@ written in pure Python.")
(base32
"0nmqsfmiw4arjxqkmf9z66ml950pcdjk6aq4gin4sywmzdjw5fzp"))))
(build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; FIXME: Python 3 tests are failing.
(home-page "http://defunkt.io/pystache/")
(synopsis "Python logic-less template engine")
(description
"Pystache is a Python implementation of the framework agnostic,
logic-free templating system Mustache.")
- (license license:expat)))
+ (license license:expat)
+ (properties `((python2-variant . ,(delay python2-pystache))))))
(define-public python2-pystache
- (package-with-python2 python-pystache))
+ (package (inherit (package-with-python2
+ (strip-python2-variant python-pystache)))
+ (arguments
+ `(#:python ,python-2
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (zero? (system* "python" "test_pystache.py")))))))))
(define-public python-joblib
(package
@@ -2893,6 +2930,9 @@ reStructuredText.")
(base32
"10axnp2wpjnq9g8wg53fx0c70dfxqrz498jyz8mrdx9a3flwir48"))))
(build-system python-build-system)
+ (arguments
+ ;; FIXME: Tests require sphinx, which depends on this.
+ '(#:tests? #f))
(home-page "http://pygments.org/")
(synopsis "Syntax highlighting")
(description
@@ -2916,6 +2956,9 @@ reStructuredText.")
(base32
"011xizm3jnmf4cvs5i6kgf6c5nn046h79i8j0vd0f27yw9j3p4wl"))))
(build-system python-build-system)
+ (arguments
+ ;; FIXME: Missing dependencies.
+ '(#:tests? #f))
(propagated-inputs
`(("python-jinja2" ,python-jinja2)
("python-docutils" ,python-docutils)
@@ -2944,6 +2987,8 @@ sources.")
(base32
"19nw3rn7awplcdrz63kg1njqwkbymfg9lwn7l2grhdyhyr2gaa8g"))))
(build-system python-build-system)
+ (propagated-inputs
+ `(("python-sphinx" ,python-sphinx)))
(home-page "https://github.com/snide/sphinx_rtd_theme/")
(synopsis "ReadTheDocs.org theme for Sphinx")
(description "A theme for Sphinx used by ReadTheDocs.org.")
@@ -2965,7 +3010,7 @@ sources.")
"0bh4lnj2p1nh0wf5pgxgfbrp27xhb1rinahkb5j7s3qprq6qn0sr"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-dateutil" ,python-dateutil-2)
+ `(("python-dateutil" ,python-dateutil)
("python-six" ,python-six)))
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)))
@@ -3059,7 +3104,7 @@ interested parties to subscribe to events, or \"signals\".")
("python-blinker" ,python-blinker)
("python-unidecode" ,python-unidecode)
("python-six" ,python-six)
- ("python-dateutil-2" ,python-dateutil-2)))
+ ("python-dateutil" ,python-dateutil)))
(home-page "http://getpelican.com/")
(arguments
`(;; XXX Requires a lot more packages to do unit tests :P
@@ -3136,6 +3181,9 @@ mining and data analysis.")
(sha256
(base32 "0jz416fqvpahqyffw8plmszzfj669w8wvf3y9clnr5lr6a7md3kn"))))
(build-system python-build-system)
+ (arguments
+ ;; TODO: Some tests require running X11 server. Disable them?
+ '(#:tests? #f))
;; See DEPENDS.txt for the list of build and run time requiremnts
(propagated-inputs
`(("python-matplotlib" ,python-matplotlib)
@@ -3387,7 +3435,8 @@ objects.")
(native-inputs
`(("unzip" ,unzip)
("python2-cython" ,python2-cython)
- ("python2-mock" ,python2-mock)))
+ ("python2-mock" ,python2-mock)
+ ("python2-nose" ,python2-nose)))
(home-page "http://research.microsoft.com/en-us/um/redmond/projects/mscompbio/fastlmm/")
(synopsis "Perform genome-wide association studies on large data sets")
(description
@@ -3622,7 +3671,7 @@ transcendental functions).")
("python-pygobject" ,python-pygobject)
("gobject-introspection" ,gobject-introspection)
("python-tkinter" ,python "tk")
- ("python-dateutil" ,python-dateutil-2)
+ ("python-dateutil" ,python-dateutil)
("python-numpy" ,python-numpy-bootstrap)
("python-pillow" ,python-pillow)
("python-pytz" ,python-pytz)
@@ -3786,6 +3835,16 @@ operators such as union, intersection, and difference.")
(base32
"0nhan2qvrw7b7gg5zddwa22kybdv3x1g26vkd7q8lvnkgzrs4dga"))))
(build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ ;; It's easier to run tests after install.
+ ;; Make installed package available for running the tests
+ (add-installed-pythonpath inputs outputs)
+ (zero? (system* "python" "-m" "rpy2.tests" "-v")))))))
(propagated-inputs
`(("python-six" ,python-six)))
(inputs
@@ -4100,11 +4159,22 @@ both of which are installed automatically if you install this library.")
(base32
"1wghyvk73cmq3iqyg3fczw128fv2pan2v76m0xg1bw05h8fhvnk3"))))
(build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; FIXME: Many tests require a running database server.
+ ;; #:phases
+ ;; (modify-phases %standard-phases
+ ;; (replace 'check
+ ;; (lambda _
+ ;; (zero? (system* "py.test" "sqlalchemy_utils" "tests")))))
(propagated-inputs
`(("python-six" ,python-six)
("python-sqlalchemy" ,python-sqlalchemy)))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ `(("python-dateutil" ,python-dateutil)
+ ("python-flexmock" ,python-flexmock)
+ ("python-psycopg2" ,python-psycopg2)
+ ("python-pytest" ,python-pytest)
+ ("python-pytz" ,python-pytz)))
(home-page "https://github.com/kvesteri/sqlalchemy-utils")
(synopsis "Various utility functions for SQLAlchemy")
(description
@@ -4367,16 +4437,18 @@ a front-end for C compilers or analysis tools.")
`(("python-cffi" ,python-cffi) ; used at run time
("python-six" ,python-six)))
(arguments
- `(#:phases
- (alist-cons-after
- 'install 'install-doc
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((doc (string-append (assoc-ref outputs "out") "/share"
- "/doc/" ,name "-" ,version)))
- (mkdir-p doc)
- (copy-file "README.md"
- (string-append doc "/README.md"))))
- %standard-phases)))
+ `(;; FIXME: Tests cannot load libxcb.so.1
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((doc (string-append (assoc-ref outputs "out") "/share"
+ "/doc/" ,name "-" ,version)))
+ (mkdir-p doc)
+ (copy-file "README.md"
+ (string-append doc "/README.md"))
+ #t))))))
(home-page "https://github.com/tych0/xcffib")
(synopsis "XCB Python bindings")
(description
@@ -4413,25 +4485,27 @@ support for Python 3 and PyPy. It is based on cffi.")
(propagated-inputs
`(("python-xcffib" ,python-xcffib))) ; used at run time
(arguments
- `(#:phases
- (alist-cons-after
- 'install 'install-doc
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
- (doc (string-append data "/doc/" ,name "-" ,version))
- (html (string-append doc "/html")))
- (setenv "LD_LIBRARY_PATH"
- (string-append (assoc-ref inputs "cairo") "/lib" ":"
- (assoc-ref inputs "gdk-pixbuf") "/lib"))
- (setenv "LANG" "en_US.UTF-8")
- (mkdir-p html)
- (for-each (lambda (file)
- (copy-file (string-append "." file)
- (string-append doc file)))
- '("/README.rst" "/CHANGES" "/LICENSE"))
- (system* "python" "setup.py" "build_sphinx")
- (copy-recursively "docs/_build/html" html)))
- %standard-phases)))
+ `(;; FIXME: Tests cannot find 'libcairo.so.2'.
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-doc
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
+ (doc (string-append data "/doc/" ,name "-" ,version))
+ (html (string-append doc "/html")))
+ (setenv "LD_LIBRARY_PATH"
+ (string-append (assoc-ref inputs "cairo") "/lib" ":"
+ (assoc-ref inputs "gdk-pixbuf") "/lib"))
+ (setenv "LANG" "en_US.UTF-8")
+ (mkdir-p html)
+ (for-each (lambda (file)
+ (copy-file (string-append "." file)
+ (string-append doc file)))
+ '("/README.rst" "/CHANGES" "/LICENSE"))
+ (system* "python" "setup.py" "build_sphinx")
+ (copy-recursively "docs/_build/html" html)
+ #t))))))
(home-page "https://github.com/SimonSapin/cairocffi")
(synopsis "Python bindings and object-oriented API for Cairo")
(description
@@ -4512,6 +4586,8 @@ Python language binding specification.")
(sha256
(base32 "1gzjg2k6f14i1msm2b0ax8d9ds1hvk6qd5nlaivg8m4cxqp4cp1x"))))
(build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; FIXME: Requires python-cherrypy.
(propagated-inputs
`(("python-psutil" ,python-psutil)
("python-drmaa" ,python-drmaa)
@@ -4530,21 +4606,39 @@ cluster without needing to write any wrapper code yourself.")
(define-public python-pexpect
(package
(name "python-pexpect")
- (version "3.3")
+ (version "4.2.1")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/p/"
- "pexpect/pexpect-" version ".tar.gz"))
+ (uri (pypi-uri "pexpect" version))
(sha256
- (base32 "1fp5gm976z7ghm8jw57463rj19cv06c8zw842prgyg788f6n3snz"))))
+ (base32 "14ls7k99pwvl21zqv65kzrhccv50j89m5ij1hf0slmsvlxjj84rx"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-before 'check 'prepare-tests
+ (lambda _
+ (substitute* (find-files "tests")
+ (("/bin/ls") (which "ls"))
+ (("/bin/echo") (which "echo"))
+ (("/bin/which") (which "which"))
+ ;; Many tests try to use the /bin directory which
+ ;; is not present in the build environment.
+ ;; Use one that's non-empty and unlikely to change.
+ (("/bin'") "/dev'"))
+ ;; XXX: Socket connection test gets "Connection reset by peer".
+ ;; Why does it not work? Delete for now.
+ (delete-file "tests/test_socket.py")
+ #t))
(replace 'check (lambda _ (zero? (system* "nosetests")))))))
(native-inputs
- `(("python-nose" ,python-nose)))
+ `(("python-nose" ,python-nose)
+ ("python-pytest" ,python-pytest)
+ ("man-db" ,man-db)
+ ("which" ,which)))
+ (propagated-inputs
+ `(("python-ptyprocess" ,python-ptyprocess)))
(home-page "http://pexpect.readthedocs.org/")
(synopsis "Controlling interactive console applications")
(description
@@ -5242,13 +5336,12 @@ implementation of D-Bus.")
`(("sqlite" ,sqlite)))
(arguments
`(#:phases
- ;; swap check and install phases
- (alist-cons-after
- 'install 'check
- (assoc-ref %standard-phases 'check)
- (alist-delete
- 'check
- %standard-phases))))
+ (modify-phases %standard-phases
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (zero? (system* "python" "setup.py" "test")))))))
(home-page "https://github.com/rogerbinns/apsw/")
(synopsis "Another Python SQLite Wrapper")
(description "APSW is a Python wrapper for the SQLite
@@ -5320,7 +5413,8 @@ screen-scraping projects. It offers Pythonic idioms for navigating,
searching, and modifying a parse tree, providing a toolkit for
dissecting a document and extracting what you need. It automatically
converts incoming documents to Unicode and outgoing documents to UTF-8.")
- (license license:expat)))
+ (license license:expat)
+ (properties `((python2-variant . ,(delay python2-beautifulsoup4))))))
(define-public python2-beautifulsoup4
(package
@@ -5484,17 +5578,18 @@ of the structure, dynamics, and functions of complex networks.")
(define-public snakemake
(package
(name "snakemake")
- (version "3.2.1")
+ (version "3.9.0")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/s/snakemake/snakemake-"
- version ".tar.gz"))
+ (uri (pypi-uri "snakemake" version))
(sha256
- (base32 "0fi4b63sj60hvi7rfydvmz2icl4wj74djw5sn2gl8hxd02qw4b91"))))
+ (base32 "1d48ql0010v9ls6mac7fz6j391gm4h74a64hqgw89s0vfqgdyzdl"))))
(build-system python-build-system)
- (home-page "https://bitbucket.org/johanneskoester/snakemake")
+ (arguments
+ ;; TODO: Package missing test dependencies.
+ '(#:tests? #f))
+ (home-page "https://bitbucket.org/snakemake/snakemake/wiki/Home")
(synopsis "Python-based execution environment for make-like workflows")
(description
"Snakemake aims to reduce the complexity of creating workflows by
@@ -5513,6 +5608,8 @@ Python style, together with a fast and comfortable execution environment.")
(sha256
(base32 "0ibi3xsfm2kysph61mnfy0pf8d5rkgxgrdb0z9nbizgcgdsb5a0m"))))
(build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; Tests requires a running X11 server.
(propagated-inputs
`(("python-pandas" ,python-pandas)
("python-matplotlib" ,python-matplotlib)
@@ -5534,10 +5631,40 @@ and statistical routines from scipy and statsmodels.")
(propagated-inputs `(("python2-pytz" ,python2-pytz)
,@(package-propagated-inputs base))))))
+(define-public python-mpmath
+ (package
+ (name "python-mpmath")
+ (version "0.19")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://mpmath.org/files/mpmath-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "08ijsr4ifrqv3cjc26mkw0dbvyygsa99in376hr4b96ddm1gdpb8"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (zero?
+ (system* "python" "mpmath/tests/runtests.py" "-local")))))))
+ (home-page "http://mpmath.org")
+ (synopsis "Arbitrary-precision floating-point arithmetic in python")
+ (description
+ "@code{mpmath} can be used as an arbitrary-precision substitute for
+Python's float/complex types and math/cmath modules, but also does much
+more advanced mathematics.")
+ (license license:bsd-3)))
+
+(define-public python2-mpmath
+ (package-with-python2 python-mpmath))
+
(define-public python-sympy
(package
(name "python-sympy")
- (version "0.7.6")
+ (version "1.0")
(source
(origin
(method url-fetch)
@@ -5545,8 +5672,10 @@ and statistical routines from scipy and statsmodels.")
"https://github.com/sympy/sympy/releases/download/sympy-"
version "/sympy-" version ".tar.gz"))
(sha256
- (base32 "19yp0gy4i7p4g6l3b8vaqkj9qj7yqb5kqy0qgbdagpzgkdz958yz"))))
+ (base32 "1bpzjwr9hrr7w88v4vgnj9lr6vxcldc94si13n8xpr1rv08d5b1y"))))
(build-system python-build-system)
+ (propagated-inputs
+ `(("python-mpmath" ,python-mpmath)))
(home-page "http://www.sympy.org/")
(synopsis "Python library for symbolic mathematics")
(description
@@ -5664,6 +5793,17 @@ It is written entirely in Python.")
(sha256
(base32 "1gzgwayl6hmc9jfcl88bni4jcsk2jcca9dn1rvrfsvnijcjx7hn9"))))
(build-system python-build-system)
+ (arguments
+ '(;; FIXME: Two tests error out with:
+ ;; AssertionError: b'Error in atexit._run_exitfuncs:\nFileNotF[44 chars]ry\n' != b''
+ ;; #:phases
+ ;; (modify-phases %standard-phases
+ ;; (replace 'check
+ ;; (lambda _
+ ;; ;; 'setup.py test' hits an AssertionError on BSD-specific
+ ;; ;; "tornado/platform/kqueue.py". This is the supported method:
+ ;; (zero? (system* "python" "-m" "tornado.test")))))
+ #:tests? #f))
(native-inputs
`(("python-certifi" ,python-certifi)))
(propagated-inputs
@@ -5873,7 +6013,10 @@ complexity of Python source code.")
".tar.gz"))
(sha256
(base32
- "12b9bbdbwnspxgak14xg58c130x2n0blxzlms5jn2dszn8qj3d0m"))))))
+ "12b9bbdbwnspxgak14xg58c130x2n0blxzlms5jn2dszn8qj3d0m"))))
+ (arguments
+ ;; XXX Tests not compatible with Python 3.5.
+ '(#:tests? #f))))
(define-public python2-pep8-1.5.7
(package-with-python2 python-pep8-1.5.7))
@@ -5892,7 +6035,10 @@ complexity of Python source code.")
".tar.gz"))
(sha256
(base32
- "0sbpq6pqm1i9wqi41mlfrsc5rk92jv4mskvlyxmnhlbdnc80ma1z"))))))
+ "0sbpq6pqm1i9wqi41mlfrsc5rk92jv4mskvlyxmnhlbdnc80ma1z"))))
+ (arguments
+ ;; XXX Tests not compatible with Python 3.5.
+ '(#:tests? #f))))
(define-public python2-pyflakes-0.8.1
(package-with-python2 python-pyflakes-0.8.1))
@@ -5960,7 +6106,10 @@ complexity of Python source code.")
(for-each delete-file-recursively
(find-files "." "__pycache__" #:directories? #t))
(for-each delete-file (find-files "." "\\.pyc$"))
- #t))))))
+ #t))))
+ (arguments
+ ;; XXX Fails with Python 3.5.
+ '(#:tests? #f))))
(define-public python2-flake8-2.2.4
(package-with-python2 python-flake8-2.2.4))
@@ -6171,6 +6320,9 @@ from an XML-based format.")
(base32
"0g6n288l83sfwavxh1aryi0aqvsr3sp7v6f903mckwqa4scpky62"))))
(build-system python-build-system)
+ (arguments
+ ;; FIXME: Some tests need network access.
+ '(#:tests? #f))
(synopsis "Tool and library for manipulating LilyPond files")
(description "This package provides a Python library to parse, manipulate
or create documents in LilyPond format. A command line program ly is also
@@ -6339,6 +6491,8 @@ and MAC network addresses.")
(base32
"0c7gh3lsdjds262h0v1sqc66l7hqgfwbakn96qrhdbl0i3vm5yz8"))))
(build-system python-build-system)
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
(home-page "https://bitbucket.org/micktwomey/pyiso8601")
(synopsis "Module to parse ISO 8601 dates")
(description
@@ -6751,13 +6905,25 @@ message digests and key derivation functions.")
(uri (pypi-uri "pyOpenSSL" version))
(sha256
(base32
- "0vji4yrfshs15xpczbhzhasnjrwcarsqg87n98ixnyafnyxs6ybp"))))
+ "0vji4yrfshs15xpczbhzhasnjrwcarsqg87n98ixnyafnyxs6ybp"))
+ (patches
+ (search-patches "python-pyopenssl-skip-network-test.patch"))))
(build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (zero? (system* "py.test" "-v")))))))
(propagated-inputs
`(("python-cryptography" ,python-cryptography)
("python-six" ,python-six)))
(inputs
`(("openssl" ,openssl)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
(home-page "https://github.com/pyca/pyopenssl")
(synopsis "Python wrapper module around the OpenSSL library")
(description
@@ -7074,9 +7240,19 @@ functions to find and load entry points.")
(base32
"0brclbb18l4nmd5qy3dl9wn05rjdh1fz4rmzdlfqacj12rcdvdgp"))))
(build-system python-build-system)
- ;; The "bdist_egg" target is disabled by default, causing the installation
- ;; to fail.
- (arguments `(#:configure-flags (list "bdist_egg")))
+ (arguments
+ `(;; The "bdist_egg" target is disabled by default, causing the installation
+ ;; to fail.
+ #:configure-flags (list "bdist_egg")
+ ;; FIXME: 5 failures, 40 errors.
+ #:tests? #f))
+ ;; #:phases
+ ;; (modify-phases %standard-phases
+ ;; (replace 'check
+ ;; (lambda _
+ ;; (zero? (system* "py.test" "-v")))))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
(propagated-inputs
`(("python-bleach" ,python-bleach)
("python-entrypoints" ,python-entrypoints)
@@ -7177,7 +7353,8 @@ interactive computing.")
(propagated-inputs
`(("python-notebook" ,python-notebook)))
(native-inputs
- `(("python-nose" ,python-nose)))
+ `(("python-certifi" ,python-certifi)
+ ("python-nose" ,python-nose)))
(home-page "http://ipython.org")
(synopsis "IPython HTML widgets for Jupyter")
(description "This package provides interactive HTML widgets for Jupyter
@@ -7458,6 +7635,8 @@ forms, HTTP servers, regular expressions, and more.")
(base32
"1r7iqknhh55y45f64mz5hghgvzx34h1i11k350s0avx6q8gznja1"))))
(build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; FIXME: Tests can't find zope.interface.
(native-inputs
`(("python-six" ,python-six)
;("python-zope-interface" ,python-zope-interface)
@@ -7518,8 +7697,11 @@ internationalized messages within program source text.")
(base32
"1p943jdxb587dh7php4vx04qvn7b2877hr4qs5zyckvp5afhhank"))))
(build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; FIXME: Tests can't find zope.event.
(propagated-inputs
`(("python-zope-event" ,python-zope-event)
+ ("python-zope-exceptions", python-zope-exceptions)
("python-zope-interface" ,python-zope-interface)))
(native-inputs
`(("python-zope-testing" ,python-zope-testing)
@@ -7547,6 +7729,8 @@ defining data schemas.")
(base32
"1x9dfqypgympnlm25p9m43xh4qv3p7d75vksv9pzqibrb4cggw5n"))))
(build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; FIXME: Tests can't find zope.interface.
(propagated-inputs
`(("python-zope-i18nmessageid" ,python-zope-i18nmessageid)
("python-zope-schema" ,python-zope-schema)))
@@ -7572,6 +7756,8 @@ Markup Language.")
(base32
"0pqwwmvm1prhwv1ziv9lp8iirz7xkwb6n2kyj36p2h0ppyyhjnm4"))))
(build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; FIXME: Tests can't find zope.interface.
(propagated-inputs
`(("python-zope-interface" ,python-zope-interface)))
(home-page "http://pypi.python.org/pypi/zope.proxy")
@@ -7599,6 +7785,8 @@ brokering, etc.) for which the proxy is responsible.")
(base32
"1nj9da4ksiyv3h8n2vpzwd0pb03mdsh7zy87hfpx72b6p2zcwg74"))))
(build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; FIXME: Tests can't find zope.interface.
(propagated-inputs
`(("python-zope-proxy" ,python-zope-proxy)
("python-zope-schema" ,python-zope-schema)))
@@ -7624,12 +7812,15 @@ Zope3, which are are special objects that have a structural location.")
(base32
"14zmf684amc0x32kq05yxnhfqd1cmyhafkw05gn81rn90zjv6ssy"))))
(build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; FIXME: Tests can't find zope.testrunner.
(propagated-inputs
`(("python-zope-i18nmessageid" ,python-zope-i18nmessageid)
("python-zope-proxy" ,python-zope-proxy)
("python-zope-schema" ,python-zope-schema)))
- (native-inputs
- `(("python-zope-component" ,python-zope-component)
+ (native-inputs
+ `(("python-six" ,python-six)
+ ("python-zope-component" ,python-zope-component)
("python-zope-configuration" ,python-zope-configuration)
("python-zope-location" ,python-zope-location)
("python-zope-testrunner" ,python-zope-testrunner)
@@ -8233,7 +8424,7 @@ processes across test runs.")
"1bvi7rzh7scl4nmgj2n2cy7k0v3p29y15cqy2hcdnfq9mnhdr63y"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-dateutil-2" ,python-dateutil-2)
+ `(("python-dateutil" ,python-dateutil)
("python-pytz" ,python-pytz)))
(synopsis "Python library for parsing iCalendar files")
(description "The icalendar package is a parser/generator of iCalendar
@@ -8291,6 +8482,14 @@ Blog, News or Announcements section to a Sphinx website.")
(base32
"1an5lkkqk1zha47198p42ji3m94xmzx1a03dn7866m87n4r4q8h5"))))
(build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (zero? (system* "py.test" "-v")))))))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
(propagated-inputs
`(("python-args" ,python-args)))
(home-page "https://github.com/kennethreitz/clint")
@@ -8360,6 +8559,17 @@ with a new public API, and RPython support.")
(base32
"1msqv747iz12r73mz4qvsmlwkddwjvrahlrk7ysrcz07h7dsscxs"))))
(build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ ;; Tests require write access to HOME.
+ (setenv "HOME" "/tmp")
+ (zero? (system* "nosetests")))))))
+ (native-inputs
+ `(("python-coverage" ,python-coverage)
+ ("python-nose" ,python-nose)))
(propagated-inputs
`(("python-astor" ,python-astor)
("python-clint" ,python-clint)
@@ -8634,6 +8844,8 @@ servers.")
(base32
"0g9xvl69y7nr3w7ag4fsp6sm4fqf6vrqjw7504x2hzrrsh3ampq8"))))
(build-system python-build-system)
+ (native-inputs
+ `(("python-nose" ,python-nose)))
(synopsis "JSON Matching Expressions")
(description "JMESPath (pronounced “james path”) is a Python library that
allows one to declaratively specify how to extract elements from a JSON
@@ -8656,8 +8868,11 @@ document.")
(base32
"1zxczlwqy9bl27d9bc5x99mb5mcsxm350240lp5nx7014xb311lj"))))
(build-system python-build-system)
+ (arguments
+ ;; FIXME: Many tests are failing.
+ '(#:tests? #f))
(propagated-inputs
- `(("python-dateutil" ,python-dateutil-2)
+ `(("python-dateutil" ,python-dateutil)
("python-docutils" ,python-docutils)
("python-jmespath" ,python-jmespath)))
(native-inputs
@@ -8716,7 +8931,7 @@ Amazon Web Services (AWS) API.")
(base32
"0qyqq9akm4vshhn8cngjc1qykcvsn7cz6dlm6njfsgpbraqrmbbw"))))
(build-system python-build-system)
- (propagated-inputs
+ (native-inputs
`(("python-flake8" ,python-flake8)
("python-pytest" ,python-pytest)))
(synopsis "Library for property based testing")
@@ -8733,7 +8948,8 @@ seamlessly into your existing Python unit testing work flow.")
(strip-python2-variant python-hypothesis))))
(package (inherit hypothesis)
(native-inputs
- `(("python2-enum34" ,python2-enum34))))))
+ `(("python2-enum34" ,python2-enum34)
+ ,@(package-native-inputs hypothesis))))))
(define-public python-pytest-subtesthack
(package
@@ -9199,6 +9415,10 @@ RabbitMQ messaging server is the most popular implementation.")
(strip-python2-variant python-kombu))))
(package
(inherit kombu)
+ (arguments `(;; FIXME: 'TestTransport.test_del_sync' fails on python2.
+ ;; It works fine on the python3 variant.
+ #:tests? #f
+ ,@(package-arguments kombu)))
(native-inputs `(("python2-unittest2" ,python2-unittest2)
,@(package-native-inputs kombu))))))
@@ -9422,7 +9642,7 @@ introspection of @code{zope.interface} instances in code.")
'(;; The test suite relies on some non-portable Windows interfaces.
#:tests? #f))
(propagated-inputs
- `(("python-dateutil-2" ,python-dateutil-2)
+ `(("python-dateutil" ,python-dateutil)
("python-pyicu" ,python-pyicu)))
(synopsis "Parse and generate vCard and vCalendar files")
(description "Vobject is intended to be a full featured Python package for
@@ -10108,6 +10328,8 @@ to occurences in strings and comments.")
(base32
"0i283z1pivmir61z8kbiycigc94l61v33ygzkhczf1ifq7cppyds"))))
(build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; TODO: Requires many libraries not in Guix.
(home-page "https://github.com/ultrabug/py3status")
(synopsis "Extensible i3status wrapper written in Python")
(description "py3status is an i3status wrapper which extends i3status
@@ -10262,6 +10484,13 @@ to provide a high-level synchronous API on top of the libev event loop.")
(base32
"0ydxrp9myw1mvsz3qfzx5579y5llmqa82pxvqchgp5syczffi450"))))
(build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; FIXME: Some tests are failing.
+ ;; #:phases
+ ;; (modify-phases %standard-phases
+ ;; (replace 'check
+ ;; (lambda _
+ ;; (zero? (system* "./bin/trial" "twisted")))))
(propagated-inputs
`(("python-zope-interface" ,python-zope-interface)))
(home-page "https://twistedmatrix.com/")
@@ -10500,7 +10729,7 @@ objects, patterned after the Mocha library for Ruby.")
("python-chai" ,python-chai)
("python-simplejson" ,python-simplejson)))
(propagated-inputs
- `(("python-dateutil" ,python-dateutil-2)))
+ `(("python-dateutil" ,python-dateutil)))
(home-page "https://github.com/crsmithdev/arrow/")
(synopsis "Dates and times for Python")
(description
@@ -10523,6 +10752,8 @@ datetime type.")
(base32
"1jhnxgnw8y3mbzjssixh6qkc7a3afc4fygajhqrqalnilyvpzshq"))))
(build-system python-build-system)
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
(home-page "http://github.com/jpvanhal/inflection")
(synopsis "Python string transformation library")
(description
@@ -10691,13 +10922,19 @@ parsing UK postcodes.")
(base32
"0vs0dkmg0dlaxf8w6q2i3k0i03gmp56ablldv7ci9x3nbadkn71g"))))
(build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (zero? (system* "python" "-m" "unittest" "-v" "faker.tests")))))))
(native-inputs
`(;; For testing
("python-email-validator" ,python-email-validator)
("python-mock" ,python-mock)
("python-ukpostcodeparser" ,python-ukpostcodeparser)))
(propagated-inputs
- `(("python-dateutil" ,python-dateutil-2)
+ `(("python-dateutil" ,python-dateutil)
("python-six" ,python-six)))
(home-page "https://github.com/joke2k/faker")
(synopsis "Python package that generates fake data")
@@ -10727,6 +10964,8 @@ addresses, and phone numbers.")
(base32
"1f5m28vkh4ksq3d80d8mmd2z8wxvc3mgy2pmrv2751dm2xgznm4w"))))
(build-system python-build-system)
+ (native-inputs
+ `(("python-unidecode" ,python-unidecode)))
(propagated-inputs
`(("python-pyyaml" ,python-pyyaml)))
(home-page "https://github.com/mk-fg/pretty-yaml")
@@ -10841,6 +11080,11 @@ characters, mouse support, and auto suggestions.")
(base32
"0c8x962ynpx001fdvp07m2q5jk4igkxbj3rmnydavphvlgxijk1v"))))
(build-system python-build-system)
+ (arguments
+ ;; FIXME: One test fails (use "py.test" instead of 'setup.py test').
+ '(#:tests? #f))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
(home-page "https://github.com/davidhalter/jedi")
(synopsis
"Autocompletion for Python that can be used for text editors")
@@ -10862,6 +11106,8 @@ characters, mouse support, and auto suggestions.")
(base32
"1mmbiyzf0n8hm7z2a562x7w5cbl6jc0zsk6vp40q1z4cyblv1k13"))))
(build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; FIXME: No tests in pypi tarball.
(propagated-inputs
`(("python-docopt" ,python-docopt)
("python-jedi" ,python-jedi)
@@ -10967,6 +11213,13 @@ relays publish about themselves.")
(base32
"0k1nfdrxxkdlv4zgaqsdv8li0pj3gbh2pyxw8q2bsg6f9490amyn"))))
(build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; FIXME: 3/49 tests are failing.
+ ;; #:phases
+ ;; (modify-phases %standard-phases
+ ;; (replace 'check
+ ;; (lambda _
+ ;; (zero? (system* "python" "test/run_all_tests.py" "loop://")))))))
(home-page
"https://github.com/pyserial/pyserial")
(synopsis "Python Serial Port Bindings")
@@ -11286,7 +11539,7 @@ List. Forked from and using the same API as the publicsuffix package.")
("python-coverage" ,python-coverage)))
(propagated-inputs
`(("python-six" ,python-six)
- ("python-dateutil-2" ,python-dateutil-2)))
+ ("python-dateutil" ,python-dateutil)))
(arguments
`(#:phases (modify-phases %standard-phases
;; The tests are normally executed via `make test`, but the PyPi
@@ -11937,7 +12190,7 @@ useful as a validator for JSON data.")
"1k5mjg9iqbjfslb5prrsfz7dhlvi6s35p1jxq8dm87w1b7dn5i2g"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-dateutil-2" ,python-dateutil-2)))
+ `(("python-dateutil" ,python-dateutil)))
(home-page
"https://bitbucket.org/nielsenb/aniso8601")
(synopsis
@@ -12134,10 +12387,7 @@ python-axolotl.")
(lambda _
(for-each delete-file-recursively
'("axolotl/tests" "build/lib/axolotl/tests"))
- #t)))
- ;; Prevent creation of the egg. This works around
- ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20765
- #:configure-flags '("--root=/")))
+ #t)))))
(propagated-inputs
`(("python-axolotl-curve25519" ,python-axolotl-curve25519)
("python-dateutil" ,python-dateutil)
@@ -12165,6 +12415,12 @@ asynchronous messaging environments.")
(base32
"17wzkkcqy5zc0g68xlad3kcv66iw14d2pwqc0h9420gak0vbhx7g"))))
(build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (zero? (system* "python" "test3.py")))))))
(home-page "http://github.com/gfxmonk/termstyle")
(synopsis "Console text coloring for Python")
(description "This package provides console text coloring for Python.")
@@ -12215,6 +12471,13 @@ asynchronous messaging environments.")
(base32
"11his6ii5brpkhld0d5bwzjjw4q3vmplpd6fmgzjrvvklsbk0cf4"))))
(build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; FIXME: 35/882 tests failing.
+ ;; #:phases
+ ;; (modify-phases %standard-phases
+ ;; (replace 'check
+ ;; (lambda _
+ ;; (zero? (system* "nosetests")))))))
(propagated-inputs
`(("python-aniso8601" ,python-aniso8601)
("python-flask" ,python-flask)
@@ -12295,6 +12558,9 @@ specs from your Flask-Restful projects.")
(base32
"11bwiw6j0nilgz81xnw6f1npyga3prp8asjqrm87cdr3ria5l03x"))))
(build-system python-build-system)
+ (native-inputs
+ `(("python-pexpect" ,python-pexpect)
+ ("tcsh" ,tcsh)))
(home-page "https://github.com/kislyuk/argcomplete")
(synopsis "Shell tab completion for Python argparse")
(description "argcomplete provides extensible command line tab completion