Merge branch 'master' into staging

This commit is contained in:
Ludovic Courtès 2022-05-09 14:44:48 +02:00
commit da3be3ff4f
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
172 changed files with 138657 additions and 140258 deletions

View file

@ -108,7 +108,7 @@
;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
;;; Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
;;; Copyright © 2021 Pradana Aumars <paumars@courrier.dev>
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021, 2022 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Sébastien Lerique <sl@eauchat.org>
;;; Copyright © 2021 Raphaël Mélotte <raphael.melotte@mind.be>
;;; Copyright © 2021 ZmnSCPxj <ZmnSCPxj@protonmail.com>
@ -120,6 +120,7 @@
;;; Copyright © 2022 drozdov <drozdov@portalenergy.tech>
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -3510,6 +3511,18 @@ with sensible defaults out of the box.")
(base32 "0njsm0wn31l21bi118g5825ma5sa3rwn7v2x4wjd7yiiahkri337"))))
(arguments `())))
(define-public python-click-8
(package (inherit python-click)
(name "python-click")
(version "8.1.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "click" version))
(sha256
(base32 "0whs38a2i0561kwbgigs6vic9r0a1887m2v1aw3rmv6r2kz0g5s7"))))
(arguments `())))
(define-public python-cligj
(package
(name "python-cligj")
@ -5680,7 +5693,7 @@ writing C extensions for Python as easy as Python itself.")
(define-public python-numpy-next
(package
(name "python-numpy-next")
(version "1.21.3")
(version "1.22.3")
(source
(origin
(method url-fetch)
@ -5689,12 +5702,12 @@ writing C extensions for Python as easy as Python itself.")
version "/numpy-" version ".tar.gz"))
(sha256
(base32
"0s6hy8828yr7fcjiwnym4l8lrknr21gqfkaiawsf86n0hd0a5fyh"))))
"19dw91pqbqcniw2z57kiyqs1qp56g7kqy1bdyv664g8s62sc01m9"))))
(build-system python-build-system)
(inputs
(list openblas))
(native-inputs
(list python-cython python-hypothesis python-pytest
(list python-cython python-hypothesis-6.23 python-pytest
python-pytest-xdist gfortran))
(arguments
`(#:phases
@ -5786,6 +5799,12 @@ capabilities.")
(sha256
(base32
"140zq9snx0di4id4g97vaw9zz8x2rfla5lp3a70j666f5030yd5p"))))
;; python-numpy-next replaced python-hypothesis with
;; python-hypothesis-6.23. We switch it back here, to prevent
;; python-numpy-1.20 and its numerous dependents from being rebuilt.
(native-inputs
(list python-cython python-hypothesis python-pytest
python-pytest-xdist gfortran))
;; 92 tests fail, many of them because parts of the temp file name
;; accidentally ends up in a comparison.
(arguments
@ -8730,21 +8749,19 @@ connect strings, then issue SQL commands within IPython or IPython Notebook.")
(define-public python-traitlets
(package
(name "python-traitlets")
(version "4.3.3")
(version "5.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "traitlets" version))
(sha256
(base32
"1xsrwgivpkxlbr4dfndfsi098s29yqgswgjc1qqn69yxklvfw8yh"))))
"1ivhxglsrnhqw4g98ihddn7i5f6976gpk31fijwq473wb9n4b7q5"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check (lambda _ (invoke "pytest" "-vv" "traitlets"))))))
(propagated-inputs
(list python-ipython-genutils python-decorator python-six))
(native-inputs
(list python-pytest))
(home-page "https://ipython.org")
@ -8942,21 +8959,21 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
(define-public python-pari-jupyter
(package
(name "python-pari-jupyter")
(version "1.4.0")
(version "1.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pari-jupyter" version))
(sha256
(base32
"1hwjr66vfjsx28qmxrgsp3z0px1xqwxv53byvsrbwbjp4pbp79sz"))))
"1ikqvv335qfrhmlji0iclci6pnm2c3fvnxf031jr1d68j79g6ypd"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ;no test suite
(propagated-inputs
(list python-ipykernel))
(inputs
(list pari-gp readline))
(home-page "https://github.com/jdemeyer/pari-jupyter")
(home-page "https://github.com/sagemath/pari-jupyter")
(synopsis "Jupyter kernel for PARI/GP")
(description "The package provides a PARI/GP kernel for Jupyter.")
(license license:gpl3+)))
@ -8996,6 +9013,7 @@ callback signature using a prototype function.")
(build-system python-build-system)
(propagated-inputs
(list python-backcall
python-decorator
python-pyzmq
python-prompt-toolkit-2
python-terminado
@ -11734,32 +11752,6 @@ Unicode-aware. It is not intended as an end-user tool.")
(define-public python2-xlrd
(package-with-python2 python-xlrd))
;; We need this for python-anndata
(define-public python-xlrd-1
(package
(inherit python-xlrd)
(name "python-xlrd")
(version "1.2.0")
(source (origin
;; The tests are not included in the PyPI archive.
(method git-fetch)
(uri (git-reference
(url "https://github.com/python-excel/xlrd")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0sm5p0ii5ayh52ak1jpw0n1kgsv72vdwwp8c3z13l8yf4irsb587"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; Some tests depend on writing a temporary file to the user's home
;; directory.
(add-after 'unpack 'fix-tests
(lambda _
(setenv "HOME" "/tmp"))))))))
;;; Note: this package is unmaintained since 2018 (archived on GitHub).
(define-public python-xlwt
(package
@ -17229,6 +17221,33 @@ characters, mouse support, and auto suggestions.")
(license license:bsd-3)
(properties `((python2-variant . ,(delay python-prompt-toolkit-2))))))
(define-public python-proselint
(package
(name "python-proselint")
(version "0.13.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "proselint" version))
(sha256
(base32
"0n1ahnq2mkgvh94g05xhc3l1fs3hh0ycskqlqivhhfdaq8ybdlkx"))))
(build-system python-build-system)
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'set-home-directory
(lambda _
(setenv "HOME" "/tmp"))))))
(propagated-inputs
(list python-click-8 python-future python-six))
(home-page "https://github.com/amperser/proselint")
(synopsis "Linter for prose")
(description "@code{python-proselint} is a linter for English prose, that
scans through a file and detects issues.")
(license license:bsd-3)))
(define-public python-prompt-toolkit-2
(package (inherit python-prompt-toolkit)
(name "python-prompt-toolkit")
@ -19409,6 +19428,26 @@ multitouch applications.")
(description "This package provides a MediaWiki API client.")
(license license:expat)))
(define-public python-kneed
(package
(name "python-kneed")
(version "0.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "kneed" version))
(sha256
(base32 "0vkwi0pr7nfkp3c46hnmx0275yx68v96v10rmspv0wis33x6f39l"))))
(build-system python-build-system)
(propagated-inputs
(list python-matplotlib python-numpy python-scipy))
(home-page "https://github.com/arvkevi/kneed")
(synopsis "Knee-point detection in Python")
(description "This package implements the kneedle algorithm. Given a set
of x and y values, kneed will return the knee point of the function. The knee
point is the point of maximum curvature.")
(license license:bsd-3)))
(define-public python-utils
(package
(name "python-utils")
@ -23143,7 +23182,6 @@ N-dimensional arrays for Python.")
python-packaging
python-pandas
python-scipy
python-xlrd-1
python-zarr))
(native-inputs
(list python-joblib python-pytest python-toml python-flit
@ -23293,22 +23331,6 @@ main differences are that @code{cytoolz} is faster and cytoolz offers a C API
that is accessible to other projects developed in Cython.")
(license license:bsd-3)))
;; python-cooler doesn't work with 0.11 yet
(define-public python-cytoolz-for-cooler
(package
(inherit python-cytoolz)
(version "0.10.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cytoolz" version))
(sha256
(base32
"0p4a9nadsy1337gy2cnb5yanbn03j3zm6d9adyqad9bk3nlbpxc2"))
(modules '((guix build utils)))
(snippet
'(for-each delete-file (find-files "cytoolz" "\\.c$")))))))
(define-public python-sortedcollections
(package
(name "python-sortedcollections")
@ -24473,6 +24495,59 @@ Stamen, and supports custom tilesets with Mapbox or Cloudmade API keys. It
supports Image, Video, GeoJSON and TopoJSON overlays.")
(license license:expat)))
(define-public python-mercantile
(package
(name "python-mercantile")
(version "1.2.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "mercantile" version))
(sha256
(base32 "0sxmndhzzrvss5irsgzfrk51k6jihwcb7661992mizdgbnqnsg7s"))))
(build-system python-build-system)
(propagated-inputs (list python-click))
(native-inputs
(list python-check-manifest python-hypothesis python-pytest))
(home-page "https://github.com/mapbox/mercantile")
(synopsis "Web mercator XYZ tile utilities")
(description "The mercantile module provides @code{ul(xtile, ytile, zoom)}
and @code{bounds(xtile, ytile, zoom)} functions that respectively return the
upper left corner and bounding longitudes and latitudes for XYZ tiles, a
@code{xy(lng, lat)} function that returns spherical mercator x and y
coordinates, a @code{tile(lng, lat, zoom)} function that returns the tile
containing a given point, and quadkey conversion functions
@code{quadkey(xtile, ytile, zoom)} and @code{quadkey_to_tile(quadkey)} for
translating between quadkey and tile coordinates.")
(license license:bsd-3)))
(define-public python-xyzservices
(package
(name "python-xyzservices")
(version "2022.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xyzservices" version))
(sha256
(base32 "1paxv4i0dws85md7csv7pf80jl3xh792mx8rxnsrk61ks3ivbsyg"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv")))))))
(native-inputs
(list python-pytest python-mercantile python-requests))
(home-page "https://github.com/geopandas/xyzservices")
(synopsis "Source of XYZ tiles providers")
(description "@code{xyzservices} is a lightweight library providing a
repository of available XYZ services offering raster basemap tiles. The
repository is provided via Python API and as a compressed JSON file.")
(license license:bsd-3)))
(define-public jube
(package
;; This is a command-line tool, so no "python-" prefix.
@ -24825,25 +24900,18 @@ standard error channel (stderr) in your program.")
(define-public python-anyio
(package
(name "python-anyio")
(version "3.3.0")
(version "3.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "anyio" version))
(sha256
(base32
"0x03hsprdrs86wjjkj96zm2jswy3a5bgyrknyi58pzz5hdsscmxf"))))
"19m58805wir4i2s45dd5ynwlzb7ky1218isbir53gpqzzgigzbm0"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-compatibility
(lambda _
(substitute* "tests/test_taskgroups.py"
(("import pytest")
"import pytest\nimport _pytest\nfrom _pytest import logging")
(("pytest.LogCaptureFixture")
"_pytest.logging.LogCaptureFixture"))))
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
@ -24880,18 +24948,24 @@ standard error channel (stderr) in your program.")
" and not test_send_eof"
" and not test_send_large_buffer"
" and not test_send_receive"
" and not test_socket_options"))))))))
" and not test_socket_options"
" and not test_unretrieved_future_exception_server_crash"))))))))
(propagated-inputs
(list python-idna python-sniffio python-typing-extensions))
(list python-contextvars
python-dataclasses
python-idna
python-sniffio
python-typing-extensions))
(native-inputs
(list python-coverage
(list python-contextlib2
python-coverage
python-hypothesis
python-iniconfig
python-mock
python-pytest-6
python-pytest-mock
python-pytest-trio
python-setuptools-scm
python-trio
python-trustme
python-uvloop))
(home-page "https://github.com/agronholm/anyio")
@ -29482,7 +29556,11 @@ writing STL files. It supports both the text and binary forms of STL.")
(lambda _
(substitute* "setup.py"
(("test_suite = 'multipart.tests.suite'")
"test_suite = 'multipart.tests.test_multipart.suite'")))))))
"test_suite = 'multipart.tests.test_multipart.suite'"))
;; Needed by PyYAML 6.0.
(substitute* "multipart/tests/test_multipart.py"
(("yaml_data = yaml.load\\(f\\)")
"yaml_data = yaml.load(f, Loader=yaml.SafeLoader)")))))))
(home-page "https://github.com/andrew-d/python-multipart")
(synopsis "Streaming multipart parser for Python")
(description
@ -29572,6 +29650,24 @@ adapted from the @code{packaging} package.")
Python CLI apps.")
(license license:asl2.0)))
(define-public python-style
(package
(name "python-style")
(version "1.1.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "style" version))
(sha256
(base32 "1dcfb578v9mrwh92rgms87gql0gp4vgj6l9hpgyfg0wbd3rh3bfh"))))
(build-system python-build-system)
(home-page "https://github.com/lmittmann/style")
(synopsis "Terminal string styling")
(description
"@code{python-style} is a simple terminal string styling package. Its API is
a port of the chalk package for javascript.")
(license license:expat)))
(define-public python-sre-yield
(package
(name "python-sre-yield")
@ -29594,6 +29690,114 @@ uses the parsed regular expression, so you get a much more accurate result
than trying to just split strings.")
(license license:asl2.0)))
(define-public python-pydispatcher
(package
(name "python-pydispatcher")
(version "2.0.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "PyDispatcher" version))
(sha256
(base32 "1bswbmhlbqdxlgbxlb6xrlm4k253sg8nvpl1whgsys8p3fg0cw2m"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest")))))))
(native-inputs (list python-pytest))
(home-page "http://pydispatcher.sourceforge.net")
(synopsis "Multi-producer-multi-consumer signal dispatching mechanism")
(description "PyDispatcher is an enhanced version of Patrick K. OBriens
original @code{dispatcher.py} module. It provides the Python programmer with
a robust mechanism for event routing within various application contexts.
Included in the package are the robustapply and saferef modules, which
provide the ability to selectively apply arguments to callable objects
and to reference instance methods using weak-references.")
(license license:bsd-3)))
(define-public python-queuelib
(package
(name "python-queuelib")
(version "1.6.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "queuelib" version))
(sha256
(base32 "1lpwq8wx3025i14y5h0hbald2ypbarf081pql6cqcak4y9kp482b"))))
(build-system python-build-system)
(native-inputs (list python-pytest))
(home-page "https://github.com/scrapy/queuelib")
(synopsis
"Collection of persistent (disk-based) and non-persistent (memory-based) queues")
(description "Queuelib is a Python library that implements object
collections which are stored in memory or persisted to disk, provide a
simple API, and run fast.
Queuelib provides collections for queues (FIFO), stacks (LIFO), queues
sorted by priority and queues that are emptied in a round-robin
fashion.")
(license license:bsd-3)))
(define-public python-itemadapter
(package
(name "python-itemadapter")
(version "0.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "itemadapter" version))
(sha256
(base32 "083wp3h2brh8x19jbdr8rz3biqwp3jlqd0rfzcyrjyhssffsgdh5"))))
(build-system python-build-system)
(home-page "https://github.com/scrapy/itemadapter")
(synopsis "Common interface for data container classes")
(description "The ItemAdapter class is a wrapper for data container
objects, providing a common interface to handle objects of different
types in an uniform manner, regardless of their underlying implementation.
Currently supported types are:
@itemize
@item scrapy.item.Item
@item dict
@item dataclass-based classes
@item attrs-based classes
@item pydantic-based classes
@end itemize
Additionally, interaction with arbitrary types is supported by
implementing a pre-defined interface.")
(license license:bsd-3)))
(define-public python-itemloaders
(package
(name "python-itemloaders")
(version "1.0.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "itemloaders" version))
(sha256
(base32 "15hc78h90qhwass1bga1c3xar2dd6j8sxg61zg6jvh74lf6csxqj"))))
(build-system python-build-system)
(propagated-inputs
(list python-itemadapter python-jmespath python-parsel python-w3lib))
(home-page "https://github.com/scrapy/itemloaders")
(synopsis "Base library for scrapy's ItemLoader")
(description "Itemloaders is a library that helps you collect data
from HTML and XML sources. It comes in handy to extract data from web
pages, as it supports data extraction using CSS and XPath Selectors.
Its specially useful when you need to standardize the data from many
sources. For example, it allows you to have all your casting and
parsing rules in a single place.")
(license license:bsd-3)))
(define-public python-hypy-utils
(package
(name "python-hypy-utils")
@ -29633,3 +29837,96 @@ and setting the color of terminal output, via HyDEV.")
versions of MkDocs-powered docs to a Git branch. It is suitable for deploying
to Github via gh-pages.")
(license license:bsd-3)))
(define-public python-arpeggio
(package
(name "python-arpeggio")
(version "2.0.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "Arpeggio" version))
(sha256
(base32
"0ggdsck1wpladd5bh9drhkmm86bblgk2wagrhn3sdf4v04wkic6n"))))
(build-system python-build-system)
(native-inputs (list python-coverage
python-coveralls
python-flake8
python-mike
python-mkdocs
python-pytest
python-pytest-runner
python-twine
python-wheel))
(home-page "https://github.com/textX/Arpeggio")
(synopsis "Packrat parser interpreter for Python")
(description
"This Python library provides a recursive descent parser with backtracking
and memoization (a.k.a. packrat parser). Arpeggio grammars are based on PEG
formalism. Arpeggio's main use is a foundation for a toolchain for DSL
development but it can be used for all sorts of general purpose parsing.")
(license license:expat)))
(define-public python-flatten-json
(package
(name "python-flatten-json")
(version "0.1.13")
(source
(origin
(method url-fetch)
(uri (pypi-uri "flatten_json" version))
(sha256
(base32 "007m28gfs7pmz2rqqjxpial6skzw26hrfi8vrdy9agi9x0rj6dgf"))))
(build-system python-build-system)
(propagated-inputs (list python-six))
(home-page "https://github.com/amirziai/flatten")
(synopsis "Flatten JSON objects")
(description
"The @code{flatten_json} Python library flattens the hierarchy in your
object, which can be useful if you want to force your objects into a table.")
(license license:expat)))
(define-public python-deepmerge
(package
(name "python-deepmerge")
(version "1.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "deepmerge" version))
(sha256
(base32 "06hagzg8ccmjzqvszdxb52jgx5il8a1jdz41n4dpkyyjsfg7fi2b"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-version
(lambda _
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)
;; ZIP does not support timestamps before 1980.
(setenv "SOURCE_DATE_EPOCH" "315532800")))
(replace 'build
(lambda _
(invoke "python" "-m" "build" "--wheel"
"--no-isolation" ".")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest"))))
(replace 'install
(lambda _
(let ((whl (car (find-files "dist" "\\.whl$"))))
(invoke "pip" "--no-cache-dir" "--no-input"
"install" "--no-deps" "--prefix" #$output whl)))))))
(native-inputs
(list python-pypa-build
python-setuptools-scm
python-pytest
python-wheel))
(home-page "https://deepmerge.readthedocs.io/en/latest/")
(synopsis "Merge nested data structures")
(description
"The @code{deep-merge} Python library provides a toolset to deeply merge
nested data structures in Python like lists and dictionaries.")
(license license:expat)))