diff options
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r-- | gnu/packages/python-xyz.scm | 526 |
1 files changed, 423 insertions, 103 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index dd35f94214..6d460e286e 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -29,7 +29,7 @@ ;;; Copyright © 2016-2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2016, 2017, 2021, 2022 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2016, 2017, 2019 Alex Vong <alexvong1995@gmail.com> -;;; Copyright © 2016, 2017, 2018, 2021, 2022 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2016–2018, 2021–2023 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016, 2017, 2018, 2020, 2021 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2016–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be> @@ -106,7 +106,7 @@ ;;; Copyright © 2021 Franck Pérignon <franck.perignon@univ-grenoble-alpes.fr> ;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2021 Simon Streit <simon@netpanic.org> -;;; Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de> +;;; Copyright © 2021, 2022, 2023 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de> ;;; Copyright © 2021, 2022 Pradana Aumars <paumars@courrier.dev> ;;; Copyright © 2021, 2022 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2021 Sébastien Lerique <sl@eauchat.org> @@ -137,6 +137,8 @@ ;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu> ;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com> ;;; Copyright © 2023 Dominik Delgado Steuter <d@delgado.nrw> +;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net> +;;; Copyright © 2023 Ontje Lünsdorf <ontje.luensdorf@dlr.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -159,6 +161,7 @@ #:use-module (gnu packages adns) #:use-module (gnu packages aidc) #:use-module (gnu packages algebra) + #:use-module (gnu packages astronomy) #:use-module (gnu packages attr) #:use-module (gnu packages backup) #:use-module (gnu packages base) @@ -663,6 +666,26 @@ of their positions to minimize overlaps (relatively easy). This library implements the latter option to help with matplotlib graphs.") (license license:expat))) +(define-public python-affine + (package + (name "python-affine") + (version "2.4.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "affine" version)) + (sha256 + (base32 + "1shyvajayyzbkp9dihb4mz835jnkp0kqqbyjfqci6v43da6q2kd2")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-coveralls python-flake8 python-pydocstyle + python-pytest python-pytest-cov)) + (native-inputs (list python-flit-core)) + (home-page "https://github.com/rasterio/affine") + (synopsis "Matrices describing affine transformation of the plane") + (description "This is a package for matrices describing the affine +transformation of the plane.") + (license license:bsd-3))) + (define-public python-argopt (package (name "python-argopt") @@ -1064,6 +1087,38 @@ MySQL databases, using an API that is compliant with the Python Database API Specification v2.0 (PEP 249).") (license license:gpl2))) +(define-public python-pdoc + (package + (name "python-pdoc") + (version "13.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mitmproxy/pdoc") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gxkw607nrd67ck4w8jri9vfrm5g60qvp8b134m8zkiphbxjnx0l")))) + (build-system pyproject-build-system) + (native-inputs (list python-pytest python-jinja2 python-pygments)) + (arguments + (list + ;; Some tests fail, presumably because of slight version mismatches of + ;; the dependencies. + #:test-flags + '(list "-k" (string-append "not test_var_with_raising_repr and " + "not test_smoke[mock] and " + "not test_snapshots[html")))) + (home-page "https://pdoc.dev/") + (synopsis "API documentation for Python projects") + (description "pdoc auto-generates API documentation that follows your +project's Python module hierarchy. It requires no configuration, has +first-class support for type annotations, cross-links between identifiers, +comes with an integrated live-reloading web server, uses customizable HTML +templates, understands numpydoc and Google-style docstrings.") + (license license:unlicense))) + (define-public python-py4j (package (name "python-py4j") @@ -1712,17 +1767,70 @@ It can handle tasks such as scanning, tracerouting, probing, unit tests, attacks or network discovery.") (license license:gpl2))) +(define-public python-rasterio + (package + (name "python-rasterio") + (version "1.3.7") + (source (origin + (method url-fetch) + (uri (pypi-uri "rasterio" version)) + (sha256 + (base32 + "012341c1rlcdr9rkg97lbhxrwzn4sr2xah4zjfnqy2r1227wpzdb")))) + (properties + '((updater-ignored-native-inputs . ("gdal" "python-cython")))) + (build-system pyproject-build-system) + (arguments + (list + #:tests? #false ;test data not present + #:phases + '(modify-phases %standard-phases + (add-before 'check 'build-extensions + (lambda _ + ;; Cython extensions have to be built before running the tests. + (invoke "python" "setup.py" "build_ext" "--inplace")))))) + (propagated-inputs (list python-affine + python-attrs + python-certifi + python-click + python-click-plugins + python-cligj + python-numpy + python-setuptools + python-snuggs)) + (native-inputs (list gdal + python-boto3 + python-cython + python-hypothesis + python-packaging + python-pytest + python-pytest-cov + python-shapely)) + (home-page "https://github.com/rasterio/rasterio") + (synopsis "Fast and direct raster I/O for use with Numpy and SciPy") + (description "This package implements fast and direct raster I/O for use +with Numpy and SciPy.") + (license license:bsd-3))) + (define-public python-shapely (package (name "python-shapely") - (version "1.8.4") + (version "2.0.1") (source (origin (method url-fetch) - (uri (pypi-uri "Shapely" version)) + (uri (pypi-uri "shapely" version)) (sha256 - (base32 "130rqd0czi128wm5pdn47v4m6czxd7pkzanbya8q48gsm8ffb5d1")))) - (build-system python-build-system) + (base32 "14v88k0y7qhp8n5clip6w96pkdzrfqa2hsjkhpy9gkifwyiv39k6")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-before 'check 'build-extensions + (lambda _ + ;; Cython extensions have to be built before running the tests. + (invoke "python" "setup.py" "build_ext" "--inplace")))))) (native-inputs (list python-cython python-matplotlib python-pytest python-pytest-cov)) @@ -1730,25 +1838,6 @@ attacks or network discovery.") (list geos)) (propagated-inputs (list python-numpy)) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-geos-path - (lambda* (#:key inputs #:allow-other-keys) - (let ((geos (assoc-ref inputs "geos")) - (glibc (assoc-ref inputs ,(if (%current-target-system) - "cross-libc" "libc")))) - (substitute* '("shapely/geos.py" "shapely/_buildcfg.py") - (("_lgeos = load_dll\\('geos_c', fallbacks=.*\\)") - (string-append "_lgeos = load_dll('geos_c', fallbacks=['" - geos "/lib/libgeos_c.so'])")) - (("free = load_dll\\('c'\\)\\.free") - (string-append "free = load_dll('c', fallbacks=['" - glibc "/lib/libc.so.6']).free")) - (("free = load_dll\\('c', fallbacks=.*\\)\\.free") - (string-append "free = load_dll('c', fallbacks=['" - glibc "/lib/libc.so.6']).free")))) - #t))))) (home-page "https://github.com/Toblerity/Shapely") (synopsis "Library for the manipulation and analysis of geometric objects") (description "Shapely is a Python package for manipulation and analysis of @@ -2197,14 +2286,14 @@ Unicode-to-LaTeX conversion.") (define-public python-cftime (package (name "python-cftime") - (version "1.5.1.1") + (version "1.6.2") (source (origin (method url-fetch) (uri (pypi-uri "cftime" version)) (sha256 - (base32 "0l1a22zlhdpgaisibvvm7dhij4vzfm661rnv00y2snpyqxpdgi3d")))) - (build-system python-build-system) + (base32 "1lp6jrjjgl18csn4bcnphn0l16ag4aynvn7x0kins155p07w0546")))) + (build-system pyproject-build-system) (propagated-inputs (list python-numpy)) (native-inputs @@ -3047,6 +3136,32 @@ to the terminal in real time but is also available to the Python program for additional processing.") (license license:expat))) +(define-public python-fastprogress + (package + (name "python-fastprogress") + (version "1.0.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fastai/fastprogress") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01h8f786wgmmd3fj98wk1n5id67nsp19gs8bbgims04aciwhvj21")))) + (build-system pyproject-build-system) + (arguments + (list #:tests? #f ;there are no tests + #:phases #~(modify-phases %standard-phases + ;; XXX: Fails with: "In procedure utime: No such file + ;; or directory". + (delete 'ensure-no-mtimes-pre-1980)))) + (home-page "https://github.com/fastai/fastprogress") + (synopsis "Progress bar for Jupyter Notebook and console") + (description + "Fastprogress is a progress bar for Jupyter Notebook and console.") + (license license:asl2.0))) + (define-public python-case (package (name "python-case") @@ -3828,6 +3943,39 @@ matplotlib plots or supply colors for a web application.") syntax.") (license license:x11))) +(define-public python-parsley + (package + (name "python-parsley") + (version "1.3") + (source (origin + ;; The source distributed on PyPI is outdated. + (method git-fetch) + (uri (git-reference + (url "https://github.com/pyga/parsley") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0550rw65ygqzbjc8a66hs355pzbx727kbn20dssdb6ls846gw2qs")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Check why these 3 tests fail. + #:test-flags #~(list "-k" + (string-append "not test_sending_empty_netstring" + " and not test_sending_one_netstring" + " and not test_sending_two_netstrings")))) + (native-inputs (list python-pytest python-twisted)) + (home-page "https://launchpad.net/parsley") + (synopsis "Parsing and pattern matching Python library") + (description + "Parsley is a parsing library using PEG algorithm, so each expression in +the grammar rules works like a Python expression. In particular, alternatives +are evaluated in order, unlike table-driven parsers such as yacc, bison or PLY. +Parsley is an implementation of OMeta, an object-oriented pattern-matching +language.") + (license license:expat))) + (define-public python-polib (package (name "python-polib") @@ -4108,6 +4256,33 @@ accuracy scores for various music/audio information retrieval/signal processing tasks.") (license license:expat))) +(define-public python-mizani + (package + (name "python-mizani") + (version "0.9.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/has2k1/mizani") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "13aisfc98nvypb4mglpdphp2r627cjzpdriw4dhlx55f3b2m0dza")))) + (build-system pyproject-build-system) + (propagated-inputs + (list python-matplotlib python-numpy python-pandas python-scipy)) + (native-inputs + (list python-setuptools python-pytest python-pytest-cov tzdata)) + (home-page "https://github.com/has2k1/mizani") + (synopsis "Create data visualizations in Python") + (description + "Mizani is a Python package for creating data visualizations. It +provides functions and tools to help with the creation of visually appealing +and informative visualizations, including scales, transformations and color +palettes.") + (license license:bsd-3))) + (define-public python-pafy (package (name "python-pafy") @@ -4495,6 +4670,27 @@ for geospatial data. cligj allows you to quickly build consistent, well-tested and interoperable CLIs for handling GeoJSON.") (license license:bsd-3))) +(define-public python-cloup + (package + (name "python-cloup") + (version "2.1.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "cloup" version)) + (sha256 + (base32 + "05c6cjpnf9s72gyn5dckxbmd8rf2kgdzfsl7pqzrnc1lcdl13zmv")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-click)) + (native-inputs (list python-pytest)) + (home-page "https://github.com/janLuke/cloup") + (synopsis "Extension library for python-click") + (description + "Cloup enriches Click with several features that make it more expressive +and configurable such as option groups, constraints, subcommand aliases, +subcommands sections and a themeable HelpFormatter.") + (license license:bsd-3))) + (define-public python-vcversioner (package (name "python-vcversioner") @@ -6833,13 +7029,13 @@ writing C extensions for Python as easy as Python itself.") ;; Cython 3 is not officially released yet, so distinguish the name ;; for now. (name "python-cython-next") - (version "3.0.0a10") + (version "3.0.0b2") (source (origin (method url-fetch) (uri (pypi-uri "Cython" version)) (sha256 (base32 - "17fqacrpis05w1rpi7d7sbimrk20xf8h6d3vrz5nf6ix3899abil")))) + "0mb7gpavs87am29sbk6yqznsybxj9dk4fwj4370j9sbrcmjq0hkc")))) (properties '()))) ;; NOTE: when upgrading numpy please make sure that python-numba, @@ -8321,27 +8517,33 @@ retrieve text and metadata from PDFs as well as merge entire files together.") (define-public python-pikepdf (package (name "python-pikepdf") - (version "2.16.1") + (version "7.2.0") (source (origin (method url-fetch) (uri (pypi-uri "pikepdf" version)) (sha256 - (base32 "1phdpi9cm2pbvgcxqvwr8ck327sxhdw4dnxmzhrbf7hzydmgykg2")))) + (base32 "1vp3q85l2w7wpc8kqs26ijg3ivvvgj50z7g14p3pc0zdz8vbi0md")))) (build-system python-build-system) (arguments `(#:tests? #false)) ;require python-xmp-toolkit (native-inputs (list pybind11 - python-setuptools - python-setuptools-scm - python-setuptools-scm-git-archive - python-toml - python-wheel)) + python-attrs + python-coverage + python-hypothesis + python-psutil + python-pytest + python-pytest-cov + python-pytest-timeout + python-pytest-xdist + python-dateutil + ;; python-xmp-toolkit + python-tomli)) (inputs (list qpdf)) (propagated-inputs - (list python-lxml python-pillow)) + (list python-deprecation python-lxml python-packaging python-pillow)) (home-page "https://github.com/pikepdf/pikepdf") (synopsis "Read and write PDFs with Python") (description @@ -11762,13 +11964,13 @@ applications.") (define-public python-pyzmq (package (name "python-pyzmq") - (version "25.0.2") + (version "25.1.0") (source (origin (method url-fetch) (uri (pypi-uri "pyzmq" version)) (sha256 - (base32 "0jai5sbd4ypihsvr4ikq6d93nkmxwv53598sh24dqs78f2xip33b")) + (base32 "0mw9zf0h9sgn2cchw24vyxgyi2nfpyfacr0mh072hdjx8qii1i40")) (snippet #~(begin (use-modules (guix build utils)) @@ -11792,21 +11994,20 @@ applications.") (list (string-append "--zmq=" (assoc-ref %build-inputs "zeromq"))) #:phases (modify-phases %standard-phases - (add-after 'unpack 'disable-problematic-tests + (add-before 'build 'configure (lambda _ - ;; FIXME: The test_draft.TestDraftSockets test fails with: - ;; zmq.error.Again: Resource temporarily unavailable - (delete-file "zmq/tests/test_draft.py") - ;; These tests fail for unknown reasons (see: - ;; https://github.com/zeromq/pyzmq/issues/1853). - (delete-file "zmq/tests/test_auth.py") - (delete-file "zmq/tests/test_zmqstream.py"))) + ;; Our zeromq package is built with '--enable-drafts'; also + ;; enable draft support for pyzmq so the draft test passes. + (setenv "ZMQ_DRAFT_API" "1"))) (add-before 'check 'build-extensions (lambda _ ;; Cython extensions have to be built before running the tests. - (invoke "python" "setup.py" "build_ext" "--inplace")))))) - (inputs - (list zeromq)) + (invoke "python" "setup.py" "build_ext" "--inplace"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-vv"))))))) + (inputs (list zeromq)) (native-inputs (list pkg-config python-cython @@ -13604,6 +13805,24 @@ asyncio.") ;; Either license applies. (license (list license:expat license:asl2.0)))) +(define-public python-snuggs + (package + (name "python-snuggs") + (version "1.4.7") + (source (origin + (method url-fetch) + (uri (pypi-uri "snuggs" version)) + (sha256 + (base32 + "0yv1wayrw9g6k0c2f721kha7wsv0s1fdlxpf5x7f34iqzq9z272h")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-numpy python-pyparsing)) + (native-inputs (list python-hypothesis python-pytest)) + (home-page "https://github.com/mapbox/snuggs") + (synopsis "Snuggs are S-expressions for Numpy") + (description "Snuggs are S-expressions for Numpy.") + (license license:expat))) + (define-public python-pytest-black (package (name "python-pytest-black") @@ -17117,6 +17336,45 @@ Eventlet, or gevent. Tasks can execute asynchronously (in the background) or synchronously (wait until ready).") (license license:bsd-3))) +(define-public python-cesium + (package + (name "python-cesium") + (version "0.12.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "cesium" version)) + (sha256 + (base32 + "0jr0ycqz9ns6mcskm4sxx92k40fj3v0x9knjaw5ac9f3mpqxsfbv")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + ;; The installed test files contain the /gnu/store location, not the + ;; location of the discovered test files from the build directory. + ;; The test framework doesn't like this. The easiest way around + ;; this mismatch is to jump to the output directory. + (add-before 'check 'check-chdir + (lambda _ (chdir #$output)))))) + (propagated-inputs + (list python-click ;XXX required by python-dask + python-cloudpickle + python-dask + python-gatspy + python-joblib + python-numpy + python-pandas + python-scikit-learn + python-scipy + python-toolz)) + (native-inputs (list python-cython python-pytest python-setuptools-scm)) + (home-page "https://pypi.org/project/cesium/") + (synopsis "Library for time-series feature extraction and processing") + (description + "Cesium is a library for time-series feature extraction and processing.") + (license license:bsd-3))) + (define-public python-translitcodec (package (name "python-translitcodec") @@ -17360,13 +17618,13 @@ checking library.") (define-public python-codespell (package (name "python-codespell") - (version "2.2.4") + (version "2.2.5") (source (origin (method url-fetch) (uri (pypi-uri "codespell" version)) (sha256 - (base32 "0fp8ihlj8q23qdfryj5pq8srl85vn8k8p6gq3zg9qz957i3j0ihb")))) + (base32 "0mmynpblhwbja0vmzbmbb9cgpxdl7b0lxaf9h2zr5dpddvgsv7vd")))) (build-system pyproject-build-system) (inputs (list python-chardet)) @@ -17947,13 +18205,13 @@ to occurrences in strings and comments.") (define-public python-py3status (package (name "python-py3status") - (version "3.21") + (version "3.50") (source (origin (method url-fetch) (uri (pypi-uri "py3status" version)) (sha256 - (base32 "16z8zq83hxy48g6hh4xczbdz50qvxv9k1aahr4fqq7jis60cc262")))) + (base32 "0j2dx9lzpic15r8p0r0s3jmcskxpacahxl640b4864ldn5rlnh9d")))) (build-system python-build-system) (inputs (list file)) @@ -18946,6 +19204,34 @@ feels like an AST.") inspection of types defined in the Python standard typing module.") (license license:expat))) +(define-public python-lazy-loader + (package + (name "python-lazy-loader") + (version "0.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "lazy_loader" version)) + (sha256 + (base32 + "12piaj94m5wbx33cxb80xgnsvzgya6cp90zj12qsq064fm8pmp0f")))) + (build-system pyproject-build-system) + (native-inputs + (list python-pytest python-pytest-cov)) + (propagated-inputs + (list python-flit-core)) + (home-page "https://scientific-python.org/specs/spec-0001/") + (synopsis "Load subpackages and functions on demand") + (description "@code{python-lazy-loader} makes it easy to load subpackages +and functions on demand. Its main features are: + +@itemize +@item Allow subpackages to be made visible to users without incurring import +costs. +@item Allow external libraries to be imported only when used, improving import +times. +@end itemize") + (license license:bsd-3))) + (define-public python-lazy-object-proxy (package (name "python-lazy-object-proxy") @@ -20295,7 +20581,7 @@ OpenSSH Server for example.") (define-public python-pyelftools (package (name "python-pyelftools") - (version "0.28") + (version "0.29") (home-page "https://github.com/eliben/pyelftools") (source (origin @@ -20304,7 +20590,7 @@ OpenSSH Server for example.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1z4fx39c9rds0bd4d2fjjq7n05b1nfxl36pmy523x8knm38l4gpr")) + (base32 "1mi7i9zlhkkap4q50ciak57ia46mj2jzq0713m3dh0x8j05k9xml")) (snippet ;; Delete bundled readelf executable. '(delete-file "test/external_tools/readelf")))) @@ -20510,24 +20796,26 @@ from the header, as well as section details and data available.") (define-public python-xopen (package (name "python-xopen") - (version "0.8.2") + (version "1.7.0") (source (origin (method url-fetch) (uri (pypi-uri "xopen" version)) (sha256 (base32 - "1xrlcnd6fri3w97zzzp6vyk4l21yq1lc8r4wksi06hgpkbh4jdq0")))) - (build-system python-build-system) + "17qda88irg77qdm2kkxq4zgdhwfgykcpdgd4cx3xfpp9k219q7wh")))) + (build-system pyproject-build-system) (propagated-inputs - (list python-setuptools-scm)) + (list pigz python-isal python-typing-extensions)) + (native-inputs + (list python-pytest python-pytest-timeout python-setuptools-scm)) (home-page "https://github.com/marcelm/xopen/") (synopsis "Open compressed files transparently") - (description "This module provides an @code{xopen} function that works like - Python's built-in @code{open} function, but can also deal with compressed files. - Supported compression formats are gzip, bzip2 and, xz, and are automatically - recognized by their file extensions. The focus is on being as efficient as - possible on all supported Python versions.") + (description "This module provides an @code{xopen} function that works +like Python's built-in @code{open} function, but can also deal with compressed +files. Supported compression formats are gzip, bzip2 and, xz, and are +automatically recognized by their file extensions. The focus is on being as +efficient as possible on all supported Python versions.") (license license:expat))) (define-public python-cheetah @@ -23647,13 +23935,13 @@ with PEP 484 argument (and return) type annotations.") (define-public bpython (package (name "bpython") - (version "0.23") + (version "0.24") (source (origin (method url-fetch) (uri (pypi-uri "bpython" version)) (sha256 - (base32 "0ah5giynavyh70yc0jqgmjaajv3xg5j2y7k9i3q8mi47r2mph04z")))) + (base32 "1g9xzl49skghd9q2a8b71gg1n97lfnj9in2kzcmzsj4cgbynywwq")))) (build-system python-build-system) (arguments `(#:phases @@ -23678,7 +23966,6 @@ with PEP 484 argument (and return) type annotations.") python-requests python-curtsies python-greenlet - python-six python-cwcwidth python-pyxdg ;; optional dependencies @@ -25169,20 +25456,33 @@ they use the same path.") (define-public python-blosc (package (name "python-blosc") - (version "1.5.1") + (version "1.11.1") (source (origin (method url-fetch) (uri (pypi-uri "blosc" version)) (sha256 (base32 - "1cm91c6r431yla2mbs4895bgiianjf30dfz14vvv99dslygd65jw")))) + "0xmjs28sgpnb940zrhw010dq2m9d8a5h4fgnjyk6645fgfr1j8f2")) + (snippet + #~(begin (use-modules (guix build utils)) + (delete-file-recursively "blosc/c-blosc"))))) (build-system python-build-system) - ;; FIXME: all tests pass, but then this error is printed: - ;; TypeError: calling <function run at 0x7ffff2568d90> returned None, not a test - (arguments '(#:tests? #f)) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'find-blosc + (lambda* (#:key inputs #:allow-other-keys) + (setenv "USE_SYSTEM_BLOSC" "1") + (setenv "Blosc_ROOT" #$(this-package-input "c-blosc")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "-m" "blosc.test"))))))) (propagated-inputs - (list python-numpy)) + (list python-scikit-build python-numpy)) + (inputs (list c-blosc)) + (native-inputs (list cmake-minimal)) (home-page "https://github.com/blosc/python-blosc") (synopsis "Python wrapper for the Blosc data compressor library") (description "Blosc is a high performance compressor optimized for binary @@ -25328,6 +25628,7 @@ parentdir_prefix = dask- (propagated-inputs (list python-cloudpickle python-fsspec + python-importlib-metadata ;needed at runtime for dask/_compatibility.py python-numpy python-packaging python-pandas @@ -25472,26 +25773,15 @@ RFC 8265 and RFC 8266.") (define-public python-absl-py (package (name "python-absl-py") - (version "0.6.1") + (version "1.4.0") (source (origin (method url-fetch) (uri (pypi-uri "absl-py" version)) (sha256 (base32 - "1mp9lk0b2qa37b7y6ak4lvf6ifw2ylyy6bkf9ik77md3j4xrwlc7")))) + "0ga3b0m8lfsv1m3260p83lhis52yvz3d42q8gip4gfj823849hnj")))) (build-system pyproject-build-system) - (arguments - (list - #:phases - '(modify-phases %standard-phases - (add-after 'unpack 'patch-version-check - (lambda _ - ;; Python 3.10 is indeed more recent than Python 3.4. - (substitute* "setup.py" - ((" or py_version\\[0\\] == '3'.*") ":"))))))) - (propagated-inputs - (list python-six)) (home-page "https://github.com/abseil/abseil-py") (synopsis "Abseil Python common libraries") (description @@ -27307,17 +27597,15 @@ an upload option to send your work back to the platform.") (define-public python-titlecase (package (name "python-titlecase") - (version "0.12.0") + (version "2.4") (source (origin (method url-fetch) (uri (pypi-uri "titlecase" version)) (sha256 (base32 - "0486i99wf8ssa7sgn81fn6fv6i4rhhq6n751bc740b3hzfbpmpl4")))) + "00h92jdpj108z4sb6dpayfblpax20698290jnbyi5z5iwk5974i6")))) (build-system python-build-system) - (native-inputs - (list python-nose)) (home-page "https://github.com/ppannuto/python-titlecase") (synopsis "Capitalize strings similar to book titles") (description @@ -28486,7 +28774,7 @@ placement and scaling of SVG figures and adding markers, such as labels.") (list ;; Avoid python-pytest-coverage #:test-flags '(list "-c /dev/null"))) - (propagated-inputs (list python-wcwidth)) + (propagated-inputs (list python-six python-wcwidth)) (native-inputs (list python-pytest)) (home-page "https://github.com/jquast/blessed") (synopsis "Wrapper around terminal capabilities") @@ -29278,14 +29566,14 @@ process.") (define-public python-aiofiles (package (name "python-aiofiles") - (version "0.6.0") + (version "23.1.0") (source (origin (method url-fetch) (uri (pypi-uri "aiofiles" version)) (sha256 (base32 - "14m01kjxm2j7zyljjj6xlhlgygcsriymbx730gc5jp9xglaina70")))) + "0d8n79slihf1lkbh2m6yw51rlq6n6vssljsdacbdpq0rkbglglpd")))) (build-system python-build-system) (home-page "https://github.com/Tinche/aiofiles") (synopsis "File support for @code{asyncio}") @@ -29744,13 +30032,13 @@ and frame grabber interface.") (define-public python-scikit-build (package (name "python-scikit-build") - (version "0.17.1") + (version "0.17.6") (source (origin (method url-fetch) (uri (pypi-uri "scikit_build" version)) (sha256 - (base32 "0v1qcn3nsjxqdl6fa07b7acq6xndqbvvic5dvsgbjgldkjr1drqp")))) + (base32 "17awdvpzj4bn50gk4gmj20r2xcjr5y8lfl2bk582di1pdfim26mm")))) (build-system pyproject-build-system) (arguments (list @@ -29789,11 +30077,7 @@ and frame grabber interface.") ;; nondeterministically (see: ;; https://github.com/scikit-build/scikit-build/issues/711). "and not test_generator_cleanup " - "and not test_generator_selection " - ;; The compiler test fails with a - ;; SKBuildGeneratorNotFoundError error (see: - ;; https://github.com/scikit-build/scikit-build/issues/945). - "and not test_cxx_compiler ")))))))) + "and not test_generator_selection ")))))))) (native-inputs (list cmake-minimal gfortran @@ -29813,7 +30097,8 @@ and frame grabber interface.") python-pytest-virtualenv python-pytest-xdist python-requests - python-setuptools-scm)) + python-setuptools-scm + python-virtualenv)) (propagated-inputs (list python-distro python-packaging python-tomli python-wheel)) (home-page "https://github.com/scikit-build/scikit-build") @@ -30183,6 +30468,41 @@ result.") lets you write CommonMark inside of Docutils & Sphinx projects.") (license license:expat))) +(define-public python-redo + ;; The latest release isn't tagged: + ;; https://github.com/mozilla-releng/redo/issues/76 + (let ((commit "50cfe8e3656f253f9e51df3a998530351d2d9a8c") + (revision "0")) + (package + (name "python-redo") + (version (git-version "2.0.4" revision commit)) + (source + (origin + (method git-fetch) ; There are no tests in the PyPI release. + (uri (git-reference + (url "https://github.com/mozilla-releng/redo") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xpylx97qr4ikdhsr208ri41007mpp57a4n8mmlmlqmdljmsdpdb")))) + (build-system python-build-system) + (native-inputs + (list python-mock + python-pytest)) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; The project uses tox to run the tests via pytest. + (invoke "pytest"))))))) + (home-page "https://github.com/mozilla-releng/redo") + (synopsis "Utilities to retry Python callables") + (description "Redo provides various means to add seamless ability to +retry to any Python callable.") + (license license:mpl2.0)))) + (define-public python-pyhull (package (name "python-pyhull") |