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.scm257
1 files changed, 173 insertions, 84 deletions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 8bba7ca256..717a81e59f 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -22,6 +22,8 @@
 ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2016 Daniel Pimentel <d4n1@d4n1.org>
 ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
+;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
+;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -384,18 +386,18 @@ instead of @command{python3}.")))
 (define-public python-psutil
   (package
     (name "python-psutil")
-    (version "3.3.0")
+    (version "4.3.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "psutil" version))
        (sha256
         (base32
-         "11bd1555vf2ibjnmqf64im5cp55vcqfq45ccinm9ll3bs68na6s2"))))
+         "1w4r09fvn6kd80m5mx4ws1wz100brkaq6hzzpwrns8cgjzjpl6c6"))))
     (build-system python-build-system)
     (native-inputs
      `(("python-setuptools" ,python-setuptools)))
-    (home-page "https://pypi.python.org/pypi/psutil/")
+    (home-page "https://www.github.com/giampaolo/psutil")
     (synopsis "Library for retrieving information on running processes")
     (description
      "psutil (Python system and process utilities) is a library for retrieving
@@ -1139,15 +1141,14 @@ after Andy Lester’s Perl module WWW::Mechanize.")
 (define-public python-simplejson
   (package
     (name "python-simplejson")
-    (version "3.3.0")
+    (version "3.8.2")
     (source
      (origin
       (method url-fetch)
-      (uri (string-append "https://pypi.python.org/packages/source/s/simplejson/simplejson-"
-                          version ".tar.gz"))
+      (uri (pypi-uri "simplejson" version))
       (sha256
        (base32
-        "07wsry5j44l5zzm74l4j2bvasiq8n5m32f31n2p7c68i5vc6p2ks"))))
+        "0zylrnax8b6r0ndgni4w9c599fi6wm9vx5g6k3ddqfj3932kk16m"))))
     (build-system python-build-system)
     (home-page "http://simplejson.readthedocs.org/en/latest/")
     (synopsis
@@ -2030,14 +2031,14 @@ have failed since the last commit or what tests are currently failing.")
 (define-public python-coverage
   (package
     (name "python-coverage")
-    (version "4.0.3")
+    (version "4.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "coverage" version))
        (sha256
         (base32
-         "0qjlja8ny4gcfp8abqfwdrvr8qw9kr69lkja0b4cqqbsdmdjgcc5"))))
+         "01rbr4br4lsk0lwn8fb96zwd2xr4f0mg1w7iq3j11i8f5ig2nqs1"))))
     (build-system python-build-system)
     (inputs
      `(("python-setuptools" ,python-setuptools)))
