diff options
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r-- | gnu/packages/python-xyz.scm | 545 |
1 files changed, 363 insertions, 182 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index c26a766d64..7e0a738d51 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -77,6 +77,10 @@ ;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> ;;; Copyright © 2020 Alex ter Weele <alex.ter.weele@gmail.com> ;;; Copyright © 2020 Matthew Kraai <kraai@ftbfs.org> +;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> +;;; Copyright © 2020 Josh Holland <josh@inv.alid.pw> +;;; Copyright © 2020 Yuval Kogman <nothingmuch@woobling.org> +;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -847,14 +851,14 @@ of the netcdf4 package before.") (define-public python-netcdf4 (package (name "python-netcdf4") - (version "1.4.2") + (version "1.5.3") (source (origin (method url-fetch) (uri (pypi-uri "netCDF4" version)) (sha256 (base32 - "0c0sklgrmv15ygliin8qq0hp7vanmbi74m6zpi0r1ksr0hssyd5r")))) + "1gn35mb2yc263pci720aik8ymz41lrvxlrn3z83vyjwghiashg1a")))) (build-system python-build-system) (arguments '(#:phases @@ -1203,17 +1207,25 @@ class.") (define-public python-can (package (name "python-can") - (version "3.3.2") + (version "3.3.3") (source (origin (method url-fetch) (uri (pypi-uri "python-can" version)) (sha256 (base32 - "0bkbxi45sckzir6s0j3h01pkfn4vkz3ymih2zjp7zw77wz0vbvsz")))) + "123lz1bl6xf3d0fvxzr4bg4884yg4m9s21z6xd2m68zhnbv9rmpc")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'relax-version-requirements + (lambda _ + (substitute* "setup.py" + (("mock~=2\\.0") "mock") + (("coverage<5") "coverage") + (("pytest~=4\\.3") "pytest") + (("hypothesis~=4\\.56") "hypothesis")) + #t)) (add-after 'unpack 'fix-broken-tests ;; The tests try to run two scripts it expects should be ;; in PATH, but they aren't at this time (see: @@ -1228,6 +1240,7 @@ class.") ("python-wrapt" ,python-wrapt))) (native-inputs `(("python-codecov" ,python-codecov) + ("python-coverage" ,python-coverage) ("python-future" ,python-future) ("python-hypothesis" ,python-hypothesis) ("python-mock" ,python-mock) @@ -1242,7 +1255,7 @@ class.") controller area network (CAN) support for Python developers; providing common abstractions to different hardware devices, and a suite of utilities for sending and receiving messages on a CAN bus.") - (license license:gpl3+))) + (license license:lgpl3+))) (define-public python-diskcache (package @@ -1656,38 +1669,30 @@ human-friendly syntax.") (define-public python2-schedule (package-with-python2 python-schedule)) -(define-public python2-mechanize +(define-public python-mechanize (package - (name "python2-mechanize") - (version "0.2.5") + (name "python-mechanize") + (version "0.4.5") (source (origin (method url-fetch) (uri (pypi-uri "mechanize" version)) (sha256 (base32 - "0rj7r166i1dyrq0ihm5rijfmvhs8a04im28lv05c0c3v206v4rrf")))) + "1z9kqcwb8gfq2l6i42z624kxpd8692a0c8gw2x5bbm7n848w2mb3")))) (build-system python-build-system) - (arguments - `(#:python ,python-2 ; apparently incompatible with Python 3 - #:tests? #f)) - ;; test fails with message - ;; AttributeError: 'module' object has no attribute 'test_pullparser' - ;; (python-3.3.2) or - ;; AttributeError: 'module' object has no attribute 'test_urllib2_localnet' - ;; (python-2.7.5). - ;; The source code is from March 2011 and probably not up-to-date - ;; with respect to python unit tests. - (home-page "http://wwwsearch.sourceforge.net/mechanize/") + (propagated-inputs + `(("python-html5lib" ,python-html5lib))) + (home-page "https://github.com/python-mechanize/mechanize") (synopsis "Stateful programmatic web browsing in Python") (description "Mechanize implements stateful programmatic web browsing in Python, after Andy Lester’s Perl module WWW::Mechanize.") - (license (license:non-copyleft - "file://COPYING" - "See COPYING in the distribution.")))) + (license license:bsd-3))) +(define-public python2-mechanize + (package-with-python2 python-mechanize)) (define-public python-simplejson (package @@ -1747,23 +1752,44 @@ Python 3.3+.") (define-public python2-pyicu (package-with-python2 python-pyicu)) -(define-public python2-dogtail - ;; Python 2 only, as it leads to "TabError: inconsistent use of tabs and - ;; spaces in indentation" with Python 3. +(define-public python-dogtail (package - (name "python2-dogtail") - (version "0.9.9") + (name "python-dogtail") + (version "0.9.11") (source (origin (method url-fetch) - (uri (pypi-uri "dogtail" version)) + (uri + (string-append + "https://gitlab.com/dogtail/dogtail/-/raw/released/" + "dogtail-" version ".tar.gz")) (sha256 (base32 - "0p5wfssvzr9w0bvhllzbbd8fnp4cca2qxcpcsc33dchrmh5n552x")))) + "0sr38z7b2n12bvfd4xw4b5dnnhkn5zl3h0ymmnnzavcihfqia6l0")))) (build-system python-build-system) - (arguments `(#:python ,python-2 - #:tests? #f)) ; invalid command "test" - ;; Currently no offical homepage. - (home-page "https://pypi.org/project/dogtail/") + (arguments + `(#:tests? #f ; TODO Launching dbus for the tests + ; fails + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") + (invoke "dbus-run-session" "--" "nosetests" "-v" "tests/")) + #t))))) + (propagated-inputs + `(("python-pygobject" ,python-pygobject) + ("python-pycairo" ,python-pycairo) + ("python-pyatspi" ,python-pyatspi))) + (native-inputs + `(("python-nose" ,python-nose) + ("gtk+" ,gtk+) + ("xvfb" ,xorg-server) + ("dbus" ,dbus) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gobject-introspection" ,gobject-introspection))) + (home-page "https://gitlab.com/dogtail/dogtail/") (synopsis "GUI test tool and automation framework written in Python") (description "Dogtail is a GUI test tool and automation framework written in Python. @@ -1772,6 +1798,9 @@ applications. dogtail scripts are written in Python and executed like any other Python program.") (license license:gpl2+))) +(define-public python2-dogtail + (package-with-python2 python-dogtail)) + (define-public python-empy (package (name "python-empy") @@ -2992,14 +3021,14 @@ for Python.") (define-public python-jinja2 (package (name "python-jinja2") - (version "2.11.1") + (version "2.11.2") (source (origin (method url-fetch) (uri (pypi-uri "Jinja2" version)) (sha256 (base32 - "0l72c11n959yzb8d3ankckb6yhjhm6x729zm7rkpk040qzxpy64k")))) + "1c1v3djnr0ymp5xpy1h3h60abcaqxdlm4wsqmls9rxby88av5al9")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -3699,14 +3728,14 @@ which can produce feeds in RSS 2.0, RSS 0.91, and Atom formats.") (define-public python-toml (package (name "python-toml") - (version "0.9.4") + (version "0.10.1") (source (origin (method url-fetch) (uri (pypi-uri "toml" version)) (sha256 (base32 - "0bdbpbip67wdm6c7xwc6mmbmskyradj4cdxn1iibj4fcx1nbv1lf")))) + "03wbqm5cn685cwx2664hjdpz370njl7lf0yal8s0dkp5w4mn2swj")))) (build-system python-build-system) (arguments `(#:tests? #f)) ;no tests suite in release @@ -3720,20 +3749,19 @@ Language (TOML) configuration files.") (define-public python-jsonrpc-server (package (name "python-jsonrpc-server") - (version "0.3.2") + (version "0.3.4") (source (origin (method url-fetch) (uri (pypi-uri "python-jsonrpc-server" version)) (sha256 (base32 - "0ddgdp26dfxaz6isjbb12974b3rxavgsqrn2zrmck62cmipg5g05")))) + "0dzya99nbi4mw7q85vmyw1wfgbx5dpmysnvm0bwx5m4xbi4zafy7")))) (build-system python-build-system) (propagated-inputs - `(("python-future" ,python-future) - ("python-mock" ,python-mock) + `(("python-mock" ,python-mock) ("python-pytest" ,python-pytest) - ("python-ujson" ,python-ujson))) + ("python-ujson" ,python-ujson-1))) (home-page "https://github.com/palantir/python-jsonrpc-server") (synopsis "JSON RPC 2.0 server library") @@ -3969,14 +3997,14 @@ provides additional functionality on the produced Mallard documents.") (define-public python-cython (package (name "python-cython") - (version "0.29.16") + (version "0.29.17") (source (origin (method url-fetch) (uri (pypi-uri "Cython" version)) (sha256 (base32 - "01gs10myw0rw4jsikvqs0859fg7gficxhv508cxvnb4l9wl5a9r3")))) + "1wnaz40hdw4mg5acz5gqb6bhjhn4cvfxg0xdzfy7aa6qn665hqb3")))) (build-system python-build-system) ;; we need the full python package and not just the python-wrapper ;; because we need libpython3.3m.so @@ -4963,33 +4991,30 @@ as the original project seems to have been abandoned circa 2007.") (package-with-python2 python-socksipy-branch)) (define-public python-socksipychain - (let ((commit "eb5ee8741ce006ac0c5c3e2e83204062c348c155") - (revision "1") - (version "2.1.1")) - (package - (name "python-socksipychain") - (version (git-version version revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/pagekite/PySocksipyChain.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0fpphn6xnpm7qk8a914s4abycsbq9w6qkci07my632v0fylnm5n7")))) - (build-system python-build-system) - (arguments - `(#:tests? #f)) ; Tests try to access the network. - (home-page "http://pagekite.net/wiki/Floss/PySocksipyChain/") - (synopsis "Python SOCKS module with chained proxies support") - (description - "SocksiPyChain is a modified version of the SocksiPy SOCKS module, which + (package + (name "python-socksipychain") + (version "2.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pagekite/PySocksipyChain.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "02pp994qmiivkdx4y6az5q80l6rzy8g6d2ipvp7kns7lsxvmc2y7")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ; Tests try to access the network. + (home-page "http://pagekite.net/wiki/Floss/PySocksipyChain/") + (synopsis "Python SOCKS module with chained proxies support") + (description + "SocksiPyChain is a modified version of the SocksiPy SOCKS module, which adds support for arbitrary chaining of proxy servers and various modes of TLS/SSL encryption. It was developed for use in PageKite, and also includes a simple netcat replacement with chaining support.") - (license license:bsd-3)))) + (license license:bsd-3))) (define-public python-pycodestyle (package @@ -5056,14 +5081,14 @@ where key might be occurred more than once in the container.") (define-public python-orderedmultidict (package (name "python-orderedmultidict") - (version "0.7.11") + (version "1.0") (source (origin (method url-fetch) (uri (pypi-uri "orderedmultidict" version)) (sha256 (base32 - "0dls862ibm7qbq4fnvwx0xn1v9hwyzywbff8xjjdr42dd75208yw")))) + "1idjbl933avgaadscrjw1np3xkvnz3phq0l8vw5qs0rqcjx9b65q")))) (build-system python-build-system) (arguments `(#:phases @@ -5290,14 +5315,14 @@ a general image processing tool.") (define-public python-pycparser (package (name "python-pycparser") - (version "2.19") + (version "2.20") (source (origin (method url-fetch) (uri (pypi-uri "pycparser" version)) (sha256 (base32 - "1cr5dcj9628lkz1qlwq3fv97c25363qppkmcayqvd05dpy573259")))) + "1w0m3xvlrzq4lkbvd1ngfm8mdw64r1yxy6n7djlw6qj5d0km6ird")))) (outputs '("out" "doc")) (build-system python-build-system) (native-inputs @@ -5768,6 +5793,25 @@ them as the version argument or in a SCM managed file.") (define-public python2-setuptools-scm (package-with-python2 python-setuptools-scm)) +(define-public python-sexpdata + (package + (name "python-sexpdata") + (version "0.0.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "sexpdata" version)) + (sha256 + (base32 + "1q4lsjyzzqrdv64l0pv4ij9nd8gqhvxqcrpxc2xpxs652sk2gj0s")))) + (build-system python-build-system) + (home-page "https://github.com/jd-boyd/sexpdata") + (synopsis "S-expression parser for Python") + (description + "Sexpdata is an S-expression parser/serializer. It has load and dump +functions like pickle, json or PyYAML module.") + (license license:bsd-3))) + (define-public python-pathlib2 (package (name "python-pathlib2") @@ -5897,6 +5941,25 @@ need to use the older and less efficient @code{pkg_resources} package.") ("python-contextlib2" ,python2-contextlib2-bootstrap) ("python-importlib-resources" ,python2-importlib-resources-bootstrap)))))) +(define-public python-importmagic + (package + (name "python-importmagic") + (version "0.1.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "importmagic" version)) + (sha256 + (base32 + "1n7qxa1snj06aw45mcfz7bxc46zp7fxj687140g2k6jcnyjmfxrz")))) + (build-system python-build-system) + (home-page "https://github.com/alecthomas/importmagic") + (synopsis "Library for adding, removing and managing Python imports") + (description + "Importmagic is a Python library for automatically managing imports by +finding unresolved symbols in Python code and their corresponding imports.") + (license license:bsd-3))) + (define-public python-jaraco-packaging (package (name "python-jaraco-packaging") @@ -6847,14 +6910,14 @@ some are not yet implemented).") (define-public python-netifaces (package (name "python-netifaces") - (version "0.10.7") + (version "0.10.9") (source (origin (method url-fetch) (uri (pypi-uri "netifaces" version)) (sha256 (base32 - "1gccklrcplbbqh81g1mdgpa5y8na7kkf29cq2ka3f5a2fp5hyndx")))) + "1wxby874kcr3pp4ygzk5aiarbzhg1yi093d56s1qg4k2s7yrzvid")))) (build-system python-build-system) (home-page "https://github.com/al45tair/netifaces") (synopsis @@ -7262,14 +7325,13 @@ It is written entirely in Python.") (define-public python-backports-csv (package (name "python-backports-csv") - (version "1.0.5") + (version "1.0.7") (source (origin (method url-fetch) (uri (pypi-uri "backports.csv" version)) (sha256 - (base32 - "1imzbrradkfn8s2m1qcimyn74dn1mz2p3j381jljn166rf2i6hlc")))) + (base32 "0vdx5jlhs91iizc8j8l8811nqprwvdx39pgkdc82w2qkfgzxyxqj")))) (build-system python-build-system) (home-page "https://github.com/ryanhiebert/backports.csv") (synopsis "Backport of Python 3's csv module for Python 2") @@ -7902,13 +7964,13 @@ should be stored on various operating systems.") (define-public python-llfuse (package (name "python-llfuse") - (version "1.3.5") + (version "1.3.6") (source (origin (method url-fetch) (uri (pypi-uri "llfuse" version ".tar.bz2")) (sha256 (base32 - "1n7a90jww3ly49fm7x27m3xw3la3qfrnykcakga654g6kcyjlhbf")))) + "1j9fzxpgmb4rxxyl9jcf84zvznhgi3hnh4hg5vb0qaslxkvng8ii")))) (build-system python-build-system) (inputs `(("fuse" ,fuse) @@ -8400,14 +8462,14 @@ versions of Python.") (define-public python-idna (package (name "python-idna") - (version "2.8") + (version "2.9") (source (origin (method url-fetch) (uri (pypi-uri "idna" version)) (sha256 (base32 - "01rlkigdxg17sf9yar1jl8n18ls59367wqh59hnawlyg53vb6my3")))) + "1jxp2pdi8y4asi7ka1zhx3yx09kv8kzj533f0ds7viz49b0x323m")))) (build-system python-build-system) (home-page "https://github.com/kjd/idna") (synopsis "Internationalized domain names in applications") @@ -8787,6 +8849,29 @@ functions to find and load entry points.") (define-public python2-entrypoints (package-with-python2 python-entrypoints)) +(define-public python-epc + (package + (name "python-epc") + (version "0.0.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "epc" version)) + (sha256 + (base32 + "09bx1ln1bwa00917dndlgs4k589h8qx2x080xch5m58p92kjwkd1")))) + (build-system python-build-system) + (propagated-inputs + `(("python-sexpdata" ,python-sexpdata))) + (native-inputs + `(("python-nose" ,python-nose))) + (home-page "https://github.com/tkf/python-epc") + (synopsis "Remote procedure call (RPC) stack for Emacs Lisp and Python") + (description + "Python-EPC can call elisp functions from Python and Python functions +from elisp.") + (license license:gpl3))) + (define-public python-nbconvert (package (name "python-nbconvert") @@ -8909,17 +8994,18 @@ interactive computing.") (define-public python-widgetsnbextension (package (name "python-widgetsnbextension") - (version "3.4.2") + (version "3.5.1") (source (origin (method url-fetch) (uri (pypi-uri "widgetsnbextension" version)) (sha256 (base32 - "0rc2nivdy7k4m3vljx7wdh2jh11djapcgwhvzlbs0isl8gl8nqgs")))) + "1ismyaxbv9d56yqqqb8xl58hg0iq0bbyy014a53y1g3hfbc8g7q7")))) (build-system python-build-system) (propagated-inputs - `(("python-ipykernel" ,python-ipykernel) + `(("python-ipykernel" + ,(prompt-toolkit-2-instead-of-prompt-toolkit python-ipykernel)) ("python-notebook" ,python-notebook))) (native-inputs `(("python-certifi" ,python-certifi) @@ -8936,17 +9022,18 @@ notebooks.") (define-public python-ipywidgets (package (name "python-ipywidgets") - (version "5.2.2") + (version "7.5.1") (source (origin (method url-fetch) (uri (pypi-uri "ipywidgets" version)) (sha256 (base32 - "1lk0qrr5l9a0z7qkkn30hv5832whxwxymf1l576fmmad0n7hkxms")))) + "15sww2mvnkqlvx55gwa82v05062a8j1xpncnqna4k9sl53hgcig9")))) (build-system python-build-system) (propagated-inputs - `(("python-ipython" ,python-ipython) + `(("python-ipython" ,(prompt-toolkit-2-instead-of-prompt-toolkit + python-ipython)) ("python-traitlets" ,python-traitlets) ("python-widgetsnbextension" ,python-widgetsnbextension))) (native-inputs @@ -8966,19 +9053,20 @@ in the data.") (define-public python-jupyter-console (package (name "python-jupyter-console") - (version "6.0.0") + (version "6.1.0") (source (origin (method url-fetch) (uri (pypi-uri "jupyter_console" version)) (sha256 (base32 - "1xdjw11cppf1fxvwkw2bk13ckkwas3bdah8baingn9296mvfi31h")))) + "06s3kr5vx0l1y1b7fxb04dmrppscl7q69sl9yyfr0d057d1ssvkg")))) (build-system python-build-system) (propagated-inputs - `(("python-ipykernel" ,python-ipykernel) + `(("python-ipykernel" ,(prompt-toolkit-2-instead-of-prompt-toolkit + python-ipykernel)) ("python-jupyter-client" ,python-jupyter-client) - ("python-prompt-toolkit" ,python-prompt-toolkit) + ("python-prompt-toolkit" ,python-prompt-toolkit-2) ("python-pygments" ,python-pygments))) (native-inputs `(("python-nose" ,python-nose))) @@ -9479,16 +9567,17 @@ applications.") (define-public python-apipkg (package (name "python-apipkg") - (version "1.4") + (version "1.5") (source (origin (method url-fetch) (uri (pypi-uri "apipkg" version)) (sha256 (base32 - "1iks5701qnp3dlr3q1d9qm68y2plp2m029irhpz92a44psfkjf1f")))) + "1xhak74yj3lqflvpijg15rnkklrigvsp5q7s4as4h6a157d8q8ip")))) (build-system python-build-system) (native-inputs - `(("python-pytest" ,python-pytest))) + `(("python-pytest" ,python-pytest) + ("python-setuptools-scm" ,python-setuptools-scm))) (synopsis "Namespace control and lazy-import mechanism") (description "With apipkg you can control the exported namespace of a Python package and greatly reduce the number of imports for your users. It is a small @@ -9496,9 +9585,6 @@ pure Python module that works on virtually all Python versions.") (home-page "https://github.com/pytest-dev/apipkg") (license license:expat))) -(define-public python2-apipkg - (package-with-python2 python-apipkg)) - (define-public python-execnet (package (name "python-execnet") @@ -10043,14 +10129,14 @@ python-xdo for newer bindings.)") (define-public python-mako (package (name "python-mako") - (version "1.1.1") + (version "1.1.2") (source (origin (method url-fetch) (uri (pypi-uri "Mako" version)) (sha256 (base32 - "193mds7lv91pphnvn6c1n55rhjkgq94asdzgrsb2fiqx7rrsd119")))) + "17bd6r9ynp4hyfckkia0bb8gpd98f42jfl5rmzdpbld59bbcaf9i")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -11396,14 +11482,14 @@ network support library.") (define-public python-ply (package (name "python-ply") - (version "3.10") + (version "3.11") (source (origin (method url-fetch) (uri (pypi-uri "ply" version)) (sha256 (base32 - "1jxsr1d2f732r6ljhvm827113dckwl6qwakfvpbdhcbhvpvlmscn")))) + "18qx113g9bi1ac4indd5phma82zcdq601lxncp3vjn43m2mc3iq0")))) (build-system python-build-system) (home-page "http://www.dabeaz.com/ply/") (synopsis "Python Lex & Yacc") @@ -11411,9 +11497,6 @@ network support library.") It uses LR parsing and does extensive error checking.") (license license:bsd-3))) -(define-public python2-ply - (package-with-python2 python-ply)) - (define-public python-tabulate (package (name "python-tabulate") @@ -11663,17 +11746,26 @@ implementation has been adapted, improved, and fixed from Molten.") (define-public python-shellingham (package (name "python-shellingham") - (version "1.3.1") + (version "1.3.2") (source (origin (method url-fetch) (uri (pypi-uri "shellingham" version)) (sha256 - (base32 - "1q7kws7w4x2hji3g7y0ni9ddk4sd676ylrb3db54gbpys6xj6nwq")))) + (base32 "07kmia2hvd2q7wik89m82hig9mqr2faynvy38vxq5fm0ps11jv2p")))) (build-system python-build-system) - (home-page - "https://github.com/sarugaku/shellingham") + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'restore-setup.py + ;; setup.py will return in the next release. + ;; <https://github.com/sarugaku/shellingham/issues/33> + (lambda _ + (with-output-to-file "setup.py" + (lambda _ + (display "from setuptools import setup\nsetup()\n"))) + #t))))) + (home-page "https://github.com/sarugaku/shellingham") (synopsis "Tool to detect surrounding shell") (description "Shellingham detects what shell the current Python executable is @@ -12049,14 +12141,14 @@ collections of data.") (define-public python-prompt-toolkit (package (name "python-prompt-toolkit") - (version "2.0.7") + (version "3.0.5") (source (origin (method url-fetch) - (uri (pypi-uri "prompt_toolkit" version ".tar.gz")) + (uri (pypi-uri "prompt_toolkit" version)) (sha256 (base32 - "0fgacqk73w7s932vy46pan2yp8rvjmlkag20xvaydh9mhf6h85zx")))) + "1j3x5s4gp4ih73sbcni0a0vffbzvrxbrbnkvb3fzjgxn810ilgan")))) (build-system python-build-system) (arguments `(#:phases @@ -12070,12 +12162,11 @@ collections of data.") (add-installed-pythonpath inputs outputs) (invoke "py.test")))))) (propagated-inputs - `(("python-wcwidth" ,python-wcwidth) - ("python-six" ,python-six) - ("python-pygments" ,python-pygments))) + `(("python-wcwidth" ,python-wcwidth))) (native-inputs `(("python-pytest" ,python-pytest))) - (home-page "https://github.com/jonathanslenders/python-prompt-toolkit") + (home-page + "https://github.com/prompt-toolkit/python-prompt-toolkit") (synopsis "Library for building command line interfaces in Python") (description "Prompt-Toolkit is a library for building interactive command line @@ -12085,11 +12176,31 @@ code completion, incremental search, support for Chinese double-width characters, mouse support, and auto suggestions.") (license license:bsd-3))) +(define-public python-prompt-toolkit-2 + (package (inherit python-prompt-toolkit) + (name "python-prompt-toolkit") + (version "2.0.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "prompt_toolkit" version)) + (sha256 + (base32 + "0fgacqk73w7s932vy46pan2yp8rvjmlkag20xvaydh9mhf6h85zx")))) + (propagated-inputs + `(("python-wcwidth" ,python-wcwidth) + ("python-six" ,python-six) + ("python-pygments" ,python-pygments))))) + +(define-public prompt-toolkit-2-instead-of-prompt-toolkit + (package-input-rewriting/spec + `(("python-prompt-toolkit" . ,(const python-prompt-toolkit-2))))) + (define-public python2-prompt-toolkit - (package-with-python2 python-prompt-toolkit)) + (package-with-python2 python-prompt-toolkit-2)) (define-public python-prompt-toolkit-1 - (package (inherit python-prompt-toolkit) + (package (inherit python-prompt-toolkit-2) (version "1.0.15") (source (origin @@ -12468,27 +12579,26 @@ discovery, monitoring and configuration.") (define-public python-odfpy (package (name "python-odfpy") - (version "1.3.3") + (version "1.4.1") (source (origin (method url-fetch) (uri (pypi-uri "odfpy" version)) (sha256 (base32 - "1a6ms0w9zfhhkqhvrnynwwbxrivw6hgjc0s5k7j06npc7rq0blxw")))) + "1v1qqk9p12qla85yscq2g413l3qasn6yr4ncyc934465b5p6lxnv")))) (arguments - `(#:modules ((srfi srfi-1) - (guix build python-build-system) - (guix build utils)) - #:phases + `(#:phases (modify-phases %standard-phases (replace 'check - ;; The test runner invokes python2 and python3 for test*.py. - ;; To avoid having both in inputs, we replicate it here. (lambda _ - (for-each (lambda (test-file) (invoke "python" test-file)) - (find-files "tests" "^test.*\\.py$")) - #t))))) + (setenv "PYTHONPATH" (string-append "./build/lib:" + (getenv "PYTHONPATH"))) + (invoke "pytest" "-vv")))))) (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest))) + (propagated-inputs + `(("python-defusedxml" ,python-defusedxml))) (home-page "https://github.com/eea/odfpy") (synopsis "Python API and tools to manipulate OpenDocument files") (description "Collection of libraries and utility programs written in @@ -13014,33 +13124,16 @@ PNG, JPEG, JPEG2000 and GIF files in pure Python.") (define-public python-argcomplete (package (name "python-argcomplete") - (version "1.10.3") + (version "1.11.1") (source (origin (method url-fetch) (uri (pypi-uri "argcomplete" version)) (sha256 (base32 - "02jkc44drb0yjz6x28lvg6rj607n8r2irdpdvyylm8xnycn54zx3")))) + "0h1przxffrhqvi46k40pzjsvdrq4zc3sl1pc96kkigqppq0vdrss")) + (patches (search-patches "python-argcomplete-1.11.1-fish31.patch")))) (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'embed-tool-references - (lambda _ - (substitute* "argcomplete/bash_completion.d/python-argcomplete.sh" - ((" grep") - (string-append " " (which "grep"))) - ((" egrep") - (string-append " " (which "egrep"))) - (("elif which") - (string-append "elif " (which "which"))) - (("\\$\\(which") - (string-append "$(" (which "which")))) - #t))))) - (inputs - `(("grep" ,grep) - ("which" ,which))) (native-inputs `(("python-coverage" ,python-coverage) ("python-flake8" ,python-flake8) @@ -13818,37 +13911,22 @@ clone, while other processes access the original tree.") (define-public python-astroid (package (name "python-astroid") - (version "2.3.3") + (version "2.4.1") (source (origin (method url-fetch) (uri (pypi-uri "astroid" version)) (sha256 - (base32 "0fnibsl2cb5mvzbfm7sycj85smx48f8w8m7ks1sqlmpr9ps0gski")))) + (base32 "1h99jal7ax07xna1djw5z7hpgb8vjrl3hrrg49p1phljwniww5sc")))) (build-system python-build-system) (propagated-inputs `(("python-lazy-object-proxy" ,python-lazy-object-proxy) ("python-six" ,python-six) - ("python-typed-ast" ,python-typed-ast) ("python-wrapt" ,python-wrapt))) (native-inputs `(("python-dateutil" ,python-dateutil) - ("python-nose" ,python-nose) ("python-pytest" ,python-pytest) ("python-pytest-runner" ,python-pytest-runner))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-spurious-test - (lambda _ - ;; This can be removed after upgrading from python-3.7 - ;; https://github.com/PyCQA/astroid/issues/593 - ;; https://bugs.python.org/issue34056 - (delete-file "astroid/tests/unittest_modutils.py") - #t)) - (replace 'check - (lambda _ - (invoke "pytest" "astroid")))))) (home-page "https://github.com/PyCQA/astroid") (synopsis "Common base representation of python source code for pylint and other projects") @@ -14066,7 +14144,7 @@ exception message with a traceback that points to the culprit.") (define-public python-mwclient (package (name "python-mwclient") - (version "0.10.0") + (version "0.10.1") (source (origin (method git-fetch) @@ -14076,8 +14154,7 @@ exception message with a traceback that points to the culprit.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "1c3q6lwmb05yqywc4ya98ca7hsl15niili8rccl4n1yqp77c103v")))) + (base32 "120snnsh9n5svfwkyj1w9jrxf99jnqm0jk282yypd3lpyca1l9hj")))) (build-system python-build-system) (propagated-inputs `(("python-requests-oauthlib" ,python-requests-oauthlib) @@ -15026,16 +15103,22 @@ window memory map manager.") (define-public python-regex (package (name "python-regex") - (version "2019.04.14") + (version "2020.6.8") (source (origin (method url-fetch) (uri (pypi-uri "regex" version)) (sha256 (base32 - "1a6hhfs6l6snr1z654ay6wzbmwdkmv282fzfkd5hk2d1n73y8v6m")))) - ;; TODO: Fix and enable regex_test.py tests that complain about the - ;; test.support module not existing. + "1b3k0zi1pd99q5mk7ri7vcx2y1mq5inm9hk8dryqyhrpkmh4xdp9")))) (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + (invoke "python" "-c" + "from regex.test_regex import test_main; test_main()")))))) (home-page "https://bitbucket.org/mrabarnett/mrab-regex") (synopsis "Alternative regular expression module") (description "This regular expression implementation is backwards- @@ -18324,6 +18407,50 @@ services to what you expect in your tests.") (define-public python-ujson (package (name "python-ujson") + (version "2.0.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ujson" version)) + (sha256 + (base32 + "18z9gb9ggy1r464b9q1gqs078mqgrkj6dys5a47529rqk3yfybdx")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "deps") #t)))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'link-to-system-double-conversion + (lambda* (#:key inputs #:allow-other-keys) + (let ((d-c (assoc-ref inputs "double-conversion"))) + (substitute* "setup.py" + (("./deps/double-conversion/double-conversion\"") + (string-append d-c "/include/double-conversion\"")) + (("-lstdc++" stdc) + (string-append "-L" d-c "/lib\"," + " \"-ldouble-conversion\"," + " \"" stdc))) + #t))) + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + (invoke "pytest")))))) + (native-inputs + `(("double-conversion" ,double-conversion) + ("python-setuptools-scm" ,python-setuptools-scm) + ("python-pytest" ,python-pytest))) + (home-page "https://github.com/ultrajson/ultrajson") + (synopsis "Ultra fast JSON encoder and decoder for Python") + (description + "UltraJSON is an ultra fast JSON encoder and decoder written in pure C with +bindings for Python 3.") + (license license:bsd-3))) + +(define-public python-ujson-1 + (package + (inherit python-ujson) (version "1.35") (source (origin @@ -18332,17 +18459,16 @@ services to what you expect in your tests.") (sha256 (base32 "11jz5wi7mbgqcsz52iqhpyykiaasila4lq8cmc2d54bfa3jp6q7n")))) - (build-system python-build-system) + (arguments + '(#:phases %standard-phases)) + (native-inputs '()) (home-page "http://www.esn.me") - (synopsis - "Ultra fast JSON encoder and decoder for Python") (description "UltraJSON is an ultra fast JSON encoder and decoder written in pure C with - bindings for Python 2.5+ and 3.") - (license license:bsd-3))) +bindings for Python 2.5+ and 3."))) -(define-public python2-ujson - (package-with-python2 python-ujson)) +(define-public python2-ujson-1 + (package-with-python2 python-ujson-1)) (define-public python-iocapture ;; The latest release is more than a year older than this commit. @@ -18749,7 +18875,8 @@ and cuts down boilerplate code when testing libraries for asyncio.") (uri (pypi-uri "shouldbe" version)) (sha256 (base32 - "16zbvjxf71dl4yfbgcr6idyim3mdrfvix1dv8b95p0s9z07372pj")))) + "16zbvjxf71dl4yfbgcr6idyim3mdrfvix1dv8b95p0s9z07372pj")) + (patches (search-patches "python-shouldbe-0.1.2-cpy3.8.patch")))) (build-system python-build-system) (propagated-inputs `(("python-forbiddenfruit" ,python-forbiddenfruit))) @@ -19895,3 +20022,57 @@ allows you, from Python code, to “fix” invalid (X)HTML markup.") (define-public python2-pytidylib (package-with-python2 python-pytidylib)) + +(define-public python-mujson + (package + (name "python-mujson") + (version "1.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "mujson" version)) + (sha256 + (base32 + "0wbj6r8yzsdx2b0kbldlkznr1a9nn33za2q9x3g0hbg420dwzn97")))) + (build-system python-build-system) + (home-page "https://github.com/mattgiles/mujson") + (synopsis "Use the fastest JSON functions available at import time") + (description "This packages selects the fastest JSON functions available +at import time.") + (license license:expat))) + +(define-public python-bashlex + (package + (name "python-bashlex") + (version "0.14") + (source + (origin + (method url-fetch) + (uri (pypi-uri "bashlex" version)) + (sha256 + (base32 + "1z9g96fgsfpdwawp4sb5x6hbdhmda7kgmcrqlf9xx4bs1f8f14js")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'pregenerate-yacc-tables + (lambda _ + ;; parser.py caches tables, which attempts to write to site lib + ;; see https://github.com/idank/bashlex/issues/51 + (invoke "python" "-c" "import bashlex")))))) + (home-page + "https://github.com/idank/bashlex") + (synopsis "Python parser for bash") + (description "@code{bashlex} is a Python port of the parser used +internally by GNU bash. + +For the most part it's transliterated from C, the major differences are: + +@itemize +@item it does not execute anything +@item it is reentrant +@item it generates a complete AST +@end itemize +") + (license license:gpl3+))) |