summaryrefslogtreecommitdiff
path: root/gnu/packages/python-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r--gnu/packages/python-xyz.scm2117
1 files changed, 1487 insertions, 630 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6f092ab730..a2f1a9aed0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -52,7 +52,7 @@
;;; Copyright © 2018-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018, 2019, 2021 Clément Lassieur <clement@lassieur.org>
-;;; Copyright © 2018, 2019, 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2018, 2019, 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com>
;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
;;; Copyright © 2015, 2018 Pjotr Prins <pjotr.guix@thebird.nl>
@@ -66,7 +66,7 @@
;;; Copyright © 2019, 2020, 2021 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
;;; Copyright © 2019, 2020, 2021, 2022 Tanguy Le Carrour <tanguy@bioneland.org>
-;;; Copyright © 2019, 2021 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
+;;; Copyright © 2019, 2021, 2022 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
;;; Copyright © 2020 Riku Viitanen <riku.viitanen@protonmail.com>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 sirgazil <sirgazil@zoho.com>
@@ -75,11 +75,11 @@
;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com>
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;; Copyright © 2020 Alex ter Weele <alex.ter.weele@gmail.com>
-;;; Copyright © 2020 Matthew James Kraai <kraai@ftbfs.org>
+;;; Copyright © 2020, 2022 Matthew James Kraai <kraai@ftbfs.org>
;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
;;; Copyright © 2020 Josh Holland <josh@inv.alid.pw>
;;; Copyright © 2020 Yuval Kogman <nothingmuch@woobling.org>
-;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
;;; Copyright © 2020 Hendursaga <hendursaga@yahoo.com>
@@ -104,7 +104,7 @@
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Hugo Lecomte <hugo.lecomte@inria.fr>
;;; Copyright © 2021 Franck Pérignon <franck.perignon@univ-grenoble-alpes.fr>
-;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
+;;; 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 Pradana Aumars <paumars@courrier.dev>
@@ -130,6 +130,8 @@
;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl>
;;; Copyright © 2022 Mathieu Laparie <mlaparie@disr.it>
;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
+;;; Copyright © 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr>
+;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -158,9 +160,11 @@
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages cpp)
#:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
#:use-module (gnu packages dbm)
+ #:use-module (gnu packages digest)
#:use-module (gnu packages django)
#:use-module (gnu packages djvu)
#:use-module (gnu packages docker)
@@ -189,6 +193,7 @@
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages java)
#:use-module (gnu packages jupyter)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libevent)
@@ -197,6 +202,7 @@
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
+ #:use-module (gnu packages machine-learning)
#:use-module (gnu packages man)
#:use-module (gnu packages markup)
#:use-module (gnu packages maths)
@@ -258,6 +264,7 @@
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (srfi srfi-1)
@@ -318,6 +325,71 @@ asynchronous one follows
design}.")
(license license:asl2.0)))
+(define-public python-jupytext
+ (package
+ (name "python-jupytext")
+ (version "1.14.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mwouts/jupytext")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0gqpvphrp2ja9ggadx0rrk0sqbpz6kqqg62qqmw4k17469lphc8c"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ ;; some tests fail when HOME=/homeless-shelter.
+ (setenv "HOME" "/tmp")
+ ;; OSError: [Errno 18] Invalid cross-device link
+ (setenv "TMPDIR" "/tmp")
+ (when tests?
+ (let ((disabled-tests
+ (list "test_create_header_with_set_formats"
+ "test_pre_commit_hook"
+ "test_sync_with_pre_commit_hook")))
+ (invoke "pytest" "-vv" "-k"
+ (string-append "not "
+ (string-join disabled-tests
+ " and not "))))))))))
+ (native-inputs
+ (list git-minimal
+ python-autopep8
+ python-black
+ python-flake8
+ python-gitpython
+ python-isort
+ python-ipython-genutils
+ python-jupyter-server
+ python-pre-commit
+ python-pytest
+ python-pyaml))
+ (propagated-inputs
+ (list python-markdown-it-py
+ python-mdit-py-plugins
+ python-nbformat))
+ (home-page "https://github.com/mwouts/jupytext")
+ (synopsis
+ "Jupyter notebooks as Markdown documents, Julia, Python or R scripts")
+ (description
+ "Jupytext is a plugin for Jupyter that can save Jupyter notebooks as
+either Markdown files or scripts in many languages. Common use cases for
+Jupytext are:
+
+@itemize
+@item version control on Jupyter Notebooks
+@item editing, merging or refactoring notebooks in your favorite text editor
+@item applying Q&A checks on notebooks.
+@end itemize
+")
+ (license license:expat)))
+
(define-public python-logzero
(package
(name "python-logzero")
@@ -372,7 +444,7 @@ easy logging and rotating to a console or a file.")
(invoke "pytest" "--cov=logbook" "-r" "s" "tests")))))))
(native-inputs
(list python-cython python-mock python-pytest python-pytest-cov
- python-google-brotli))
+ python-brotli))
(home-page "https://github.com/getlogbook/logbook")
(synopsis "Logbook is a logging replacement for Python")
(description
@@ -495,6 +567,43 @@ and variables you'll need already imported and created.
(home-page "https://github.com/google/python-fire")
(license license:asl2.0)))
+(define-public python-fit-nbinom
+ (package
+ (name "python-fit-nbinom")
+ (version "1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "fit_nbinom" version))
+ (sha256
+ (base32
+ "12v8l5i35vjbpvh5i4lw29ys6vpr3z7pysyrx33hxaq09zr015mx"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-numpy python-scipy))
+ (home-page "https://github.com/joachimwolff/fit_nbinom")
+ (synopsis "Negative binomial maximum likelihood estimator")
+ (description "This package provides an implementation in Python using
+scipy and numpy of negative binomial maximum likelihood estimation.")
+ (license license:gpl3+)))
+
+(define-public python-dotmap
+ (package
+ (name "python-dotmap")
+ (version "1.3.30")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "dotmap" version))
+ (sha256
+ (base32
+ "0s5kb2v7jd0narz6m6jcicak3h5pw290wz21cdsv8pq77y9sf8aq"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/drgrib/dotmap")
+ (synopsis "Ordered, dynamically-expandable dot-access dictionary")
+ (description
+ "DotMap is a dot-access dictionary subclass that has dynamic
+hierarchy creation, can be initialized with keys, can be initialized from a
+dictionary, can be convert to a dictionary, and is ordered by insertion.")
+ (license license:expat)))
+
(define-public python-twodict
(package
(name "python-twodict")
@@ -554,22 +663,51 @@ decorators, including variants of the Python standard library's
@code{lru_cache} function decorator.")
(license license:expat)))
+(define-public python-cobib
+ (package
+ (name "python-cobib")
+ (version "3.5.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "cobib" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "16nbrbvascbf6cb7yvn9q793dy8zx703pqrmk3mswib9a19mnx3n"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-beautifulsoup4
+ python-bibtexparser
+ python-pylatexenc
+ python-requests
+ python-requests-oauthlib
+ python-ruamel.yaml))
+ (native-inputs
+ (list python-future
+ python-pyte
+ python-pytest))
+ (home-page "https://gitlab.com/mrossinek/cobib")
+ (synopsis "Terminal-based bibliography management tool")
+ (description
+ "@command{cobib} is a command-line based bibliography management tool.
+It uses a plain-text database, a location-independent library, and features
+git integration, command-line support, and a curses-based TUI.")
+ (license license:expat)))
+
(define-public python-colorful
(package
(name "python-colorful")
(version "0.5.4")
(source
(origin
- (method url-fetch)
- (uri
- (pypi-uri "colorful" version))
+ (method git-fetch) ; no tests data in PyPi package
+ (uri (git-reference
+ (url "https://github.com/timofurrer/colorful")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1sh7g2cn1fyz2hzmzs933razdxi2bna9i1lxa790r9pdwba8m146"))))
- (build-system python-build-system)
- ;; FIXME: tests cannot be computed:
- ;; "Can't perform this operation for unregistered loader type"
- (arguments
- `(#:tests? #f))
+ (base32 "1fcz5v8b318a3dsdha4c874jsf3wmcw3f25bv2csixclyzacli98"))))
+ (build-system pyproject-build-system)
(native-inputs
(list python-coverage python-flake8 python-pytest))
(propagated-inputs
@@ -624,6 +762,67 @@ It indexes documents and provides a search interface for retrieving documents
that best match text queries.")
(license license:expat)))
+(define-public python-mdit-py-plugins
+ (package
+ (name "python-mdit-py-plugins")
+ (version "0.3.1")
+ (source (origin
+ (method git-fetch) ;for tests
+ (uri (git-reference
+ (url "https://github.com/executablebooks/mdit-py-plugins")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "00ybbfb6dzn9q5qnvnm8bmhd84s215ik7pcdb4r35zhwiv2ikizz"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs
+ (list python-markdown-it-py
+ python-attrs))
+ (native-inputs
+ (list python-coverage
+ python-flit-core
+ python-pytest
+ python-pytest-cov
+ python-pytest-regressions))
+ (home-page "https://github.com/executablebooks/mdit-py-plugins")
+ (synopsis "Collection of plugins for markdown-it-py")
+ (description "This package contains a collection of plugins for
+@code{markdown-it-py} like:
+@enumerate
+@item amsmath,
+@item attrs,
+@item container,
+@item definition list,
+@item dollarmath,
+@item field list,
+@item footnote,
+@item textmath, and
+@item wordcount.
+@end enumerate")
+ (license license:expat)))
+
+(define-public python-mdurl
+ (package
+ (name "python-mdurl")
+ (version "0.1.2")
+ (source
+ (origin
+ (method git-fetch) ; no tests data in PyPi package
+ (uri (git-reference
+ (url "https://github.com/executablebooks/mdurl")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0csc777q42jzv4zgdzxmwp8xqlb92ws1jvj09m2smh4klw67q5f3"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-flit python-pytest))
+ (home-page "https://github.com/executablebooks/mdurl")
+ (synopsis "Markdown URL utilities")
+ (description
+ "This package implements a Python port of the JavaScript @code{mdurl}.")
+ (license license:expat)))
+
(define-public python-mrkd
(package
(name "python-mrkd")
@@ -722,6 +921,24 @@ template")
variables into the markdown template")
(license license:expat)))
+(define-public python-py4j
+ (package
+ (name "python-py4j")
+ (version "0.10.9.7")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "py4j" version))
+ (sha256
+ (base32
+ "1fwdx92cdaiviradksfyygg05g1fpc3x2lf65bv5rnispcam6vhb"))))
+ (build-system python-build-system)
+ (home-page "https://www.py4j.org/")
+ (synopsis "Dynamically access arbitrary Java objects from Python")
+ (description
+ "This package enables Python programs to dynamically access arbitrary
+Java objects.")
+ (license license:bsd-3)))
+
(define-public python-pymdown-extensions
(package
(name "python-pymdown-extensions")
@@ -745,6 +962,36 @@ variables into the markdown template")
Markdown. All extensions are found under the module namespace of pymdownx.")
(license license:expat)))
+(define-public python-pint
+ (package
+ (name "python-pint")
+ (version "0.20.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "Pint" version))
+ (sha256
+ (base32
+ "0rv0cbala7ibjbaf6kkcn0mdhqdbajnvlcw0f15gwzfwg10g0z1q"))))
+ (build-system python-build-system)
+ (native-inputs
+ (list python-pytest
+ python-pytest-cov
+ python-pytest-mpl
+ python-pytest-subtests
+ python-setuptools-scm
+ python-sparse
+ python-dask
+ python-xarray
+ python-distributed))
+ (home-page "https://github.com/hgrecco/pint")
+ (synopsis "Physical quantities module")
+ (description
+ "Pint is a Python package to define, operate and manipulate physical
+quantities: the product of a numerical value and a unit of measurement. It
+allows arithmetic operations between them and conversions from and to
+different units.")
+ (license license:bsd-3)))
+
(define-public python-plotille
(package
(name "python-plotille")
@@ -966,7 +1213,7 @@ of a loop structure or other iterative computation.")
(define-public python-glymur
(package
(name "python-glymur")
- (version "0.10.1")
+ (version "0.12.0")
(source
(origin
(method git-fetch) ; no tests data in PyPi package
@@ -975,8 +1222,8 @@ of a loop structure or other iterative computation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1cq9r8vzwvds1kasy5gc2rxw034jh9l43rraps1n739072pfz6qg"))))
- (build-system python-build-system)
+ (base32 "03nny8k42yxdyw7sjv43szmg23x3rqplbaf7m0a0lpvwla1dl78i"))))
+ (build-system pyproject-build-system)
(arguments
(list
#:phases
@@ -997,29 +1244,14 @@ of a loop structure or other iterative computation.")
" elif libname == \"c\":\n"
" path = \""
(search-input-file inputs "/lib/libc.so.6") "\"\n")))))
- ;; TODO: implement as a feature of python-build-system (PEP-621,
- ;; PEP-631, PEP-660)
- (replace 'build
+ (add-before 'check 'disable-failing-tests
(lambda _
- (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)
- ;; ZIP does not support timestamps before 1980.
- (setenv "SOURCE_DATE_EPOCH" "315532800")
- (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((whl (car (find-files "dist" "\\.whl$"))))
- (invoke "pip" "--no-cache-dir" "--no-input"
- "install" "--no-deps" "--prefix" #$output whl))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- ;; Failing test due to inability of
- ;; ctypes.util.find_library() to determine library path,
- ;; which is patched above.
- (delete-file "tests/test_config.py")
- (invoke "python" "-m" "pytest" "-vv" "tests")))))))
+ ;; Failing test due to inability of
+ ;; ctypes.util.find_library() to determine library path,
+ ;; which is patched above.
+ (delete-file "tests/test_config.py"))))))
(native-inputs
- (list python-pypa-build python-pytest))
+ (list python-pytest))
(inputs
(list openjpeg ; glymur/lib/openjp2.py
libtiff)) ; glymur/lib/tiff.py
@@ -1444,14 +1676,24 @@ and a list of words that are easier to remember for humans (the
(define-public python-bitarray
(package
(name "python-bitarray")
- (version "1.4.0")
+ (version "2.6.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "bitarray" version))
(sha256
(base32
- "177fj6wbw5jln54wpp6plcqy2329wjkwqwvgz7022rrg3xfrq49g"))))
+ "0c4jli872nzix81n1xirnrghlq2fdsxb570d9rnfvxi1694sah44"))))
(build-system python-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Step out of the source directory to avoid interference.
+ (with-directory-excursion "/tmp"
+ (invoke "python" "-c"
+ "import bitarray; bitarray.test()"))))))))
(home-page "https://github.com/ilanschnell/bitarray")
(synopsis "Efficient arrays of booleans")
(description "This package provides an object type which efficiently
@@ -1528,21 +1770,14 @@ NetCDF files can also be read and modified. Python-HDF4 is a fork of
(define-public python-h5netcdf
(package
(name "python-h5netcdf")
- (version "1.0.1")
+ (version "1.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "h5netcdf" version))
(sha256
- (base32 "1b2dcgf5rwy7pb7hr4prkc5vgcw9qc2was20dmnj90lbrpx08rvp"))))
- (build-system python-build-system)
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-vv" "h5netcdf/tests")))))))
+ (base32 "0mmzfr6k55zqxxpb64gvdqisak8s1zb2r04yzkmp0wzd7dbknb4k"))))
+ (build-system pyproject-build-system)
(native-inputs
(list python-netcdf4
python-pytest
@@ -1551,9 +1786,11 @@ NetCDF files can also be read and modified. Python-HDF4 is a fork of
(list python-h5py python-packaging))
(home-page "https://h5netcdf.org")
(synopsis "Python interface for the netCDF4 file-format based on h5py")
- (description "This package provides Python interface for the netCDF4
-file-format that reads and writes local or remote HDF5 files directly via h5py
-or h5pyd, without relying on the Unidata netCDF library")
+ (description "This package provides a Python interface for the netCDF4
+file-format that reads and writes local or remote HDF5 files directly via
+@url{h5py, https://www.h5py.org/} or @url{h5pyd,
+https://github.com/HDFGroup/h5pyd}, without relying on the Unidata netCDF
+library.")
(license license:bsd-3)))
(define-public python-h5py
@@ -1619,6 +1856,25 @@ concepts.")
approximate nearest neighbor search with Python bindings.")
(license license:asl2.0)))
+(define-public python-pylatexenc
+ (package
+ (name "python-pylatexenc")
+ (version "2.10")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pylatexenc" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1ls09z47b5md71gkxcj7fd87ynpvv2walgp2w6z31p26xf2gvn1x"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/phfaist/pylatexenc")
+ (synopsis "LaTeX parser for Unicode/LaTeX conversion")
+ (description
+ "@code{python-pylatexenc} is a LaTeX parser providing LaTeX-to-Unicode and
+Unicode-to-LaTeX conversion.")
+ (license license:expat)))
+
(define-public python-pyls-black
(package
(name "python-pyls-black")
@@ -1973,46 +2229,6 @@ Because only safe literals are encoded, it is safe to send serpent data to
other machines, such as over the network.")
(license license:expat)))
-(define-public python-setuptools
- (package
- (name "python-setuptools")
- (version "64.0.3")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "setuptools" version))
- (sha256
- (base32
- "1sllqf0bhsl2yilf1w0xnlz0r4yaksmwaj0ap91zdc6kgbigdjiv"))
- (modules '((guix build utils)))
- (snippet
- ;; Remove included binaries which are used to build self-extracting
- ;; installers for Windows.
- ;; TODO: Find some way to build them ourself so we can include them.
- '(for-each delete-file (find-files "setuptools"
- "^(cli|gui).*\\.exe$")))))
- (build-system python-build-system)
- ;; FIXME: Tests require pytest, which itself relies on setuptools.
- ;; One could bootstrap with an internal untested setuptools.
- (arguments (list #:tests? #f))
- (home-page "https://pypi.org/project/setuptools/")
- (synopsis "Library designed to facilitate packaging Python projects")
- (description "Setuptools is a fully-featured, stable library designed to
-facilitate packaging Python projects, where packaging includes:
-@itemize
-@item Python package and module definitions
-@item distribution package metadata
-@item test hooks
-@item project installation
-@item platform-specific details.
-@end itemize")
- ;; TODO: setuptools now bundles the following libraries:
- ;; packaging, pyparsing, six and appdirs. How to unbundle?
- (license (list license:psfl ;setuptools itself
- license:expat ;six, appdirs, pyparsing
- license:asl2.0 ;packaging is dual ASL2/BSD-2
- license:bsd-2))))
-
(define-public python-setuptools-declarative-requirements
(package
(name "python-setuptools-declarative-requirements")
@@ -2660,15 +2876,15 @@ standard.")
;; getprotobyname is called. Thankfully there is an environment
;; variable to disable the greendns import, so use it:
(setenv "EVENTLET_NO_GREENDNS" "yes")))
- (add-after 'unpack 'delete-broken-tests
- (lambda _
- (delete-file "tests/greendns_test.py")
- (delete-file "tests/socket_test.py")))
- ;; See https://github.com/eventlet/eventlet/issues/562#issuecomment-714183009
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
- (invoke "nosetests" "-v" "tests/")))))))
+ (invoke
+ "nosetests"
+ "-v" "tests/"
+ "-I" "greendns_test.py"
+ "-I" "socket_test.py"
+ "-e" "test_018b_http_10_keepalive_framing")))))))
(home-page "https://eventlet.net")
(synopsis "Concurrent networking library for Python")
(description
@@ -2819,6 +3035,25 @@ after Andy Lester’s Perl module WWW::Mechanize.")
audio playback capability for Python 3 on OSX, Windows, and Linux.")
(license license:expat))) ; MIT license
+(define-public python-jsonalias
+ (package
+ (name "python-jsonalias")
+ (version "0.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "jsonalias" version))
+ (sha256
+ (base32
+ "0sd7c3vyvfhhpnan77ax4f0x1whjcb5iz7jhjky7kmcpaf9lvw34"))))
+ (build-system python-build-system)
+ (arguments (list #:tests? #f)) ; There are no tests.
+ (home-page "https://github.com/kevinheavey/jsonalias/")
+ (synopsis "JSON type alias for Python")
+ (description
+ "This package provides a microlibrary that defines a JSON type alias for
+Python.")
+ (license license:expat)))
+
(define-public python-simplejson
(package
(name "python-simplejson")
@@ -2849,6 +3084,29 @@ the optional C extension for speedups. Simplejson is also supported on
Python 3.3+.")
(license license:x11)))
+(define-public python-simple-rlp
+ (package
+ (name "python-simple-rlp")
+ (version "0.1.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SamuelHaidu/simple-rlp")
+ ;; Upstream doesn't tag the git repo.
+ (commit "342ea269d84da1ddc4a7630cdebc90159261391c")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1nv92sphpkyrncak4qgj50qmgkmj4ycl2szbnv9c7ihgl5df4div"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/SamuelHaidu/simple-rlp")
+ (synopsis
+ "Python implementation of RLP (Recursive Length Prefix) encoding")
+ (description
+ "@code{simple-rlp} is a python implementation of RLP (Recursive Length \
+Prefix) - Encode and decode data structures.")
+ (license license:expat)))
(define-public python-pyicu
(package
@@ -2901,12 +3159,12 @@ Python 3.3+.")
(propagated-inputs
(list python-pygobject python-pycairo python-pyatspi))
(native-inputs
- `(("python-nose" ,python-nose)
- ("gtk+" ,gtk+)
- ("xvfb" ,xorg-server)
- ("dbus" ,dbus)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gobject-introspection" ,gobject-introspection)))
+ (list python-nose
+ gtk+
+ xorg-server-for-tests
+ dbus
+ gsettings-desktop-schemas
+ gobject-introspection))
(home-page "https://gitlab.com/dogtail/dogtail/")
(synopsis "GUI test tool and automation framework written in Python")
(description
@@ -2916,6 +3174,41 @@ applications. dogtail scripts are written in Python and executed like any
other Python program.")
(license license:gpl2+)))
+(define-public python-doxyqml
+ (package
+ (name "python-doxyqml")
+ (version "0.5.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "doxyqml" version))
+ (sha256
+ (base32
+ "1f0jjqvamly4hn7f1palvq27z6yr694rfzyxrb6g0ysbbawxkvq9"))))
+ (build-system python-build-system)
+ (home-page "http://agateau.com/projects/doxyqml")
+ (synopsis "Doxygen input filter for QML files")
+ (description
+ "This package provides a Doxygen input filter for QML files.")
+ (license license:bsd-3)))
+
+(define-public python-doxypypy
+ (package
+ (name "python-doxypypy")
+ (version "0.8.8.6")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "doxypypy" version))
+ (sha256
+ (base32
+ "06z0vbh975g42z5szbfvn9i3bif3xwr5pncqd4fvjzjkbi2p2xb2"))))
+ (build-system python-build-system)
+ (arguments '(#:tests? #f)) ;no test suite
+ (home-page "https://github.com/Feneric/doxypypy")
+ (synopsis "Doxygen filter for Python")
+ (description
+ "This package provides a Doxygen filter for Python.")
+ (license license:gpl2+)))
+
(define-public python-empy
(package
(name "python-empy")
@@ -2946,25 +3239,6 @@ system is highly configurable via command line options and embedded
commands.")
(license license:lgpl2.1+)))
-(define-public python-enum34
- (package
- (name "python-enum34")
- (version "1.1.6")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "enum34" version))
- (sha256
- (base32
- "1cgm5ng2gcfrkrm3hc22brl6chdmv67b9zvva9sfs7gn7dwc9n4a"))))
- (build-system python-build-system)
- (home-page "https://pypi.org/project/enum34/")
- (synopsis "Backported Python 3.4 Enum")
- (description
- "Enum34 is the new Python stdlib enum module available in Python 3.4
-backported for previous versions of Python from 2.4 to 3.3.")
- (license license:bsd-3)))
-
(define-public python-parse-type
(package
(name "python-parse-type")
@@ -3053,6 +3327,46 @@ existing ones.")
a certain expected condition.")
(license license:expat)))
+(define-public python-pomegranate
+ (package
+ (name "python-pomegranate")
+ (version "0.14.8")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pomegranate" version))
+ (sha256
+ (base32
+ "0gb9srkbxzlkjyfizvxkw5y0bvnfcyiaxapz0hrdaba8j096b5i2"))
+ (modules '((guix build utils)))
+ ;; Delete generated Cython C files.
+ (snippet
+ '(for-each delete-file (find-files "." "\\.c$")))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ '(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "setup.py" "test")))))))
+ (propagated-inputs
+ (list python-joblib
+ python-networkx
+ python-numpy
+ python-pyyaml
+ python-scipy))
+ (native-inputs
+ (list python-cython
+ python-nose
+ python-pandas))
+ (home-page "https://pypi.python.org/pypi/pomegranate/")
+ (synopsis "Graphical models library for Python")
+ (description
+ "Pomegranate is a graphical models library for Python, implemented in
+Cython for speed.")
+ (license license:expat)))
+
(define-public python-poyo
(package
(name "python-poyo")
@@ -3494,18 +3808,6 @@ with sensible defaults out of the box.")
(base32 "06kbzd6sjfkqan3miwj9wqyddfxc2b6hi7p5s4dvqjb3gif2bdfj"))))
(arguments `())))
-(define-public python-click-5
- (package (inherit python-click)
- (name "python-click")
- (version "5.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "click" version))
- (sha256
- (base32 "0njsm0wn31l21bi118g5825ma5sa3rwn7v2x4wjd7yiiahkri337"))))
- (arguments `())))
-
(define-public python-cligj
(package
(name "python-cligj")
@@ -3631,6 +3933,8 @@ compare, diff, and patch JSON and JSON-like structures in Python.")
(define-public python-jsonschema-next
(package
(inherit python-jsonschema)
+ ;; XXX: Update to the latest version requires new build system - Hatch
+ ;; https://hatch.pypa.io/
(version "4.5.1")
(source
(origin
@@ -3638,25 +3942,9 @@ compare, diff, and patch JSON and JSON-like structures in Python.")
(uri (pypi-uri "jsonschema" version))
(sha256
(base32 "1z0x22691jva7lwfcfh377jdmlz68zhiawxzl53k631l34k8hvbw"))))
- (arguments
- (substitute-keyword-arguments (package-arguments python-jsonschema)
- ((#:phases phases)
- #~(modify-phases #$phases
- ;; XXX: PEP 517 manual build/install procedures copied from
- ;; python-isort.
- (replace 'build
- (lambda _
- ;; ZIP does not support timestamps before 1980.
- (setenv "SOURCE_DATE_EPOCH" "315532800")
- (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (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-twisted))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-setuptools-scm python-twisted))
(propagated-inputs
(list python-attrs
python-importlib-metadata
@@ -3793,23 +4081,22 @@ memory usage and transliteration quality.")
(define-public python-pyjwt
(package
(name "python-pyjwt")
- (version "2.4.0")
+ (version "2.6.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "PyJWT" version))
(sha256
(base32
- "1fmbcwfw1463wjzwbcgg3s16rad6kfb1mc5y7jbkp6v9ihh0hafl"))))
- (build-system python-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-vv")))))))
+ "1z85kwr945rbzrn5wabrsmck5x8disa9wc7b3y5gci7w65z5qa39"))))
+ (build-system pyproject-build-system)
(native-inputs
- (list python-cryptography python-pytest))
+ (list python-coverage
+ python-cryptography
+ python-pre-commit
+ python-pytest
+ python-sphinx
+ python-sphinx-rtd-theme))
(home-page "https://github.com/progrium/pyjwt")
(synopsis "JSON Web Token implementation in Python")
(description
@@ -3986,6 +4273,116 @@ e.g. filters, callbacks and errbacks can all be promises.")
"Virtualenv is a tool to create isolated Python environments.")
(license license:expat)))
+(define-public python-crossenv
+ (package
+ (name "python-crossenv")
+ (version "1.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "crossenv" version))
+ (sha256
+ (base32
+ "07rv4650n19740ixmnsf4qbxyqlgi7f5m1cy8cq0gl01q3r6hps4"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:tests? #f)) ; tests not distributed on pypi
+ (home-page "https://github.com/benfogle/virtualenv")
+ (synopsis "Cross-compiling virtualenv for Python")
+ (description "This package is a tool for cross-compiling extension
+modules. It creates a special virtual environment such that @command{pip} or
+@file{setup.py} will cross compile packages for you, usually with no further
+work on your part.")
+ (license license:expat)))
+
+(define-public python-uc-micro-py
+ (package
+ (name "python-uc-micro-py")
+ (version "1.0.1")
+ (source (origin
+ (method git-fetch) ;for tests
+ (uri (git-reference
+ (url "https://github.com/tsutsu3/uc.micro-py")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "17f55gi55rg47nm88fn3f8851ph03dgykdp011lxr3j6hk18lyfv"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest))
+ (home-page "https://github.com/tsutsu3/uc.micro-py")
+ (synopsis "Unicode data files for linkify-it-py projects")
+ (description "This package contains a micro subset of Unicode data files
+for linkify-it-py projects.")
+ (license license:expat)))
+
+(define-public python-linkify-it-py
+ (package
+ (name "python-linkify-it-py")
+ (version "2.0.0")
+ (source (origin
+ (method git-fetch) ;for tests
+ (uri (git-reference
+ (url "https://github.com/tsutsu3/linkify-it-py")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0fg0a1lc8xbb62y9krxcp708ll58dxcwm8i7rrwpkd5sh2229f6x"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-uc-micro-py))
+ (native-inputs (list python-pytest))
+ (home-page "https://github.com/tsutsu3/linkify-it-py")
+ (synopsis "Links recognition library with full Unicode support")
+ (description "This is Python port of
+@url{https://github.com/markdown-it/linkify-it, linkify-it}, which is a links
+recognition library with full Unicode support. It has features like:
+@itemize
+@item Full unicode support, with @i{astral} characters
+@item International domains support
+@item Allows rules extension and custom normalizers.
+@end itemize")
+ (license license:expat)))
+
+(define-public python-markdown-it-py
+ (package
+ (name "python-markdown-it-py")
+ (version "2.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "markdown-it-py" version))
+ (sha256
+ (base32
+ "1nh75i72584r70alhqc479gys04s5m5g3vq601yf2njbs7z5jzng"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:tests? #f ;pypi source does not contains tests
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'build
+ (lambda _ (invoke "flit" "build")))
+ (replace 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (for-each
+ (lambda (wheel)
+ (invoke "python" "-m" "pip" "install"
+ wheel (string-append "--prefix=" #$output)))
+ (find-files "dist" "\\.whl$")))))))
+ (native-inputs (list python-flit))
+ (propagated-inputs
+ (list python-mdurl
+ python-typing-extensions))
+ (home-page "https://github.com/executablebooks/markdown-it-py")
+ (synopsis "Python port of markdown-it")
+ (description
+ "This is a Python port of @code{markdown-it}, and some of its associated
+plugins. The driving design philosophy of the port has been to change as
+little of the fundamental code structure (file names, function name, etc) as
+possible.")
+ (license license:expat)))
+
(define-public python-markupsafe
(package
(name "python-markupsafe")
@@ -4362,6 +4759,73 @@ accessible for novices, as well as a scripting interface offering the full
flexibility and power of the Python language.")
(license license:gpl3+)))
+(define-public python-dm-tree
+ (package
+ (name "python-dm-tree")
+ (version "0.1.7")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "dm-tree" version))
+ (sha256
+ (base32 "0apxfxgmqh22qpk92zmmf3acqkavhwxz78lnwz026a5rlnncizih"))))
+ (build-system python-build-system)
+ (inputs (list pybind11 abseil-cpp python))
+ (propagated-inputs (list python-wheel
+ python-absl-py
+ python-attrs
+ python-numpy
+ python-wrapt))
+ (arguments
+ (list #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'build-shared-lib
+ (lambda _
+ (let* ((pybind11 #$(this-package-input "pybind11"))
+ (python #$(this-package-input "python"))
+ (version (python-version python))
+ (abseil-cpp #$(this-package-input "abseil-cpp")))
+ ;; Delete default cmake build.
+ (substitute* "setup.py"
+ (("ext_modules.*") "")
+ (("cmdclass.*") ""))
+ ;; Actual build phase.
+ (mkdir-p "build/temp/tree/")
+ (invoke
+ "gcc" "-pthread" "-Wno-unused-result" "-Wsign-compare"
+ "-DNDEBUG" "-g" "-fwrapv" "-O3" "-Wall"
+ "-fno-semantic-interposition" "-fPIC"
+ "-I" (string-append pybind11
+ "/lib/python" version
+ "/site-packages/pybind11/include")
+ "-I" (string-append python "/include/python"
+ version)
+ "-I" (string-append abseil-cpp "/include")
+ "-c" "tree/tree.cc"
+ "-o" "build/temp/tree/tree.o"
+ "-fvisibility=hidden" "-g0")
+ (mkdir-p "build/lib/tree")
+ (invoke
+ "g++" "-pthread" "-shared"
+ (string-append "-Wl," "-rpath=" python "/lib")
+ "-fno-semantic-interposition"
+ "build/temp/tree/tree.o"
+ "-L" (string-append python "/lib")
+ "-L" (string-append abseil-cpp "/lib")
+ "-l" "absl_int128"
+ "-l" "absl_raw_hash_set"
+ "-l" "absl_raw_logging_internal"
+ "-l" "absl_strings"
+ "-l" "absl_throw_delegate"
+ "-o" "build/lib/tree/_tree.so")))))))
+ (home-page "https://github.com/deepmind/tree")
+ (synopsis "Work with nested data structures in Python")
+ (description "Tree is a python library for working with nested data
+structures. In a way, @code{tree} generalizes the builtin @code{map} function
+which only supports flat sequences, and allows you to apply a function to each
+leaf preserving the overall structure.")
+ (license license:asl2.0)))
+
(define-public python-docutils
(package
(name "python-docutils")
@@ -4421,6 +4885,31 @@ via commands such as @command{rst2man}, as well as supporting Python code.")
;; tests contain Python 2 syntax.
(arguments '(#:tests? #false))))
+(define-public python-docx
+ (package
+ (name "python-docx")
+ (version "0.8.11")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "python-docx" version))
+ (sha256
+ (base32
+ "1i7bxghb7knlyjain101qg1jmmz2b6qj03bi3vfxhvcml0rx418i"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list behave
+ python-flake8
+ python-mock
+ python-pyparsing
+ python-pytest))
+ (propagated-inputs
+ (list python-lxml))
+ (home-page "https://github.com/python-openxml/python-docx/")
+ (synopsis "Python library to create and modify Microsoft Word documents")
+ (description "This Python library can be used to create and update
+Microsoft Word (.docx) documents.")
+ (license license:expat)))
+
(define-public python-restructuredtext-lint
(package
(name "python-restructuredtext-lint")
@@ -4559,6 +5048,23 @@ text styles of documentation.")
(description "This package installs Github custom lexers to Pygments.")
(license license:bsd-3)))
+(define-public python-pygtrie
+ (package
+ (name "python-pygtrie")
+ (version "2.5.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pygtrie" version))
+ (sha256
+ (base32
+ "1qm4xdmzd4q5pc9h5gjdpr5m7lg06k8dvqnjn7d07d3fhani8d90"))))
+ (build-system pyproject-build-system)
+ (home-page "https://github.com/mina86/pygtrie")
+ (synopsis "Pure Python trie data structure implementation")
+ (description
+ "This package provides a pure Python trie data structure implementation.")
+ (license license:asl2.0)))
+
(define-public python-bump2version
(package
(name "python-bump2version")
@@ -4693,7 +5199,7 @@ ecosystem, but can naturally be used also by other projects.")
(define-public python-robotframework
(package
(name "python-robotframework")
- (version "5.0")
+ (version "5.0.1")
;; There are no tests in the PyPI archive.
(source
(origin
@@ -4703,7 +5209,7 @@ ecosystem, but can naturally be used also by other projects.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0qcm36c8hachbv3bc05ky7cf63i3sj0y8dw3bwjvcln28i543f81"))
+ (base32 "0jjr71npzrm5mv16pya3m2dqaqgf6sc45yca5kfmc5lfislig5b8"))
(patches (search-patches
"python-robotframework-atest.patch"
"python-robotframework-source-date-epoch.patch"))))
@@ -4724,13 +5230,7 @@ ecosystem, but can naturally be used also by other projects.")
;; directory not being '/', as is the case in the Guix build
;; container.
(delete-file "atest/robot/standard_libraries/\
-operating_system/path_expansion.robot")
- ;; FIXME: The test 'Process.Sending Signal.By default signal
- ;; is not sent to process running in shell' fails for unknown
- ;; reason (see:
- ;; https://github.com/robotframework/robotframework/issues/4292).
- (delete-file "atest/robot/standard_libraries/\
-process/sending_signal.robot")))
+operating_system/path_expansion.robot")))
(add-before 'build 'build-and-install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let ((doc (string-append (assoc-ref outputs "doc")
@@ -4766,7 +5266,7 @@ process/sending_signal.robot")))
(invoke "xvfb-run" "atest/run.py")))))))
(native-inputs
(list python-docutils
- python-jsonschema
+ python-jsonschema-next
python-invoke
python-lxml
python-pygments
@@ -4788,13 +5288,13 @@ process automation (RPA).")
(define-public python-robotframework-datadriver
(package
(name "python-robotframework-datadriver")
- (version "1.6.0")
+ (version "1.6.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "robotframework-datadriver" version))
(sha256
- (base32 "0qa2vry8jr49k5rbrvmkgggzsmis1wv06dp5dvwmp7afm7vjc51k"))))
+ (base32 "0mcyr3v98nvfnvffy096qp3jqslas7l8hh0j00lpi0mp12cd0qk9"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -4864,7 +5364,7 @@ utility, a static analysis tool (linter) for Robot Framework source files.")
(define-public python-robotframework-pabot
(package
(name "python-robotframework-pabot")
- (version "2.5.2")
+ (version "2.7.0")
(source
(origin
;; There are no tests in the PyPI archive.
@@ -4875,7 +5375,7 @@ utility, a static analysis tool (linter) for Robot Framework source files.")
(file-name (git-file-name name version))
(sha256
(base32
- "14a8isq1f4lgfwjb84hhzg6jm7ns18dxa9bg6dy8k2ml8zl0qknk"))))
+ "0246vvyaxax0nzlrffvp9vg6mh5jmvbbm87azignf0gakjidr7nn"))))
(build-system python-build-system)
(arguments
(list
@@ -6780,6 +7280,8 @@ as the original project seems to have been abandoned circa 2007.")
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; Tests try to access the network.
+ (propagated-inputs
+ (list python-six))
(home-page "http://pagekite.net/wiki/Floss/PySocksipyChain/")
(synopsis "Python SOCKS module with chained proxies support")
(description
@@ -6919,33 +7421,16 @@ run simple @code{argparse} parsers from function signatures.")
(sha256
(base32
"169ixll1ncm2a2pcc86665ikjv2lrzs10p6c1w4yj55p3gk3xgh1"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
- ;; Do a manual PEP 517 style build/install procedure until the
- ;; python-build-system overhaul is merged.
- (replace 'build
- (lambda _
- ;; ZIP does not support timestamps before 1980.
- (let ((circa-1980 (* 10 366 24 60 60)))
- (setenv "SOURCE_DATE_EPOCH" (number->string circa-1980))
- (invoke "python" "-m" "build" "--wheel" "--no-isolation" "."))))
(add-before 'check 'disable-e2e-tests
(lambda _
;; These tests rely on KeyboardInterrupts which do not
;; work in the build container.
- (delete-file "autopage/tests/test_end_to_end.py")))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-vv"))))
- (replace 'install
- (lambda _
- (let ((whl (car (find-files "dist" "\\.whl$"))))
- (invoke "pip" "--no-cache-dir" "--no-input"
- "install" "--no-deps" "--prefix" #$output whl)))))))
+ (delete-file "autopage/tests/test_end_to_end.py"))))))
(native-inputs
(list python-pypa-build
python-setuptools
@@ -7302,6 +7787,30 @@ buffer transformation, compression, and decompression functions for use in the
tifffile, czifile, and other scientific image input/output modules.")
(license license:bsd-3)))
+(define-public python-property-manager
+ (package
+ (name "python-property-manager")
+ (version "3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "property-manager" version))
+ (sha256
+ (base32 "0m3w4spr8f39xnm65naw29ncal4r453kn7ndqb63rwbsmslnvrwk"))))
+ (build-system python-build-system)
+ (native-inputs
+ (list python-pytest-cov))
+ (propagated-inputs
+ (list python-verboselogs
+ python-humanfriendly
+ python-coloredlogs))
+ (home-page "https://github.com/xolox/python-property-manager")
+ (synopsis "Useful property variants for Python programming")
+ (description "The @code{property-manager} package defines several custom
+property variants for Python programming including required properties,
+writable properties, cached properties, etc.")
+ (license license:expat))) ; MIT license
+
(define-public python-executing
(package
(name "python-executing")
@@ -7323,6 +7832,32 @@ tifffile, czifile, and other scientific image input/output modules.")
currently doing, particularly the AST node being executed.")
(license license:expat)))
+(define-public python-executor
+ (package
+ (name "python-executor")
+ (version "23.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "executor" version))
+ (sha256
+ (base32 "0g83yr54j0vcwhy6h7n0jsd7q0q630kwa6v9kqzlzrm9xj6c3ip1"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f)) ; TODO: tests require root/sudo
+ (propagated-inputs
+ (list python-six
+ python-property-manager
+ python-fasteners
+ python-virtualenv))
+ (home-page "https://github.com/xolox/python-executor")
+ (synopsis "Programmer friendly subprocess wrapper")
+ (description "The @code{executor} package is a simple wrapper for Python’s
+subprocess module that makes it very easy to handle subprocesses on UNIX
+systems with proper escaping of arguments and error checking currently doing,
+particularly the AST node being executed.")
+ (license license:expat))) ; MIT license
+
(define-public python-roifile
(package
(name "python-roifile")
@@ -7439,13 +7974,13 @@ data, and scientific formats.")
(define-public python-pyvips
(package
(name "python-pyvips")
- (version "2.2.0")
+ (version "2.2.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyvips" version))
(sha256
- (base32 "0lq71iiic4pc8qhxr60gi141w25pjnn4vsh05d5l0fjkgjsv137b"))))
+ (base32 "1dfbwwvnnsk4g2kj1pw654z9jq3mb72l1m8ma29858jpn12vn7dm"))))
(build-system python-build-system)
(arguments
(list #:phases
@@ -9503,13 +10038,13 @@ interfaces in an easy and portable manner.")
(define-public python-networkx
(package
(name "python-networkx")
- (version "2.6.2")
+ (version "2.8.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "networkx" version))
(sha256
- (base32 "1fqrq7gc0nn4rd4zqibw96cap75vb5nlixapkajwawp71jaz21i3"))))
+ (base32 "19h18f5j79l7kmwm5cvm75fadjgmkzw5m3pyvb9cnq0860q7faxx"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@@ -9879,40 +10414,37 @@ SVG, EPS, PNG and terminal output.")
(define-public python-seaborn
(package
(name "python-seaborn")
- (version "0.11.2")
+ (version "0.12.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "seaborn" version))
(sha256
(base32
- "1xpl3zb945sihsiwm9q1yyx84sakk1phcg0fprj6i0j0dllfjifg"))
- (patches (search-patches "python-seaborn-kde-test.patch"
- "python-seaborn-2690.patch"))))
- (build-system python-build-system)
- (arguments
- `(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'patch-more-tests
- (lambda _
- (substitute* "seaborn/tests/test_distributions.py"
- (("get_contour_color\\(ax\\.collections\\[0\\]\\)")
- "get_contour_color(ax.collections[0])")
- (("c\\.get_color\\(\\)") "get_contour_color(c)")
- (("def test_hue_ignores_cmap")
- "def skip_test_hue_ignores_cmap")
- (("def test_fill_artists")
- "def skip_test_fill_artists")
- (("def test_with_rug") "def skip_test_with_rug"))))
- (add-before 'check 'start-xserver
- (lambda _
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "seaborn")))))))
+ "08vvnp4ps86857imxz2l5xi2vir5xdcdp3apq4badb4b5llifgw9"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:modules '((guix build python-build-system)
+ (guix build utils)
+ (ice-9 match))
+ #:phases #~(modify-phases %standard-phases
+ (replace 'build
+ (lambda _
+ (invoke "python" "-m" "build" "--wheel"
+ "--no-isolation" ".")))
+ (replace 'install
+ (lambda _
+ (match (find-files "dist" "\\.whl$")
+ ((wheel _ ...)
+ (invoke "python" "-m" "pip" "install"
+ (string-append "--prefix=" #$output)
+ wheel)))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv")))))))
(propagated-inputs (list python-pandas python-matplotlib python-numpy
python-scipy))
- (native-inputs (list python-pytest xorg-server-for-tests))
+ (native-inputs (list python-flit-core python-pypa-build python-pytest))
(home-page "https://seaborn.pydata.org/")
(synopsis "Statistical data visualization")
(description
@@ -9982,16 +10514,18 @@ more advanced mathematics.")
(define-public python-bigfloat
(package
(name "python-bigfloat")
- (version "0.3.0")
+ (version "0.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "bigfloat" version))
(sha256
- (base32 "0xd7q4l7v0f463diznjv4k9wlaks80pn9drdqmfifi7zx8qvybi6"))))
+ (base32 "1f0c1hdr39bbl5rds5r1waa1papjmjiyp0ixs64mkjiahzg6pfaq"))))
(build-system python-build-system)
(inputs
(list mpfr))
+ (propagated-inputs
+ (list python-six))
(home-page "https://github.com/mdickinson/bigfloat")
(synopsis "Arbitrary precision floating-point arithmetic for Python")
(description
@@ -10625,6 +11159,32 @@ file (e.g. @file{PKG-INFO}).")
cyclomatic complexity of Python source code.")
(license license:expat)))
+(define-public python-autoflake8
+ (package
+ (name "python-autoflake8")
+ (version "0.4.0")
+ (source (origin
+ (method git-fetch) ;for tests
+ (uri (git-reference
+ (url "https://github.com/fsouza/autoflake8")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0jx7bkslbhr24yvq60pl39faz2r6g93f1zm1gygswl0rzr5zmgnh"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-aiofiles
+ python-poetry-core
+ python-pytest
+ python-pytest-xdist))
+ (propagated-inputs (list python-pyflakes))
+ (home-page "https://github.com/fsouza/autoflake8")
+ (synopsis "Automatically fix issues reported by flake8")
+ (description "Tool to automatically fix some issues reported by
+@command{flake8}.")
+ (license license:expat)))
+
(define-public python-flake8
(package
(name "python-flake8")
@@ -10986,14 +11546,22 @@ Python.")
(package
(inherit python-mistune)
(name "python-mistune-next")
- (version "2.0.0rc1")
+ (version "2.0.4")
(source (origin
(method url-fetch)
(uri (pypi-uri "mistune" version))
(sha256
(base32
- "1nd7iav1ixh9hlj4hxn6lmpava88d86ys8rqm30wgvr7gjlxnas5"))))
- (native-inputs (list python-nose))))
+ "024q9l6mgd37wa25w7dhskv1m3zsj5lf0w9cfyx7l9p2adhadq4y"))))
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv")))))))
+ (native-inputs (list python-pytest))))
(define-public python-markdown
(package
@@ -11222,6 +11790,23 @@ checksums. It implement more than a hundred checksum routines.")
blocks or callables with two context managers and two decorators.")
(license license:expat)))
+(define-public python-timeout-decorator
+ (package
+ (name "python-timeout-decorator")
+ (version "0.5.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "timeout-decorator" version))
+ (sha256
+ (base32
+ "1mxk2qyydhzncm93z08kvj5ssxq3fr2n7pkrrji28nqwvdc2ybva"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/pnpnpn/timeout-decorator")
+ (synopsis "Timeout decorator")
+ (description "This package provides a decorator that raises an error
+when an operation takes longer than expected.")
+ (license license:expat)))
+
(define-public python-straight-plugin
(package
(name "python-straight-plugin")
@@ -11894,6 +12479,23 @@ independent alignment of columns (left or right justified or centred) and
printing of sub-tables by specifying a row range.")
(license license:bsd-3)))
+(define-public python-rtf-tokenize
+ (package
+ (name "python-rtf-tokenize")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "rtf_tokenize" version))
+ (sha256
+ (base32
+ "026njb9iwznycda83bln3gfivcnzdz6vy8y86xvbsy84s28g6gaw"))))
+ (build-system python-build-system)
+ (native-inputs (list python-pytest))
+ (home-page "https://github.com/benoit-pierre/rtf_tokenize")
+ (synopsis "Simple RTF tokenizer")
+ (description "This package is a simple RTF tokenizer.")
+ (license license:gpl2+)))
+
(define-public python-curio
(package
(name "python-curio")
@@ -12457,25 +13059,10 @@ domains support.")
(uri (pypi-uri "path" version))
(sha256
(base32 "0lig13gxnfv98v790db1smvsbd3mnj7y8rwyiwhfi6xiqibygwms"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
- (list
- #:tests? #f
- #:phases
- #~(modify-phases %standard-phases
- ;; XXX: PEP 517 manual build/install procedures copied from
- ;; python-isort.
- (replace 'build
- (lambda _
- ;; ZIP does not support timestamps before 1980.
- (setenv "SOURCE_DATE_EPOCH" "315532800")
- (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (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))
+ (list #:tests? #f))
+ (native-inputs (list python-setuptools-scm))
(home-page "https://github.com/jaraco/path")
(synopsis "Object-oriented file system path manipulation library")
(description "@code{path} (formerly @code{path.py}) implements path
@@ -12491,18 +13078,15 @@ invoked on those path objects directly.")
(package-arguments python-path-bootstrap)
((#:tests? _ #f)
(not (%current-target-system)))
- ((#:phases phases #~%standard-phases)
- #~(modify-phases #$phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- ;; Do not test the myproject.toml build as it tries to pull
- ;; dependencies from the Internet.
- (invoke "pytest" "-vv" "-k"
- (string-append
- "not project "
- ;; This tests assumes a root user exists.
- "and not test_get_owner")))))))))
+ ((#:test-flags flags #~'())
+ #~(append (list "-k"
+ (string-append
+ ;; Do not test the myproject.toml build as it tries
+ ;; to pull dependencies from the Internet.
+ "not project "
+ ;; This tests assumes a root user exists.
+ "and not test_get_owner"))
+ #$flags))))
(native-inputs
(modify-inputs (package-native-inputs python-path-bootstrap)
(append python-appdirs
@@ -12543,27 +13127,6 @@ fakes, or doubles. Basically, a stub is an object that returns pre-canned
responses, rather than doing any computation.")
(license license:bsd-3)))
-(define-public python-pip
- (package
- (name "python-pip")
- (version "22.2.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "pip" version))
- (sha256
- (base32
- "0jwac0bhfp48w4fqibf1ysrs2grksdv92hwqm7bmdw2jn2fr5l9z"))))
- (build-system python-build-system)
- (arguments
- '(#:tests? #f)) ; there are no tests in the pypi archive.
- (home-page "https://pip.pypa.io/")
- (synopsis "Package manager for Python software")
- (description
- "Pip is a package manager for Python software, that finds packages on the
-Python Package Index (PyPI).")
- (license license:expat)))
-
;;; Variant used to break a dependency cycle with
;;; python-pytest-perf-bootstrap.
(define-public python-pip-run-bootstrap
@@ -13648,8 +14211,8 @@ Jupyter kernels such as IJulia and IRKernel.")
(("def test_other_output") "def _test_other_output")))))))
(propagated-inputs
(list python-ipykernel python-ipython-genutils python-jupyter-client
- python-jupyter-core python-pygments python-pyqt python-pyzmq
- python-qtpy python-traitlets))
+ python-jupyter-core python-pygments python-pyqt-without-qtwebkit
+ python-pyzmq python-qtpy python-traitlets))
(native-inputs
(list python-flaky python-pytest python-pytest-qt))
(home-page "https://jupyter.org")
@@ -13951,6 +14514,46 @@ config files.")
(home-page "https://github.com/DiffSK/configobj")
(license license:bsd-3)))
+(define-public python-omegaconf
+ (package
+ (name "python-omegaconf")
+ (version "2.2.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/omry/omegaconf")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (snippet #~(begin
+ (delete-file-recursively "build_helpers/bin")
+ (substitute* "build_helpers/build_helpers.py"
+ (("java") "antlr4")
+ (("\"-jar\",") "")
+ (("str\\(build_dir / \"bin\" / \"antlr.*\"\\),") ""))))
+ (sha256
+ (base32
+ "00rw1rkjycn0jdg3jmar6jdxb1pcb21jclm5g1921s9z8f5ii5dh"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'loosen-requirements
+ (lambda _
+ (substitute* "requirements/base.txt"
+ (("antlr4-python3-runtime==")
+ "antlr4-python3-runtime>=")))))))
+ (propagated-inputs (list java-antlr4-runtime-python
+ python-pydevd
+ python-pyyaml))
+ (native-inputs (list icedtea antlr4 python-pytest python-pytest-mock))
+ (home-page "https://github.com/omry/omegaconf")
+ (synopsis "Flexible configuration system")
+ (description "OmegaConf is a hierarchical configuration system and
+supports merging configurations from multiple sources. It provides a
+consistent API regardless of how the configuration was created.")
+ (license license:bsd-3)))
+
(define-public python-configargparse
(package
(name "python-configargparse")
@@ -14377,7 +14980,7 @@ with a new public API, and RPython support.")
(define-public python-hy
(package
(name "python-hy")
- (version "0.20.0")
+ (version "0.25.0")
(source
(origin
(method git-fetch) ; no tests in PyPI release
@@ -14386,7 +14989,7 @@ with a new public API, and RPython support.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1g7djra9z7b0wyqyfrk2n4z3zamp2xkahv00jwdv35xmwwn09hq4"))))
+ (base32 "1am6z9m0s9svysj0wrfz069rpvbqqimphqll3912q4bvdlz6vrjp"))))
(build-system python-build-system)
(arguments
'(#:phases
@@ -14396,13 +14999,14 @@ with a new public API, and RPython support.")
(when tests?
(invoke "python" "-m" "pytest" "-k"
(string-append ; skip some failed tests
- "not test_bin_hy_sys_executable"
- " and not test_bin_hy_circular_macro_require"
- " and not test_macro_from_module"))))))))
+ "not test_sys_executable"
+ " and not test_circular_macro_require"
+ " and not test_macro_require"
+ " and not test_requires_pollutes_core"))))))))
(native-inputs
- (list python-pytest))
+ (list python-pytest-7.1 python-wheel))
(propagated-inputs
- (list python-astor python-colorama python-funcparserlib python-rply))
+ (list python-colorama python-funcparserlib))
(home-page "https://docs.hylang.org/en/stable/")
(synopsis "Lisp frontend to Python")
(description
@@ -14931,7 +15535,10 @@ enhancements to optimization and data fitting problems.")
(delete-file "tests/unit/bokeh/models/test_sources.py")
(delete-file "tests/unit/bokeh/embed/test_bundle.py")
- (invoke "pytest" "-v")))))))
+ ;; XXX: This one test transforms a gif of a red box. It
+ ;; transforms it all right but the base64 doesn't look as
+ ;; expected, probably because of a change in pillow.
+ (invoke "pytest" "-v" "-k" "not test_transform_PIL")))))))
(propagated-inputs
(list node-lts
python-jinja2
@@ -15280,8 +15887,8 @@ fast xml and html manipulation.")
;; whatever) so this transformation needs to be done before the tests
;; can be run. Maybe we could add a build step to transform beforehand
;; but it could be annoying/difficult.
- ;; We can enable tests for the Python 2 version, though, and do below.
#:tests? #f))
+ (native-inputs (list python-setuptools-57)) ;for use_2to3 support
(home-page "https://bitbucket.org/runeh/anyjson/")
(synopsis
"Wraps best available JSON implementation in a common interface")
@@ -15712,6 +16319,20 @@ way.")
(sha256
(base32
"00yvj8bxmhhhhd74v7j0x673is7vizmxwgb3dd5xmnkr74ybyi7w"))))
+ (arguments
+ (list
+ #:phases
+ '(modify-phases %standard-phases
+ (add-after 'unpack 'disable-test
+ (lambda _
+ ;; See https://github.com/bmc/munkres/issues/40
+ (substitute* "test/test_munkres.py"
+ (("^def test_profit_float" m)
+ (string-append "\
+import platform
+@pytest.mark.skipif(platform.architecture()[0] == \"32bit\",
+ reason=\"Fails on 32 bit architectures\")
+" m))))))))
(build-system python-build-system)
(native-inputs (list python-pytest))
(home-page "https://software.clapper.org/munkres/")
@@ -15970,6 +16591,49 @@ is made as zipfile like as possible.")
syntax highlighting, markdown and more to the terminal.")
(license license:expat)))
+(define-public python-textual
+ (package
+ (name "python-textual")
+ (version "0.1.18")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "textual" version))
+ (sha256
+ (base32
+ "08yg5a51hz1axfj5hx28hx31gq5apcj6vpkkmawmiplisa73z25j"))))
+ (build-system python-build-system)
+ (arguments
+ (let ((tests
+ ;; The release on pypi comes without tests. We can't build
+ ;; from this checkout, though, because installation requires
+ ;; an invocation of poetry.
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Textualize/textual")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0b3ycwqhp21mg9fvmadgxhgbvkwq6fd784l2xcmvy77rravrnnax")))))
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (copy-recursively #$(file-append tests "/tests")
+ "tests")
+ (invoke "python" "-m" "pytest" "-vv"))))))))
+ (propagated-inputs
+ (list python-rich python-typing-extensions))
+ (native-inputs
+ (list python-pytest))
+ (home-page "https://github.com/Textualize/textual")
+ (synopsis "Build text user interfaces in Python")
+ (description "Textual is a @acronym{TUI, Text User Interface} framework
+for Python inspired by modern web development.")
+ (license license:expat)))
+
(define-public python-magic
(package
(name "python-magic")
@@ -16023,6 +16687,42 @@ modules, which are different and were developed separately, both serve
the same purpose: to provide Python bindings for libmagic.")
(license license:expat)))
+(define-public s3cmd
+ (package
+ (name "s3cmd")
+ (version "2.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/s3tools/s3cmd")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rdgwwmmp8mdxc84bxq6k9a7v7z2qgc3df47djzs2b84gw81dglx"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'hide-wrapping
+ (lambda _
+ (substitute* "S3/MultiPart.py"
+ (("sys\\.argv\\[0\\]") "\"s3cmd\""))
+ (substitute* "s3cmd"
+ (("optparser\\.get_prog_name\\(\\)") "\"s3cmd\"")))))))
+ (inputs
+ (list python-dateutil
+ python-magic))
+ (home-page "https://s3tools.org/s3cmd")
+ (synopsis "Command line tool for S3-compatible storage services")
+ (description
+ "S3cmd is a command line tool for uploading, retrieving and managing data
+in storage services that are compatible with the Amazon Simple Storage
+Service (S3) protocol, including S3 itself. It supports rsync-like backup,
+GnuPG encryption, and more. It also supports management of Amazon's
+CloudFront content delivery network.")
+ (license license:gpl2+)))
+
(define-public python-pkgconfig
(package
(name "python-pkgconfig")
@@ -16296,13 +16996,13 @@ library. It can be used to act both as a TFTP client or TFTP server.")
(define-public python-greenlet
(package
(name "python-greenlet")
- (version "1.1.2")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "greenlet" version))
- (sha256
- (base32
- "0jkln5bf6rq7dbvpv7ypin3pp9jqd2jr91yyxlnfcii3msj5w3z3"))))
+ (version "2.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "greenlet" version))
+ (sha256
+ (base32 "0rqgxp1fai0fcyv46nd1389mxvk3ccixgdkwws70xnk08ib05rj2"))))
(build-system python-build-system)
(home-page "https://greenlet.readthedocs.io/")
(synopsis "Lightweight in-process concurrent programming")
@@ -16339,13 +17039,13 @@ graphviz.")
(define-public python-gevent
(package
(name "python-gevent")
- (version "21.12.0")
+ (version "22.10.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "gevent" version))
(sha256
(base32
- "0kh9mmq811mzfgj60n64icybjp4ryjmfmy1vg7x92yrniibn92zl"))
+ "0ijwwm2yr7jgz8xs1rbvzj6gp7xw1pagf0i7g99b6dzffshiv80w"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -16905,12 +17605,11 @@ strings require only one extra byte in addition to the strings themselves.")
(sha256
(base32
"1n0h25gj6zd02kqyl040xpdvg4hpy1j92716sz0rg019xjqqijqb"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
- ;; XXX: PEP 517 manual build copied from python-isort.
(add-after 'unpack 'adjust-for-older-attrs
;; Our older attrs package is using the 'attr' rather than 'attrs'
;; namespace.
@@ -16919,14 +17618,6 @@ strings require only one extra byte in addition to the strings themselves.")
(substitute* (find-files "." "\\.py$")
(("from attrs\\b")
"from attr"))))
- (replace 'build
- (lambda _
- (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
- (replace 'install
- (lambda _
- (let ((whl (car (find-files "dist" "\\.whl$"))))
- (invoke "pip" "--no-cache-dir" "--no-input"
- "install" "--no-deps" "--prefix" #$output whl))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
@@ -16944,7 +17635,6 @@ strings require only one extra byte in addition to the strings themselves.")
python-msgpack
python-poetry-core
python-pymongo ;for the bson module
- python-pypa-build
python-pytest
python-pytest-xdist))
(propagated-inputs
@@ -17229,8 +17919,10 @@ It supports TSIG authenticated messages and EDNS0.")
(lambda _
(substitute* "setup.py"
(("import DNS") "")
- (("DNS.__version__") (string-append "\"" ,version "\"")))
- #t)))
+ (("DNS.__version__") (string-append "\"" ,version "\"")))))
+ ;; For the same reason, drop the sanity check because the library
+ ;; fails to load without /etc/resolv.conf.
+ (delete 'sanity-check))
#:tests? #f)) ; Also skip the tests.
(home-page "https://launchpad.net/py3dns")
(synopsis "Python 3 DNS library")
@@ -17449,7 +18141,7 @@ characters, mouse support, and auto suggestions.")
(setenv "HOME" "/tmp"))))))
(propagated-inputs
(list python-click python-future python-six))
- (home-page "https://github.com/amperser/proselint")
+ (home-page "http://proselint.com/")
(synopsis "Linter for prose")
(description "@code{python-proselint} is a linter for English prose, that
scans through a file and detects issues.")
@@ -17512,13 +18204,13 @@ as well.")
(define-public ptpython
(package
(name "ptpython")
- (version "3.0.17")
+ (version "3.0.20")
(source (origin
(method url-fetch)
(uri (pypi-uri "ptpython" version))
(sha256
(base32
- "1phk1grcvn456igjg8gwjjg8bf4kszddq5nd5sdlz3hslg62a7ci"))))
+ "1mjfyr5gwrs1qbizh6nki0nv6hahmg8mhhqxi1qc6pfa4znlrzga"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ;there are no tests
@@ -17529,9 +18221,9 @@ as well.")
(synopsis "Python Read-Eval-Print-Loop with nice IDE-like features")
(description
"ptpython is a Python read-eval-print loop with IDE-like features.
- It supports syntax highlighting, multiline editing, autocompletion, mouse,
- color schemes, bracketed paste, Vi and Emacs keybindings, Chinese characters
- etc.")
+It supports syntax highlighting, multiline editing, autocompletion, mouse,
+color schemes, bracketed paste, Vi and Emacs keybindings, Chinese characters
+etc.")
(license license:bsd-3)))
(define-public python-easyprocess
@@ -17669,13 +18361,13 @@ as well.")
(define-public python-pyserial-asyncio
(package
(name "python-pyserial-asyncio")
- (version "0.5")
+ (version "0.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyserial-asyncio" version))
(sha256
- (base32 "0cwd2cjz859v6jrm3y6hikfqjyhyfj5vhfjb8vvflvl6791yah8n"))))
+ (base32 "0bx3syngmq2j9mh81byzka1x4ilw8ac9mbx52zn7b7ayw0ijj0xn"))))
(build-system python-build-system)
(propagated-inputs (list python-pyserial))
(home-page "https://github.com/pyserial/pyserial-asyncio")
@@ -18014,7 +18706,7 @@ without requiring an event loop, useful for creative responsive GUIs.")
(define-public binwalk
(package
(name "binwalk")
- (version "2.3.2")
+ (version "2.3.3")
(source
(origin
(method git-fetch)
@@ -18023,7 +18715,13 @@ without requiring an event loop, useful for creative responsive GUIs.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "01dalxw07c42ka4fqpixcacvy42h04ya909lzpmsblr9s2xdgwcm"))))
+ (base32 "0phqyqv34vhh80dgipiggs4n3iq2vfjk9ywx2c5d8g61vzgbd2g8"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ (for-each delete-file
+ (list "testing/tests/input-vectors/firmware.zip"
+ "testing/tests/test_firmware_zip.py"))))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -18254,13 +18952,13 @@ numbers, real numbers, mixed types and more, and comes with a shell command
(define-public glances
(package
(name "glances")
- (version "3.1.7")
+ (version "3.3.0.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Glances" version))
(sha256
- (base32 "020vb38qrb0m3sdr7xjr43cmcfxpnyg4hmb97wgxsa9zvwsjwa5x"))
+ (base32 "0klyyxqc7cbrf1i741304i3rrwan19qm2v58xmrlgqsmxac542la"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -18274,7 +18972,7 @@ numbers, real numbers, mixed types and more, and comes with a shell command
#t))))
(build-system python-build-system)
(propagated-inputs
- (list python-future python-psutil))
+ (list python-defusedxml python-future python-packaging python-psutil))
(home-page "https://github.com/nicolargo/glances")
(synopsis "Cross-platform curses-based monitoring tool")
(description
@@ -18556,35 +19254,6 @@ working with Portable Executable (PE) files. It makes to most information
from the header, as well as section details and data available.")
(license license:expat)))
-(define-public python-pyev
- (package
- (name "python-pyev")
- (version "0.9.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "pyev" version))
- (sha256
- (base32
- "0rf603lc0s6zpa1nb25vhd8g4y337wg2wyz56i0agsdh7jchl0sx"))))
- (build-system python-build-system)
- (arguments
- `(#:tests? #f ; no test suite
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((libev (search-input-file inputs "/lib/libev.so.4")))
- (substitute* "setup.py"
- (("libev_dll_name = find_library\\(\\\"ev\\\"\\)")
- (string-append "libev_dll_name = \"" libev "\"")))))))))
- (inputs
- (list libev))
- (home-page "https://github.com/gabrielfalcao/pyev")
- (synopsis "Python libev interface")
- (description "Pyev provides a Python interface to libev.")
- (license license:gpl3)))
-
(define-public python-imagesize
(package
(name "python-imagesize")
@@ -18884,8 +19553,6 @@ from the header, as well as section details and data available.")
(replace 'check
(lambda _
(invoke "python" "test/test_pbkdf2.py"))))))
- (propagated-inputs
- (list python-pycrypto)) ; optional
(home-page "https://www.dlitz.net/software/python-pbkdf2/")
(synopsis "Password-based key derivation")
(description "This module implements the password-based key derivation
@@ -19241,6 +19908,27 @@ from the header, as well as section details and data available.")
and bit flag values.")
(license license:expat)))
+(define-public python-attrdict
+ (package
+ (name "python-attrdict")
+ (version "2.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "attrdict" version))
+ (sha256
+ (base32
+ "0w3vsz64j9npxfgh83hghsh161wwkrx1fxqi1533js2wnnc0dj9m"))))
+ (build-system python-build-system)
+ ;; The package is no longer maintained and tests need some work.
+ (arguments '(#:tests? #f))
+ (propagated-inputs (list python-six))
+ (home-page "https://github.com/bcj/AttrDict")
+ (synopsis "Attribute-style access dictionaries")
+ (description
+ "This package provides mapping objects whose elements can be accessed
+both as keys and as attributes.")
+ (license license:expat)))
+
(define-public python-attrs
(package
(name "python-attrs")
@@ -19337,7 +20025,7 @@ from the header, as well as section details and data available.")
(add-before 'build 'check
(lambda _ (invoke "make" "check"))))))
(home-page "https://liw.fi/ttystatus/")
- (synopsis "Python library for showing progress reporting and
+ (synopsis "Python library for progress reporting and
status updates on terminals")
(description "@code{ttystatus} is a Python library for showing progress
reporting and status updates on terminals, for command line programs.
@@ -19862,19 +20550,6 @@ while only declaring the test-specific fields.")
;; licenses.
(license (list license:asl2.0 license:bsd-2))))
-;; TODO(staging): merge with python-packaging-bootstrap.
-(define-public python-packaging-next
- (package
- (inherit python-packaging)
- (version "21.3")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "packaging" version))
- (sha256
- (base32
- "1sygirdrqgv4f1ckh9nhpcw1yfidrh3qjl86wq8vk6nq4wlw8iyx"))))))
-
(define-public python-relatorio
(package
(name "python-relatorio")
@@ -20317,24 +20992,29 @@ while only declaring the test-specific fields.")
(define-public python-marshmallow
(package
(name "python-marshmallow")
- (version "3.9.1")
+ (version "3.19.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "marshmallow" version))
- (sha256
- (base32
- "0kizhh3mnhpa08wfnsv1gagy22bpxzxszgbiylkhpz1d8qvwrykk"))))
- (build-system python-build-system)
+ (method url-fetch)
+ (uri (pypi-uri "marshmallow" version))
+ (sha256
+ (base32
+ "0y6vpq2p5841kcw2qil68la0rx9z1vmxzj3dxjv99kjhsq7jq0wh"))))
+ (build-system pyproject-build-system)
(propagated-inputs
- (list python-dateutil python-simplejson))
+ (list python-packaging))
(native-inputs
- (list python-pytest python-pytz))
+ (list python-flake8
+ python-flake8-bugbear
+ python-mypy
+ python-pre-commit
+ python-pytest
+ python-pytz
+ python-simplejson))
(home-page "https://github.com/marshmallow-code/marshmallow")
- (synopsis "Convert complex datatypes to and from native
- Python datatypes")
- (description "@code{marshmallow} provides a library for converting
- complex datatypes to and from native Python datatypes.")
+ (synopsis "Convert complex datatypes to and from native Python datatypes")
+ (description "@code{marshmallow} provides a library for converting complex
+datatypes to and from native Python datatypes.")
(license license:expat)))
(define-public python-marshmallow-jsonapi
@@ -20370,39 +21050,70 @@ while only declaring the test-specific fields.")
(define-public python-apispec
(package
(name "python-apispec")
- (version "4.0.0")
+ (version "6.0.2")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "apispec" version))
- (sha256
+ (method url-fetch)
+ (uri (pypi-uri "apispec" version))
+ (sha256
(base32
- "12n4w5zkn4drcn8izq68vmixmqvz6abviqkdn4ip0kaax3jjh3in"))))
- (build-system python-build-system)
+ "11vqxwdxmm7qmyhdbxk4gnx37nbzmn266ah92gi4pvzd76vq0vg7"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "pytest" "-vv"
- ;; Disable validation tests since they require
- ;; the optional 'prance' library which is not
- ;; yet in Guix.
- "-k" "not openapi_tools_validate"))))))
+ (list
+ ;; Disable validation tests since they require
+ ;; the optional 'prance' library which is not
+ ;; yet in Guix.
+ #:test-flags '(list "-k" "not openapi_tools_validate")))
(propagated-inputs
- (list python-pyyaml))
+ (list python-packaging))
(native-inputs
- (list python-pytest python-marshmallow))
+ (list python-flake8
+ python-flake8-bugbear
+ python-marshmallow
+ python-mypy
+ python-pre-commit
+ python-pytest
+ python-pyyaml))
(home-page "https://github.com/marshmallow-code/apispec")
(synopsis "Swagger/OpenAPI specification generator")
(description "@code{python-apispec} is a pluggable API specification
- generator. It currently supports the OpenAPI specification, formerly known
- as Swagger.")
+generator. It currently supports the OpenAPI specification, formerly known as
+Swagger.")
+ (license license:expat)))
+
+(define-public python-apispec-webframeworks
+ (package
+ (name "python-apispec-webframeworks")
+ (version "0.5.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "apispec-webframeworks" version))
+ (sha256
+ (base32
+ "1wyw30402xq2a8icrsjmy9v43jyvawcjd85ccb2zicqlg4k5pcqd"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-apispec))
+ (native-inputs
+ (list python-bottle
+ python-flake8
+ python-flake8-bugbear
+ python-flask
+ python-mock
+ python-pre-commit
+ python-pytest
+ python-tornado
+ python-tox))
+ (home-page "https://github.com/marshmallow-code/apispec-webframeworks")
+ (synopsis "Web framework plugins for apispec")
+ (description "This package provides plugins for using @code{apispec} with
+web frameworks.")
(license license:expat)))
(define-public python-flasgger
(package
(name "python-flasgger")
- (version "0.6.3")
+ (version "0.9.5")
(source
(origin
(method git-fetch)
@@ -20411,29 +21122,35 @@ while only declaring the test-specific fields.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0yydxsyjnc0clbrjqb1n7587l6cdqvwdagwxk5hkx01qwdfbkvpn"))))
- (build-system python-build-system)
+ (base32 "0a2djgfq905a4in16068qz0ikg88dm4nbckaamhaz2v9khllr0bi"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (substitute* "Makefile"
- (("flake8 flasgger --ignore=F403")
- "flake8 flasgger --ignore=E731,F403"))
- (invoke "py.test"))))))
+ (list
+ ;; This test fails due to missing fixtures
+ #:test-flags '(list "-k" "not test_swag")
+ #:phases
+ '(modify-phases %standard-phases
+ (add-after 'unpack 'prepare-check
+ (lambda _
+ ;; This requires a dummy package "flasgger_package" to be installed.
+ (delete-file "examples/package_example.py")
+ ;; These fail with an internal server error
+ (for-each delete-file '("examples/marshmallow_apispec.py"
+ "examples/validation.py")))))))
(propagated-inputs
(list python-flask python-pyyaml python-jsonschema python-mistune
python-six))
(native-inputs
- (list python-decorator
+ (list python-apispec
+ python-apispec-webframeworks
+ python-decorator
python-flake8
+ python-flask-jwt
python-flask-restful
python-flex
- python-pytest
- python-pytest-cov
python-marshmallow
- python-apispec))
+ python-pytest
+ python-pytest-cov))
(home-page "https://github.com/rochacbruno/flasgger/")
(synopsis "Extract Swagger specs from your Flask project")
(description "@code{python-flasgger} allows extracting Swagger specs
@@ -21058,30 +21775,13 @@ particularly convenient for use in tests.")
(uri (pypi-uri "tempora" version))
(sha256
(base32 "09wirlk5vmxlhl9rnxp7g5qz2nsd6b0gnzk5fczbz0s8lsbz386b"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- ;; XXX: PEP 517 manual build copied from python-isort.
- (replace 'build
- (lambda _
- (setenv "SOURCE_DATE_EPOCH" "315532800")
- (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
- (replace 'install
- (lambda _
- (let ((whl (car (find-files "dist" "\\.whl$"))))
- (invoke "pip" "--no-cache-dir" "--no-input"
- "install" "--no-deps" "--prefix" #$output whl))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- ;; Do not test the myproject.toml build as it tries to pull
- ;; dependencies from the Internet.
- (invoke "pytest" "-k" "not project")))))))
+ ;; Do not test the myproject.toml build as it tries to pull
+ ;; dependencies from the Internet.
+ (list #:test-flags #~'("-k" "not project")))
(native-inputs
- (list python-pypa-build
- python-freezegun
+ (list python-freezegun
python-pytest
python-pytest-black
python-pytest-checkdocs
@@ -21368,14 +22068,14 @@ style guide, even if the original code didn't violate the style guide.")
(define-public python-yq
(package
(name "python-yq")
- (version "2.11.1")
+ (version "3.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "yq" version))
(sha256
(base32
- "1q4rky0a6n4izmq7slb91a54g8swry1xrbfqxwc8lkd3hhvlxxkl"))))
+ "1wklgs3d9si475nffw9agq5kgk8bdicbsmlj4sx4kiw64ji4ma1h"))))
(build-system python-build-system)
(arguments
'(#:phases
@@ -21390,9 +22090,9 @@ style guide, even if the original code didn't violate the style guide.")
"/bin/jq")))
#t)))))
(inputs
- (list python-argcomplete python-pyyaml python-xmltodict jq))
+ (list python-argcomplete python-pyyaml python-xmltodict python-toml jq))
(native-inputs
- (list python-coverage python-flake8 python-wheel))
+ (list python-coverage python-flake8 python-setuptools-scm python-wheel))
(home-page "https://github.com/kislyuk/yq")
(synopsis "Command-line YAML/XML processor")
(description
@@ -21402,8 +22102,8 @@ filters can be used to process the data as it passes through.")
(license license:asl2.0)))
(define-public python-gyp
- (let ((commit "5e2b3ddde7cda5eb6bc09a5546a76b00e49d888f")
- (revision "0"))
+ (let ((commit "9d09418933ea2f75cc416e5ce38d15f62acd5c9a")
+ (revision "1"))
(package
(name "python-gyp")
;; Google does not release versions,
@@ -21420,8 +22120,9 @@ filters can be used to process the data as it passes through.")
(file-name (git-file-name name version))
(sha256
(base32
- "0fr7nxcrk292djmxzpcjaphnsd123k31gp8jnd91vwknhq6snmv9"))))
+ "0ay99rc5msqjpjl7fy1l69f8mvn08wnh2pgr08ijdih9z88xaa5x"))))
(build-system python-build-system)
+ (propagated-inputs (list python-six))
(home-page "https://gyp.gsrc.io/")
(synopsis "GYP is a Meta-Build system")
(description
@@ -21443,13 +22144,7 @@ files, and Makefiles.")
(file-name (git-file-name name version))
(sha256
(base32 "1q7ajgqjfivxqsqgnhp4lc4p6jxyh4zprcsdbpd6dw54inaf0av5"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "py.test"))))))
+ (build-system pyproject-build-system)
(native-inputs
(list python-pytest))
(home-page "https://github.com/Suor/whatever")
@@ -21471,13 +22166,7 @@ functions by partial application of operators.")
(sha256
(base32 "1s98vkjnq3zq71737hn8xa15kssvmy1sfzsll3vrlv53902418mw"))
(file-name (git-file-name name version))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "py.test"))))))
+ (build-system pyproject-build-system)
(native-inputs
(list python-pytest python-whatever))
(home-page "https://github.com/Suor/funcy")
@@ -21667,60 +22356,42 @@ based on the CPython 2.7 and 3.7 parsers.")
(file-name (git-file-name name version))
(sha256
(base32 "1knv353qhkl2imav3jfp6bgq47m8wkkqhq1dzmqg2sv8rsy7zgl7"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- ,#~(modify-phases %standard-phases
- ;; Unfortunately, this doesn't seem to be enough to fix these two
- ;; tests, but we'll patch this anyway.
- (add-after 'unpack 'patch-shell-reference
- (lambda _
- (substitute* "tests/test_completion/test_completion.py"
- (("\"bash\"") (string-append "\"" (which "bash") "\""))
- (("\"/bin/bash\"")
- (string-append "\"" (which "bash") "\"")))))
- (replace 'build
- (lambda _
- (invoke "flit" "build")))
- (replace 'install
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (add-installed-pythonpath inputs outputs)
- (for-each
- (lambda (wheel)
- (format #true wheel)
- (invoke "python" "-m" "pip" "install"
- wheel (string-append "--prefix=" #$output)))
- (find-files "dist" "\\.whl$"))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "HOME" "/tmp") ; some tests need it
-
- ;; This is for completion tests
- (with-output-to-file "/tmp/.bashrc"
- (lambda _ (display "# dummy")))
-
- (setenv "GUIX_PYTHONPATH"
- (string-append (getcwd) ":"
- (getenv "GUIX_PYTHONPATH")))
- (let ((disabled-tests (list "test_show_completion"
- "test_install_completion")))
- (invoke "python" "-m" "pytest" "tests/"
- "-k"
- (string-append "not "
- (string-join disabled-tests
- " and not "))))))))))
+ (list
+ #:test-flags
+ '(let ((disabled-tests (list "test_show_completion"
+ "test_install_completion")))
+ (list "-k" (string-append "not "
+ (string-join disabled-tests
+ " and not "))))
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Unfortunately, this doesn't seem to be enough to fix these two
+ ;; tests, but we'll patch this anyway.
+ (add-after 'unpack 'patch-shell-reference
+ (lambda _
+ (substitute* "tests/test_completion/test_completion.py"
+ (("\"bash\"") (string-append "\"" (which "bash") "\""))
+ (("\"/bin/bash\"")
+ (string-append "\"" (which "bash") "\"")))))
+ (add-before 'check 'pre-check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME" "/tmp") ; some tests need it
+ ;; This is for completion tests
+ (with-output-to-file "/tmp/.bashrc"
+ (lambda _ (display "# dummy")))))))))
(propagated-inputs
(list python-click))
(native-inputs
(list python-coverage python-flit python-pytest python-rich
python-shellingham))
(home-page "https://github.com/tiangolo/typer")
- (synopsis
- "Typer builds CLI based on Python type hints")
+ (synopsis "Typer builds CLI based on Python type hints")
(description
- "Typer is a library for building CLI applications. It's based on
-Python 3.6+ type hints.")
+ "Typer is a library for building CLI applications. It's based on Python
+3.6+ type hints.")
;; MIT license
(license license:expat)))
@@ -21827,13 +22498,13 @@ Included are implementations of:
(define-public bpython
(package
(name "bpython")
- (version "0.21")
+ (version "0.23")
(source
(origin
(method url-fetch)
(uri (pypi-uri "bpython" version))
(sha256
- (base32 "11wlf12nm6ggn9512y4yqs26s8gdgpx0h9ls94k7fsjgjy4rpal8"))))
+ (base32 "0ah5giynavyh70yc0jqgmjaajv3xg5j2y7k9i3q8mi47r2mph04z"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -21942,6 +22613,25 @@ working with iterables.")
(description "Lexer and codec to work with LaTeX code in Python.")
(license license:expat)))
+(define-public python-pybloom-live
+ (package
+ (name "python-pybloom-live")
+ (version "4.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pybloom_live" version))
+ (sha256
+ (base32
+ "040i6bjqvl33j30v865shsk30s3h7f16pqwiaj5kig857dfmqm4r"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-bitarray python-xxhash))
+ (native-inputs (list python-pytest))
+ (home-page "https://github.com/joseph-fox/python-bloomfilter")
+ (synopsis "Bloom filter")
+ (description "This package provides a scalable Bloom filter implemented in
+Python.")
+ (license license:expat)))
+
(define-public python-pybtex
(package
(name "python-pybtex")
@@ -22660,6 +23350,32 @@ environments.")
"PyNamecheap is a Namecheap API client in Python.")
(license license:expat)))
+(define-public python-pynixutil
+ (package
+ (name "python-pynixutil")
+ (version "0.5.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nix-community/pynixutil")
+ (commit version)))
+ (file-name (git-file-name name version))
+ ;; Derivation test uses nix.
+ (modules '((guix build utils)))
+ (snippet '(delete-file "tests/test_drv.py"))
+ (sha256
+ (base32
+ "1lnspcai7mqpv73bbd8kgyw63fxwgkwvfkl09b2bl5y2g2v7np6m"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list poetry python-pytest))
+ (home-page "https://github.com/nix-community/pynixutil")
+ (synopsis "Utility functions for working with data from Nix in Python")
+ (description
+ "@code{pynixutil} provides functions for base32 encoding/decoding and
+derivation parsing, namingly @code{b32decode()}, @code{b32encode()} and
+@code{drvparse()}.")
+ (license license:expat)))
+
(define-public python-dns-lexicon
(package
(name "python-dns-lexicon")
@@ -22795,14 +23511,14 @@ tool).")
(define-public python-numcodecs
(package
(name "python-numcodecs")
- (version "0.6.4")
+ (version "0.10.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "numcodecs" version))
(sha256
(base32
- "0kbfr8pl3x9glsypbq8hzim003f16ml1b1cvgrh4w1sdvgal6j7g"))
+ "1i2rvm1f23dapcf6w3mj4877jzq5f24bhfa0fafbv1nr7xmqr0r2"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -22812,11 +23528,11 @@ tool).")
"numcodecs/lz4.c"
"numcodecs/vlen.c"
"numcodecs/zstd.c"))))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
- `(#:tests? #false ; TODO: unclear why numcodecs.* are not found
- #:phases
- (modify-phases %standard-phases
+ (list
+ #:phases
+ '(modify-phases %standard-phases
(add-after 'unpack 'disable-avx2
(lambda _
(setenv "DISABLE_NUMCODECS_AVX2" "1")))
@@ -22833,16 +23549,18 @@ tool).")
"'numcodecs.lz4', libraries=['lz4'], ")
(("'numcodecs.blosc',")
"'numcodecs.blosc', libraries=['blosc'], "))))
- (replace 'check
- (lambda* (#:key tests? inputs outputs #:allow-other-keys)
- (when tests?
- (add-installed-pythonpath inputs outputs)
- (invoke "pytest" "-vv")))))))
+ (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 c-blosc lz4 zlib
`(,zstd "lib")))
(propagated-inputs
- (list python-numpy python-msgpack))
+ (list python-entrypoints
+ python-numpy
+ python-msgpack
+ python-typing-extensions))
(native-inputs
(list python-cython python-pytest python-setuptools-scm))
(home-page "https://github.com/zarr-developers/numcodecs")
@@ -22872,14 +23590,14 @@ codecs for use in data storage and communication applications.")
(define-public python-zarr
(package
(name "python-zarr")
- (version "2.4.0")
+ (version "2.13.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "zarr" version))
(sha256
(base32
- "026n3sjzjv2gmwx6y72b8ij0hk42bc8zdbvfj5gdqzd4i6wj3ajk"))))
+ "135ls2q7zc98pk61a5cnh88j4hnnavcwasrswdjqyqvcc68b096v"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -22921,29 +23639,26 @@ N-dimensional arrays for Python.")
(sha256
(base32
"0v7npqrg1rdm8jzw22a45c0mqrmsv05r3k88i3lhzi0pzzxca1i1"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (delete 'check)
- (replace 'build
- (lambda _
- (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" ,version)
- (substitute* "anndata/_metadata.py"
- (("__version__ =.*")
- (string-append "__version__ = \"" ,version "\"\n")))
- ;; ZIP does not support timestamps before 1980.
- (setenv "SOURCE_DATE_EPOCH" "315532800")
- (invoke "flit" "build")))
- (replace 'install
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (add-installed-pythonpath inputs outputs)
- (let ((out (assoc-ref outputs "out")))
- (for-each (lambda (wheel)
- (format #true wheel)
- (invoke "python" "-m" "pip" "install"
- wheel (string-append "--prefix=" out)))
- (find-files "dist" "\\.whl$"))))))))
+ (list
+ #:test-flags
+ '(list "-k" "not concatenation.rst")
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Doctests require scanpy from (gnu packages bioinformatics)
+ (add-after 'unpack 'disable-doctests
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("--doctest-modules") ""))))
+ (add-before 'build 'set-version
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)
+ (substitute* "anndata/_metadata.py"
+ (("__version__ =.*")
+ (string-append "__version__ = \"" #$version "\"\n")))
+ ;; ZIP does not support timestamps before 1980.
+ (setenv "SOURCE_DATE_EPOCH" "315532800"))))))
(propagated-inputs
(list python-h5py
python-importlib-metadata
@@ -22952,9 +23667,14 @@ N-dimensional arrays for Python.")
python-packaging
python-pandas
python-scipy
+ python-scikit-learn
python-zarr))
(native-inputs
- (list python-joblib python-pytest python-toml python-flit
+ (list python-boltons
+ python-joblib
+ python-pytest
+ python-toml
+ python-flit
python-setuptools-scm))
(home-page "https://github.com/theislab/anndata")
(synopsis "Annotated data for data analysis pipelines")
@@ -24235,7 +24955,7 @@ time-or-computationally-expensive properties quick and easy and works in Python
(define-public python-folium
(package
(name "python-folium")
- (version "0.12.1")
+ (version "0.13.0")
(source
(origin
;; PyPI has a ".whl" file but not a proper source release.
@@ -24246,7 +24966,7 @@ time-or-computationally-expensive properties quick and easy and works in Python
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1q05pzca3wfwgnbg03l3bagnhh348yx68w4aa91rg3g8zlviwjz1"))))
+ (base32 "00adpdi1890zzzg7ffp04hmx59igdcdpyqa129vnmwqh54b5a006"))))
(build-system python-build-system)
(propagated-inputs
(list python-branca python-jinja2 python-numpy python-requests))
@@ -25001,16 +25721,27 @@ scripts to load entry points more quickly.")
(define-public python-funcparserlib
(package
(name "python-funcparserlib")
- (version "1.0.0")
+ (version "1.0.1")
(source
- (origin
- (method url-fetch)
- (uri (pypi-uri "funcparserlib" version))
- (sha256
- (base32 "0swbqf53x7lfnczvi566s1g3nkf5mfrxz7sbpyymricz57a3vlvx"))))
- (build-system python-build-system)
+ (origin
+ ;; Source tarball on PyPi lacks tests.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vlasovskikh/funcparserlib")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0dw3i4fyf3j9h1l7xfgs99fc2w2axk6xqk0sdag43k444ss4hkrc"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:tests? #f)) ; no tests in PyPI and no setup.py in GitHub
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "-m" "unittest" "discover" "-v")))))))
+ ;; ModuleNotFoundError: No module named 'poetry'
+ (native-inputs (list python-poetry-core))
(home-page "https://github.com/vlasovskikh/funcparserlib")
(synopsis
"Recursive descent parsing library based on functional combinators")
@@ -25176,17 +25907,33 @@ also be usable with other GSSAPI mechanisms.")
(define-public python-check-manifest
(package
(name "python-check-manifest")
- (version "0.37")
+ (version "0.48")
(source
(origin
(method url-fetch)
(uri (pypi-uri "check-manifest" version))
(sha256
(base32
- "0lk45ifdv2cpkl6ayfyix7jwmnxa1rha7xvb0ih5999k115wzqs4"))))
- (build-system python-build-system)
+ "0my6ammldi8mddrbq798qxbl90qr8nlk7gzliq3v7gp7mlfmymrv"))))
+ (build-system pyproject-build-system)
+ (arguments
+ '(;; This test requires setting up a venv which does not work
+ ;; properly in the build environment.
+ #:test-flags '("-k" "not test_build_sdist_pep517_isolated")
+ #:phases
+ (modify-phases %standard-phases
+ ;; Tests use git submodule commands over the file transport, which
+ ;; has been disabled in git, see CVE-2022-39253. Enable these
+ ;; commands to allow checks to succeed.
+ (add-before 'check 'allow-git-submodule-add
+ (lambda _
+ (setenv "HOME" "/tmp")
+ (invoke "git" "config" "--global"
+ "protocol.file.allow" "always"))))))
(native-inputs
- (list python-mock git))
+ (list git-minimal/fixed python-pytest))
+ (propagated-inputs
+ (list python-pypa-build python-setuptools python-tomli))
(home-page "https://github.com/mgedmin/check-manifest")
(synopsis "Check MANIFEST.in in a Python source package for completeness")
(description "Python package can include a MANIFEST.in file to help with
@@ -25723,15 +26470,15 @@ library. Only the high-level API is bound.")
(define-public python-frozendict
(package
(name "python-frozendict")
- (version "1.2")
+ (version "2.3.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "frozendict" version))
(sha256
- (base32 "0ibf1wipidz57giy53dh7mh68f2hz38x8f4wdq88mvxj5pr7jhbp"))))
+ (base32 "0y3zn57i1q5192f7l4w2z2zsy3rrx50g563msaq954r58s1v3d0m"))))
(build-system python-build-system)
- (home-page "https://github.com/slezica/python-frozendict")
+ (home-page "https://github.com/Marco-Sulla/python-frozendict")
(synopsis "Simple immutable mapping for Python")
(description
"@dfn{frozendict} is an immutable wrapper around dictionaries that
@@ -25812,14 +26559,39 @@ information for your operating system.")
(define-public python-canonicaljson
(package
(name "python-canonicaljson")
- (version "1.4.0")
+ (version "1.6.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "canonicaljson" version))
(sha256
- (base32 "0c86g0vvzdcg3nrcsqnbzlfhpprc2i894p8i14hska56yl27d6w9"))))
+ (base32 "0j5lq191jkd483q6xzc16c9fahxf15lrv03mvah9ka3lq85pcnfa"))))
(build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'loosen-requirements
+ (lambda _
+ ;; Permit newer versions of setuptools_scm
+ (substitute* "pyproject.toml"
+ ((">= 2.0.0, <3") ">= 2.0.0"))))
+ (replace 'build
+ (lambda _
+ ;; ZIP does not support timestamps before 1980.
+ (setenv "SOURCE_DATE_EPOCH" "315532800")
+ (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-pytest python-setuptools python-setuptools-scm))
(propagated-inputs
(list python-six python-frozendict python-simplejson))
(home-page "https://github.com/matrix-org/python-canonicaljson")
@@ -26250,17 +27022,17 @@ accessor layer.")
(define-public pyzo
(package
(name "pyzo")
- (version "4.12.3")
+ (version "4.12.4")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/pyzo/pyzo.git")
+ (url "https://github.com/pyzo/pyzo")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "0v6rgp52bf9za2spxx9c1yc6wmskvlsj81iw0gipjy7y8vpypgn2"))))
+ "10qqilbh7n4z2656qbr9gllvgi7xq11xcm2bv64h02jmkb7m4m6n"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -26387,6 +27159,12 @@ be necessary when using @code{cmd}.")
(arguments
'(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-queue-import
+ (lambda _
+ ;; Adjust Queue import for Python 3. Remove for versions >=0.4.0.
+ (substitute* "tests/threadsafety.py"
+ (("from Queue import Queue")
+ "from queue import Queue"))))
(add-before 'build 'qualify-libtidy
(lambda* (#:key inputs #:allow-other-keys)
(let ((libtidy (search-input-file inputs "/lib/libtidy.so")))
@@ -26782,31 +27560,37 @@ It adds a simple and readable way to print stuff during development.")
(define-public python-dateparser
(package
(name "python-dateparser")
- (version "0.7.6")
+ (version "1.1.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "dateparser" version))
(sha256
(base32
- "1ypbyqxlk7n6zibk90js3ybz37xmin3kk0i35g8c51bwqpcfyxg8"))))
- (build-system python-build-system)
+ "19fbgq1zrwx10kljmdbs3p0y2m2xsgww20pqzw4kv6161zipsymf"))))
+ (build-system pyproject-build-system)
(propagated-inputs
(list python-dateutil python-pytz python-regex python-ruamel.yaml
python-tzlocal))
(native-inputs
- (list python-mock python-parameterized tzdata-for-tests))
+ (list python-flake8 python-pytest python-parameterized tzdata-for-tests))
(arguments
- `(;; TODO: Of 23320 tests, 6 fail and 53 error.
- #:tests? #f
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-before 'check 'set-check-environment
(lambda* (#:key inputs #:allow-other-keys)
(setenv "TZ" "UTC")
(setenv "TZDIR"
(search-input-directory inputs
- "share/zoneinfo")))))))
+ "share/zoneinfo"))))
+ (add-before 'check 'delete-failing-tests
+ (lambda _
+ (with-directory-excursion "tests"
+ (for-each delete-file
+ '("test_dateparser_data_integrity.py"
+ "test_hijri.py"
+ "test_jalali.py"
+ "test_language_detect.py"))))))))
(home-page "https://github.com/scrapinghub/dateparser")
(synopsis
"Date parsing library designed to parse dates from HTML pages")
@@ -26942,14 +27726,14 @@ and pandoc-citeproc.")
(define-public python-rnc2rng
(package
(name "python-rnc2rng")
- (version "2.6.4")
+ (version "2.6.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "rnc2rng" version))
(sha256
(base32
- "1kmp3iwxxyzjsd47j2sprd47ihhkwhb3yydih3af5bbfq0ibh1w8"))))
+ "1wbqvz2bhq2f5kqi7q2q3m9y5vs9rj970zhnjh502pvvhmbx20as"))))
(build-system python-build-system)
(propagated-inputs
(list python-rply))
@@ -27146,6 +27930,8 @@ module patches @code{asyncio} to allow nested use of @code{asyncio.run} and
"1mzk4yabxj6r149fswhis18hd8dnag5sj8i4wb06450zq3pi8dh7"))))
(native-inputs
(list unzip))
+ (propagated-inputs
+ (list python-six))
(build-system python-build-system)
(arguments '(#:tests? #f)) ; No test suite.
(home-page "https://www.parallelpython.com")
@@ -27687,7 +28473,7 @@ used to retry a function a given number of times.")
libice
soqt
glew
- coin3D-4))
+ coin3D))
(home-page "https://github.com/coin3d/pivy")
(synopsis "Python bindings to Coin3D")
(description
@@ -27750,7 +28536,7 @@ and frame grabber interface.")
(uri (pypi-uri "scikit-build" version))
(sha256
(base32 "1wx1m9vnxnnz59lyaisgyxldp313kciyd4af8lf112vb8vbjy9yk"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
(list
#:phases
@@ -27761,11 +28547,6 @@ and frame grabber interface.")
(("^(CMAKE_DEFAULT_EXECUTABLE = ).*" _ head)
(format #f "~a ~s~%" head
(search-input-file inputs "bin/cmake"))))))
- ;; XXX: PEP 517 manual build copied from python-isort.
- (replace 'build
- (lambda _
- (setenv "SOURCE_DATE_EPOCH" "315532800")
- (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
@@ -27791,31 +28572,24 @@ 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 ")))))
- (replace 'install
- (lambda _
- (let ((whl (car (find-files "dist" "\\.whl$"))))
- (invoke "pip" "--no-cache-dir" "--no-input"
- "install" "--no-deps" "--prefix" #$output whl)))))))
+ "and not test_generator_selection "))))))))
(native-inputs
(list cmake-minimal
gfortran
- git-minimal
+ git-minimal/fixed ;for tests
ninja
python-coverage
python-cython
python-mock
python-packaging
python-path
- python-pypa-build
python-pytest
python-pytest-cov
python-pytest-mock
python-pytest-virtualenv
python-pytest-xdist
python-requests
- python-setuptools-scm
- python-wheel))
+ python-setuptools-scm))
(propagated-inputs
(list python-distro python-packaging python-wheel))
(home-page "https://github.com/scikit-build/scikit-build")
@@ -27929,6 +28703,39 @@ characteristics. These measures are basically linear regressions based on the
number of words, syllables, and sentences.")
(license license:asl2.0)))
+(define-public python-readability-lxml
+ (package
+ (name "python-readability-lxml")
+ (version "0.8.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/buriy/python-readability")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "13nfy2v0pbbf62jn9qwgi489gg97hbb22q6w3f78mnvjxd2m19rh"))
+ (snippet
+ #~(begin (delete-file "readability/compat/two.py")))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "-m" "pytest" "-v" "tests/")))))))
+ (propagated-inputs (list python-chardet python-cssselect python-lxml))
+ (native-inputs (list python-timeout-decorator python-pytest))
+ (home-page "http://github.com/buriy/python-readability")
+ (synopsis "HTML to text parser")
+ (description
+ "This package provides classes and function that strip gratuitous markup
+from web pages to make them easier to read.")
+ (license license:asl2.0)))
+
(define-public python-listparser
(package
(name "python-listparser")
@@ -29001,9 +29808,9 @@ simple mock/record and a complete capture/replay framework.")
(when tests?
(invoke "pytest" "-vv")))))))
(inputs
- ;; libyajl is optional, but compiling with it makes faster
+ ;; yajl is optional, but compiling with it makes faster
;; backends available to ijson:
- (list libyajl))
+ (list yajl))
(native-inputs
(list python-pytest))
(build-system python-build-system)
@@ -29136,13 +29943,13 @@ development, testing, production]};
(define-public python-pudb
(package
(name "python-pudb")
- (version "2022.1.2")
+ (version "2022.1.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "pudb" version))
(sha256
(base32
- "03a7zalgdxfd2z2k6050ng087gwqgqis544n2083gdfxbf0ap0vb"))))
+ "0jk61qgacvwy6zkz1f55jawax4ggb1aawy6w3wnfkzqrkvd3ms2q"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ -29153,7 +29960,7 @@ development, testing, production]};
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv")))))))
- (native-inputs (list python-pytest python-pytest-mock))
+ (native-inputs (list python-pytest python-pytest-mock python-numpy))
(propagated-inputs (list python-jedi python-pygments python-urwid
python-urwid-readline))
(home-page "https://documen.tician.de/pudb/")
@@ -30130,34 +30937,17 @@ object, which can be useful if you want to force your objects into a table.")
(uri (pypi-uri "deepmerge" version))
(sha256
(base32 "06hagzg8ccmjzqvszdxb52jgx5il8a1jdz41n4dpkyyjsfg7fi2b"))))
- (build-system python-build-system)
+ (build-system pyproject-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)))))))
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
(native-inputs
- (list python-pypa-build
- python-setuptools-scm
- python-pytest
- python-wheel))
+ (list python-setuptools-scm
+ python-pytest))
(home-page "https://deepmerge.readthedocs.io/en/latest/")
(synopsis "Merge nested data structures")
(description
@@ -30709,7 +31499,7 @@ window managers.")
(define-public i3-autotiling
(package
(name "i3-autotiling")
- (version "1.6.1")
+ (version "1.8")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -30718,7 +31508,7 @@ window managers.")
(file-name (git-file-name name version))
(sha256
(base32
- "1m8k3g83n2n1xws89dh20f3sy6753wvip9dzf6bssv2cz9ll7406"))))
+ "1nsm0gd45ys4ghlzrvjrf0lvcyhvpx58lz8gg325a762wn5a4a72"))))
(build-system python-build-system)
(arguments (list #:tests? #f)) ;no tests
(native-inputs (list python-wheel))
@@ -30856,7 +31646,7 @@ platform using the ActivityPub protocol.")
(define-public python-lief
(package
(name "python-lief")
- (version "0.12.1")
+ (version "0.12.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -30865,7 +31655,7 @@ platform using the ActivityPub protocol.")
(file-name (git-file-name name version))
(sha256
(base32
- "1xzbh3bxy4rw1yamnx68da1v5s56ay4g081cyamv67256g0qy2i1"))))
+ "11i6hqmcjh56y554kqhl61698n9v66j2qk1c1g63mv2w07h2z661"))))
(build-system python-build-system)
(native-inputs (list cmake))
(arguments
@@ -30885,6 +31675,73 @@ platform using the ActivityPub protocol.")
and abstract ELF, PE and MachO formats.")
(license license:asl2.0)))
+(define-public python-eris
+ (package
+ (name "python-eris")
+ (version "0.0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "eris" version))
+ (sha256
+ (base32
+ "16wbmahmfzdzrsjbn8jzi79vhghrzvvlcgnym20q0v3p3i4x47pq"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-pycryptodome))
+ (home-page "https://codeberg.org/eris/python-eris")
+ (synopsis "Python implementation of ERIS")
+ (description
+"Python implementation of the @acronym{ERIS, Encoding for Robust Immutable
+Storage}.")
+ (license license:lgpl3+)))
+
+(define-public shrinkwrap
+ (package
+ (name "shrinkwrap")
+ (version "0.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fzakaria/shrinkwrap")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (snippet '(substitute* "pyproject.toml"
+ (("lief = \"0\\.12\\.0\"") "lief = \"*\"")))
+ (sha256
+ (base32
+ "1f3qrygj16y767q2c7pn9j6m95ggcmj9s5cx9v92ygygly4mr3jp"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-v" "tests"))))
+ ;; XXX: PEP 517 manual build copied from python-isort.
+ (replace 'build
+ (lambda _
+ (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+ (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-click
+ python-poetry-core
+ python-pypa-build
+ python-pytest))
+ (inputs (list python-lief python-sh))
+ (home-page "https://github.com/fzakaria/shrinkwrap")
+ (synopsis "Emboss needed dependencies on the top level executable")
+ (description
+ "@code{shrinkwrap} is a tool which will discover all transitive dynamic
+shared objects, and lift them up to the executable referenced by absolute
+path.")
+ (license license:expat)))
+
(define-public python-pymonad
(package
(name "python-pymonad")