@@ -2083,14 +2084,13 @@ backported from Python 2.7 for Python 2.4+.")
 (define-public behave
   (package
     (name "behave")
-    (version "1.2.4")
+    (version "1.2.5")
     (source (origin
              (method url-fetch)
-             (uri (string-append "https://pypi.python.org/packages/source/b/"
-                                 name "/" name "-" version ".tar.gz"))
+             (uri (pypi-uri "behave" version ".tar.bz2"))
              (sha256
               (base32
-               "1v2rfy8xnf0rk7cj4cgr7lam4015d458i7bg0xqs9czfv6njlm14"))))
+               "1iypp6z46r19n4xmgx6m1lwmlpfjh8vapq8izigrqlaarvp2y64c"))))
     (build-system python-build-system)
     (inputs
      `(("python-setuptools" ,python-setuptools)
@@ -3283,15 +3283,14 @@ that client code uses to construct the grammar directly in Python code.")
 (define-public python-numexpr
   (package
     (name "python-numexpr")
-    (version "2.4.4")
+    (version "2.6.0")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://pypi.python.org/packages/source/"
-                           "n/numexpr/numexpr-" version ".tar.gz"))
+       (uri (pypi-uri "numexpr" version))
        (sha256
         (base32
-         "0nsnff5312fm38w6dm34bw7ghfqqy8vl9gig0al963h4mz8zm8nz"))))
+         "0i6iagl2hhbr8q4qzbbjd859v5806vqylq87fq7pi914ps6d6cag"))))
     (build-system python-build-system)
     (arguments `(#:tests? #f))          ; no tests included
     (propagated-inputs
@@ -4132,13 +4131,13 @@ child application and control it as if a human were typing commands.")
 (define-public python-setuptools-scm
   (package
     (name "python-setuptools-scm")
-    (version "1.9.0")
+    (version "1.11.1")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "setuptools_scm" version))
               (sha256
                (base32
-                "0y24bl893zk6nrklbvdrlmpkalf214zjn6k1xrglljd29rrn4wxi"))))
+                "1gqr73i150yzj3mz32854vj93x07yr52kn8fdckwa41ll8wgficc"))))
     (build-system python-build-system)
     (native-inputs `(("python-setuptools" ,python-setuptools)))
     (home-page "https://github.com/pypa/setuptools_scm/")
@@ -4507,6 +4506,30 @@ features useful for text console applications.")
 (define-public python2-urwid
   (package-with-python2 python-urwid))
 
+(define-public python-urwidtrees
+  (package
+    (name "python-urwidtrees")
+    (version "1.0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "urwidtrees" version))
+        (sha256
+          (base32
+            "1zcvy12s7h3fazf33d6y7b4v19p8hg95xqwhqlmw6jz9fq76v9h8"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:tests? #f)) ; no tests
+    (inputs `(("python-urwid" ,python-urwid)))
+    (home-page "https://github.com/pazz/urwidtrees")
+    (synopsis "Tree widgets for urwid")
+    (description "Urwidtrees is a Widget Container API for the @code{urwid}
+toolkit.  Use it to build trees of widgets.")
+    (license gpl3+)))
+
+(define-public python2-urwidtrees
+  (package-with-python2 python-urwidtrees))
+
 (define-public python-dbus
   (package
     (name "python-dbus")
@@ -4591,14 +4614,14 @@ translate the complete SQLite API into Python.")
 (define-public python-lxml
   (package
     (name "python-lxml")
-    (version "3.5.0")
+    (version "3.6.0")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "lxml" version))
         (sha256
-          (base32
-            "0y7m2s8ci6q642zl85y5axkj8z827l0vhjl532acb75hlkir77rl"))))
+         (base32
+          "1pvbmiy2m7jwv493kilbghhj2pkh8wy1na3ji350vhzhlwlclx4w"))))
     (build-system python-build-system)
     (inputs
       `(("libxml2" ,libxml2)
@@ -4651,17 +4674,14 @@ converts incoming documents to Unicode and outgoing documents to UTF-8.")
 (define-public python2-cssutils
   (package
     (name "python2-cssutils")
-    (version "1.0")
+    (version "1.0.1")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append
-              "https://pypi.python.org/packages/source/c/cssutils/cssutils-"
-              version
-              ".zip"))
+        (uri (pypi-uri "cssutils" version))
         (sha256
-          (base32
-            "1bwim1353r4hqiir73sn4sc43y7ymh09qx0kly7vj048blppc125"))))
+         (base32
+          "0qwha9x1wml2qmipbcz03gndnlwhzrjdvw9i09si247a90l8p8fq"))))
     (build-system python-build-system)
     (native-inputs
       `(("python2-mock" ,python2-mock) ; for the tests
@@ -4684,17 +4704,14 @@ options.")
 (define-public python-cssselect
   (package
     (name "python-cssselect")
-    (version "0.9.1")
+    (version "0.9.2")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append
-              "https://pypi.python.org/packages/source/c/cssselect/cssselect-"
-              version
-              ".tar.gz"))
+        (uri (pypi-uri "cssselect" version))
         (sha256
-          (base32
-            "10h623qnp6dp1191jri7lvgmnd4yfkl36k9smqklp1qlf3iafd85"))))
+         (base32
+          "1xg6gbva1yswghiycmgincv6ab4bn7hpm720ndbj40h8xycmnfvi"))))
     (build-system python-build-system)
     (inputs
       `(("python-setuptools" ,python-setuptools)))
@@ -5961,18 +5978,14 @@ responses, rather than doing any computation.")
 (define-public python-cryptography-vectors
   (package
     (name "python-cryptography-vectors")
-    (version "1.3.2")
+    (version "1.3.4")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append
-              "https://pypi.python.org/packages/"
-              "3f/fd/"
-              "5883a7fdfcdf6edec55c58605be99d8c36ce97a9b729763ea9cf30e761b7"
-              "/cryptography_vectors-" version ".tar.gz"))
+       (uri (pypi-uri "cryptography_vectors" version))
        (sha256
         (base32
-         "0ss682bpgzdfy2vam8yhhrx7p5gnw89ydlvaswqp52za8sd8nsh0"))))
+         "15h1iz2klnpb4f8djxy7cpbnyn3wbjp7bnj4pz6s7w6plghbq524"))))
     (build-system python-build-system)
     (native-inputs
      `(("python-setuptools" ,python-setuptools)))
