summary refs log tree commit diff
path: root/gnu/packages/python.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/python.scm')
-rw-r--r--gnu/packages/python.scm406
1 files changed, 390 insertions, 16 deletions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 7587678dc1..b92746a260 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -21,6 +21,7 @@
 ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
 ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2016 Daniel Pimentel <d4n1@d4n1.org>
+;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2182,13 +2183,17 @@ is used by the Requests library to verify HTTPS requests.")
 (define-public python-click
   (package
     (name "python-click")
-    (version "6.2")
+    (version "6.6")
     (source
      (origin
        (method url-fetch)
-         (uri (pypi-uri "click" version))
+         (uri (string-append
+                "https://pypi.python.org/packages/"
+                "7a/00/c14926d8232b36b08218067bcd5853caefb4737cda3f0a47437151344792/"
+                "click-" version ".tar.gz"))
        (sha256
-        (base32 "10kavbisnk9m93jl2wi34pw7ryr2qbxshh2cysxwxd7bymqgz87v"))))
+        (base32
+         "1sggipyz52crrybwbr9xvwxd4aqigvplf53k9w3ygxmzivd1jsnc"))))
     (build-system python-build-system)
     (native-inputs
      `(("python-setuptools" ,python-setuptools)))
@@ -6942,13 +6947,16 @@ for atomic filesystem operations.")
 (define-public python-requests-toolbelt
   (package
     (name "python-requests-toolbelt")
-    (version "0.6.0")
+    (version "0.6.2")
     (source (origin
              (method url-fetch)
-             (uri (pypi-uri "requests-toolbelt" version))
+             (uri (string-append
+                    "https://pypi.python.org/packages/"
+                    "e1/a4/a94c037bc72ad70441aff1403d3243510d2542ddca7759faaeffeb11aefe/"
+                    "requests-toolbelt-" version ".tar.gz"))
              (sha256
               (base32
-               "07slish560haspn0hpwgy2izhk2snqq06s6acp8xzmhhz079qknc"))))
+               "15q9nrgp85nqlr4kdz1zvj8z2npafi2sr12y7fqgxbkq28j1aci6"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-requests" ,python-requests)))
@@ -6961,13 +6969,16 @@ with python-requests.")
 (define-public python-click-threading
   (package
     (name "python-click-threading")
-    (version "0.1.2")
+    (version "0.2.0")
     (source (origin
              (method url-fetch)
-             (uri (pypi-uri "click-threading" version))
+             (uri (string-append
+                    "https://pypi.python.org/packages/"
+                    "fe/b7/e7f609d18a2a351cb71616adcf54df1acd82f83cb9b5936935a4d20e2c23/"
+                    "click-threading-" version ".tar.gz"))
              (sha256
               (base32
-               "0jmrv4334lfxa2ss53c06dafdwqbk1pb3ihd26izn5igw1bm8145"))))
+               "18bcqikxwb3drb8rf60cclxkxw52521b38ax3byah6j8cn8y9p4j"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-click" ,python-click)))
@@ -7117,13 +7128,16 @@ framework which enables you to test server connections locally.")
 (define-public python-wsgi-intercept
   (package
     (name "python-wsgi-intercept")
-    (version "1.1.2")
+    (version "1.2.2")
     (source (origin
              (method url-fetch)
-             (uri (pypi-uri "wsgi_intercept" version))
+             (uri (string-append
+                    "https://pypi.python.org/packages/"
+                    "38/76/ebcbc24d0cb77db34520a3ca6ed1bd43ace17d182bbd8dd7d976f1c176fb/"
+                    "wsgi_intercept-" version ".tar.gz"))
              (sha256
               (base32
-               "14ajy415ch5d0dnspg4b592p66wlgzah7ay218flp13517fp49zl"))))
+               "0kjj2v2dvmnpdd5h5gk9rzz0f54rhjb0yiz3zg65bmp65slfw65d"))))
     (build-system python-build-system)
     (native-inputs
      `(("python-pytest" ,python-pytest)
@@ -9103,10 +9117,7 @@ to provide a high-level synchronous API on top of the libev event loop.")
     (version "16.2.0")
     (source (origin
               (method url-fetch)
-              (uri (list (pypi-uri "Twisted" version ".tar.bz2") ; 404
-                         (string-append
-                          "https://pypi.io/packages/source/T/Twisted/"
-                          "Twisted-" version ".tar.bz2")))
+              (uri (pypi-uri "Twisted" version ".tar.bz2"))
               (sha256
                (base32
                 "0ydxrp9myw1mvsz3qfzx5579y5llmqa82pxvqchgp5syczffi450"))))
@@ -9300,3 +9311,366 @@ It supports both the original 1.0 specification, as well as the
 new (proposed) 2.0 spec, which includes batch submission, keyword arguments,
 etc.")
     (license asl2.0)))
