diff options
Diffstat (limited to 'gnu/packages/python.scm')
-rw-r--r-- | gnu/packages/python.scm | 259 |
1 files changed, 219 insertions, 40 deletions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 753354426e..8b4b39d1af 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -52,6 +52,8 @@ ;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com> ;;; Copyright © 2016, 2018 Tomáš Čech <sleep_walker@gnu.org> ;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> +;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -340,6 +342,15 @@ data types.") ;; Current 2.x version. (define-public python-2 python-2.7) +(define-public python2-called-python + ;; Both 2.x and 3.x used to be called "python". In commit + ;; a7714d42de2c3082f3609d1e63c83d703fb39cf9 (March 2018), we renamed the + ;; Python 2.x package to "python2". + (package + (inherit python-2) + (name "python") + (properties `((superseded . ,python-2))))) + (define-public python-3.6 (package (inherit python-2) (name "python") @@ -1200,13 +1211,13 @@ human-friendly syntax.") (define-public python-pandas (package (name "python-pandas") - (version "0.22.0") + (version "0.23.1") (source (origin (method url-fetch) (uri (pypi-uri "pandas" version)) (sha256 - (base32 "0v0fi2i10kwnmlpsl6f1fgajcpx3q6766qf6xqi5kw3ivn8l1aa4")))) + (base32 "142nvwb01r2wv42y2cz40bx33hd8ffh6s6gynapg859fmzr2mdah")))) (build-system python-build-system) (arguments `(#:modules ((guix build utils) @@ -1226,7 +1237,8 @@ human-friendly syntax.") (for-each delete-file '("pandas/tests/io/conftest.py" "pandas/tests/io/json/test_compression.py" - "pandas/tests/io/test_excel.py")) + "pandas/tests/io/test_excel.py" + "pandas/tests/io/test_parquet.py")) (invoke "pytest" "-v" "pandas" "-k" (string-append "not network and not disabled" @@ -1238,7 +1250,9 @@ human-friendly syntax.") ("python-dateutil" ,python-dateutil))) (native-inputs `(("python-cython" ,python-cython) + ("python-beautifulsoup4" ,python-beautifulsoup4) ("python-lxml" ,python-lxml) + ("python-html5lib" ,python-html5lib) ("python-nose" ,python-nose) ("python-pytest" ,python-pytest))) (home-page "https://pandas.pydata.org") @@ -2900,7 +2914,7 @@ between language specification and implementation aspects.") (define-public python-numpy (package (name "python-numpy") - (version "1.14.3") + (version "1.14.5") (source (origin (method url-fetch) @@ -2909,7 +2923,7 @@ between language specification and implementation aspects.") version "/numpy-" version ".tar.gz")) (sha256 (base32 - "1yim2bxlycn4dhxmfxid6slplpmcb4ynhp411b37ahmsm2lwgkyg")))) + "0admjpkih63lm19zbbilq8ck4f6ny5kqi03dk3m6b2mnixsh4jhv")))) (build-system python-build-system) (inputs `(("openblas" ,openblas) @@ -4474,13 +4488,13 @@ them as the version argument or in a SCM managed file.") (define-public python-pathpy (package (name "python-pathpy") - (version "11.0") + (version "11.0.1") (source (origin (method url-fetch) (uri (pypi-uri "path.py" version)) (sha256 - (base32 "12s84maimiz61980q065rjgi8ang6xw2wwm64m0lmfks51dlw4qn")))) + (base32 "07x15v8c7ry9bvycw294c9yq6ky9v2b0dalvgi6rn38ilh69vsz7")))) ;; (outputs '("out" "doc")) (build-system python-build-system) (propagated-inputs @@ -4861,26 +4875,15 @@ computing.") (define-public python-urwid (package (name "python-urwid") - (version "1.3.1") + (version "2.0.1") (source (origin (method url-fetch) (uri (pypi-uri "urwid" version)) (sha256 (base32 - "18cnd1wdjcas08x5qwa5ayw6jsfcn33w4d9f7q3s29fy6qzc1kng")))) + "1g6cpicybvbananpjikmjk8npmjk4xvak1wjzji62wc600wkwkb4")))) (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - ;; Disable failing test. Bug filed upstream: - ;; https://github.com/wardi/urwid/issues/164 - ;; TODO: check again for python-urwid > 1.3.1 or python > 3.4.3. - (add-after 'unpack 'disable-failing-test - (lambda _ - (substitute* "urwid/tests/test_event_loops.py" - (("test_remove_watch_file") - "disable_remove_watch_file"))))))) (home-page "http://urwid.org") (synopsis "Console user interface library for Python") (description @@ -4889,22 +4892,7 @@ features useful for text console applications.") (license license:lgpl2.1+))) (define-public python2-urwid - (let ((python2-urwid (package-with-python2 python-urwid))) - (package - (inherit python2-urwid) - (arguments - (append - `(;; Explicitly using Python 2 is necessary due the argument list being - ;; built from only the 'delete-test_vterm.py' phase and python-urwid's - ;; package arguments, which by default assumes the use of Python 3. - #:python ,python-2 - #:phases - (modify-phases %standard-phases - ;; Disable the vterm tests because of non-deterministic failures - ;; with Python 2. See https://github.com/urwid/urwid/issues/230. - (add-after 'unpack 'delete-test_vterm.py - (delete-file "urwid/tests/test_vterm.py")))) - (package-arguments python-urwid)))))) + (package-with-python2 python-urwid)) (define-public python-urwidtrees (package @@ -6023,13 +6011,13 @@ should be stored on various operating systems.") (define-public python-llfuse (package (name "python-llfuse") - (version "1.3.2") + (version "1.3.3") (source (origin (method url-fetch) (uri (pypi-uri "llfuse" version ".tar.bz2")) (sha256 (base32 - "0qxvnbz41bpvpc1vbi8qkhmpr9gj1qrrp5jdj085iqibd8l2l9cn")))) + "1rqww632y2zz71xmr6ch7yq80kvza9mhqr2z773k0d8l1lwzl575")))) (build-system python-build-system) (inputs `(("fuse" ,fuse) @@ -7275,13 +7263,13 @@ applications.") (define-public python-click-log (package (name "python-click-log") - (version "0.2.1") + (version "0.3.2") (source (origin (method url-fetch) (uri (pypi-uri "click-log" version)) (sha256 (base32 - "1r1x85023cslb2pwldd089jjk573mk3w78cnashs77wrx7yz8fj9")))) + "091i03bhxyzsdbc6kilxhivfda2f8ymz3b33xa6cj5kbzjiirz8n")))) (build-system python-build-system) (propagated-inputs `(("python-click" ,python-click))) @@ -12901,6 +12889,48 @@ and works only with Python 2 and NumPy < 1.9.") (define-public python2-phonenumbers (package-with-python2 python-phonenumbers)) +(define-public python-send2trash + (package + (name "python-send2trash") + (version "1.4.2") + (source + (origin (method url-fetch) + ;; Source tarball on PyPI doesn't include tests. + (uri (string-append "https://github.com/hsoft/send2trash/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ffyhwjyx61slkdy38iwjc4gmj7fj9gs2q58f075gwvq630pzm9z")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda _ + (mkdir-p "/tmp/foo") + (setenv "HOME" "/tmp/foo") + #t))))) + (home-page "https://github.com/hsoft/send2trash") + (synopsis "Send files to the user's @file{~/Trash} directory") + (description "This package provides a Python library to send files to the +user's @file{~/Trash} directory.") + (license license:bsd-3))) + +(define-public python2-send2trash + (package + (inherit (package-with-python2 python-send2trash)) + (arguments + (substitute-keyword-arguments (package-arguments python-send2trash) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'check 'setenv + (lambda _ + (setenv "PYTHONPATH" + (string-append (getcwd) ":" (getenv "PYTHONPATH"))) + #t)))))) + (properties `((python2-variant . ,(delay python-send2trash)))))) + (define-public python-yapf (package (name "python-yapf") @@ -13615,3 +13645,152 @@ Boost.Python library by David Abrahams: to minimize boilerplate code in traditional extension modules by inferring type information using compile-time introspection.") (license license:expat))) + +(define-public python-fasteners + (package + (name "python-fasteners") + (version "0.14.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "fasteners" version)) + (sha256 + (base32 + "063y20kx01ihbz2mziapmjxi2cd0dq48jzg587xdsdp07xvpcz22")))) + (build-system python-build-system) + (propagated-inputs + `(("python-monotonic" ,python-monotonic) + ("python-six" ,python-six) + ("python-testtools" ,python-testtools))) + (home-page "https://github.com/harlowja/fasteners") + (synopsis "Python package that provides useful locks") + (description + "This package provides a Python program that provides following locks: + +@itemize +@item Locking decorator +@item Reader-writer locks +@item Inter-process locks +@item Generic helpers +@end itemize\n") + (license license:asl2.0))) + +(define-public python2-fasteners + (package-with-python2 python-fasteners)) + +(define-public python-requests-file + (package + (name "python-requests-file") + (version "1.4.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "requests-file" version)) + (sha256 + (base32 + "1yp2jaxg3v86pia0q512dg3hz6s9y5vzdivsgrba1kds05ial14g")))) + (build-system python-build-system) + (propagated-inputs + `(("python-requests" ,python-requests) + ("python-six" ,python-six))) + (home-page + "https://github.com/dashea/requests-file") + (synopsis "File transport adapter for Requests") + (description + "Requests-File is a transport adapter for use with the Requests Python +library to allow local filesystem access via file:// URLs.") + (license license:asl2.0))) + +(define-public python2-requests-file + (package-with-python2 python-requests-file)) + +(define-public python-tldextract + (package + (name "python-tldextract") + (version "2.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "tldextract" version)) + (sha256 + (base32 + "1d5s8v6kpsgazyahflhji1cfdcf89rv7l7z55v774bhzvcjp2y99")))) + (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-responses" ,python-responses))) + (propagated-inputs + `(("python-idna" ,python-idna) + ("python-requests" ,python-requests) + ("python-requests-file" ,python-requests-file))) + (home-page + "https://github.com/john-kurkowski/tldextract") + (synopsis + "Separate the TLD from the registered domain and subdomains of a URL") + (description + "TLDExtract accurately separates the TLD from the registered domain and +subdomains of a URL, using the Public Suffix List. By default, this includes +the public ICANN TLDs and their exceptions. It can optionally support the +Public Suffix List's private domains as well.") + (license license:bsd-3))) + +(define-public python2-tldextract + (package-with-python2 python-tldextract)) + +(define-public python-pynamecheap + (package + (name "python-pynamecheap") + (version "0.0.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "PyNamecheap" version)) + (sha256 + (base32 + "0wkbwz208j8nfrsmzmclvxg22ymknn0mlz76wbdza9k2bx2zja6l")))) + (build-system python-build-system) + (propagated-inputs + `(("python-requests" ,python-requests))) + (home-page + "https://github.com/Bemmu/PyNamecheap") + (synopsis + "Namecheap API client in Python") + (description + "PyNamecheap is a Namecheap API client in Python.") + (license license:expat))) + +(define-public python2-pynamecheap + (package-with-python2 python-pynamecheap)) + +(define-public python-dns-lexicon + (package + (name "python-dns-lexicon") + (version "2.4.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "dns-lexicon" version)) + (sha256 + (base32 + "0jdn3ns71bsybr7njgsqr9xlxsqh7zh6phn4ld0liazqdn2l5f6m")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ;requires internet access + (propagated-inputs + `(("python-future" ,python-future) + ("python-pynamecheap" ,python-pynamecheap) + ("python-requests" ,python-requests) + ("python-tldextract" ,python-tldextract) + ("python-urllib3" ,python-urllib3))) + (home-page "https://github.com/AnalogJ/lexicon") + (synopsis + "Manipulate DNS records on various DNS providers") + (description + "Lexicon provides a way to manipulate DNS records on multiple DNS +providers in a standardized way. It has a CLI but it can also be used as a +Python library. It was designed to be used in automation, specifically with +Let's Encrypt.") + (license license:expat))) + +(define-public python2-dns-lexicon + (package-with-python2 python-dns-lexicon)) |