@@ -5989,18 +6002,14 @@ responses, rather than doing any computation.")
 (define-public python-cryptography
   (package
     (name "python-cryptography")
-    (version "1.3.2")
+    (version "1.3.4")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append
-              "https://pypi.python.org/packages/"
-              "04/da/"
-              "35f9a1d34dab5d777f65fb87731288f338ab0ae46a525ffdf0405b573dd0"
-              "/cryptography-" version ".tar.gz"))
+       (uri (pypi-uri "cryptography" version))
        (sha256
         (base32
-         "121067qdbzd0ir0nxjdf0kgai7qlsc9yh2xhrj4cavcn4y4gmapv"))))
+         "1a85l548w5vvq3yhz0az7ajg2ijixzp6gagapw6wgrqvq28ghgs2"))))
     (build-system python-build-system)
     (inputs
      `(("openssl" ,openssl)))
@@ -6666,16 +6675,14 @@ facilities for defining, registering and looking up components.")
 (define-public python2-pythondialog
   (package
     (name "python2-pythondialog")
-    (version "3.3.0")
+    (version "3.4.0")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://pypi.python.org/packages/source/p/"
-                           "python2-pythondialog/python2-pythondialog-"
-                           version ".tar.gz"))
+       (uri (pypi-uri "python2-pythondialog" version))
        (sha256
         (base32
-         "1yhkagsh99bfi592ymczf8rnw8rk6n9hdqy3dd98m3yrx8zmjvry"))))
+         "0d8k7lxk50imdyx85lv8j98i4c93a71iwpapnl1506rpkbm9qvd9"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -6896,16 +6903,14 @@ tables.")
 (define-public python-websocket-client
   (package
     (name "python-websocket-client")
-    (version "0.34.0")
+    (version "0.37.0")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://pypi.python.org/packages/source/w"
-                           "/websocket-client/websocket_client-"
-                           version ".tar.gz"))
+       (uri (pypi-uri "websocket_client" version))
        (sha256
         (base32
-         "1prdx6d49f1cff17kzj15bnz09palfdgc1m5dkq9jd4mr90n4ak8"))))
+         "0h9glp1jll3z76ly3kg08aqgxqk0a68p4zi9yn50353bh5nj92v7"))))
     (build-system python-build-system)
     (native-inputs
      `(("python-six" ,python-six))) ; for tests