+
+(define-public python-chai
+  (package
+    (name "python-chai")
+    (version "1.1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "chai" version))
+              (sha256
+               (base32
+                "016kf3irrclpkpvcm7q0gmkfibq7jgy30a9v73pp42bq9h9a32bl"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-setuptools" ,python-setuptools)))
+    (home-page "https://github.com/agoragames/chai")
+    (synopsis "Mocking framework for Python")
+    (description
+     "Chai provides an api for mocking, stubbing and spying your python
+objects, patterned after the Mocha library for Ruby.")
+    (license bsd-3)))
+
+(define-public python2-chai
+  (package-with-python2 python-chai))
+
+(define-public python-arrow
+  (package
+    (name "python-arrow")
+    (version "0.8.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "arrow" version))
+              (sha256
+               (base32
+                "1bz7hkdgpqcjs866y58z8jywpy7al0f4rxdr00bh2l5qddyw245j"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-setuptools" ,python-setuptools)
+       ("python-dateutil" ,python-dateutil-2)
+       ;; For testing
+       ("python-chai" ,python-chai)
+       ("python-simplejson" ,python-simplejson)))
+    (home-page "https://github.com/crsmithdev/arrow/")
+    (synopsis "Dates and times for Python")
+    (description
+     "Arrow is a Python library to creating, manipulating, formatting and
+converting dates, times, and timestamps.  It implements and updates the
+datetime type.")
+    (license asl2.0)))
+
+(define-public python2-arrow
+  (package-with-python2 python-arrow))
+
+(define-public python-inflection
+  (package
+    (name "python-inflection")
+    (version "0.3.1")
+    (source
+     (origin (method url-fetch)
+             (uri (pypi-uri "inflection" version))
+             (sha256
+              (base32
+               "1jhnxgnw8y3mbzjssixh6qkc7a3afc4fygajhqrqalnilyvpzshq"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-setuptools" ,python-setuptools)))
+    (home-page "http://github.com/jpvanhal/inflection")
+    (synopsis "Python string transformation library")
+    (description
+     "Inflection is a string transformation library.  It singularizes
+and pluralizes English words, and transforms strings from CamelCase to
+underscored string.")
+    (license license:expat)))
+
+(define-public python2-inflection
+  (package-with-python2 python-inflection))
+
+(define-public python-pylev
+  (package
+    (name "python-pylev")
+    (version "1.3.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "pylev" version))
+              (sha256
+               (base32
+                "1hz1x9blsbxya1y9nnhnwwdnqmakxi9mc0jkwj0rn6b1h44i0f86"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-setuptools" ,python-setuptools)))
+    (home-page "http://github.com/toastdriven/pylev")
+    (synopsis "Levenshtein distance implementation in Python")
+    (description "Pure Python Levenshtein implementation, based off the
+Wikipedia code samples at
+@url{http://en.wikipedia.org/wiki/Levenshtein_distance}.")
+    (license bsd-3)))
+
+(define-public python2-pylev
+  (package-with-python2 python-pylev))
+
+(define-public python-cleo
+  (package
+    (name "python-cleo")
+    (version "0.4.1")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "cleo" version))
+              (sha256
+               (base32
+                "1k2dcl6mqpn5bljyl6w42rqyd9mb3y9kh2mg7m2x3kfjwvg0rpva"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-psutil" ,python-psutil)
+       ("python-pylev" ,python-pylev)
+       ("python-setuptools" ,python-setuptools)
+       ;; For testing
+       ("python-mock" ,python-mock)
+       ("python-pytest" ,python-pytest)))
+    (home-page "https://github.com/sdispater/cleo")
+    (synopsis "Command-line arguments library for Python")
+    (description
+     "Cleo allows you to create command-line commands with signature in
+docstring and colored output.")
+    (license license:expat)))
+
+(define-public python2-cleo
+  (package-with-python2 python-cleo))
+
+(define-public python-lazy-object-proxy
+  (package
+    (name "python-lazy-object-proxy")
+    (version "1.2.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "lazy-object-proxy" version))
+              (sha256
+               (base32
+                "0s22aqqkdscyh8sjspyyax7qa1aiz8p4midrnyf39717fhfczm6x"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-setuptools" ,python-setuptools)))
+    (home-page "https://github.com/ionelmc/python-lazy-object-proxy")
+    (synopsis "Lazy object proxy for python")
+    (description
+     "Lazy object proxy is an object that wraps a callable but defers the call
+until the object is actually required, and caches the result of said call.")
+    (license bsd-2)))
+
+(define-public python2-lazy-object-proxy
+  (package-with-python2 python-lazy-object-proxy))
+
+(define-public python-dnspython
+  (package
+  (name "python-dnspython")
+  (version "1.14.0")
+  (source (origin
+            (method url-fetch)
+            (uri (string-append "http://www.dnspython.org/kits/"
+                                version "/dnspython-" version ".tar.gz"))
+            (sha256
+             (base32
+              "1z472r63gdqsxhsxj3plr5vs478yf4303vrqxxpsccc940g441hl"))))
+  (build-system python-build-system)
+  (arguments '(#:tests? #f)) ; XXX: requires internet access
+  (native-inputs
+   `(("python-setuptools" ,python-setuptools)))
+  (home-page "http://www.dnspython.org")
+  (synopsis "DNS toolkit for Python")
+  (description
+   "dnspython is a DNS toolkit for Python.  It supports almost all record
+types.  It can be used for queries, zone transfers, and dynamic updates.
+It supports TSIG authenticated messages and EDNS0.")
+  (license license:expat)))
+
+(define-public python2-dnspython
+  (package-with-python2 python-dnspython))
+
+(define-public python-email-validator
+  (package
+    (name "python-email-validator")
+    (version "1.0.1")
+    (source
+     (origin (method url-fetch)
+             (uri (pypi-uri "email_validator" version))
+             (sha256
+              (base32
+               "0mn8jg5h8ifl8w6a6m0hq8kbk0mzw9vm054qfamkn89b3npz52qw"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'use-dnspython
+           (lambda _
+             (substitute* "setup.py"
+               (("dnspython3") "dnspython"))
+             #t)))))
+    (native-inputs
+     `(("python-dnspython" ,python-dnspython)
+       ("python-idna" ,python-idna)
+       ("python-setuptools" ,python-setuptools)))
+    (home-page "https://github.com/JoshData/python-email-validator")
+    (synopsis "Email address validation library for Python")
+    (description
+     "This library validates email address syntax and deliverability.")
+    (license cc0)))
+
+(define-public python2-email-validator
+  (package-with-python2 python-email-validator))
+
+(define-public python-ukpostcodeparser
+  (package
+    (name "python-ukpostcodeparser")
+    (version "1.0.3")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "UkPostcodeParser" version))
+              (sha256
+               (base32
+                "1jwg9z4rz51mcka1821rwgycsd0mcicyp1kiwjfa2kvg8bm9p2qd"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-setuptools" ,python-setuptools)))
+    (home-page "https://github.com/hamstah/ukpostcodeparser")
+    (synopsis "UK Postcode parser for Python")
+    (description
+     "This library provides the @code{parse_uk_postcode} function for
+parsing UK postcodes.")
+    (license license:expat)))
+
+(define-public python2-ukpostcodeparser
+  (package-with-python2 python-ukpostcodeparser))
+
+(define-public python-fake-factory
+  (package
+  (name "python-fake-factory")
+  (version "0.5.7")
+  (source (origin
+            (method url-fetch)
+            (uri (pypi-uri "fake-factory" version))
+            (sha256
+             (base32
+              "1chmarnrdzn4r017n8qlic0m0bbnhw04s3hkwribjvm3mqpb6pa0"))))
+  (build-system python-build-system)
+  (arguments
+   '(#:phases
+     (modify-phases %standard-phases
+       (add-before 'check 'disable-failing-test
+         ;; XXX: faker/tests/ne_np/__init__.py, line 40, in test_names
+         ;;      first_name, last_name = name.split()
+         ;; ValueError: too many values to unpack (expected 2)
+         (lambda _
+           (delete-file "faker/tests/ne_np/__init__.py")
+           #t)))))
+  (native-inputs
+   `(("python-dateutil" ,python-dateutil-2)
+     ("python-setuptools" ,python-setuptools)
+     ("python-six" ,python-six)
+     ;; For testing
+     ("python-email-validator" ,python-email-validator)
+     ("python-mock" ,python-mock)
+     ("python-ukpostcodeparser" ,python-ukpostcodeparser)))
+  (home-page "http://github.com/joke2k/faker")
+  (synopsis "Python package that generates fake data")
+  (description
+   "Faker is a Python package that generates fake data such as names,
+addresses, and phone numbers.")
+  (license license:expat)
+  (properties `((python2-variant . ,(delay python2-fake-factory))))))
+
+(define-public python2-fake-factory
+  (let ((base (package-with-python2 (strip-python2-variant
+                                     python-fake-factory))))
+    (package
+      (inherit base)
+      (native-inputs
+       `(("python2-ipaddress" ,python2-ipaddress)
+         ,@(package-native-inputs base))))))
+
+(define-public python-pyaml
+  (package
+    (name "python-pyaml")
+    (version "15.8.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "pyaml" version))
+              (sha256
+               (base32
+                "1f5m28vkh4ksq3d80d8mmd2z8wxvc3mgy2pmrv2751dm2xgznm4w"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-setuptools" ,python-setuptools)))
+    (propagated-inputs
+     `(("python-pyyaml" ,python-pyyaml)))
+    (home-page "https://github.com/mk-fg/pretty-yaml")
+    (synopsis "YAML pretty-print library for Python")
+    (description
+     "pyaml is a PyYAML based python module to produce pretty and readable
+YAML-serialized data.")
+    (license (non-copyleft "http://www.wtfpl.net/txt/copying/"))))
+
+(define-public python2-pyaml
+  (package-with-python2 python-pyaml))
+
+(define-public python-flexmock
+  (package
+    (name "python-flexmock")
+    (version "0.10.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "flexmock" version))
+              (sha256
+               (base32
+                "0arc6njvs6i9v9hgvzk5m50296g7zy5m9d7pyb43vdsdgxrci5gy"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-setuptools" ,python-setuptools)))
+    (home-page "https://flexmock.readthedocs.org")
+    (synopsis "Testing library for Python")
+    (description
+     "flexmock is a testing library for Python that makes it easy to create
+mocks, stubs and fakes.")
+    (license bsd-3)))
+
+(define-public python2-flexmock
+  (package-with-python2 python-flexmock))
+
+(define-public python-orator
+  (package
+    (name "python-orator")
+    (version "0.8.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "orator" version))
+              (sha256
+               (base32
+                "1li49irsqha17nrda4nsb48biyy0rarp9pphf0jpqwm5zr8hv569"))))
+    (build-system python-build-system)
+    (arguments '(#:tests? #f)) ; no tests
+    (native-inputs
+     `(("python-arrow" ,python-arrow)
+       ("python-blinker" ,python-blinker)
+       ("python-cleo" ,python-cleo)
+       ("python-fake-factory" ,python-fake-factory)
+       ("python-inflection" ,python-inflection)
+       ("python-lazy-object-proxy" ,python-lazy-object-proxy)
+       ("python-pyaml" ,python-pyaml)
+       ("python-setuptools" ,python-setuptools)
+       ("python-simplejson" ,python-simplejson)
+       ("python-wrapt" ,python-wrapt)))
+    (home-page "https://orator-orm.com/")
+    (synopsis "ActiveRecord ORM for Python")
+    (description
+     "Orator provides a simple ActiveRecord-like Object Relational Mapping
+implementation for Python.")
+    (license license:expat)
+    (properties `((python2-variant . ,(delay python2-orator))))))
+
+(define-public python2-orator
+  (let ((base (package-with-python2 (strip-python2-variant python-orator))))
+    (package
+      (inherit base)
+      (native-inputs
+       `(("python2-ipaddress" ,python2-ipaddress)
+         ,@(package-native-inputs base))))))