X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/741f98b3f1d66252ce0122aed9f800da6bdaa8f7..022b0d5ff743b2b95ae8bc9dea95baa9bf78b588:/gnu/packages/python-xyz.scm diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 0c1479d411..57c40aa3f0 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -41,7 +41,7 @@ ;;; Copyright © 2017, 2018, 2019 Mathieu Othacehe ;;; Copyright © 2017 José Miguel Sánchez García ;;; Copyright © 2017 Roel Janssen -;;; Copyright © 2017, 2018 Kei Kebreau +;;; Copyright © 2017, 2018, 2019 Kei Kebreau ;;; Copyright © 2017 Rutger Helling ;;; Copyright © 2017 Muriithi Frederick Muriuki ;;; Copyright © 2017, 2019 Brendan Tildesley @@ -53,7 +53,7 @@ ;;; Copyright © 2016, 2018 Tomáš Čech ;;; Copyright © 2018, 2019 Nicolas Goaziou ;;; Copyright © 2018 Oleg Pykhalov -;;; Copyright © 2018 Clément Lassieur +;;; Copyright © 2018, 2019 Clément Lassieur ;;; Copyright © 2018, 2019 Maxim Cournoyer ;;; Copyright © 2018 Luther Thompson ;;; Copyright © 2018 Vagrant Cascadian @@ -103,6 +103,7 @@ #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) #:use-module (gnu packages graphviz) #:use-module (gnu packages graphics) #:use-module (gnu packages gstreamer) @@ -128,6 +129,7 @@ #:use-module (gnu packages python-check) #:use-module (gnu packages python-compression) #:use-module (gnu packages python-crypto) + #:use-module (gnu packages python-science) #:use-module (gnu packages python-web) #:use-module (gnu packages qt) #:use-module (gnu packages readline) @@ -166,14 +168,13 @@ (define-public python-psutil (package (name "python-psutil") - (version "5.6.2") + (version "5.6.5") (source (origin (method url-fetch) (uri (pypi-uri "psutil" version)) (sha256 - (base32 - "1v95vb5385qscfdvphv8l2w22bmir3d7yhpi02n58v3mlqy1r3l2")))) + (base32 "0isil5jxwwd8awz54qk28rpgjg43i5l6yl70g40vxwa4r4m56lfh")))) (build-system python-build-system) (arguments ;; FIXME: some tests does not return and times out. @@ -549,14 +550,13 @@ concepts.") (define-public python-cftime (package (name "python-cftime") - (version "1.0.3.4") + (version "1.0.4.2") (source (origin (method url-fetch) (uri (pypi-uri "cftime" version)) (sha256 - (base32 - "0362dhxbzk593walyjz30dll6y2y79wialik647cbwdsf3ad0x6x")))) + (base32 "0w0gi6jnch38hiygl62j4xkcirv4y3dcwrvxl9p7bsk6j27lzihs")))) (build-system python-build-system) (propagated-inputs `(("python-numpy" ,python-numpy))) @@ -910,10 +910,18 @@ some helpful Python 2 compatibility convenience methods.") (base32 "09z4d1jiasn7k1hs5af2ckmnrd0i1d1m04bhfjhv7z6svzfdwgg3")))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + ;; Do not run pylint plugin test, as astroid is an old + ;; unsupported version. + (invoke "pytest" "-v" "-k" "not test_pylint_plugin" + "verboselogs/tests.py")))))) (native-inputs `(("python-mock" ,python-mock) - ("python-astroid" ,python-astroid) - ("python-pylint" ,python-pylint))) + ("python-pytest" ,python-pytest))) (home-page "https://verboselogs.readthedocs.io") (synopsis "Verbose logging level for Python's logging module") (description @@ -927,14 +935,14 @@ add the log levels NOTICE, SPAM, SUCCESS and VERBOSE.") (define-public python-coloredlogs (package (name "python-coloredlogs") - (version "7.3") + (version "10.0") (source (origin (method url-fetch) (uri (pypi-uri "coloredlogs" version)) (sha256 (base32 - "1blcann6dyg5dhps9pg12rn0q0rjrlajpmmil0gy0j4cbvnl2il9")))) + "0dkw6xp0r1dwgz4s2f58npx5nxfq51wf4l6qkm5ib27slgfs4sdq")))) (build-system python-build-system) (arguments `(;Tests require some updated modules @@ -1148,83 +1156,6 @@ human-friendly syntax.") (define-public python2-schedule (package-with-python2 python-schedule)) -(define-public python-pandas - (package - (name "python-pandas") - (version "0.24.2") - (source - (origin - (method url-fetch) - (uri (pypi-uri "pandas" version)) - (sha256 - (base32 "18imlm8xbhcbwy4wa957a1fkamrcb0z988z006jpfda3ki09z4ag")))) - (build-system python-build-system) - (arguments - `(#:modules ((guix build utils) - (guix build python-build-system) - (ice-9 ftw) - (srfi srfi-26)) - #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-which - (lambda* (#:key inputs #:allow-other-keys) - (let ((which (assoc-ref inputs "which"))) - (substitute* "pandas/io/clipboard/__init__.py" - (("^CHECK_CMD = .*") - (string-append "CHECK_CMD = \"" which "\"\n")))) - #t)) - (replace 'check - (lambda _ - (let ((build-directory - (string-append - (getcwd) "/build/" - (car (scandir "build" - (cut string-prefix? "lib." <>)))))) - ;; Disable the "strict data files" option which causes - ;; the build to error out if required data files are - ;; not available (as is the case with PyPI archives). - (substitute* "setup.cfg" - (("addopts = --strict-data-files") "addopts = ")) - (with-directory-excursion build-directory - ;; Delete tests that require "moto" which is not yet - ;; in Guix. - (for-each delete-file - '("pandas/tests/io/conftest.py" - "pandas/tests/io/json/test_compression.py" - "pandas/tests/io/parser/test_network.py" - "pandas/tests/io/test_parquet.py")) - (invoke "pytest" "-vv" "pandas" "--skip-slow" - "--skip-network" "-k" - ;; XXX: Due to the deleted tests above. - "not test_read_s3_jsonl")))))))) - (propagated-inputs - `(("python-numpy" ,python-numpy) - ("python-openpyxl" ,python-openpyxl) - ("python-pytz" ,python-pytz) - ("python-dateutil" ,python-dateutil) - ("python-xlrd" ,python-xlrd))) - (inputs - `(("which" ,which))) - (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) - ("python-pytest-mock" ,python-pytest-mock))) - (home-page "https://pandas.pydata.org") - (synopsis "Data structures for data analysis, time series, and statistics") - (description - "Pandas is a Python package providing fast, flexible, and expressive data -structures designed to make working with structured (tabular, -multidimensional, potentially heterogeneous) and time series data both easy -and intuitive. It aims to be the fundamental high-level building block for -doing practical, real world data analysis in Python.") - (license license:bsd-3))) - -(define-public python2-pandas - (package-with-python2 python-pandas)) - (define-public python2-mechanize (package (name "python2-mechanize") @@ -1916,13 +1847,13 @@ files.") (define-public python-pyld (package (name "python-pyld") - (version "1.0.3") + (version "1.0.5") (source (origin (method url-fetch) (uri (pypi-uri "PyLD" version)) (sha256 (base32 - "12i2g6xdj30k7xxcibg3sc5y76snwq8l6n8fy9lyi577kgy0h2pm")))) + "1ywbdbsrkg533qh8xn9ifjh2mvam6v5msrjyqq73jfpvcp89qvff")))) (build-system python-build-system) (home-page "https://github.com/digitalbazaar/pyld") (synopsis "Python implementation of the JSON-LD specification") @@ -2992,14 +2923,13 @@ receive files via the SCP1 protocol, as implemented by the OpenSSH (define-public python-rst.linker (package (name "python-rst.linker") - (version "1.10") + (version "1.11") (source (origin (method url-fetch) (uri (pypi-uri "rst.linker" version)) (sha256 - (base32 - "0iqaacp7pj1s8avs4kc0qg0r7dscywaq37y6l9j14glqdikk0wdj")))) + (base32 "0pqsfqqx8h0pq21k8l3k62kznrgaj2ala93c64s4d9rpbr4mgkd2")))) (build-system python-build-system) (propagated-inputs `(("python-dateutil" ,python-dateutil) @@ -3077,19 +3007,20 @@ Language (TOML) configuration files.") (define-public python-jsonrpc-server (package (name "python-jsonrpc-server") - (version "0.1.2") + (version "0.3.2") (source (origin (method url-fetch) (uri (pypi-uri "python-jsonrpc-server" version)) (sha256 (base32 - "0m4ykpcdy52x37n1ikysp07j7p8ialcdvvvsrjp3545sn7iiid09")))) + "0ddgdp26dfxaz6isjbb12974b3rxavgsqrn2zrmck62cmipg5g05")))) (build-system python-build-system) (propagated-inputs `(("python-future" ,python-future) ("python-mock" ,python-mock) - ("python-pytest" ,python-pytest))) + ("python-pytest" ,python-pytest) + ("python-ujson" ,python-ujson))) (home-page "https://github.com/palantir/python-jsonrpc-server") (synopsis "JSON RPC 2.0 server library") @@ -3123,14 +3054,14 @@ Server (PLS).") (define-public python-language-server (package (name "python-language-server") - (version "0.29.1") + (version "0.31.2") (source (origin (method url-fetch) (uri (pypi-uri "python-language-server" version)) (sha256 (base32 - "1f8qlflh6j3s7qfmzhirpl8fgidl6f0qbakdmiml96wdxzvka0s3")))) + "1iq69wc1fyhirfyq25ih41wq9yvr7bchiw0i116adpdgcq6m9idq")))) (build-system python-build-system) (propagated-inputs `(("python-pluggy" ,python-pluggy) @@ -3290,42 +3221,6 @@ Mallard using the @command{ducktype} tool. The yelp-tools package provides additional functionality on the produced Mallard documents.") (license license:expat))) -(define-public python-scikit-image - (package - (name "python-scikit-image") - (version "0.14.2") - (source - (origin - (method url-fetch) - (uri (pypi-uri "scikit-image" version)) - (sha256 - (base32 "07qchljkyxvg5nrm12fvszi7pmjk4m01qp0w0z8syxzxxs20pz8s")))) - (build-system python-build-system) - (arguments - ;; TODO: Some tests require running X11 server. Disable them? - '(#:tests? #f)) - ;; See DEPENDS.txt for the list of build and run time requiremnts - (propagated-inputs - `(("python-cloudpickle" ,python-cloudpickle) - ("python-dask" ,python-dask) - ("python-matplotlib" ,python-matplotlib) - ("python-networkx" ,python-networkx) - ("python-numpy" ,python-numpy) - ("python-pillow" ,python-pillow) - ("python-pywavelets" ,python-pywavelets) - ("python-scipy" ,python-scipy) - ("python-six" ,python-six))) - (native-inputs - `(("python-cython" ,python-cython))) - (home-page "http://scikit-image.org/") - (synopsis "Image processing in Python") - (description - "Scikit-image is a collection of algorithms for image processing.") - (license license:bsd-3))) - -(define-public python2-scikit-image - (package-with-python2 python-scikit-image)) - (define-public python-cython (package (name "python-cython") @@ -3445,7 +3340,7 @@ between language specification and implementation aspects.") (define-public python-numpy (package (name "python-numpy") - (version "1.15.4") + (version "1.17.3") (source (origin (method url-fetch) @@ -3454,7 +3349,7 @@ between language specification and implementation aspects.") version "/numpy-" version ".tar.gz")) (sha256 (base32 - "102vcl2qq4pjbm7a3d67vkkvn4466ngia1d8wi5avqwqh8j0jvkn")))) + "1ak9dmjja0q90a7fsxli51ypcwssh8c4pb6f8wkrsnf2xgdk6dy9")))) (build-system python-build-system) (inputs `(("openblas" ,openblas) @@ -3519,10 +3414,24 @@ with Python. It contains among other things: a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran code, useful linear algebra, Fourier transform, and random number capabilities.") + (properties `((python2-variant . ,(delay python2-numpy)))) (license license:bsd-3))) +;; Numpy 1.16.x are the last versions that support Python 2. (define-public python2-numpy - (package-with-python2 python-numpy)) + (let ((numpy (package-with-python2 + (strip-python2-variant python-numpy)))) + (package/inherit + numpy + (version "1.16.5") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/numpy/numpy/releases/download/v" + version "/numpy-" version ".tar.gz")) + (sha256 + (base32 + "0lg1cycxzi4rvvrd5zxinpdz0ni792fpx6xjd75z1923zcac8qrb"))))))) ;; NOTE: NumPy 1.8 is packaged only for Python 2 because it is of ;; interest only for legacy code going back to NumPy's predecessor @@ -3965,14 +3874,14 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc. (define-public python-matplotlib (package (name "python-matplotlib") - (version "3.1.1") + (version "3.1.2") (source (origin (method url-fetch) (uri (pypi-uri "matplotlib" version)) (sha256 (base32 - "14qc109dibp32xfd9lah54djc0rc76fhbsj9cwyb328lzqmd5sqz")))) + "1nmshfqh7wyg15i16hx1yiylcvzkws29ivn66n3i0wyqwcpjr3lf")))) (build-system python-build-system) (propagated-inputs ; the following packages are all needed at run time `(("python-cycler" ,python-cycler) @@ -4037,8 +3946,14 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc. (for-each delete-file ;; test_normal_axes, test_get_tightbbox_polar '("lib/matplotlib/tests/test_axes.py" + ;; We don't use the webagg backend and this test forces it. + "lib/matplotlib/tests/test_backend_webagg.py" ;; test_outward_ticks "lib/matplotlib/tests/test_tightlayout.py" + ;; test_hidden_axes fails with minor extent + ;; differences, possibly due to the use of a + ;; different version of FreeType. + "lib/matplotlib/tests/test_constrainedlayout.py" ;; Fontconfig returns no fonts. "lib/matplotlib/tests/test_font_manager.py")) #t)) @@ -4051,12 +3966,11 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc. (assoc-ref inputs "jquery-ui") "-d" dir)) #t)) - (delete 'check) - (add-after 'install 'check + (replace 'check (lambda* (#:key outputs inputs #:allow-other-keys) (add-installed-pythonpath inputs outputs) (invoke "python" "tests.py" "-v" - "-m" "not network"))) + "-m" "not network and not webagg"))) (add-before 'build 'configure-environment (lambda* (#:key outputs inputs #:allow-other-keys) (let ((cairo (assoc-ref inputs "cairo"))) @@ -4110,6 +4024,7 @@ toolkits.") (assoc-ref inputs "jquery-ui") "-d" dir)) #t)) + (delete 'fix-and-disable-failing-tests) (delete 'check))))) ; These tests weren't run the the past. ;; Make sure to use special packages for Python 2 instead ;; of those automatically rewritten by package-with-python2. @@ -4275,126 +4190,6 @@ those files. It can also efficiently manipulate ranges of integers using set operators such as union, intersection, and difference.") (license license:asl2.0))) -(define-public python-scipy - (package - (name "python-scipy") - (version "1.3.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "scipy" version)) - (sha256 - (base32 - "1df113c9i6vazsn6y3n9wc22jh737z1g7dmx3mypkdwpdnscyhr6")))) - (build-system python-build-system) - (propagated-inputs - `(("python-numpy" ,python-numpy) - ("python-matplotlib" ,python-matplotlib) - ("python-pyparsing" ,python-pyparsing))) - (inputs - `(("lapack" ,lapack) - ("openblas" ,openblas))) - (native-inputs - `(("python-cython" ,python-cython) - ("python-pytest" ,python-pytest) - ("python-sphinx" ,python-sphinx) - ("python-numpydoc" ,python-numpydoc) - ("gfortran" ,gfortran) - ("perl" ,perl) - ("which" ,which))) - (outputs '("out" "doc")) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'disable-broken-tests - (lambda _ - (substitute* "scipy/sparse/linalg/dsolve/tests/test_linsolve.py" - (("^( +)def test_threads_parallel\\(self\\):" m indent) - (string-append indent - "@pytest.mark.skip(reason=\"Disabled by Guix\")\n" - m))) - (substitute* "scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py" - (("^def test_parallel_threads\\(\\):" m) - (string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n" - m))) - #t)) - (add-before 'build 'configure-openblas - (lambda* (#:key inputs #:allow-other-keys) - (call-with-output-file "site.cfg" - (lambda (port) - (format port - "[blas] -libraries = openblas -library_dirs = ~a/lib -include_dirs = ~a/include - -# backslash-n to make emacs happy -\n[atlas] -library_dirs = ~a/lib -atlas_libs = openblas -" - (assoc-ref inputs "openblas") - (assoc-ref inputs "openblas") - (assoc-ref inputs "openblas")))) - #t)) - (add-after 'install 'install-doc - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((data (string-append (assoc-ref outputs "doc") "/share")) - (doc (string-append data "/doc/" ,name "-" ,version)) - (html (string-append doc "/html")) - (pyver ,(string-append "PYVER=" (version-major+minor - (package-version python)))) - ;; By default it tries to run sphinx-build through the Python - ;; interpreter which won't work with our shell wrapper. - (sphinxbuild "SPHINXBUILD=LANG=C sphinx-build")) - ;; Make installed package available for building the - ;; documentation - (add-installed-pythonpath inputs outputs) - (with-directory-excursion "doc" - ;; Fix generation of images for mathematical expressions. - (substitute* (find-files "source" "conf\\.py") - (("pngmath_use_preview = True") - "pngmath_use_preview = False")) - (mkdir-p html) - (invoke "make" "html" pyver sphinxbuild) - (with-directory-excursion "build/html" - (for-each (lambda (file) - (let* ((dir (dirname file)) - (tgt-dir (string-append html "/" dir))) - (install-file file html))) - (find-files "." ".*"))))) - #t)) - ;; Tests can only be run after the library has been installed and not - ;; within the source directory. - (delete 'check) - (add-after 'install 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - (add-installed-pythonpath inputs outputs) - (with-directory-excursion "/tmp" - (invoke "python" "-c" - "import scipy; scipy.test(verbose=2)"))))))) - (home-page "https://www.scipy.org/") - (synopsis "The Scipy library provides efficient numerical routines") - (description "The SciPy library is one of the core packages that make up -the SciPy stack. It provides many user-friendly and efficient numerical -routines such as routines for numerical integration and optimization.") - (properties `((python2-variant . ,(delay python2-scipy)))) - (license license:bsd-3))) - -;; Version 1.2.2 is the last version to support Python 2 -(define-public python2-scipy - (package - (inherit (package-with-python2 - (strip-python2-variant python-scipy))) - (version "1.2.2") - (source - (origin - (method url-fetch) - (uri (pypi-uri "scipy" version)) - (sha256 - (base32 - "1cgvgin8fvckv96hjh3ikmwkra5rif51bdb75ifzf7xbil5iwcx4")))))) - (define-public python-socksipy-branch (package (name "python-socksipy-branch") @@ -4423,6 +4218,32 @@ as the original project seems to have been abandoned circa 2007.") (define-public python2-socksipy-branch (package-with-python2 python-socksipy-branch)) +(define-public python-socksipychain + (package + (name "python-socksipychain") + (version "2.1.0") + (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 + "0idm9a050rd2kbgbz2sk9ib9589kj4xh1xdnggs6xbq2v2y8f6zn")))) + (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))) + (define-public python-pycodestyle (package (name "python-pycodestyle") @@ -4612,25 +4433,25 @@ the OleFileIO module from PIL, the Python Image Library.") (define-public python-pillow (package (name "python-pillow") - (version "6.1.0") + (version "6.2.1") (source (origin (method url-fetch) (uri (pypi-uri "Pillow" version)) (sha256 (base32 - "1pnrsz0f0n0c819v1pdr8j6rm8xvhc9f3kh1fv9xpdp9n5ygf108")))) + "1c8wkzc58f5wdh006jvmwdk3wxld1xgagcbdvj7iv17qi0m9fkmz")))) (build-system python-build-system) (native-inputs `(("python-pytest" ,python-pytest))) (inputs `(("freetype" ,freetype) ("lcms" ,lcms) - ("zlib" ,zlib) ("libjpeg" ,libjpeg) - ("openjpeg" ,openjpeg) ("libtiff" ,libtiff) - ("libwebp" ,libwebp))) + ("libwebp" ,libwebp) + ("openjpeg" ,openjpeg) + ("zlib" ,zlib))) (propagated-inputs `(("python-olefile" ,python-olefile))) (arguments @@ -4640,15 +4461,16 @@ the OleFileIO module from PIL, the Python Image Library.") (lambda _ (substitute* "setup.py" (("\\['/sbin/ldconfig', '-p'\\]") "['true']")))) - (delete 'check) ; We must run checks after python-pillow is installed. - (add-after 'install 'check-installed - (lambda* (#:key outputs inputs #:allow-other-keys) - (begin - (setenv "HOME" (getcwd)) - ;; Make installed package available for running the tests. - (add-installed-pythonpath inputs outputs) - (invoke "python" "selftest.py" "--installed") - (invoke "python" "-m" "pytest" "-vv"))))))) + (replace 'check + (lambda* (#:key outputs inputs tests? #:allow-other-keys) + (if tests? + (begin + (setenv "HOME" (getcwd)) + ;; Make installed package available for running the tests. + (add-installed-pythonpath inputs outputs) + (invoke "python" "selftest.py" "--installed") + (invoke "python" "-m" "pytest" "-vv")) + #t)))))) (home-page "https://python-pillow.org") (synopsis "Fork of the Python Imaging Library") (description @@ -5212,13 +5034,13 @@ releases.") (define-public python-pathpy (package (name "python-pathpy") - (version "11.5.0") + (version "11.5.1") (source (origin (method url-fetch) (uri (pypi-uri "path.py" version)) (sha256 - (base32 "1jxkf91syzxlpiwgm83fjfz1m5xh3jrvv4iyl5wjsnkk599pls5n")))) + (base32 "0ir9j1haq2jbi7aip6k2fa9l7q1l03k4hp1awxhjhcwzsnwp3ll8")))) (outputs '("out" "doc")) (build-system python-build-system) (propagated-inputs @@ -5432,13 +5254,13 @@ installing @code{kernelspec}s for use with Jupyter frontends.") (define-public python-ipykernel (package (name "python-ipykernel") - (version "5.1.1") + (version "5.1.3") (source (origin (method url-fetch) (uri (pypi-uri "ipykernel" version)) (sha256 - (base32 "173nm29g85w8cac3fg40b27qaq26g41wgg6qn79ql1hq4w2n5sgh")))) + (base32 "1a08y677lpn80qzvv7z0smgggmr5m5ayf0bs6vds47xpxl9sss5k")))) (build-system python-build-system) (arguments `(#:phases @@ -5463,8 +5285,9 @@ installing @code{kernelspec}s for use with Jupyter frontends.") ;; imported at runtime during connect ("python-jupyter-client" ,python-jupyter-client))) (native-inputs - `(("python-pytest" ,python-pytest) - ("python-nose" ,python-nose))) + `(("python-flaky" ,python-flaky) + ("python-nose" ,python-nose) + ("python-pytest" ,python-pytest))) (home-page "https://ipython.org") (synopsis "IPython Kernel for Jupyter") (description @@ -5618,13 +5441,13 @@ computing.") (define-public python-ipython (package (name "python-ipython") - (version "7.5.0") + (version "7.9.0") (source (origin (method url-fetch) (uri (pypi-uri "ipython" version ".tar.gz")) (sha256 - (base32 "09mbxq37mfn88xjnib7qfzaq9krr7gf1jxwy1p6mcjr254082h78")))) + (base32 "103jkw18z7fnwdal1mdbijjxi1fndzn31g887lmj7ddpf2r07lyz")))) (build-system python-build-system) (propagated-inputs `(("python-backcall" ,python-backcall) @@ -5884,27 +5707,15 @@ parsing (browser/HTTP) user agent strings.") (define-public python-dbus (package (name "python-dbus") - (version "1.2.8") + (version "1.2.14") (source (origin (method url-fetch) (uri (string-append "https://dbus.freedesktop.org/releases/dbus-python/" "dbus-python-" version ".tar.gz")) (sha256 - (base32 - "0vvvjmiwnc9cjlks3gcdk43ap7llhlpz7cm1wbw0nc2yfsxjpwdb")))) + (base32 "0cdchkgnivlka4lf8q4qfk0yxq483i3r3aqickjf8hfn7nx0c0mi")))) (build-system gnu-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-before - 'check 'pre-check - (lambda _ - ;; XXX: For the missing '/etc/machine-id'. - (substitute* "test/run-test.sh" - (("DBUS_FATAL_WARNINGS=1") - "DBUS_FATAL_WARNINGS=0")) - #t))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs @@ -5922,10 +5733,7 @@ implementation of D-Bus.") (inputs `(("python" ,python-2) ,@(alist-delete "python" (package-inputs python-dbus) - equal?))) - ;; FIXME: on Python 2, the test_utf8 fails with: - ;; "ValueError: unichr() arg not in range(0x10000) (narrow Python build)" - (arguments `(#:tests? #f)))) + equal?))))) (define-public python-notify2 (package @@ -5957,15 +5765,20 @@ the GObject Introspection bindings to libnotify for non-GTK applications.") (define-public python-lxml (package (name "python-lxml") - (version "4.2.5") + (version "4.4.1") (source (origin (method url-fetch) (uri (pypi-uri "lxml" version)) (sha256 (base32 - "0zw0y9hs0nflxhl9cs6ipwwh53szi3w2x06wl0k9cylyqac0cwin")))) + "14jnpfcpgqr9sx8ppd286jzcbk0b36hbqsvd8jkvffipzw5v8768")))) (build-system python-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "make" "test")))))) (inputs `(("libxml2" ,libxml2) ("libxslt" ,libxslt))) @@ -6028,14 +5841,14 @@ converts incoming documents to Unicode and outgoing documents to UTF-8.") (define-public python-soupsieve (package (name "python-soupsieve") - (version "1.9.2") + (version "1.9.5") (source (origin (method url-fetch) (uri (pypi-uri "soupsieve" version)) (sha256 (base32 - "0in9rc9q3h8w5b4qf7kvl3qxcvw6vrz35ckblchgf70hm6pg3dbj")))) + "1nhd0q0ifwva9wn645s6pn74p1rd97asn3qfg75nphx1wkgcbhg2")))) (build-system python-build-system) (arguments `(#:tests? #f)) ;;XXX: 2 tests fail currently despite claming they were to be @@ -6138,13 +5951,13 @@ Python.") (define-public snakemake (package (name "snakemake") - (version "5.2.4") + (version "5.7.1") (source (origin (method url-fetch) (uri (pypi-uri "snakemake" version)) (sha256 - (base32 "0gj0xxgiq3mp9qyyrbfzldiaq1giliqw0in64nqiz7vx49myqj7z")))) + (base32 "1pnpvvn8n2a78cg360wz3ldmpqrsm2wzi0c0dmvki9fnsw6fxdas")))) (build-system python-build-system) (arguments ;; TODO: Package missing test dependencies. @@ -6162,18 +5975,19 @@ Python.") "/bin/snakemake"))) #t))))) (propagated-inputs - `(("python-gitpython" ,python-gitpython) - ("python-wrapt" ,python-wrapt) - ("python-requests" ,python-requests) - ("python-appdirs" ,python-appdirs) + `(("python-appdirs" ,python-appdirs) ("python-configargparse" ,python-configargparse) ("python-datrie" ,python-datrie) ("python-docutils" ,python-docutils) + ("python-gitpython" ,python-gitpython) ("python-jinja2" ,python-jinja2) ("python-jsonschema" ,python-jsonschema) ("python-networkx" ,python-networkx) + ("python-psutil" ,python-psutil) ("python-pyyaml" ,python-pyyaml) - ("python-ratelimiter" ,python-ratelimiter))) + ("python-ratelimiter" ,python-ratelimiter) + ("python-requests" ,python-requests) + ("python-wrapt" ,python-wrapt))) (home-page "https://snakemake.readthedocs.io") (synopsis "Python-based execution environment for make-like workflows") (description @@ -6182,24 +5996,6 @@ providing a clean and modern domain specific specification language (DSL) in Python style, together with a fast and comfortable execution environment.") (license license:expat))) -;; This is currently needed for the pigx-* packages. -(define-public snakemake-4 - (package (inherit snakemake) - (version "4.4.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "snakemake" version)) - (sha256 - (base32 "0g0paia4z7w3srnqdmavq3hrb2x7qnpf81jx50njl0p7y4y0j8jv")))) - (propagated-inputs - `(("python-wrapt" ,python-wrapt) - ("python-requests" ,python-requests) - ("python-appdirs" ,python-appdirs) - ("python-configargparse" ,python-configargparse) - ("python-pyyaml" ,python-pyyaml) - ("python-ratelimiter" ,python-ratelimiter))))) - (define-public python-pyqrcode (package (name "python-pyqrcode") @@ -6229,7 +6025,19 @@ SVG, EPS, PNG and terminal output.") (method url-fetch) (uri (pypi-uri "seaborn" version)) (sha256 - (base32 "0bqysi3fxfjl1866m5jq8z7mynhqbqnikim74dmzn8539iwkzj3n")))) + (base32 "0bqysi3fxfjl1866m5jq8z7mynhqbqnikim74dmzn8539iwkzj3n")) + (patches + (list (origin + (method url-fetch) + ;; This has already been merged, but there is no new + ;; release including this patch. It fixes problems + ;; with axis rotation that would lead to test + ;; failures. + (uri "https://patch-diff.githubusercontent.com/raw/mwaskom/seaborn/pull/1716.diff") + (sha256 + (base32 + "1lm870z316n9ivsyr86hpk1gxaraw0mrjvq42lqsm0znhjdp9q9w")) + (file-name "seaborn-0.9.0-axis-rotation.patch")))))) (build-system python-build-system) (arguments `(#:phases @@ -6242,6 +6050,12 @@ SVG, EPS, PNG and terminal output.") (system (format #f "~a/bin/Xvfb :1 &" xorg-server)) (setenv "DISPLAY" ":1") #t))) + (add-after 'unpack 'fix-tests + (lambda _ + ;; test_cbar_ticks fails probably because of matplotlib's + ;; expectation of using an older version of FreeType. + (delete-file "seaborn/tests/test_matrix.py") + #t)) (replace 'check (lambda _ (invoke "pytest" "seaborn") #t))))) (propagated-inputs `(("python-pandas" ,python-pandas) @@ -6250,7 +6064,7 @@ SVG, EPS, PNG and terminal output.") ("python-scipy" ,python-scipy))) (native-inputs `(("python-pytest" ,python-pytest) - ("xorg-server" ,xorg-server))) + ("xorg-server" ,xorg-server-for-tests))) (home-page "http://stanford.edu/~mwaskom/software/seaborn/") (synopsis "Statistical data visualization") (description @@ -7253,21 +7067,23 @@ Supported netlink families and protocols include: (define-public python-xlrd (package (name "python-xlrd") - (version "1.0.0") + (version "1.2.0") (source (origin (method url-fetch) (uri (pypi-uri "xlrd" version)) (sha256 (base32 - "0s8hjiz01vbhy85xalrz0qlsmd9ypf36zjqrf97hh984spapvy0g")))) + "1ci93fda4n67qhdvfl16zasyxrpygzk53hs6m8z0rd4dxrnb6vjl")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases - ;; Current test in setup.py does not work as of 1.0.0, so use nose to - ;; run tests instead for now. - (replace 'check (lambda _ (invoke "nosetests")))))) - (native-inputs `(("python-nose" ,python-nose))) + ;; Some tests depend on writing a temporary file to the user's home + ;; directory. + (add-after 'unpack 'fix-tests + (lambda _ + (delete-file "tests/test_open_workbook.py") + #t))))) (home-page "http://www.python-excel.org/") (synopsis "Library for extracting data from Excel files") (description "This package provides a library to extract data from @@ -8601,13 +8417,13 @@ minimal and fast API targeting the following uses: (define-public python-icalendar (package (name "python-icalendar") - (version "4.0.3") + (version "4.0.4") (source (origin (method url-fetch) (uri (pypi-uri "icalendar" version)) (sha256 (base32 - "0mk3dk1dxkcm46jy48v27j2w2349iv4sbimqj1yb5js43mx49hh7")))) + "16gjvqv0n05jrb9g228pdjgzd3amz2pdhvcgsn1jypszjg5m2w9l")))) (build-system python-build-system) (propagated-inputs `(("python-dateutil" ,python-dateutil) @@ -8707,6 +8523,9 @@ with a new public API, and RPython support.") (arguments '(#:phases (modify-phases %standard-phases + (add-before 'install 'set-HOME + (lambda _ + (setenv "HOME" "/tmp"))) (replace 'check (lambda _ ;; Tests require write access to HOME. @@ -8982,14 +8801,14 @@ servers.") (define-public python-jmespath (package (name "python-jmespath") - (version "0.9.3") + (version "0.9.4") (source (origin (method url-fetch) (uri (pypi-uri "jmespath" version)) (sha256 (base32 - "0r7wc7fsxmlwzxx9j1j7rms06c6xs6d4sysirdhz1jk2mb4x90ba")))) + "0k0765x1mybcrzajh3hiqkl8sy9hs0bmn4900frxy0j3ykvaxqmx")))) (build-system python-build-system) (native-inputs `(("python-nose" ,python-nose))) @@ -9568,6 +9387,7 @@ useful for solving the Assignment Problem.") (base32 "10qsqdjpbc85fykc1vgcs8xwbgn4l2l52c8d83xf1q59pwyn79bw")))) (build-system python-build-system) + (arguments '(#:tests? #f)) ; Test invocation is no longer supported by Python. (native-inputs `(("python-pytest" ,python-pytest))) (home-page "https://bitbucket.org/mchaput/whoosh") @@ -10598,16 +10418,16 @@ Wikipedia code samples at (define-public python-cleo (package (name "python-cleo") - (version "0.6.1") + (version "0.6.8") (source (origin (method url-fetch) (uri (pypi-uri "cleo" version)) (sha256 (base32 - "0q1cf0szr0d54am4pypzwdnm74zpladdsinad94c2fz5i06fdpf7")))) + "06zp695hq835rkaq6irr1ds1dp2qfzyf32v60vxpd8rcnxv319l5")))) (build-system python-build-system) (native-inputs - `(;; For testing + `( ;; For testing ("python-mock" ,python-mock) ("python-pytest-mock" ,python-pytest-mock) ("python-pytest" ,python-pytest))) @@ -10625,16 +10445,201 @@ docstring and colored output.") (define-public python2-cleo (package-with-python2 python-cleo)) +(define-public python-tomlkit + (package + (name "python-tomlkit") + (version "0.5.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "tomlkit" version)) + (sha256 + (base32 + "18820ga5z3if1w8dvykxrfm000akracq01ic402xrbljgbn5grn4")))) + (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page + "https://github.com/sdispater/tomlkit") + (synopsis "Style preserving TOML library") + (description + "TOML Kit is a 0.5.0-compliant TOML library. It includes a parser that +preserves all comments, indentations, whitespace and internal element ordering, +and makes them accessible and editable via an intuitive API. It can also +create new TOML documents from scratch using the provided helpers. Part of the +implementation as been adapted, improved and fixed from Molten.") + (license license:expat))) + +(define-public python-shellingham + (package + (name "python-shellingham") + (version "1.3.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "shellingham" version)) + (sha256 + (base32 + "1q7kws7w4x2hji3g7y0ni9ddk4sd676ylrb3db54gbpys6xj6nwq")))) + (build-system python-build-system) + (home-page + "https://github.com/sarugaku/shellingham") + (synopsis "Tool to detect surrounding shell") + (description + "Shellingham detects what shell the current Python executable is +running in.") + (license license:isc))) + +(define-public python-memcached + (package + (name "python-memcached") + (version "1.59") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-memcached" version)) + (sha256 + (base32 + "0kvyapavbirk2x3n1jx4yb9nyigrj1s3x15nm3qhpvhkpqvqdqm2")))) + (build-system python-build-system) + (propagated-inputs `(("python-six" ,python-six))) + (home-page + "https://github.com/linsomniac/python-memcached") + (synopsis "Pure python memcached client") + (description + "This software is a pure Python interface to the memcached memory cache +daemon. It is the client side software which allows storing values in one or +more, possibly remote, memcached servers.") + (license license:psfl))) + +(define-public python-clikit + (package + (name "python-clikit") + (version "0.2.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "clikit" version)) + (sha256 + (base32 + "0dc8czib5f4j9px1ivcpqnmivnx2zjpc0xb00ldrhsqylks7r06n")))) + (build-system python-build-system) + (propagated-inputs + `(("python-pastel" ,python-pastel) + ("python-pylev" ,python-pylev))) + (home-page "https://github.com/sdispater/clikit") + (synopsis "Group of utilities to build command line interfaces") + (description + "CliKit is a group of utilities to build testable command line +interfaces.") + (license license:expat))) + +(define-public python-msgpack-python + (package + (name "python-msgpack-python") + (version "0.5.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "msgpack-python" version)) + (sha256 + (base32 + "16wh8qgybmfh4pjp8vfv78mdlkxfmcasg78lzlnm6nslsfkci31p")))) + (build-system python-build-system) + (home-page "http://msgpack.org/") + (synopsis "Package to deserialize messages in MessagePack binary format") + (description + "MessagePack is an efficient binary serialization format. It lets you +exchange data among multiple languages like JSON. But it's faster and +smaller. Small integers are encoded into a single byte, and typical short +strings require only one extra byte in addition to the strings themselves.") + (license license:asl2.0))) + +(define-public python-cachy + (package + (name "python-cachy") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "cachy" version)) + (sha256 + (base32 + "0v6mjyhgx6j7ya20bk69cr3gdzdkdf6psay0h090rscclgji65dp")))) + (build-system python-build-system) + (native-inputs + `(("python-fakeredis" ,python-fakeredis) + ("python-flexmock" ,python-flexmock) + ("python-pytest" ,python-pytest))) + (propagated-inputs + `(("python-memcached" ,python-memcached) + ("python-msgpack-python" ,python-msgpack-python) + ("python-redis" ,python-redis))) + (home-page "https://github.com/sdispater/cachy") + (synopsis "Simple yet effective caching library") + (description + "Cachy provides a simple yet effective caching library. A simple but +powerful API: thread-safety; decorator syntax; support for memcached, redis, +database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.") + (license license:expat))) + +(define-public poetry + (package + (name "poetry") + (version "0.12.17") + ;; Poetry can only be built from source with poetry. + (source + (origin + (method url-fetch) + (uri (pypi-uri "poetry" version)) + (sha256 + (base32 + "0gxwcd65qjmzqzppf53x51sic1rbcd9py6cdzx3aprppipimslvf")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ;; Pypi does not have tests. + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda _ + ;; Bug in poetry https://github.com/sdispater/poetry/issues/866. + (invoke "sed" "-i" "-e" "s/from distutils.core/from setuptools/" + "setup.py") + #t))))) + (propagated-inputs + `(("python-cachecontrol" ,python-cachecontrol) + ("python-cachy" ,python-cachy) + ("python-cleo" ,python-cleo) + ("python-glob2" ,python-glob2) + ("python-html5lib" ,python-html5lib) + ("python-jsonschema" ,python-jsonschema) + ("python-msgpack" ,python-msgpack) + ("python-pathlib2" ,python-pathlib2) + ("python-pkginfo" ,python-pkginfo) + ("python-pyparsing" ,python-pyparsing) + ("python-pyrsistent" ,python-pyrsistent) + ("python-requests" ,python-requests) + ("python-requests-toolbelt" ,python-requests-toolbelt) + ("python-shellingham" ,python-shellingham) + ("python-tomlkit" ,python-tomlkit) + ("python-virtualenv" ,python-virtualenv))) + (home-page "https://poetry.eustace.io/") + (synopsis "Python dependency management and packaging made easy") + (description "Poetry is a tool for dependency management and packaging +in Python. It allows you to declare the libraries your project depends on and +it will manage (install/update) them for you.") + (license license:expat))) + (define-public python-lazy-object-proxy (package (name "python-lazy-object-proxy") - (version "1.4.2") + (version "1.4.3") (source (origin (method url-fetch) (uri (pypi-uri "lazy-object-proxy" version)) (sha256 (base32 - "1wgl0fmddi0ind78a74yyk2qrr9pb5llvj1892cdpp6z6n6mn4zx")))) + "1w1aaay424ciz8fz3fkzxb0pxzfxn184f2whpyn4fx72bn50x47k")))) (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm-3.3))) (build-system python-build-system) @@ -12228,13 +12233,13 @@ projects.") (package (name "python-invoke") (home-page "http://www.pyinvoke.org/") - (version "1.1.0") + (version "1.3.0") (source (origin (method url-fetch) (uri (pypi-uri "invoke" version)) (sha256 (base32 - "0aiy1xvk1f91246zxd1zqrm679vdvd10h843a2na41cqr3cflpi6")))) + "1nn7gad0rvy492acpyhkrp01zsk86acf34qhsvq4xmm6x39788n5")))) (build-system python-build-system) (arguments ;; XXX: Requires many dependencies that are not yet in Guix. @@ -12538,14 +12543,13 @@ clone, while other processes access the original tree.") (define-public python-astroid (package (name "python-astroid") - (version "2.3.2") + (version "2.3.3") (source (origin (method url-fetch) (uri (pypi-uri "astroid" version)) (sha256 - (base32 - "0crfhpblcy5a6nh694hc2073gw389f01yilamzqi34si2skgp8q9")))) + (base32 "0fnibsl2cb5mvzbfm7sycj85smx48f8w8m7ks1sqlmpr9ps0gski")))) (build-system python-build-system) (propagated-inputs `(("python-lazy-object-proxy" ,python-lazy-object-proxy) @@ -13042,14 +13046,14 @@ several utilities, as well as an API for building localization tools.") (define-public python-packaging (package (name "python-packaging") - (version "19.0") + (version "19.2") (source (origin (method url-fetch) (uri (pypi-uri "packaging" version)) (sha256 (base32 - "1brjhygq9dz6x1kdljivkjfldi3qf5rbkqgck1bpgv9qpv8ab60c")))) + "0izwlz9h0bw171a1chr311g2y7n657zjaf4mq4rgm8pp9lbj9f98")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -14134,14 +14138,13 @@ Git.") (define-public python-pyclipper (package (name "python-pyclipper") - (version "1.1.0.post1") + (version "1.1.0.post3") (source (origin (method url-fetch) (uri (pypi-uri "pyclipper" version ".zip")) (sha256 - (base32 - "0ldbkbnx94an4zzrwb1sxmg6k0jgk4cwmvcdyy8y5k1zslc612wa")) + (base32 "164yksvqwqvwzh8f8lq92asg87hd8rvcy2xb5vm4y4ccvd5xgb7i")) (modules '((guix build utils))) (snippet '(begin @@ -14335,14 +14338,20 @@ such as figshare or Zenodo.") (define-public python-pyro4 (package (name "python-pyro4") - (version "4.75") + (version "4.77") (source (origin (method url-fetch) (uri (pypi-uri "Pyro4" version)) (sha256 - (base32 "1dfpp36imddx19yv0kd28gk1l71ckhpqy6jd590wpm2680jw15rq")))) + (base32 "0gsjg869y4gpy265s1gj1f2qy6jn5iz8r2bwwnq78r1r5yi15zib")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ;FIXME: Some tests require network access. + (native-inputs + `(("python-cloudpickle" ,python-cloudpickle) + ("python-dill" ,python-dill) + ("python-msgpack" ,python-msgpack))) (propagated-inputs `(("python-serpent" ,python-serpent))) (home-page "https://pyro4.readthedocs.io") @@ -14388,14 +14397,14 @@ is the new Pyro version that is actively developed.") (version "2.9.4") (source (origin - (method url-fetch) - (uri (string-append "https://bitbucket.org/khinsen/" - "scientificpython/downloads/ScientificPython-" - version ".tar.gz")) - (file-name (string-append "ScientificPython-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/khinsen/ScientificPython") + (commit (string-append "rel" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0fc69zhlsn9d2jvbzyjl9ah53vj598h84nkq230c83ahfvgzx5y3")))) + "16l48aj9fps9r7jyk8gpxppwrv0fqvlc13sayxskz28r5s6sjwbl")))) (build-system python-build-system) (inputs `(("netcdf" ,netcdf))) @@ -14413,7 +14422,7 @@ is the new Pyro version that is actively developed.") (invoke "python" "setup.py" "build" (string-append "--netcdf_prefix=" (assoc-ref inputs "netcdf")))))))) - (home-page "https://bitbucket.org/khinsen/scientificpython") + (home-page "http://dirac.cnrs-orleans.fr/ScientificPython") (synopsis "Python modules for scientific computing") (description "ScientificPython is a collection of Python modules that are useful for scientific computing. Most modules are rather general (Geometry, @@ -14425,16 +14434,17 @@ not actively maintained and works only with Python 2 and NumPy < 1.9.") (define-public python2-mmtk (package (name "python2-mmtk") - (version "2.7.11") + (version "2.7.12") (source (origin - (method url-fetch) - (uri (string-append "https://bitbucket.org/khinsen/" - "mmtk/downloads/MMTK-" version ".tar.gz")) - (file-name (string-append "MMTK-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/khinsen/MMTK") + (commit (string-append "rel" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1d0nnjx4lwsvh8f99vv1r6gi50d93yba0adkz8b4zgv4za4c5862")))) + "1fqwh3ba9jd42nigvn5shndgwb1zy7kh9520ncvqci7n8ffjr6p1")))) (build-system python-build-system) (native-inputs `(("netcdf" ,netcdf))) @@ -14587,15 +14597,14 @@ files, and Makefiles.") (define-public python-whatever (package (name "python-whatever") - (version "0.5") + (version "0.6") (source (origin (method url-fetch) (uri (string-append "https://github.com/Suor/whatever/archive/" version ".tar.gz")) (sha256 - (base32 - "1iqvnaf0zpc6b4rvbqq4xy45mszcscyzpzknv8wg6j84pbp22sap")) + (base32 "1rchg9hrlvw4sn20lq1zspczr4x1pv57c02gv73igiqx1hqpy2nc")) (file-name (string-append name "-" version ".tar.gz")))) (build-system python-build-system) (arguments @@ -14846,14 +14855,13 @@ Included are implementations of: (define-public bpython (package (name "bpython") - (version "0.17.1") + (version "0.18") (source (origin (method url-fetch) (uri (pypi-uri "bpython" version)) (sha256 - (base32 - "0bxhxi5zxdkrf8b4gwn0d363kdz3qnypjwhm1aydki53ph8ca1w9")))) + (base32 "1hl6frgvr2lqaxqczl8amg9xih32b3gzv429vs0qrjb8wpdj1k2n")))) (build-system python-build-system) (arguments `(#:phases @@ -14876,10 +14884,10 @@ Included are implementations of: (propagated-inputs `(("python-pygments" ,python-pygments) ("python-requests" ,python-requests) - ("python-babel" ,python-babel) ; optional, for internationalization + ("python-babel" ,python-babel) ; optional, for internationalization ("python-curtsies" ,python-curtsies) ; >= 0.1.18 ("python-greenlet" ,python-greenlet) - ("python-urwid" ,python-urwid) ; for bpython-urwid only + ("python-urwid" ,python-urwid) ; for bpython-urwid only ("python-six" ,python-six))) (native-inputs `(("python-sphinx" ,python-sphinx) @@ -15051,13 +15059,13 @@ working with iterables.") (define-public python-latexcodec (package (name "python-latexcodec") - (version "1.0.6") + (version "1.0.7") (source (origin (method url-fetch) (uri (pypi-uri "latexcodec" version)) (sha256 - (base32 "0s4wdbg0w2l8pj3i0y4510i0s04p8nhxcsa2z41bjsv0k66npb81")))) + (base32 "0wnp3yqcgx0rpy8dz51vh75lbp2qif67da19zi7m3ca98n887hgb")))) (build-system python-build-system) (inputs `(("python-six" ,python-six))) @@ -16602,3 +16610,166 @@ It is the recommended replacement for Python's original @code{distro} also provides a command-line interface to output the platform information in various formats.") (license license:asl2.0))) + +(define-public python-cairosvg + (package + (name "python-cairosvg") + (version "2.4.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "CairoSVG" version)) + (sha256 + (base32 "1bb7irxbaxxb9ahm3z5wsx1q96mm5gzskc7b6q07h9ikcnb8yrjf")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ (invoke "pytest")))))) + (propagated-inputs + `(("python-cairocffi" ,python-cairocffi) + ("python-cssselect2" ,python-cssselect2) + ("python-defusedxml" ,python-defusedxml) + ("python-pillow" ,python-pillow) + ("python-tinycss2" ,python-tinycss2))) + (native-inputs + `(("python-pytest-flake8" ,python-pytest-flake8) + ("python-pytest-isort" ,python-pytest-isort) + ("python-pytest-runner" ,python-pytest-runner))) + (home-page "https://cairosvg.org/") + (synopsis "SVG to PDF/PS/PNG converter based on Cairo") + (description "CairoSVG is a SVG converter based on Cairo. It can export +SVG files to PDF, PostScript and PNG files. The main part of CairoSVG is a +SVG parser, trying to follow the SVG 1.1 recommendation from the W3C. Once +parsed, the result is drawn to a Cairo surface that can be exported to +qvarious formats: PDF, PostScript, PNG and even SVG.") + (license license:lgpl3+))) + +(define-public python-pyphen + (package + (name "python-pyphen") + (version "0.9.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "Pyphen" version)) + (sha256 + (base32 "08c9y69ry9d6m4zalhnalg86lsp9v2j5n1ziw5vxfmiihx83lqrv")))) + (build-system python-build-system) + ;; TODO: Use the Guix system hyphenation packages hyphen-* rather than the + ;; embedded set provided by upstream - like Debian does. + (home-page "https://github.com/Kozea/Pyphen") + (synopsis "Pure Python module to hyphenate text") + (description "Pyphen is a pure Python module to hyphenate text using +existing Hunspell hyphenation dictionaries.") + (license (list license:gpl2 license:lgpl2.1 license:mpl1.1)))) + +(define-public python-intelhex + (package + (name "python-intelhex") + (version "2.2.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "intelhex" version)) + (sha256 + (base32 + "0ckqjbxd8gwcg98gfzpn4vq1qxzfvq3rdbrr1hikj1nmw08qb780")))) + (build-system python-build-system) + (arguments '(#:tests? #f)) ;issue with version + (home-page "https://pypi.org/project/IntelHex/") + (synopsis "Python library for Intel HEX files manipulations") + (description "The Intel HEX file format is widely used in microprocessors +and microcontrollers area (embedded systems etc.) as the de facto standard for +representation of code to be programmed into microelectronic devices. This +package provides an intelhex Python library to read, write, create from +scratch and manipulate data from Intel HEX file format. It also includes +several convenience Python scripts, including \"classic\" hex2bin and bin2hex +converters and more, those based on the library itself.") + (license license:bsd-3))) + +(define-public python-pykwalify + (package + (name "python-pykwalify") + (version "1.7.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pykwalify" version)) + (sha256 + (base32 + "1cnfzkg1b01f825ikpw2fhjclf9c8akxjfrbd1vc22x1lg2kk2vy")))) + (build-system python-build-system) + (arguments '(#:tests? #f)) ;missing dependencies + (propagated-inputs + `(("python-dateutil" ,python-dateutil) + ("python-docopt" ,python-docopt) + ("python-pyyaml" ,python-pyyaml))) + (home-page "https://github.com/grokzen/pykwalify") + (synopsis + "Python lib/cli for JSON/YAML schema validation") + (description + "This package provides a parser, schema validator, and data binding tool +for YAML and JSON.") + (license license:expat))) + +(define-public python-dbusmock + (package + (name "python-dbusmock") + (version "0.18.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-dbusmock" version)) + (sha256 + (base32 + "0hp2kyac88nh9iv6l8hlmv7s1sa1s5f1a3wc2pmlmmxnd211fjlr")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-shell-path + (lambda _ + (substitute* "tests/test_code.py" + (("/bin/bash") (which "bash"))) + #t))))) + (native-inputs + `(;; For tests. + ("dbus" ,dbus) ; for dbus-daemon + ("python-nose" ,python-nose) + ("which" ,which))) + (propagated-inputs + `(("python-dbus" ,python-dbus) + ("python-pygobject" ,python-pygobject))) + (home-page "https://github.com/martinpitt/python-dbusmock") + (synopsis "Python library for mock D-Bus objects") + (description "python-dbusmock allows for the easy creation of mock objects on +D-Bus. This is useful for writing tests for software which talks to D-Bus +services such as upower, systemd, logind, gnome-session or others, and it is +hard (or impossible without root privileges) to set the state of the real +services to what you expect in your tests.") + (license license:lgpl3+))) + +(define-public python-ujson + (package + (name "python-ujson") + (version "1.35") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ujson" version)) + (sha256 + (base32 + "11jz5wi7mbgqcsz52iqhpyykiaasila4lq8cmc2d54bfa3jp6q7n")))) + (build-system python-build-system) + (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))) + +(define-public python2-ujson + (package-with-python2 python-ujson))