@@ -7094,7 +7099,17 @@ minimal and fast API targetting the following uses:
     (description "The pytest-cache plugin provides tools to rerun failures from
 the last py.test invocation.")
     (home-page "https://bitbucket.org/hpk42/pytest-cache/")
-    (license license:expat)))
+    (license license:expat)
+    (properties `((python2-variant . ,(delay python2-pytest-cache))))))
+
+(define-public python2-pytest-cache
+  (let ((pytest-cache (package-with-python2
+                        (strip-python2-variant python-pytest-cache))))
+    (package
+      (inherit pytest-cache)
+      (native-inputs
+       `(("python2-setuptools" ,python2-setuptools)
+         ,@(package-native-inputs pytest-cache))))))
 
 (define-public python-pytest-localserver
   (package
@@ -7975,14 +7990,14 @@ layouts.")
 (define-public python-pyquery
   (package
     (name "python-pyquery")
-    (version "1.2.11")
+    (version "1.2.13")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "pyquery" version))
        (sha256
         (base32
-         "1ikz1387nsp0pp7mzzr6ip9n5gr67acpap24yn33987v7fkjp0sa"))))
+         "0j9fsisip21qv4xljsg5dmni1pgpvwrjyyhhql0glydc4bs5rjgv"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-lxml" ,python-lxml)
@@ -8335,13 +8350,13 @@ commands into documents, helping you to keep your command examples up to date.")
 (define-public python-sphinx-repoze-autointerface
   (package
     (name "python-sphinx-repoze-autointerface")
-    (version "0.7.1")
+    (version "0.8")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "repoze.sphinx.autointerface" version))
               (sha256
                (base32
-                "016mv3wbylw278wl7z33y2liyra8ljp08zq1g0anzadh1an5zvwp"))))
+                "08ycivzf7bh4a1zcyp31hbyqs1b2c9r26raa3vxjwwmbfqr3iw4f"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-docutils" ,python-docutils)
@@ -9123,8 +9138,9 @@ to provide a high-level synchronous API on top of the libev event loop.")
                 "0ydxrp9myw1mvsz3qfzx5579y5llmqa82pxvqchgp5syczffi450"))))
     (build-system python-build-system)
     (native-inputs
-     `(("python-setuptools" ,python-setuptools)
-       ("python-zope-interface" ,python-zope-interface)))
+     `(("python-setuptools" ,python-setuptools)))
+    (propagated-inputs
+     `(("python-zope-interface" ,python-zope-interface)))
     (home-page "https://twistedmatrix.com/")
     (synopsis "Asynchronous networking framework written in Python")
     (description
@@ -9209,8 +9225,9 @@ data in Python.")
     (build-system python-build-system)
     (arguments '(#:tests? #f)) ; XXX: needs zookeeper
     (native-inputs
-     `(("python-setuptools" ,python-setuptools)
-       ("python-six" ,python-six)))
+     `(("python-setuptools" ,python-setuptools)))
+    (propagated-inputs
+     `(("python-six" ,python-six)))
     (home-page "https://kazoo.readthedocs.org")
     (synopsis "High-level Zookeeper client library")
     (description
@@ -9238,9 +9255,10 @@ programming errors.")
     (build-system python-build-system)
     (arguments '(#:tests? #f)) ; XXX: needs zookeeper, kafka, etc.
     (native-inputs
+     `(("python-setuptools" ,python-setuptools)))
+    (propagated-inputs
      `(("python-gevent" ,python-gevent)
        ("python-kazoo" ,python-kazoo)
-       ("python-setuptools" ,python-setuptools)
        ("python-tabulate" ,python-tabulate)))
     (inputs
      `(("librdkafka" ,librdkafka)))
@@ -9277,7 +9295,8 @@ wide-character codes.  It is useful for those implementing a terminal emulator,
 or programs that carefully produce output to be interpreted by one.  It is a
 Python implementation of the @code{wcwidth} and @code{wcswidth} C functions
 specified in POSIX.1-2001 and POSIX.1-2008.")
-  (license license:expat)))
+  (license license:expat)
+  (properties `((python2-variant . ,(delay python2-wcwidth))))))
 
 (define-public python2-wcwidth
   (package
@@ -9348,10 +9367,11 @@ objects, patterned after the Mocha library for Ruby.")
     (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)))
