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.scm212
1 files changed, 197 insertions, 15 deletions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index dc1efd62a4..b958199bdb 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -27,7 +27,7 @@
;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
-;;; Copyright © 2016 Stefan Reichoer <stefan@xsteve.at>
+;;; Copyright © 2016, 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org>
;;; Copyright © 2016 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
@@ -65,6 +65,7 @@
#:use-module (gnu packages backup)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
#:use-module (gnu packages django)
#:use-module (gnu packages file)
@@ -1487,16 +1488,38 @@ backported for previous versions of Python from 2.4 to 3.3.")
(base32
"0iv1c34npr4iynwpgv1vkjx9rjd18a85ir8c01gc5f7wp8iv7l1x"))))
(build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-tests
+ (lambda _
+ (substitute* "tests/test_parse_type_parse.py"
+ ;; Newer Python versions don't have the problem this test tests.
+ (("self[.]assertRaises[(]parse.TooManyFields, p.parse, ''[)]")
+ ""))
+ #t)))))
(propagated-inputs
`(("python-six" ,python-six)
("python-parse" ,python-parse)))
- (arguments '(#:tests? #f)) ;TODO: tests require pytest
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-pytest-runner" ,python-pytest-runner)))
(home-page "https://github.com/jenisys/parse_type")
(synopsis "Extended parse module")
(description
"Parse_type extends the python parse module.")
+ (properties
+ `((python2-variant . ,(delay python2-parse-type))))
(license license:bsd-3)))
+(define-public python2-parse-type
+ (let ((base (package-with-python2
+ (strip-python2-variant python-parse-type))))
+ (package (inherit base)
+ (propagated-inputs
+ `(("python2-enum34" ,python2-enum34)
+ ,@(package-propagated-inputs base))))))
+
(define-public python-parse
(package
(name "python-parse")
@@ -4727,15 +4750,14 @@ a front-end for C compilers or analysis tools.")
(define-public python-xcffib
(package
(name "python-xcffib")
- (version "0.1.9")
+ (version "0.5.1")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/x/"
- "xcffib/xcffib-" version ".tar.gz"))
+ (uri (pypi-uri "xcffib" version))
(sha256
(base32
- "0655hzxv57h1a9ja9kwp0ichbkhf3djw32k33d66xp0q37dq2y81"))))
+ "09gbnmr5vn58mm8xi3fmd7fz6743cks6c46dphnxzwax6zsxmy60"))))
(build-system python-build-system)
(inputs
`(("libxcb" ,libxcb)))
@@ -4743,10 +4765,16 @@ a front-end for C compilers or analysis tools.")
`(("python-cffi" ,python-cffi) ; used at run time
("python-six" ,python-six)))
(arguments
- `(;; FIXME: Tests cannot load libxcb.so.1
+ `(;; FIXME: Tests need more work. See ".travis.yml" in the repository.
#:tests? #f
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-libxcb-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((libxcb (assoc-ref inputs "libxcb")))
+ (substitute* '("xcffib/__init__.py")
+ (("^soname = \"") (string-append "soname = \"" libxcb "/lib/")))
+ #t)))
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let ((doc (string-append (assoc-ref outputs "out") "/share"
@@ -7305,14 +7333,14 @@ responses, rather than doing any computation.")
(define-public python-cryptography-vectors
(package
(name "python-cryptography-vectors")
- (version "1.7.1")
+ (version "1.8.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cryptography_vectors" version))
(sha256
(base32
- "1x2mz4wggja5ih45c6cw0kzyad4jr8avg327dawjr1gnpdq1psa7"))))
+ "0hzvq0bfy21bc35p8z7zdxpv3hbvi7adg4axc1b5yd3hk16a1nh0"))))
(build-system python-build-system)
(home-page "https://github.com/pyca/cryptography")
(synopsis "Test vectors for the cryptography package")
@@ -7327,29 +7355,33 @@ responses, rather than doing any computation.")
(define-public python-cryptography
(package
(name "python-cryptography")
- (version "1.7.1")
+ (version "1.8.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cryptography" version))
(sha256
(base32
- "0k6v7wq4h0yk9r0x0bl2x9fyrg4a6gj5qp4m9mgpk6m481yyygwm"))))
+ "1nmy4fw3zy7rlvarkhn33g9905rwpy9z7k5kv8j80f0s6ynfp24f"))))
(build-system python-build-system)
(inputs
`(("openssl" ,openssl)))
(propagated-inputs
- `(("python-cffi" ,python-cffi)
+ `(("python-asn1crypto" ,python-asn1crypto)
+ ("python-cffi" ,python-cffi)
("python-six" ,python-six)
- ("python-pyasn1" ,python-pyasn1)
("python-idna" ,python-idna)
+ ;; Packaging is used to check the version of python-cffi in
+ ;; 'src/cryptography/hazmat/primitives/ciphers/base.py'. We should be
+ ;; able to remove this dependency in the next release of cryptography:
+ ;; python-cryptography:
+ ;; https://github.com/pyca/cryptography/commit/0417d00d9ff1e19bc3ab67d39bdd18e1674768c1
+ ("python-packaging" ,python-packaging)
("python-iso8601" ,python-iso8601)))
(native-inputs
`(("python-cryptography-vectors" ,python-cryptography-vectors)
("python-hypothesis" ,python-hypothesis)
("python-pretend" ,python-pretend)
- ("python-pyasn1" ,python-pyasn1)
- ("python-pyasn1-modules" ,python-pyasn1-modules)
("python-pytz" ,python-pytz)
("python-pytest" ,python-pytest-3.0)))
(home-page "https://github.com/pyca/cryptography")
@@ -13448,6 +13480,33 @@ faster ones are not available.")
to ansi-escaped strings suitable for display in a terminal.")
(license license:expat)))
+(define-public python-ansi2html
+ (package
+ (name "python-ansi2html")
+ (version "1.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ansi2html" version))
+ (sha256
+ (base32
+ "1wa00zffprb78w1mqq90dk47czz1knanys2a40zbw2vyapd5lp9y"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-mock" ,python-mock)
+ ("python-nose" ,python-nose)))
+ (propagated-inputs
+ `(("python-six" ,python-six)))
+ (home-page "http://github.com/ralphbean/ansi2html")
+ (synopsis "Convert ANSI-decorated console output to HTML")
+ (description
+ "@command{ansi2html} is a Python library and command line utility for
+convering text with ANSI color codes to HTML or LaTeX.")
+ (license license:gpl3+)))
+
+(define-public python2-ansi2html
+ (package-with-python2 python-ansi2html))
+
(define-public python-ddt
(package
(name "python-ddt")
@@ -14622,3 +14681,126 @@ substitute for redis.")
(define-public python2-fakeredis
(package-with-python2 python-fakeredis))
+
+(define-public python-behave-web-api
+ (package
+ (name "python-behave-web-api")
+ (version "1.0.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "behave-web-api" version))
+ (sha256
+ (base32
+ "03kpq2xsy1gab3jy0dccbxlsg7vwfy4lagss0qldwmx3xz6b3i19"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-dependencies
+ (lambda _
+ (substitute* "setup.py"
+ (("'wheel'") "") ; We don't use it.
+ (("'ordereddict==1.1'") ""))))))) ; Python >= 2.7 has it built-in.
+ (propagated-inputs
+ `(("behave" ,behave)
+ ("python-requests" ,python-requests)))
+ (home-page "https://github.com/jefersondaniel/behave-web-api")
+ (synopsis "Provides testing for JSON APIs with Behave for Python")
+ (description "This package provides testing utility modules for testing
+JSON APIs with Behave.")
+ (license license:expat)))
+
+(define-public python2-behave-web-api
+ (package-with-python2 python-behave-web-api))
+
+(define-public python-flask-script
+ (package
+ (name "python-flask-script")
+ (version "2.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Flask-Script" version))
+ (sha256
+ (base32
+ "0zqh2yq8zk7m9b4xw1ryqmrljkdigfb3hk5155a3b5hkfnn6xxyf"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-flask" ,python-flask)
+ ("python-argcomplete" ,python-argcomplete)
+ ("python-werkzeug" ,python-werkzeug)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page
+ "http://github.com/smurfix/flask-script")
+ (synopsis "Scripting support for Flask")
+ (description "The Flask-Script extension provides support for writing
+external scripts in Flask. This includes running a development server,
+a customised Python shell, scripts to set up your database, cronjobs,
+and other command-line tasks that belong outside the web application
+itself.")
+ (license license:bsd-3)))
+
+(define-public python2-flask-script
+ (package-with-python2 python-flask-script))
+
+(define-public python-flask-migrate
+ (package
+ (name "python-flask-migrate")
+ (version "2.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Flask-Migrate" version))
+ (sha256
+ (base32
+ "107x78lkqsnbg92dld3dkagg07jvchp3ib3y0sivc4ipz6n1y7rk"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-flask" ,python-flask)
+ ("python-alembic" ,python-alembic)
+ ("python-sqlalchemy" ,python-sqlalchemy)
+ ("python-flask-script" ,python-flask-script)
+ ("python-flask-sqlalchemy" ,python-flask-sqlalchemy)))
+ (home-page "http://github.com/miguelgrinberg/flask-migrate/")
+ (synopsis "SQLAlchemy database migrations for Flask programs using
+Alembic")
+ (description "This package contains SQLAlchemy database migration tools
+for Flask programs that are using @code{python-alembic}.")
+ (license license:expat)))
+
+(define-public python2-flask-migrate
+ (package-with-python2 python-flask-migrate))
+
+(define-public python-packaging
+ (package
+ (name "python-packaging")
+ (version "16.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "packaging" version))
+ (sha256
+ (base32
+ "17k1xbjshackwvbsnxqixbph8rbqhz4bf4g3al5xyzhavxgq6l2x"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pretend" ,python-pretend)
+ ("python-pytest" ,python-pytest)))
+ (propagated-inputs
+ `(("python-pyparsing" ,python-pyparsing)
+ ("python-six" ,python-six)))
+ (home-page "https://github.com/pypa/packaging")
+ (synopsis "Core utilities for Python packages")
+ (description "Packaging is a Python module for dealing with Python packages.
+It offers an interface for working with package versions, names, and dependency
+information.")
+ ;; From 'LICENSE': This software is made available under the terms of
+ ;; *either* of the licenses found in LICENSE.APACHE or LICENSE.BSD.
+ ;; Contributions to this software is made under the terms of *both* these
+ ;; licenses.
+ (license (list license:asl2.0 license:bsd-2))))
+
+(define-public python2-packaging
+ (package-with-python2 python-packaging))