+    (propagated-inputs
+     `(("python-dateutil" ,python-dateutil-2)))
     (home-page "https://github.com/crsmithdev/arrow/")
     (synopsis "Dates and times for Python")
     (description
@@ -9422,12 +9442,13 @@ Wikipedia code samples at
                 "1k2dcl6mqpn5bljyl6w42rqyd9mb3y9kh2mg7m2x3kfjwvg0rpva"))))
     (build-system python-build-system)
     (native-inputs
-     `(("python-psutil" ,python-psutil)
-       ("python-pylev" ,python-pylev)
-       ("python-setuptools" ,python-setuptools)
+     `(("python-setuptools" ,python-setuptools)
        ;; For testing
        ("python-mock" ,python-mock)
        ("python-pytest" ,python-pytest)))
+    (propagated-inputs
+     `(("python-psutil" ,python-psutil)
+       ("python-pylev" ,python-pylev)))
     (home-page "https://github.com/sdispater/cleo")
     (synopsis "Command-line arguments library for Python")
     (description
@@ -9507,9 +9528,10 @@ It supports TSIG authenticated messages and EDNS0.")
                (("dnspython3") "dnspython"))
              #t)))))
     (native-inputs
+     `(("python-setuptools" ,python-setuptools)))
+    (propagated-inputs
      `(("python-dnspython" ,python-dnspython)
-       ("python-idna" ,python-idna)
-       ("python-setuptools" ,python-setuptools)))
+       ("python-idna" ,python-idna)))
     (home-page "https://github.com/JoshData/python-email-validator")
     (synopsis "Email address validation library for Python")
     (description
@@ -9564,13 +9586,14 @@ parsing UK postcodes.")
            (delete-file "faker/tests/ne_np/__init__.py")
            #t)))))
   (native-inputs
-   `(("python-dateutil" ,python-dateutil-2)
-     ("python-setuptools" ,python-setuptools)
-     ("python-six" ,python-six)
+   `(("python-setuptools" ,python-setuptools)
      ;; For testing
      ("python-email-validator" ,python-email-validator)
      ("python-mock" ,python-mock)
      ("python-ukpostcodeparser" ,python-ukpostcodeparser)))
+  (propagated-inputs
+   `(("python-dateutil" ,python-dateutil-2)
+     ("python-six" ,python-six)))
   (home-page "http://github.com/joke2k/faker")
   (synopsis "Python package that generates fake data")
   (description
@@ -9584,9 +9607,9 @@ addresses, and phone numbers.")
                                      python-fake-factory))))
     (package
       (inherit base)
-      (native-inputs
+      (propagated-inputs
        `(("python2-ipaddress" ,python2-ipaddress)
-         ,@(package-native-inputs base))))))
+         ,@(package-propagated-inputs base))))))
 
 (define-public python-pyaml
   (package
@@ -9649,6 +9672,8 @@ mocks, stubs and fakes.")
     (build-system python-build-system)
     (arguments '(#:tests? #f)) ; no tests
     (native-inputs
+     `(("python-setuptools" ,python-setuptools)))
+    (propagated-inputs
      `(("python-arrow" ,python-arrow)
        ("python-blinker" ,python-blinker)
        ("python-cleo" ,python-cleo)
@@ -9656,7 +9681,6 @@ mocks, stubs and fakes.")
        ("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/")
@@ -9671,6 +9695,71 @@ implementation for Python.")
   (let ((base (package-with-python2 (strip-python2-variant python-orator))))
     (package
       (inherit base)
-      (native-inputs
+      (propagated-inputs
        `(("python2-ipaddress" ,python2-ipaddress)
+         ,@(package-propagated-inputs base))))))
+
+(define-public python-prompt-toolkit
+ (package
+  (name "python-prompt-toolkit")
+  (version "1.0.3")
+  (source
+    (origin
+      (method url-fetch)
+      (uri (string-append
+             "https://pypi.python.org/packages/"
+             "8d/de/412f23919929c01e6b55183e124623f705e4b91796d3d2dce2cb53d595ad/"
+             "prompt_toolkit-" version ".tar.gz"))
+      (sha256
+        (base32
+          "18lbmmkyjf509klc3217lq0x863pfzix779zx5kp9lms1iph4pl0"))))
+  (build-system python-build-system)
+  (inputs `(("python-wcwidth" ,python-wcwidth)
+            ("python-pygments" ,python-pygments)))
+  (native-inputs `(("python-six" ,python-six)))
+  (home-page "https://github.com/jonathanslenders/python-prompt-toolkit")
+  (synopsis "Library for building command line interfaces in Python")
+  (description
+    "Prompt-Toolkit is a library for building interactive command line
+interfaces in Python.  It's like GNU Readline but it also features syntax
+highlighting while typing, out-of-the-box multi-line input editing, advanced
+code completion, incremental search, support for Chinese double-width
+characters, mouse support, and auto suggestions.")
+  (license bsd-3)
+  (properties `((python2-variant . ,(delay python2-prompt-toolkit))))))
+
+(define-public python2-prompt-toolkit
+  (let ((base (package-with-python2 (strip-python2-variant python-prompt-toolkit))))
+    (package
+      (inherit base)
+      (native-inputs
+       `(("python2-setuptools" ,python2-setuptools)
+         ,@(package-native-inputs base))))))
+
+(define-public python-jedi
+  (package
+    (name "python-jedi")
+    (version "0.9.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "jedi" version))
+        (sha256
+          (base32
+            "0c8x962ynpx001fdvp07m2q5jk4igkxbj3rmnydavphvlgxijk1v"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/davidhalter/jedi")
+    (synopsis
+      "Autocompletion for Python that can be used for text editors")
+    (description
+      "Jedi is an autocompletion tool for Python that can be used for text editors.")
+    (license license:expat)
+    (properties `((python2-variant . ,(delay python2-jedi))))))
+
+(define-public python2-jedi
+  (let ((base (package-with-python2 (strip-python2-variant python-jedi))))
+    (package
+      (inherit base)
+      (native-inputs
+       `(("python2-setuptools" ,python2-setuptools)
          ,@(package-native-inputs base))))))