~ruther/guix-local

fdc0fefd46a45b70784a4e3f8900cbe593426a9e — Lars-Dominik Braun 3 years ago ca945f7
build-system/pyproject: Use python-sans-pip-wrapper as default-python.

Also adds python-setuptools and python-wheel to relevant packages,
either to native-inputs or to propagated inputs if the pkg_resources
Python module is loaded at runtime.

* guix/build-system/pyproject.scm (default-python): Default to
python-sans-pip-wrapper.

Change-Id: I2d986c2225114f54459dd6bb360913106e52cdf4
M gnu/packages/admin.scm => gnu/packages/admin.scm +10 -3
@@ 5080,10 5080,17 @@ elogind's uaccess feature.")
               ;; XXX Guix's America/Los_Angeles time zone is somehow broken.
               (add-before 'check 'hack-time-zone
                 (lambda _
                   (setenv "TZ" "PST8PDT"))))))
    (native-inputs (list python-pytest))
                   (setenv "TZ" "PST8PDT")
                   (substitute* (find-files "tests" "^test.*\\.py$")
                     (("America/Los_Angeles") "PST8PDT")))))))
    (native-inputs
     (list python-pytest
           python-setuptools
           python-wheel))
    (propagated-inputs
     (list python-pygments python-ruamel.yaml python-xmltodict))
     (list python-pygments
           python-ruamel.yaml
           python-xmltodict))
    (home-page "https://github.com/kellyjonbrazil/jc")
    (synopsis "Convert the output of command-line tools to JSON")
    (description "@code{jc} JSONifies the output of many CLI tools and

M gnu/packages/bioinformatics.scm => gnu/packages/bioinformatics.scm +68 -22
@@ 2023,8 2023,13 @@ intended to behave exactly the same as the original BWK awk.")
               (base32
                "1pm1szyxabhn8jismrj9cjhf88ajgcmm39f0cgf36iagw5qakprl"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-biopython python-six))
    (native-inputs (list python-pytest))
    (native-inputs
     (list python-pytest))
    (propagated-inputs
     (list python-biopython
           python-setuptools
           python-six
           python-wheel))
    (home-page "https://github.com/chapmanb/bcbb/tree/master/gff")
    (synopsis "Read and write GFF files with Biopython integration")
    (description


@@ 2148,7 2153,7 @@ from bokeh.util.dataclasses import entries\n"))
                               python-tornado-6
                               python-tqdm
                               python-umap-learn))
      (native-inputs (list python-pytest))
      (native-inputs (list python-pytest python-setuptools python-wheel))
      (home-page "https://github.com/LooseLab/bulkVis")
      (synopsis "Interactive visualization of bulk RNA-seq data")
      (description


@@ 2479,7 2484,11 @@ biological activities from omics data within a unified framework.")
           python-scikit-learn
           python-scipy
           python-seaborn))
    (native-inputs (list python-cython python-setuptools-scm))
    (native-inputs
     (list python-cython
           python-setuptools
           python-setuptools-scm
           python-wheel))
    (home-page "https://github.com/lilab-bcb/demuxEM")
    (synopsis "Analyze cell-hashing/nucleus-hashing data")
    (description


@@ 2578,6 2587,7 @@ datasets with fuzzy k-means and locally linear adjustments.")
           python-numpy
           python-pandas
           python-scipy))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/SegataLab/hclust2/")
    (synopsis "Plotting heat-maps for publications")
    (description


@@ 2649,7 2659,7 @@ varies in similar way among cells which are nearby in the given metric.")
              "111q4pzkav26aa3hkgh948wqlyrq7dq6sjml9z63n3blw8s6b0c4"))))
   (build-system pyproject-build-system)
   (native-inputs
    (list python-setuptools-scm))
    (list python-setuptools-scm python-setuptools python-wheel))
   (propagated-inputs
    (list python-humanize python-requests python-six))
   (home-page "https://pypi.org/project/htsget/")


@@ 2749,6 2759,7 @@ framework enables the use of any LR method with any resources.")
    (build-system pyproject-build-system)
    (propagated-inputs
     (list python-matplotlib python-numpy python-pandas))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://logomaker.readthedocs.io")
    (synopsis "Package for making Sequence Logos")
    (description "Logomaker is a Python package for generating


@@ 2983,7 2994,8 @@ three prime UTR.")
           python-pillow
           python-scipy
           python-zarr))
    (native-inputs (list python-cython python-setuptools-scm))
    (native-inputs (list python-cython python-setuptools-scm
                         python-setuptools python-wheel))
    (home-page "https://github.com/lilab-bcb/pegasusio")
    (synopsis "Read or write single-cell genomics data")
    (description


@@ 3042,7 3054,7 @@ weight.astype(\"str\") + '\\n')")))))))
           python-scikit-learn
           python-scipy))
    (native-inputs
     (list python-pytest))
     (list python-pytest python-setuptools python-wheel))
    (home-page "https://github.com/dpeerlab/PhenoGraph.git")
    (synopsis "Graph-based clustering for high-dimensional single-cell data")
    (description


@@ 3073,6 3085,7 @@ similarities between cells and then identifying communities in this graph.")
           python-numpy
           python-pandas
           python-seaborn))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/biobakery/phylophlan")
    (synopsis
     "Phylogenetic analysis of microbial isolates and genomes from metagenomes")


@@ 3152,6 3165,8 @@ phylogenetic markers, and can also scale to very large phylogenies comprising
           python-cython
           kentutils ; for bedGraphToBigWig
           python-six
           python-setuptools
           python-wheel
           ;; For the test suite.
           python-pytest
           python-psutil))


@@ 3597,6 3612,7 @@ alignments and perform the following operations:
    (build-system pyproject-build-system)
    (arguments (list #:tests? #false))  ;there are none
    (propagated-inputs (list python-pandas))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/alexomics/read-paf")
    (synopsis "Minimap2 PAF file reader")
    (description


@@ 3778,6 3794,7 @@ sequencing.")
           (lambda _ (setenv "HOME" "/tmp"))))))
    (propagated-inputs
     (list python-numpy))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://biopython.org/")
    (synopsis "Tools for biological computation in Python")
    (description


@@ 4839,7 4856,8 @@ off-target reads for a capture method that targets CpG-rich region.")
    (inputs
     (list zlib))
    (native-inputs
     (list python-cython python-lzo python-pytest))
     (list python-cython python-lzo python-pytest python-setuptools
           python-wheel))
    (home-page "https://github.com/bxlab/bx-python")
    (synopsis "Tools for manipulating biological data")
    (description


@@ 5065,6 5083,8 @@ subgroups.")
    (native-inputs
     (list python-cython
           python-pytest
           python-setuptools
           python-wheel
           ;; Dependencies below are are for tests only.
           samtools
           bcftools))


@@ 5158,6 5178,8 @@ UCSC genome browser.")
    (native-inputs
     `(("python-cython" ,python-cython)
       ("python-pytest" ,python-pytest)
       ("python-setuptools" ,python-setuptools)
       ("python-wheel" ,python-wheel)
       ("test-data"
        ,(origin
           (method url-fetch)


@@ 5485,7 5507,8 @@ file formats including SAM/BAM, Wiggle/BigWig, BED, GFF/GTF, VCF.")
    (arguments
     (list #:tests? #false)) ;there are none
    (native-inputs
     (list python-cython python-pytest python-setuptools-scm))
     (list python-cython python-pytest python-setuptools-scm
           python-setuptools python-wheel))
    (propagated-inputs
     (list python-xopen))
    (home-page "https://github.com/marcelm/dnaio/")


@@ 5837,6 5860,7 @@ gkm-SVM.")
     (list python-numpy))
    (inputs
     (list libbigwig zlib curl))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/dpryan79/pyBigWig")
    (synopsis "Access bigWig files in Python using libBigWig")
    (description


@@ 5962,9 5986,12 @@ Note that this package has been deprecated in favor of @code{pyfaidx}.")
           python-mypy-extensions
           python-rdflib
           python-requests
           python-ruamel.yaml))
           python-ruamel.yaml
           python-setuptools ; For pkg_resources.
           python-typing-extensions))
    (native-inputs
     (list python-black python-pytest python-pytest-runner python-pytest-xdist))
     (list python-black python-pytest python-pytest-runner
           python-wheel))
    (home-page "https://github.com/common-workflow-language/schema_salad")
    (synopsis "Schema Annotations for Linked Avro Data (SALAD)")
    (description


@@ 6048,6 6075,7 @@ resources for bioinformatics.")
           python-scikit-learn
           python-scipy
           python-umap-learn))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/swolock/scrublet")
    (synopsis "Tool to indentify and remove doublets in single-cell data")
    (description "This package provides a tool for identifying and removing


@@ 6213,6 6241,7 @@ documents.")
           python-requests
           python-ruamel.yaml
           python-schema-salad
           python-setuptools ; For pkg_resources.
           python-shellescape
           python-spython
           python-typing-extensions


@@ 6226,7 6255,7 @@ documents.")
           python-pytest-cov
           python-pytest-mock
           python-pytest-runner
           python-pytest-xdist))
           python-wheel))
    (home-page
     "https://github.com/common-workflow-language/common-workflow-language")
    (synopsis "Common Workflow Language reference implementation")


@@ 6280,7 6309,8 @@ CWL descriptions.")
              (substitute* "tests/test_datamodel_taxon.py"
                (("collections.Iterable")
                 "collections.abc.Iterable")))))))
    (native-inputs (list python-pytest))
    (native-inputs (list python-pytest python-wheel))
    (propagated-inputs (list python-setuptools))
    (home-page "https://dendropy.org/")
    (synopsis "Library for phylogenetics and phylogenetic computing")
    (description


@@ 7100,7 7130,8 @@ multiple DJU methods.")
               (base32
                "0cjpzyqz6r4lmiwry2gcxdczwpkhl3lyyjg4s8addln17691ysxk"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-pytest))
    (propagated-inputs (list python-pytest python-setuptools))
    (native-inputs (list python-wheel))
    (home-page "https://github.com/betteridiot/bamnostic/")
    (synopsis "Tool for binary alignment map, random access and parsing")
    (description


@@ 7198,7 7229,7 @@ analysis tool Scanpy (Genome Biology, 2018).")
           python-pyqt
           python-scipy))
    (native-inputs
     (list python-pytest))
     (list python-pytest python-setuptools python-wheel))
    (home-page "http://etetoolkit.org")
    (synopsis "Python environment for phylogenetic tree exploration")
    (description


@@ 7219,6 7250,7 @@ exploration.")
    (build-system pyproject-build-system)
    (arguments (list #:tests? #false))  ;there are none
    (propagated-inputs (list python-matplotlib python-numpy python-levenshtein))
    (native-inputs (list python-setuptools python-wheel python-pip))
    (home-page "https://github.com/meren/illumina-utils")
    (synopsis "Library and scripts to work with Illumina paired-end data")
    (description


@@ 7242,6 7274,7 @@ Illumina paired-end data (for CASAVA 1.8+).")
    (propagated-inputs
     (list python-biopython python-matplotlib python-pandas
           python-scipy python-seaborn))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://widdowquinn.github.io/pyani/")
    (synopsis "Calculate genome-scale average nucleotide identity")
    (description


@@ 10974,7 11007,9 @@ complexity samples.")
    (build-system pyproject-build-system)
    (native-inputs
     (list python-pytest-cov
           python-pytest-runner))
           python-pytest-runner
           python-setuptools
           python-wheel))
    (home-page "https://github.com/dib-lab/screed/")
    (synopsis "Short read sequence database utilities")
    (description "Screed parses FASTA and FASTQ files and generates databases.


@@ 11316,7 11351,7 @@ bioinformatics file formats, sequence alignment, and more.")
    (inputs
     (list python-biopython python-pygtrie))
    (native-inputs
     (list python-pytest))
     (list python-pytest python-setuptools python-wheel))
    (home-page "https://github.com/fhcrc/seqmagick")
    (synopsis "Tools for converting and modifying sequence files")
    (description


@@ 14553,10 14588,12 @@ replacement for strverscmp.")
           python-requests
           python-rich
           python-rich-click
           python-setuptools ; For pkg_resources.
           python-simplejson
           python-spectra))
    (native-inputs
     `(("python-pytest" ,python-pytest)
       ("python-wheel" ,python-wheel)
       ("tests"
        ,(let ((commit "c3e7400affe3f3ca996973805797af61b93070ba"))
           (origin


@@ 16380,9 16417,10 @@ using the same syntax.")
                             python-pydot
                             python-requests
                             python-scipy
                             python-setuptools
                             python-statsmodels
                             python-xlsxwriter))
    (native-inputs (list python-pytest))
    (native-inputs (list python-pytest python-wheel))
    (home-page "https://github.com/tanghaibao/goatools")
    (synopsis "Python scripts to find enrichment of GO terms")
    (description "Python scripts to find enrichment of GO terms.  In addition,


@@ 16498,9 16536,10 @@ API services.")
           python-pysam
           python-regex
           python-ruamel.yaml
           python-setuptools
           snakemake))
    (native-inputs
     (list python-pytest))
     (list python-pytest python-wheel))
    (home-page "https://github.com/caleblareau/mgatk")
    (synopsis "Mitochondrial genome analysis toolkit")
    (description "This package is a Python-based command line interface for


@@ 18795,6 18834,7 @@ implementation differs in these ways:
           python-patsy
           python-scikit-learn
           python-scipy
           python-setuptools ; For pkg_resources.
           python-seaborn
           python-session-info
           python-sinfo


@@ 19188,7 19228,9 @@ bgzipped text file that contains a pair of genomic coordinates per line.")
           python-mock
           python-numpy
           python-pytest
           python-pytest-cov))
           python-pytest-cov
           python-wheel))
    (propagated-inputs (list python-setuptools))
    (home-page "http://mattshirley.com")
    (synopsis "Random access to fasta subsequences")
    (description


@@ 19310,7 19352,7 @@ includes operations like compartment, insulation or peak calling.")
           python-scipy
           python-tables))
    (native-inputs
     (list python-pytest))
     (list python-pytest python-setuptools python-wheel))
    (home-page "https://github.com/deeptools/HiCMatrix/")
    (synopsis "HiCMatrix class for HiCExplorer and pyGenomeTracks")
    (description


@@ 20173,6 20215,7 @@ polymorphisms) and indels with respect to a reference genome and more.")
           ;; R packages
           r-dnacopy))
    (inputs (list r-minimal)) ;for tests
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://cnvkit.readthedocs.org/")
    (synopsis "Copy number variant detection from targeted DNA sequencing")
    (description


@@ 22474,7 22517,9 @@ coordinates between different assemblies.")
     (list python-pytest
           lsof
           inetutils
           openssl))
           openssl
           python-setuptools
           python-wheel))
    (inputs (list time))
    (propagated-inputs
     (list python-apsw


@@ 22979,6 23024,7 @@ feature is fast retrieval of range queries into numpy arrays.")
     (list python-biopython
           python-matplotlib
           python-packaging))
    (native-inputs (list python-setuptools python-wheel))
    (home-page
     "https://github.com/Edinburgh-Genome-Foundry/DnaFeaturesViewer")
    (synopsis "Plot features from DNA sequences")

M gnu/packages/bootloaders.scm => gnu/packages/bootloaders.scm +3 -0
@@ 76,6 76,7 @@
  #:use-module (gnu packages version-control)
  #:use-module (gnu packages virtualization)
  #:use-module (gnu packages xorg)
  #:use-module (gnu packages python-build)
  #:use-module (gnu packages python-web)
  #:use-module (gnu packages python-xyz)
  #:use-module (guix build-system gnu)


@@ 787,6 788,8 @@ tree binary files.  These are board description files used by Linux and BSD.")
           pkg-config                   ;for 'make menuconfig'
           python
           python-pyelftools
           python-setuptools
           python-wheel
           swig
           (list util-linux "lib")))
    (home-page "https://www.denx.de/wiki/U-Boot/")

M gnu/packages/check.scm => gnu/packages/check.scm +6 -3
@@ 1041,7 1041,7 @@ report generation engine.")
                 (base32
                  "0gymjcnvjx9snyrzdbmjnk93ibb161q72xam29vnl3yyac4r1330"))))
      (build-system pyproject-build-system)
      (native-inputs (list python-nose))
      (native-inputs (list python-nose python-setuptools python-wheel))
      (propagated-inputs
       (list python-cached-property python-configargparse
             python-jinja2 python-six


@@ 2174,7 2174,8 @@ timeout has been exceeded.")
     ;; 'hypothesis' plugin is not in the environment (due to
     ;; <http://issues.guix.gnu.org/25235>), which would cause the test suite
     ;; to fail (see: https://github.com/pytest-dev/pytest-forked/issues/54).
     (list python-pytest-bootstrap python-setuptools-scm))
     (list python-pytest-bootstrap python-setuptools
           python-setuptools-scm python-wheel))
    (home-page "https://github.com/pytest-dev/pytest-forked")
    (synopsis "Pytest plugin to run tests in isolated forked subprocesses")
    (description "This package provides a Pytest plugin which enables running


@@ 2499,7 2500,7 @@ executed.")
                 (lambda _
                   (setenv "SETUPTOOLS_SCM_PRETEND_VERSION"
                           #$(package-version this-package)))))))
    (native-inputs (list python-setuptools-scm))
    (native-inputs (list python-setuptools-scm python-setuptools python-wheel))
    (propagated-inputs (list python-pytest))
    (home-page "https://github.com/pytest-dev/pytest-asyncio")
    (synopsis "Pytest support for asyncio")


@@ 2992,7 2993,9 @@ a Pytest test execution.")
                             python-mypy
                             python-pytest
                             python-pyyaml
                             python-setuptools
                             python-regex))
    (native-inputs (list python-wheel))
    (home-page "https://github.com/TypedDjango/pytest-mypy-plugins")
    (synopsis "Pytest plugin for writing tests for mypy plugins")
    (description "This package provides a pytest plugin for writing tests for

M gnu/packages/databases.scm => gnu/packages/databases.scm +8 -4
@@ 3229,6 3229,7 @@ protocol with Cython for performance.")
    (build-system pyproject-build-system)
    (arguments '(#:tests? #f))           ;test suite requires docker
    (propagated-inputs (list python-pymysql))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/aio-libs/aiomysql")
    (synopsis "MySQL driver for Python")
    (description "@code{aiomysql} is a driver for accessing a MySQL database


@@ 3670,7 3671,8 @@ on localhost.")
    (build-system pyproject-build-system)
    (native-inputs
     (list python-cython ; for C extensions
           python-pytest python-mock python-pytest-xdist)) ; for tests
           python-pytest python-mock python-pytest-xdist ; for tests
           python-setuptools python-wheel))
    (propagated-inputs
     (list python-greenlet))
    (arguments


@@ 3905,7 3907,7 @@ text search extension.")
    (propagated-inputs (list python-click python-click-default-group
                             python-dateutil python-sqlite-fts4
                             python-tabulate))
    (native-inputs (list python-pytest))
    (native-inputs (list python-pytest python-setuptools python-wheel))
    (home-page "https://github.com/simonw/sqlite-utils")
    (synopsis
     "CLI tool and Python utility functions for manipulating SQLite databases")


@@ 3978,7 3980,7 @@ PickleShare.")
         "10yfbasi4mq63g0svyl1h49ylwn9znjylq78id16dzxzk9q9ipdx"))))
    (build-system pyproject-build-system)
    (native-inputs
     (list unzip))
     (list unzip python-setuptools python-wheel))
    (inputs (list sqlite-next))         ;SQLite 3.45.1 required.
    (arguments
     (list


@@ 4333,7 4335,7 @@ for Python.  The design goals are:
                            ;; The fix was forwarded upstream, see:
                            ;; https://github.com/redis/hiredis-py/pull/160.
                            (delete-file "tests/__init__.py"))))))
    (native-inputs (list python-pytest))
    (native-inputs (list python-pytest python-setuptools python-wheel))
    (inputs (list hiredis))
    (home-page "https://github.com/redis/hiredis-py")
    (synopsis "Python extension that wraps protocol parsing code in hiredis")


@@ 4457,6 4459,8 @@ reasonable substitute.")
           python-pytest
           python-pytest-asyncio
           python-pytest-timeout
           python-setuptools
           python-wheel
           redis))
    (propagated-inputs
     (list python-async-timeout))

M gnu/packages/digest.scm => gnu/packages/digest.scm +4 -1
@@ 116,7 116,10 @@ platforms (both big and little endian).")
         "1hdxcscry59gh0znlm71ya23mm9rfmvz8lvvlplzxzf63pib28dc"))))
    (build-system pyproject-build-system)
    ;; Needed to embed the correct version string
    (native-inputs (list python-setuptools-scm))
    (native-inputs
     (list python-setuptools-scm
           python-setuptools
           python-wheel))
    (home-page "https://github.com/ifduyue/python-xxhash")
    (synopsis "Python binding for xxHash")
    (description "This package provides Python bindings for the xxHash hash

M gnu/packages/engineering.scm => gnu/packages/engineering.scm +8 -3
@@ 2669,9 2669,14 @@ specification can be downloaded at @url{http://3mf.io/specification/}.")
                            (substitute* "pyvisa/shell.py"
                              (("from .thirdparty import prettytable")
                               "import prettytable")))))))
    (native-inputs (list python-pytest))
    (propagated-inputs (list python-dataclasses python-prettytable
                             python-typing-extensions))
    (native-inputs
     (list python-pytest
           python-setuptools
           python-wheel))
    (propagated-inputs
     (list python-dataclasses
           python-prettytable
           python-typing-extensions))
    (home-page "https://pyvisa.readthedocs.io/en/latest/")
    (synopsis "Python binding for the VISA library")
    (description "PyVISA is a Python package for support of the

M gnu/packages/fontutils.scm => gnu/packages/fontutils.scm +15 -4
@@ 532,7 532,11 @@ converts any cubic curves to quadratic.  The most useful function is probably
       (sha256
        (base32 "1rg2997af8blvswlwif0kpz2vxrlh555gzqslz6yv9y7i7v8lphl"))))
    (build-system pyproject-build-system)
    (native-inputs (list python-pytest python-setuptools-scm))
    (native-inputs
     (list python-pytest
           python-setuptools-scm
           python-setuptools
           python-wheel))
    (propagated-inputs
     (list python-booleanoperations
           python-cffsubr


@@ 679,7 683,8 @@ process.  FontParts is the successor of RoboFab.")
                       "--ignore=tests/builder/interpolation_test.py")))
    (native-inputs
     (list python-setuptools-scm

           python-setuptools
           python-wheel
           ;; For tests.
           python-pytest
           python-xmldiff))


@@ 859,6 864,7 @@ suite of the @code{psautohint} package.")
           python-pytest-cov
           python-pytest-xdist
           python-setuptools-scm
           python-setuptools
           python-wheel))
    (home-page "https://github.com/adobe-type-tools/psautohint")
    (synopsis "Adobe's PostScript autohinter")


@@ 1782,8 1788,13 @@ with @samp{nameIDs}.")
        (base32 "0yx4i8q5rfyqhr2fj70a7z1bp1jv7bdlr64ww9z4nv9ycbda4x9j"))))
    (build-system pyproject-build-system)
    (native-inputs
     (list python-pytest python-setuptools-scm))
    (propagated-inputs (list python-attrs python-fonttools))
     (list python-pytest
           python-setuptools
           python-setuptools-scm
           python-wheel))
    (propagated-inputs
     (list python-attrs
           python-fonttools))
    (home-page "https://github.com/fonttools/ufoLib2")
    (synopsis "Unified Font Object (UFO) font processing library")
    (description "The ufoLib2 Python library is meant to be a thin

M gnu/packages/geo.scm => gnu/packages/geo.scm +6 -4
@@ 359,7 359,9 @@ subdivisions.")
           python-numpy
           python-pytest
           python-scikit-build
           python-setuptools-scm))
           python-setuptools
           python-setuptools-scm
           python-wheel))
    (inputs (list h3))
    (home-page "https://uber.github.io/h3-py")
    (synopsis "Python bindings for H3")


@@ 1012,7 1014,7 @@ pyproj, Rtree, and Shapely.")
      (list python-fiona python-packaging python-pandas python-pyproj
            python-shapely))
    (native-inputs
      (list python-pytest))
      (list python-pytest python-setuptools python-wheel))
    (home-page "https://geopandas.org")
    (synopsis "Geographic pandas extensions")
    (description "The goal of GeoPandas is to make working with


@@ 1141,7 1143,7 @@ during conversion.")
                             python-pandas
                             python-requests
                             python-shapely))
    (native-inputs (list python-hatchling python-pytest))
    (native-inputs (list python-hatchling python-pytest python-setuptools python-wheel))
    (home-page "https://github.com/gboeing/osmnx")
    (synopsis
     "Retrieve, model, analyze, and visualize OpenStreetMap street networks")


@@ 2109,7 2111,7 @@ from multiple records.")
                  (string-append  "\"" libspatialindex
                                  "/lib/libspatialindex_c.so\"")))))))))
    (native-inputs
     (list python-numpy python-pytest python-wheel))
     (list python-numpy python-pytest python-setuptools python-wheel))
    (inputs
     (list libspatialindex))
    (home-page "https://github.com/Toblerity/rtree")

M gnu/packages/graph.scm => gnu/packages/graph.scm +9 -4
@@ 250,8 250,12 @@ more.")
                      var (format #f "[~s]~%"
                                  (string-append igraph "/lib")))))))))))
      (inputs (list igraph))
      (propagated-inputs (list python-texttable))
      (native-inputs (list python-pytest))
      (propagated-inputs
       (list python-texttable))
      (native-inputs
       (list python-pytest
             python-setuptools
             python-wheel))
      (home-page "https://igraph.org/python/")
      (synopsis "Python bindings for the igraph network analysis library"))))



@@ 419,11 423,12 @@ algorithm for community detection in large networks.")
               (("self.use_pkgconfig = False")
                "self.use_pkgconfig = True")))))))
    (inputs (list igraph))
    (propagated-inputs (list python-igraph))
    (propagated-inputs (list python-igraph python-setuptools))
    (native-inputs
     (list pkg-config
           python-ddt
           python-setuptools-scm))
           python-setuptools-scm
           python-wheel))
    (home-page "https://github.com/vtraag/louvain")
    (synopsis "Community detection in large networks")
    (description

M gnu/packages/graphviz.scm => gnu/packages/graphviz.scm +3 -1
@@ 160,7 160,9 @@ interfaces for other technical domains.")
           python-mock
           python-pytest
           python-pytest-cov
           python-pytest-mock))
           python-pytest-mock
           python-setuptools
           python-wheel))
    (home-page "https://github.com/xflr6/graphviz")
    (synopsis "Simple Python interface for Graphviz")
    (description

M gnu/packages/license.scm => gnu/packages/license.scm +11 -6
@@ 191,12 191,17 @@ belonging to various licenses.")
                        (add-before 'check 'chdir
                          (lambda _
                            (chdir "/tmp"))))))
    (native-inputs (list python-poetry-core python-pytest))
    (inputs (list python-binaryornot
                  python-boolean.py
                  python-debian
                  python-jinja2
                  python-license-expression))
    (native-inputs
     (list python-poetry-core
           python-pytest
           python-wheel))
    (inputs
     (list python-binaryornot
           python-boolean.py
           python-debian
           python-jinja2
           python-license-expression
           python-setuptools)) ; For pkg_resources.
    (home-page "https://reuse.software/")
    (synopsis "Provide and verify copyright and licensing information")
    (description

M gnu/packages/machine-learning.scm => gnu/packages/machine-learning.scm +18 -10
@@ 1047,7 1047,7 @@ and not test_wmt22_references")
                             python-portalocker
                             python-regex
                             python-tabulate))
    (native-inputs (list python-pytest))
    (native-inputs (list python-pytest python-setuptools python-wheel))
    (home-page "https://github.com/mjpost/sacrebleu")
    (synopsis
     "Compute shareable, comparable, and reproducible BLEU, chrF, and TER scores")


@@ 1088,7 1088,7 @@ unsupervised text tokenizer.")
    (build-system pyproject-build-system)
    ;; This package depends on spacy, which depends on this package.
    (arguments (list #:tests? #false))
    (native-inputs (list python-pytest))
    (native-inputs (list python-pytest python-setuptools python-wheel))
    (home-page "https://spacy.io")
    (synopsis "Legacy registered functions for spaCy backwards compatibility")
    (description


@@ 1109,7 1109,7 @@ compatibility.")
    (build-system pyproject-build-system)
    ;; This package depends on spacy, which depends on this package.
    (arguments (list #:tests? #false))
    (native-inputs (list python-pytest))
    (native-inputs (list python-pytest python-setuptools python-wheel))
    (home-page "https://github.com/explosion/spacy-loggers")
    (synopsis "Logging utilities for SpaCy")
    (description "This package provides logging utilities for the SpaCy


@@ 1967,6 1967,8 @@ for scientific computing and data science (e.g. BLAS and OpenMP).")
                         python-pandas
                         python-pytest
                         python-pytest-cov
                         python-setuptools
                         python-wheel
                         tensorflow))
    (home-page "https://github.com/scikit-learn-contrib/imbalanced-learn")
    (synopsis "Toolbox for imbalanced dataset in machine learning")


@@ 2147,7 2149,9 @@ standard feature selection algorithms.")
     (list python-pytest
           python-pytest-lazy-fixture
           python-pytorch
           python-torchvision))
           python-torchvision
           python-setuptools
           python-wheel))
    (home-page "https://cleanlab.ai")
    (synopsis "Automatically find and fix dataset issues")
    (description


@@ 2179,7 2183,7 @@ data by providing clean labels during training.")
           python-scipy
           python-tqdm))
    (native-inputs
     (list python-pytest))))
     (list python-pytest python-setuptools python-wheel))))

(define-public python-cma
  (package


@@ 2220,7 2224,7 @@ and a few related numerical optimization tools.")
        (base32 "17bk60mhkglz6s7wz6xcyhw1h4mvghc1iid0805dra7jdyafwrfn"))
       (file-name (git-file-name name version))))
    (build-system pyproject-build-system)
    (native-inputs (list python-hypothesis))
    (native-inputs (list python-hypothesis python-setuptools python-wheel))
    (propagated-inputs (list python-numpy))
    (home-page "https://github.com/CyberAgentAILab/cmaes")
    (synopsis "CMA-ES implementation for Python")


@@ 2386,13 2390,15 @@ interactive learning.")
           python-networkx
           python-numpy
           python-scipy
           python-setuptools ; For pkg_resources.
           python-six
           python-tqdm))
    (native-inputs
     (list python-black
           python-nose
           python-pymongo
           python-pytest))
           python-pytest
           python-wheel))
    (home-page "https://hyperopt.github.io/hyperopt/")
    (synopsis "Library for hyperparameter optimization")
    (description "Hyperopt is a Python library for serial and parallel


@@ 3962,7 3968,8 @@ These include a barrier, broadcast, and allreduce.")
         ;; nor is examples/plot_quantum.py
         " and not test_file_is_generated"))))
    (propagated-inputs (list python-jsmin python-numpy python-scipy))
    (native-inputs (list python-pytest python-pytest-cov python-sphinx))
    (native-inputs (list python-pytest python-pytest-cov python-sphinx
                         python-setuptools python-wheel))
    (home-page "https://github.com/tensorly/tensorly")
    (synopsis "Tensor learning in Python")
    (description


@@ 5123,6 5130,7 @@ as torchvision, torchtext, and others.")
           (lambda _
             (delete-file "readchar/_win_read.py"))))))
    (propagated-inputs (list python-setuptools))
    (native-inputs (list python-wheel))
    (home-page "https://github.com/magmax/python-readchar")
    (synopsis "Library to easily read single chars and key strokes")
    (description "This package provides a Python library to easily read single


@@ 5391,7 5399,7 @@ implementations and an easy-to-use API to create custom metrics.  It offers:
           python-pillow-simd
           python-pytorch))
    (native-inputs
     (list which python-pytest))
     (list which python-pytest python-setuptools python-wheel))
    (home-page "https://pytorch.org/vision/stable/index.html")
    (synopsis "Datasets, transforms and models specific to computer vision")
    (description


@@ 5994,7 6002,7 @@ fi"
                             ;; Required by codegen.
                             python-setuptools
                             python-sympy))
    (native-inputs (list python-pytest python-pytest-xdist))
    (native-inputs (list python-pytest python-pytest-xdist python-wheel))
    (home-page "https://briansimulator.org/")
    (synopsis "Clock-driven simulator for spiking neural networks")
    (description

M gnu/packages/monitoring.scm => gnu/packages/monitoring.scm +4 -1
@@ 326,7 326,10 @@ solution (server-side)")))
                                     (string-append #$output "/share/doc/"
                                                    #$name "/html")))))))
    (native-inputs
     (list python-pytest python-sphinx))
     (list python-pytest
           python-setuptools
           python-sphinx
           python-wheel))
    (inputs
     (list ncurses python-requests))
    (home-page "https://github.com/unioslo/zabbix-cli")

M gnu/packages/package-management.scm => gnu/packages/package-management.scm +7 -2
@@ 1090,7 1090,11 @@ and not test_conda_root_outside_root_environment"))
         (add-before 'check 'set-HOME
           (lambda _ (setenv "HOME" "/tmp"))))))
    (propagated-inputs
     (list python-clyent python-nbformat python-pyyaml python-requests))
     (list python-clyent
           python-nbformat
           python-pyyaml
           python-requests
           python-setuptools))
    (native-inputs
     (list python-coverage
           python-dateutil


@@ 1098,7 1102,8 @@ and not test_conda_root_outside_root_environment"))
           python-mock
           python-pillow
           python-pytest
           python-pytz))
           python-pytz
           python-wheel))
    (home-page "https://github.com/Anaconda-Platform/anaconda-client")
    (synopsis "Anaconda Cloud command line client library")
    (description

M gnu/packages/potassco.scm => gnu/packages/potassco.scm +6 -3
@@ 589,7 589,7 @@ are already predefined, but more can be added as logic programs.")
                   (setenv "CLORM_NOCLINGO" "1")
                   (delete-file "tests/test_mypy_query.py"))))))
    (propagated-inputs (list python-clingo))
    (native-inputs (list python-typing-extensions))
    (native-inputs (list python-typing-extensions python-setuptools python-wheel))
    (home-page "https://potassco.org")
    (synopsis "Object relational mapping to clingo")
    (description "@acronym{Clorm, Clingo ORM} provides an @acronym{ORM,


@@ 651,6 651,7 @@ the most probable model as well as finding all models and their probabilities.")
                "1q6hlh4b5hsa4n5agvmfa9rhsxfd2g6kpl4b9kfccwbmf6dh51k6"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-clingo))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://potassco.org/")
    (synopsis "Solve dynamic temporal logic programs")
    (description "This package provides a system to solve dynamic temporal


@@ 678,8 679,10 @@ logic programs based on clingo.")
                             python-imageio
                             python-jinja2
                             python-jsonschema
                             python-networkx))
    (native-inputs (list dot2tex graphviz python-pylint python-pytest))
                             python-networkx
                             python-setuptools))
    (native-inputs (list dot2tex graphviz python-pylint python-pytest
                         python-wheel))
    (home-page "https://github.com/potassco/clingraph")
    (synopsis "Visualizer for graphs defined as logic programs")
    (description

M gnu/packages/protobuf.scm => gnu/packages/protobuf.scm +3 -1
@@ 395,7 395,9 @@ any memory-restricted system.")
     (list python-grpc-stubs
           python-grpcio-tools
           python-pytest
           python-typing-extensions))
           python-typing-extensions
           python-setuptools
           python-wheel))
    (propagated-inputs
     (list protobuf
           python-protobuf

M gnu/packages/python-build.scm => gnu/packages/python-build.scm +2 -1
@@ 219,7 219,7 @@ Python file, so it can be easily copied into your project.")
    (build-system pyproject-build-system)
    (arguments (list #:build-backend "setuptools.build_meta"
                     #:tests? #f))      ;keep dependencies to a minimum
    (native-inputs (list python-wheel))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/pypa/trove-classifiers")
    (synopsis "Canonical source for classifiers on PyPI")
    (description "This package is the canonical source for classifiers use on


@@ 650,6 650,7 @@ specified by PEP 517, @code{flit_core.buildapi}.")
                     ;; builder instead.
                     #:build-backend "setuptools.build_meta"))
    (propagated-inputs (list python-flit-core python-setuptools-scm python-tomli))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://gitlab.com/WillDaSilva/flit_scm")
    (synopsis "PEP 518 build backend combining flit_core and setuptools_scm")
    (description "This package provides a PEP 518 build backend that uses

M gnu/packages/python-check.scm => gnu/packages/python-check.scm +34 -9
@@ 792,8 792,13 @@ files and/or directories.")
                         ;; Requiring git available.
                         " and not test_generate_diff_basic"))))
    (native-inputs
     (list python-numpy python-pytest python-setuptools-scm))
    (home-page "https://github.com/scientific-python/pytest-doctestplus")
     (list python-numpy
           python-pytest
           python-setuptools-scm
           python-wheel))
    (propagated-inputs
     (list python-setuptools)) ;for pkg_resources
    (home-page "https://github.com/astropy/pytest-doctestplus")
    (synopsis "Pytest plugin with advanced doctest features")
    (description
     "This package contains a plugin for the Pytest framework that provides


@@ 842,7 847,9 @@ for interactively selecting and running Pytest tests.")
     (list python-pytest
           python-pytest-cov
           python-pytest-doctestplus
           python-setuptools-scm))
           python-setuptools-scm
           python-setuptools
           python-wheel))
    (home-page "https://github.com/astropy/pytest-filter-subpackage")
    (synopsis "Pytest plugin for filtering based on sub-packages")
    (description


@@ 947,7 954,10 @@ were inadvertently left open at the end of a unit test.")
                                 "not test_default_behavior"
                                 " and not test_strict_with_decorator"))))
    (native-inputs
     (list python-pytest python-setuptools-scm))
     (list python-pytest
           python-setuptools
           python-setuptools-scm
           python-wheel))
    (propagated-inputs
     (list python-packaging))
    (home-page "https://github.com/astropy/pytest-remotedata")


@@ 1042,6 1052,7 @@ framework and makes it easy to undo any monkey patching.  The fixtures are:
      #:test-flags #~(list "-m" "mpl_image_compare")))
    (native-inputs
     (list python-pytest
           python-setuptools
           python-setuptools-scm
           python-wheel))
    (propagated-inputs


@@ 2075,7 2086,11 @@ the implementation of that name.")
                (("def test_memory_profiler")
                 "def __off_test_memory_profiler")))))))
    (native-inputs
     (list python-pytest python-pytest-fixture-config python-safety))
     (list python-pytest
           python-pytest-fixture-config
           python-safety
           python-setuptools
           python-wheel))
    (propagated-inputs (list python-psutil))
    (home-page "https://github.com/pythonprofilers/memory_profiler")
    (synopsis "Memory profiler for Python")


@@ 2532,7 2547,7 @@ most situations.")
    (native-inputs
     (list python-pbr python-ddt python-pytest))
    (propagated-inputs
     (list python-aiohttp))
     (list python-aiohttp python-setuptools))
    (home-page "https://github.com/pnuckowski/aioresponses")
    (synopsis "Mock out requests made by ClientSession from aiohttp package")
    (description


@@ 2780,7 2795,9 @@ which make writing and running functional and integration tests easier.")
    (native-inputs
     (list python-jinja2
           python-pytest
           python-tox))
           python-tox
           python-setuptools
           python-wheel))
    (home-page "https://nox.thea.codes/")
    (synopsis "Flexible test automation")
    (description


@@ 2933,8 2950,12 @@ parametrize.  This plugin allows you to use all four.")
       (sha256
        (base32 "1ncpd74hmsz4sadvjg99fnfscxpgh3mc2siini0dhxzwgwdkk5i7"))))
    (build-system pyproject-build-system)
    (native-inputs
     (list python-pytest
           python-pytest-asyncio
           python-setuptools
           python-wheel))
    (propagated-inputs (list python-httpx))
    (native-inputs (list python-pytest python-pytest-asyncio))
    (home-page "https://colin-b.github.io/pytest_httpx/")
    (synopsis "Pytest plugin to mock httpx")
    (description "This package provides a pytest fixture to mock httpx


@@ 3011,7 3032,11 @@ running acceptance tests on headless servers.")
                                      ;; skip test that uses python-pint
                                      ;; pint has many dependencies
                                      "not test_whitelists_with_python")))))))
    (native-inputs (list python-pytest python-pytest-cov))
    (native-inputs
     (list python-pytest
           python-pytest-cov
           python-setuptools
           python-wheel))
    (propagated-inputs (list python-toml))
    (home-page "https://github.com/jendrikseipp/vulture")
    (synopsis "Find dead Python code")

M gnu/packages/python-compression.scm => gnu/packages/python-compression.scm +19 -9
@@ 114,7 114,9 @@ This Python package wraps the Blosc library.")
           python-hypothesis
           python-pyannotate
           python-pytest
           python-pytest-cov))
           python-pytest-cov
           python-setuptools
           python-wheel))
    (home-page "https://github.com/miurahr/multivolume")
    (synopsis "Treat multiple files as one")
    (description "MultiVolumefile is a Python library that provides a


@@ 251,7 253,9 @@ following algorithms are available:
           python-hypothesis
           python-pytest
           python-pytest-cov
           python-setuptools-scm))
           python-setuptools-scm
           python-setuptools
           python-wheel))
    (home-page "https://codeberg.org/miurahr/pybcj")
    (synopsis "BCJ filter library")
    (description "In data compression, BCJ, short for Branch-Call-Jump, refers


@@ 311,6 315,7 @@ Jump conversion filter by CFFI for Python.")
               (setenv "USE_SHARED_BROTLI" "1"))))))
    (propagated-inputs (list python-cffi))
    (inputs (list brotli))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/python-hyper/brotlicffi")
    (synopsis "Python CFFI bindings to the Brotli library")
    (description "This package provides Python CFFI bindings to the Brotli


@@ 332,7 337,9 @@ library.")
    (native-inputs
     (list python-pyannotate
           python-pytest
           python-setuptools-scm))
           python-setuptools-scm
           python-setuptools
           python-wheel))
    (home-page "https://pypi.org/project/inflate64/")
    (synopsis "Compression/decompression library")
    (description "The @code{inflate64} package provides @code{Deflater} and


@@ 361,7 368,7 @@ compression algorithm.")
         (add-after 'unpack 'use-dynamic-linking
           (lambda _ (setenv "PYTHON_ISAL_LINK_DYNAMIC" "1"))))))
    (inputs (list isa-l))
    (native-inputs (list python-cython))
    (native-inputs (list python-cython python-setuptools python-wheel))
    (home-page "https://github.com/pycompression/python-isal")
    (synopsis "Python bindings for the ISA-L compression library")
    (description


@@ 407,7 414,9 @@ headers compressed with QPACK.")
           python-pytest-benchmark
           python-pytest-cov
           python-pytest-timeout
           python-setuptools-scm))
           python-setuptools-scm
           python-setuptools
           python-wheel))
    (home-page "https://github.com/miurahr/pyppmd")
    (synopsis "PPMd compression/decompression library")
    (description "Pyppmd provides classes and functions for compressing and


@@ 468,9 477,8 @@ several possible methods.")
           python-pyzstd
           python-texttable))
    (native-inputs
     (list python-setuptools
           python-setuptools-scm
           python-coverage
     (list python-coverage
           python-setuptools
           python-coveralls
           python-libarchive-c
           python-py-cpuinfo


@@ 479,7 487,9 @@ several possible methods.")
           python-pytest-benchmark
           python-pytest-cov
           python-pytest-remotedata
           python-pytest-timeout))
           python-pytest-timeout
           python-setuptools-scm
           python-wheel))
    (home-page "https://github.com/miurahr/py7zr")
    (synopsis "7-zip in Python")
    (description "This package provides py7zr, which implements 7-zip

M gnu/packages/python-crypto.scm => gnu/packages/python-crypto.scm +19 -6
@@ 302,7 302,9 @@ do what is needed for client/server Kerberos authentication based on
    (native-inputs
     (list python-toml
           python-pytest
           python-setuptools-scm))
           python-setuptools
           python-setuptools-scm
           python-wheel))
    (propagated-inputs
     (list python-importlib-metadata
           python-jaraco-classes


@@ 530,11 532,13 @@ is used by the Requests library to verify HTTPS requests.")
    (build-system pyproject-build-system)
    (arguments (list #:tests? #f))  ; No tests included.
    (native-inputs
     (list python-flit-core))
     (list python-flit-core
           python-setuptools
           python-wheel))
    (home-page "https://github.com/pyca/cryptography")
    (synopsis "Test vectors for the cryptography package")
    (description
      "This package contains test vectors for the cryptography package.")
     "This package contains test vectors for the cryptography package.")
    ;; Distributed under either BSD-3 or ASL2.0
    (license (list license:bsd-3 license:asl2.0))))



@@ 574,7 578,10 @@ is used by the Requests library to verify HTTPS requests.")
           python-iso8601
           python-pretend
           python-pytest                ;for subtests
           python-pytest-benchmark))
           python-pytest-benchmark
           python-pytest-subtests
           python-setuptools
           python-wheel))
    (inputs (list python-cryptography-rust))
    (propagated-inputs (list python-cffi))
    (home-page "https://github.com/pyca/cryptography")


@@ 1093,7 1100,7 @@ provides drop-in compatibility with PyCrypto.")))
       ;; certificates.
       #:tests? #f))
    (inputs (list openssl))
    (native-inputs (list swig))
    (native-inputs (list swig python-setuptools python-wheel))
    (home-page "https://gitlab.com/m2crypto/m2crypto")
    (synopsis "Python crypto and TLS toolkit")
    (description "@code{M2Crypto} is a complete Python wrapper for OpenSSL


@@ 1280,7 1287,11 @@ derivation function.")
               (base32
                "0d4x84crbz0a17d8gi90z6zlxwm9pslc65rx0cdw2797ra360v3f"))))
    (build-system pyproject-build-system)
    (native-inputs (list python-idna python-pytest))
    (native-inputs
     (list python-idna
           python-pytest
           python-setuptools
           python-wheel))
    (propagated-inputs (list python-attrs python-cryptography python-pyasn1
                             python-pyasn1-modules python-six))
    (home-page "https://service-identity.readthedocs.io/")


@@ 1511,6 1522,8 @@ items and collections, editing items, locking and unlocking collections
           python-pytest
           python-pytest-cov
           python-service-identity
           python-setuptools
           python-wheel
           python-zipp))
    (propagated-inputs
     (list python-cryptography

M gnu/packages/python-science.scm => gnu/packages/python-science.scm +17 -5
@@ 370,9 370,12 @@ routines such as routines for numerical integration and optimization.")
             (invoke "python" "setup.py" "build_ext" "--inplace"))))))
    (propagated-inputs
     (list python-dask
           python-numpy))
           python-numpy
           python-click))
    (native-inputs
     (list python-cython
           python-setuptools
           python-wheel
           ;; The following are all needed for the tests
           htslib
           python-h5py


@@ 591,7 594,7 @@ swarm algorithm.")
           python-scikit-learn
           python-scipy))
    (native-inputs
     (list python-pytest))
     (list python-pytest python-setuptools python-wheel))
    (home-page "https://scikit-optimize.github.io/")
    (synopsis "Sequential model-based optimization toolbox")
    (description "Scikit-Optimize, or @code{skopt}, is a simple and efficient


@@ 1852,7 1855,7 @@ multiple deep learning frameworks.")
             (string-append "not test_datetime_conversion_warning"
                            " and not test_timedelta_conversion_warning"))))
    (native-inputs
     (list python-setuptools-scm python-pytest))
     (list python-setuptools python-setuptools-scm python-pytest python-wheel))
    (propagated-inputs
     (list python-numpy python-packaging python-pandas))
    (home-page "https://github.com/pydata/xarray")


@@ 2019,7 2022,9 @@ parentdir_prefix = pytensor-
    (native-inputs (list python-cython
                         python-pytest
                         python-pytest-mock
                         python-versioneer))
                         python-versioneer
                         python-setuptools
                         python-wheel))
    (propagated-inputs (list python-cons
                             python-etuples
                             python-filelock


@@ 2882,7 2887,9 @@ aggregated sum and more.")
                         python-pandas
                         python-pytest
                         python-pytest-cov
                         python-setuptools
                         python-setuptools-scm
                         python-wheel
                         tzdata-for-tests))
    (home-page "https://github.com/has2k1/plotnine")
    (synopsis "Grammar of Graphics for Python")


@@ 3666,7 3673,12 @@ compagnies.")
                "0mrm4rd6x1sm6hkvhk20mkqp9q53sl3lbvq6hqzyymkw1iqq6bhy"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-lxml python-six))
    (native-inputs (list python-pytest python-numpy python-tables))
    (native-inputs
     (list python-pytest
           python-numpy
           python-setuptools
           python-tables
           python-wheel))
    (home-page "https://libneuroml.readthedocs.org/en/latest/")
    (synopsis
     "Python library for working with NeuroML descriptions of neuronal models")

M gnu/packages/python-web.scm => gnu/packages/python-web.scm +43 -20
@@ 444,7 444,12 @@ by calling @code{FrozenList.freeze}.")
    (build-system pyproject-build-system)
    (arguments (list #:test-flags #~(list "tests")))
    (propagated-inputs (list python-frozenlist))
    (native-inputs (list python-pytest python-pytest-asyncio python-pytest-cov))
    (native-inputs
     (list python-pytest
           python-pytest-asyncio
           python-pytest-cov
           python-setuptools
           python-wheel))
    (home-page "https://github.com/aio-libs/aiosignal")
    (synopsis "Callback manager for Python @code{asyncio} projects")
    (description "This Python module provides @code{Signal}, an abstraction to


@@ 765,7 770,9 @@ WSGI.  This package includes libraries for implementing ASGI servers.")
                         python-httpx
                         python-pytest
                         python-pytest-asyncio
                         python-starlette))
                         python-starlette
                         python-setuptools
                         python-wheel))
    (home-page "https://github.com/simonw/asgi-csrf")
    (synopsis "ASGI middleware for protecting against CSRF attacks")
    (description "This Asynchronous Server Gateway Interface (ASGI)


@@ 806,7 813,9 @@ that is then compared to a @code{csrftoken} hidden form field or a
    (native-inputs (list python-pytest
                         python-pytest-asyncio
                         python-pytest-trio
                         python-starlette))
                         python-starlette
                         python-setuptools
                         python-wheel))
    (propagated-inputs (list python-sniffio))
    (home-page "https://github.com/florimondmanca/asgi-lifespan")
    (synopsis "Programmatic startup/shutdown of ASGI apps")


@@ 970,7 979,9 @@ Model} (SAM) templates into AWS CloudFormation templates.")
           python-pytest-benchmark
           python-requests
           python-sqlalchemy
           python-webtest))
           python-webtest
           python-setuptools
           python-wheel))
    (propagated-inputs
     (list python-aiohttp
           python-botocore


@@ 1310,7 1321,9 @@ over a different origin than that of the web application.")
           python-pytest-randomly
           python-pytest-timeout
           python-pytest-xdist
           python-six))
           python-six
           python-setuptools
           python-wheel))
    (home-page "https://github.com/httplib2/httplib2")
    (synopsis "Comprehensive HTTP client library")
    (description


@@ 1706,7 1719,7 @@ for use in Python programs that implement HTTP/2.")
        (base32 "17b97c56y31hi0n0x0cb5a87x4xr9jijf2y06pzj0977k6zgn6cg"))))
    (build-system pyproject-build-system)
    (native-inputs
     (list python-pytest))
     (list python-pytest python-setuptools python-wheel))
    (home-page "https://github.com/python-hyper/h11")
    (synopsis "Pure-Python, bring-your-own-I/O implementation of HTTP/1.1")
    (description


@@ 2165,7 2178,9 @@ is Python’s.")
           python-pytest-socket
           python-requests-mock
           python-setuptools-scm
           python-tox))
           python-tox
           python-setuptools
           python-wheel))
    (home-page "https://omnipathdb.org/")
    (synopsis "Python client for the OmniPath web service")
    (description "This package provides a Python client for the OmniPath web


@@ 2195,7 2210,7 @@ service.")
    (propagated-inputs (list python-aiohttp python-requests python-tqdm
                             python-typing-extensions))
    (native-inputs (list python-black python-pytest python-pytest-asyncio
                         python-pytest-mock))
                         python-pytest-mock python-setuptools python-wheel))
    (home-page "https://github.com/openai/openai-python")
    (synopsis "Python client library for the OpenAI API")
    (description "This package provides a Python client library for the


@@ 2400,7 2415,7 @@ for clients and servers.")
                                     "and not encutils "
                                     "and not website.logging")))))))
    (native-inputs
     (list python-pytest python-jaraco-test))
     (list python-pytest python-jaraco-test python-setuptools python-wheel))
    (home-page "https://github.com/jaraco/cssutils")
    (synopsis
      "CSS Cascading Style Sheets library for Python")


@@ 2578,7 2593,7 @@ set out in RFC 7540 Section 5.3 (Stream Priority).")
        (base32 "0rahm1j9danv1l6i6as80acwv16ycihxkhrvwjiqh9drxhk5ymmd"))))
    (build-system pyproject-build-system)
    (native-inputs
     (list python-pytest))
     (list python-pytest python-setuptools python-wheel))
    (propagated-inputs
     (list python-h11))
    (home-page "https://github.com/python-hyper/wsproto/")


@@ 4503,7 4518,7 @@ presume or force a developer to use a particular tool or library.")
                "178jzz6jxlxllcjqamzh5q7ahfh90m5cl1il9vmjs3xhz65z35pf"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-brotli python-flask))
    (native-inputs (list python-setuptools-scm))
    (native-inputs (list python-setuptools-scm python-setuptools python-wheel))
    (home-page "https://github.com/colour-science/flask-compress")
    (synopsis "Compress responses in a Flask app")
    (description


@@ 4526,6 4541,7 @@ headers required for a compressed response and compresses the response data.")
    (arguments
     (list #:tests? #false)) ;there are none
    (propagated-inputs (list python-flask))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/maxcountryman/flask-seasurf/")
    (synopsis "CSRF extension for Flask")
    (description "SeaSurf is a Flask extension for preventing cross-site


@@ 4961,7 4977,7 @@ Betamax that may possibly end up in the main package.")
                            "flask_jwt/__init__.py")
               (("access_token.decode\\('utf-8'\\)") "access_token")))))))
    (propagated-inputs (list python-flask python-pyjwt))
    (native-inputs (list python-pytest))
    (native-inputs (list python-pytest python-setuptools python-wheel))
    (home-page "https://github.com/mattupstate/flask-jwt")
    (synopsis "JWT token authentication for Flask apps")
    (description "This package implements JWT token authentication for Flask


@@ 4988,7 5004,9 @@ apps.")
    (native-inputs
     (list python-blinker
           python-mock
           python-pytest))
           python-pytest
           python-setuptools
           python-wheel))
    (home-page "https://www.github.com/flask-restful/flask-restful/")
    (synopsis "Flask module for creating REST APIs")
    (description


@@ 5654,9 5672,9 @@ package from WTForms.  The package has been renamed to
           (delete-file "tests/test_proxy.py") #t))))
    (build-system pyproject-build-system)
    (native-inputs
     (list python-pytest python-nose))
     (list python-pytest python-wheel))
    (propagated-inputs
     (list python-six))
     (list python-six python-setuptools))
    (home-page "https://pythonpaste.readthedocs.io/")
    (synopsis
     "Python web development tools, focusing on WSGI")


@@ 5929,6 5947,7 @@ with oauthlib.")
           python-stem
           python-validators
           python-waitress))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/benbusby/whoogle-search")
    (synopsis "Self-hosted, ad-free, privacy-respecting metasearch engine")
    (description


@@ 6026,7 6045,7 @@ ecosystem.")
                   ;; Pretend to be a CI system to skip flaky tests.
                   (setenv "CI" "true"))))))
    (native-inputs
     (list python-pytest))
     (list python-pytest python-setuptools python-wheel))
    (propagated-inputs
     (list python-idna))
    (home-page "https://github.com/python-hyper/hyperlink")


@@ 6810,7 6829,9 @@ and serve updated contents upon changes to the directory.")
           python-pytest-httpbin
           python-pytest-trio
           python-uvicorn
           python-trustme))
           python-setuptools
           python-trustme
           python-wheel))
    (propagated-inputs
     (list python-anyio
           python-certifi


@@ 6844,7 6865,7 @@ Some things HTTP Core does do:
   (package/inherit python-httpcore
     (name "python-httpcore-bootstrap")
     (arguments (list #:tests? #f))
     (native-inputs '()))))
     (native-inputs (list python-setuptools python-wheel)))))

(define-public python-httpx
  (package


@@ 6889,7 6910,9 @@ Some things HTTP Core does do:
           python-trio
           python-trio-typing
           python-trustme
           python-uvicorn))
           python-uvicorn
           python-setuptools
           python-wheel))
    (propagated-inputs
     (list python-charset-normalizer
           python-brotli


@@ 7121,7 7144,7 @@ major web browsers.")
                                "/include/rapidjson" "'"))
                (("if not os.path.isdir.*") "if False:")))))))
    (native-inputs
     (list rapidjson python-pytest python-pytz))
     (list rapidjson python-pytest python-pytz python-setuptools python-wheel))
    (home-page "https://github.com/python-rapidjson/python-rapidjson")
    (synopsis "Python wrapper around rapidjson")
    (description "This package provides a python wrapper around rapidjson.")

M gnu/packages/python-xyz.scm => gnu/packages/python-xyz.scm +187 -86
@@ 514,7 514,8 @@ similar XML files, in the same way the @command{diff} utility does it.")
        (base32 "04hnrdcf03g1s0x3sr72sh9gnszz6kyfsl9dg8a4n0zvvhn6z5yz"))))
    (build-system pyproject-build-system)
    (native-inputs
     (list python-pytest python-pytest-cov python-pytest-asyncio))
     (list python-pytest python-pytest-cov python-pytest-asyncio
           python-setuptools python-wheel))
    (propagated-inputs (list python-typing-extensions))
    (home-page "https://github.com/aio-libs/janus/")
    (synopsis


@@ 977,6 978,7 @@ and variables you'll need already imported and created.
             (substitute* "setup.py"
               ((".\\*\"") "\"")))))))
    (propagated-inputs (list python-numpy python-scipy))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/joachimwolff/fit_nbinom")
    (synopsis "Negative binomial maximum likelihood estimator")
    (description "This package provides an implementation in Python using


@@ 995,7 997,8 @@ scipy and numpy of negative binomial maximum likelihood estimation.")
                "0523jrzjj29kxpdllmfhrfj9kysi9mphp2m7ippjkn5b07i1g2pd"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-six))
    (native-inputs (list python-pytest python-pytest-runner))
    (native-inputs (list python-pytest python-pytest-runner
                         python-setuptools python-wheel))
    (home-page "https://github.com/Chilipp/docrep")
    (synopsis "Python package for docstring repetition")
    (description "Docrep is the documentation repetition module.  This module


@@ 1073,6 1076,7 @@ features of the Python's built-in dict.")
    (build-system pyproject-build-system)
    (arguments (list #:tests? #false)) ;there are none
    (propagated-inputs (list python-matplotlib python-numpy))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/Phlya/adjustText")
    (synopsis "Adjust text position in matplotlib plots to minimize overlaps")
    (description


@@ 1234,6 1238,7 @@ HoloViews, and Datashader.")
                "196ins0m7f90xz5dw764dlx060ziqbcydqzzq40b4ir5858baf3r"))))
    (build-system pyproject-build-system)
    (arguments (list #:tests? #false)) ;the tests are not run automatically
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://gitlab.com/dslackw/colored")
    (synopsis "Simple library for color and formatting to terminal")
    (description "This is a very simple Python library for color and


@@ 1256,7 1261,8 @@ names for 256 color terminal setups.")
        (base32 "0kyy9qhvrb5m9h8xmri7c88i0k1g5qc7017anw39gx44an7mn33y"))))
    (build-system pyproject-build-system)
    (native-inputs
     (list python-coverage python-flake8 python-pytest))
     (list python-coverage python-flake8 python-pytest python-setuptools
           python-wheel))
    (propagated-inputs
     (list python-colorama))
    (home-page "http://github.com/timofurrer/colorful")


@@ 1697,7 1703,8 @@ Specification v2.0 (PEP 249).")
               (base32
                "0gxkw607nrd67ck4w8jri9vfrm5g60qvp8b134m8zkiphbxjnx0l"))))
    (build-system pyproject-build-system)
    (native-inputs (list python-pytest python-jinja2 python-pygments))
    (native-inputs (list python-pytest python-jinja2 python-pygments
                         python-setuptools python-wheel))
    (arguments
     (list
      ;; Some tests fail, presumably because of slight version mismatches of


@@ 1804,6 1811,7 @@ different units.")
                "1gpy1z2i4vq1mcrhysxahz4339pbl9rzk58rf5m5gf5ym9xji6ii"))))
    (build-system pyproject-build-system)
    (arguments (list #:tests? #false)) ;there are none
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/piccolomo/plotext")
    (synopsis "Plots in the terminal")
    (description "Plotext lets you plot directly to the terminal.")


@@ 1998,6 2006,8 @@ generator MkDocs.")
           python-matplotlib
           python-pandas
           python-poetry-core
           python-setuptools
           python-wheel
           python-pytest))
    (home-page "https://github.com/crflynn/skranger")
    (synopsis "Python bindings for C++ ranger random forests")


@@ 2165,7 2175,7 @@ threads.")
    (build-system pyproject-build-system)
    (native-inputs
     (list python-setuptools-scm python-tornado-6 python-typeguard
           python-pytest))
           python-pytest python-setuptools python-wheel))
    (home-page "https://github.com/jd/tenacity")
    (synopsis "Retrying library for python")
    (description "Tenacity is a general-purpose python library to simplify the


@@ 2650,7 2660,7 @@ utilities such as ping(1).")
                             python-click-plugins
                             python-cligj
                             python-numpy
                             python-setuptools
                             python-setuptools ; For pkg_resources.
                             python-snuggs))
    (native-inputs (list gdal
                         python-boto3


@@ 2659,7 2669,8 @@ utilities such as ping(1).")
                         python-packaging
                         python-pytest
                         python-pytest-cov
                         python-shapely))
                         python-shapely
                         python-wheel))
    (home-page "https://github.com/rasterio/rasterio")
    (synopsis "Fast and direct raster I/O for use with Numpy and SciPy")
    (description "This package implements fast and direct raster I/O for use


@@ 2686,7 2697,7 @@ with Numpy and SciPy.")
             ;; Cython extensions have to be built before running the tests.
             (invoke "python" "setup.py" "build_ext" "--inplace"))))))
    (native-inputs
     (list python-cython python-matplotlib python-pytest))
     (list python-cython python-matplotlib python-pytest python-setuptools python-wheel))
    (inputs
     (list geos))
    (propagated-inputs


@@ 2972,7 2983,9 @@ NetCDF files can also be read and modified.  Python-HDF4 is a fork of
    (native-inputs
     (list python-netcdf4
           python-pytest
           python-setuptools-scm))
           python-setuptools
           python-setuptools-scm
           python-wheel))
    (propagated-inputs
     (list python-h5py python-packaging))
    (home-page "https://h5netcdf.org")


@@ 3314,7 3327,7 @@ and lookups.")
        (base32 "0lvshl2fhwa568d3y3vmx45hdp8gk5w9yl3b2q5d66r5vqn1sfwl"))))
    (build-system pyproject-build-system)
    (native-inputs
     (list python-setuptools-scm python-pytest))
     (list python-setuptools-scm python-pytest python-setuptools python-wheel))
    (propagated-inputs
     (list python-boolean.py))
    (home-page "https://github.com/nexB/license-expression")


@@ 3436,7 3449,8 @@ inter-process communication.")
        (base32
         "058av1r760ws7z6qffsjpqa39fmdxw0s1wnyr7p50y3zclg6cyqk"))))
    (build-system pyproject-build-system)
    (native-inputs (list python-pytest python-setuptools-scm))
    (native-inputs (list python-pytest python-setuptools-scm
                         python-setuptools python-wheel))
    (home-page "https://github.com/tox-dev/py-filelock")
    (synopsis "Platform independent file lock")
    (description "@code{filelock} contains a single module implementing


@@ 3720,7 3734,8 @@ your Python package version as a calendar version.")
         ;; These tests fail with "OSError: [Errno 19] No such device".
         "-k" "not BasicTestUdpMulticastBusIPv")))
    (propagated-inputs
     (list python-msgpack python-typing-extensions python-wrapt))
     (list python-msgpack python-typing-extensions python-wrapt
           python-setuptools))
    (native-inputs
     (list ;; python-canalystii ; Not packed yet
           python-codecov


@@ 3733,7 3748,8 @@ your Python package version as a calendar version.")
           python-pytest
           python-pytest-cov
           python-pytest-runner
           python-pytest-timeout))
           python-pytest-timeout
           python-wheel))
    (home-page "https://github.com/hardbyte/python-can")
    (synopsis "Controller Area Network (CAN) interface module for Python")
    (description "This package defines the @code{can} module, which provides


@@ 3868,6 3884,7 @@ a library.")
        (base32 "1920wbh2b7a8qn7zx2iiqbcdaax335l81a73x9pp8h11yzs2jdmh"))))
    (build-system pyproject-build-system)
    (arguments (list #:tests? #false))  ;There are none
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/gvalkov/optparse-pretty")
    (synopsis "Compact help formatter for optparse")
    (description


@@ 4078,6 4095,7 @@ for additional processing.")
                        ;; XXX: Fails with: "In procedure utime: No such file
                        ;; or directory".
                        (delete 'ensure-no-mtimes-pre-1980))))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/fastai/fastprogress")
    (synopsis "Progress bar for Jupyter Notebook and console")
    (description


@@ 4311,6 4329,8 @@ of @code{xmlfile}.")
           python-pytest
           python-pytest-rerunfailures
           python-pytest-xdist
           python-setuptools
           python-wheel
           unzip
           (origin
             (method url-fetch)


@@ 4673,7 4693,9 @@ Python.")
           python-pytest-subtests
           python-responses
           python-tox
           python-types-requests))
           python-types-requests
           python-setuptools
           python-wheel))
    (home-page "https://github.com/omni-us/jsonargparse/")
    (synopsis "Implement minimal boilerplate CLIs derived from type hints")
    (description


@@ 4902,7 4924,7 @@ commands.")
               (base32
                "1a4h0jpsr3wjciqg9a5kslxv65d3qqgmqgkpai4cl77wlpcxfk89"))))
    (build-system pyproject-build-system)
    (native-inputs (list python-pytest))
    (native-inputs (list python-pytest python-setuptools python-wheel))
    (home-page "https://jiffyclub.github.io/palettable/")
    (synopsis "Color palettes for Python")
    (description "Palettable (formerly brewer2mpl) is a library of color


@@ 4983,7 5005,8 @@ syntax.")
                           (string-append "not test_sending_empty_netstring"
                            " and not test_sending_one_netstring"
                            " and not test_sending_two_netstrings"))))
    (native-inputs (list python-pytest python-twisted))
    (native-inputs (list python-pytest python-twisted python-setuptools
                         python-wheel))
    (home-page "https://launchpad.net/parsley")
    (synopsis "Parsing and pattern matching Python library")
    (description


@@ 5134,7 5157,9 @@ PDF, PNG, EPS and SVG).")
                         python-pytest-cov
                         python-pytest-mypy
                         python-pytest-timeout
                         python-redis))
                         python-redis
                         python-setuptools
                         python-wheel))
    (home-page "https://github.com/WoLpH/portalocker")
    (synopsis "Python library for file locking")
    (description "Portalocker is a library to provide an easy API to file


@@ 5242,14 5267,16 @@ and is not compatible with JSON.")
           python-pytest-astropy
           python-pytest-cov
           python-setuptools-scm
           python-tomli))
           python-tomli
           python-setuptools
           python-wheel))
    (home-page "https://extension-helpers.readthedocs.io")
    (synopsis "Astropy ecosystem utilities for building and installing packages")
    (description
     "The extension-helpers package includes convenience helpers to assist with
building Python packages with compiled C/Cython extensions.  It is developed by
the Astropy project but is intended to be general and usable by any Python
package.")
     "The extension-helpers package includes convenience helpers to assist
with building Python packages with compiled C/Cython extensions.  It is
developed by the Astropy project but is intended to be general and usable by
any Python package.")
    (license license:bsd-3)))

(define-public python-extras


@@ 5737,12 5764,14 @@ clickgen is using @code{anicursorgen} and @code{xcursorgen} under the hood.")
           python-orjson
           python-pandas
           python-pytz
           python-setuptools ; For pkg_resources.
           python-sqlalchemy
           python-urllib3
           python-zstandard))
    (native-inputs
     (list python-cython
           python-pytest))
           python-pytest
           python-wheel))
    (home-page "https://github.com/ClickHouse/clickhouse-connect")
    (synopsis
     "ClickHouse database core driver for Python, Pandas, and Superset")


@@ 5787,7 5816,7 @@ well-tested and interoperable CLIs for handling GeoJSON.")
                "05c6cjpnf9s72gyn5dckxbmd8rf2kgdzfsl7pqzrnc1lcdl13zmv"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-click))
    (native-inputs (list python-pytest))
    (native-inputs (list python-pytest python-setuptools python-wheel))
    (home-page "https://github.com/janLuke/cloup")
    (synopsis "Extension library for python-click")
    (description


@@ 5915,7 5944,8 @@ and convert DDL to BigQuery JSON schema.")
              (when tests?
                (setenv "JSON_SCHEMA_TEST_SUITE" "json")
                (invoke "trial" "jsonschema")))))))
    (native-inputs (list python-setuptools-scm python-twisted))
    (native-inputs (list python-setuptools-scm python-twisted
                         python-setuptools python-wheel))
    (propagated-inputs
     (list python-attrs
           python-importlib-metadata


@@ 6118,7 6148,9 @@ memory usage and transliteration quality.")
           python-cryptography
           python-pytest
           python-sphinx
           python-sphinx-rtd-theme))
           python-sphinx-rtd-theme
           python-setuptools
           python-wheel))
    (home-page "https://github.com/progrium/pyjwt")
    (synopsis "JSON Web Token implementation in Python")
    (description


@@ 6366,7 6398,7 @@ work on your part.")
               (base32
                "17f55gi55rg47nm88fn3f8851ph03dgykdp011lxr3j6hk18lyfv"))))
    (build-system pyproject-build-system)
    (native-inputs (list python-pytest))
    (native-inputs (list python-pytest python-setuptools python-wheel))
    (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


@@ 6388,7 6420,7 @@ for linkify-it-py projects.")
                "0fg0a1lc8xbb62y9krxcp708ll58dxcwm8i7rrwpkd5sh2229f6x"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-uc-micro-py))
    (native-inputs (list python-pytest))
    (native-inputs (list python-pytest python-setuptools python-wheel))
    (home-page "https://github.com/tsutsu3/linkify-it-py")
    (synopsis "Links recognition library with full Unicode support")
    (description "This is Python port of


@@ 6413,7 6445,7 @@ recognition library with full Unicode support.  It has features like:
                "19a8dga8rnmjn5gy1cy1wdi28swbkdkypwbqikbxil6ynqcg3c20"))))
    (build-system pyproject-build-system)
    (native-inputs
     (list python-pytest python-setuptools-scm))
     (list python-pytest python-setuptools python-setuptools-scm python-wheel))
    (home-page "https://github.com/smarie/python-makefun")
    (synopsis "Library to dynamically create python functions")
    (description "@code{makefun} helps create functions dynamically with a


@@ 7091,8 7123,8 @@ via commands such as @command{rst2man}, as well as supporting Python code.")
     (list behave
           python-pyparsing
           python-pytest
           python-pytest-cov
           python-pytest-xdist))
           python-setuptools
           python-wheel))
    (propagated-inputs
     (list python-lxml python-typing-extensions))
    (home-page "https://github.com/python-openxml/python-docx/")


@@ 7235,7 7267,7 @@ with Python.")
      ;; basic tests.
      '(list "--ignore-glob=tests/*/*")))
    (native-inputs
     (list python-pytest))
     (list python-pytest python-setuptools python-wheel))
    (home-page "https://pygments.org/")
    (synopsis "Syntax highlighting")
    (description


@@ 7290,6 7322,7 @@ working with Valve's VDF text format.")
               (base32
                "1qm4xdmzd4q5pc9h5gjdpr5m7lg06k8dvqnjn7d07d3fhani8d90"))))
    (build-system pyproject-build-system)
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/mina86/pygtrie")
    (synopsis "Pure Python trie data structure implementation")
    (description


@@ 9015,7 9048,7 @@ readable format.")
        (base32 "1v34xdvh6i5cn5srwicvp0i2kvv8fzsv0v9p72ng081nsczmhgvr"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-cffi libgit2))
    (native-inputs (list python-pytest))
    (native-inputs (list python-pytest python-setuptools python-wheel))
    (home-page "https://github.com/libgit2/pygit2")
    (synopsis "Python bindings for libgit2")
    (description "Pygit2 is a set of Python bindings to the libgit2 shared library.")


@@ 9228,7 9261,9 @@ semantic version parser for Node.js.")
               (base32
                "1r1lcq59v6l75wkbp7mypanr69a6fv6m58v6dw3v6b4vwz5nqg0z"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-appdirs python-nose python-pyyaml))
    (propagated-inputs (list python-appdirs python-nose python-pyyaml
                             python-setuptools))
    (native-inputs (list python-wheel))
    (home-page "https://github.com/simonvh/norns")
    (synopsis "Simple YAML-based config module")
    (description "This package provides a simple YAML-based config module.")


@@ 10223,7 10258,7 @@ and therefore easier to read and write.")
              ;; NOTE: Any value works, the variable just has to be present.
              (setenv "SKIP_ONLINE" "1"))))))
    (native-inputs
     (list python-pytest))
     (list python-pytest python-setuptools python-wheel))
    (inputs
     (list bash-minimal))
    (home-page "https://github.com/pypa/distlib")


@@ 10963,10 10998,10 @@ from FFMPEG, reliably terminating the process when done.")
              (delete-file "tests/test_freeimage.py"))))))
    (inputs (list freeimage))
    (propagated-inputs
     (list python-imageio-ffmpeg python-numpy python-pillow python-tifffile))
     (list python-imageio-ffmpeg python-numpy python-pillow python-tifffile python-setuptools))
    (native-inputs
     (list python-black python-flake8 python-fsspec python-pytest
           python-pytest-cov))
           python-pytest-cov python-wheel))
    (home-page "https://imageio.github.io/")
    (synopsis "Library for reading and writing a wide range of image data")
    (description


@@ 12183,7 12218,9 @@ releases.")
                         python-pytest-cov
                         python-pytest-enabler
                         python-pytest-flake8
                         python-pytest-mypy))
                         python-pytest-mypy
                         python-setuptools
                         python-wheel))
    (home-page "https://github.com/jaraco/jaraco.test")
    (synopsis "Testing support by jaraco")
    (description "This package provides testing support by jaraco.")


@@ 12631,6 12668,7 @@ container data structures in Python).")
            python-pyzmq
            python-tornado-6
            python-traitlets))
     (native-inputs (list python-setuptools python-wheel))
     (home-page "https://jupyter.org/")
     (synopsis "Jupyter protocol implementation and client libraries")
     (description


@@ 12668,7 12706,9 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
             python-pytest-timeout
             python-async-generator
             python-ipython
             python-ipykernel-bootstrap))
             python-ipykernel-bootstrap
             python-setuptools
             python-wheel))
      (properties (alist-delete 'hidden? (package-properties base))))))

(define-public python-ipykernel


@@ 12744,7 12784,9 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
           ;; and causes deprecation warnings.  Using the bootstrap variant
           ;; avoids that.
           python-pytest-bootstrap
           python-pytest-timeout))
           python-pytest-timeout
           python-setuptools
           python-wheel))
    (home-page "https://ipython.org")
    (synopsis "IPython Kernel for Jupyter")
    (description "This package provides the IPython kernel for Jupyter.")


@@ 12763,7 12805,7 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
                         ;; left out here to break the cycle.
                         #:phases #~(modify-phases %standard-phases
                                      (delete 'sanity-check))))
        (native-inputs '())
        (native-inputs (list python-setuptools python-wheel))
        (propagated-inputs
         (modify-inputs (package-propagated-inputs parent)
           (replace "python-jupyter-client" python-jupyter-client-bootstrap)


@@ 12833,7 12875,9 @@ callback signature using a prototype function.")
           python-unidecode))
    (native-inputs
     (list python-pytest
           python-pytest-cov))
           python-pytest-cov
           python-setuptools
           python-wheel))
    (home-page "https://github.com/titipata/pubmed_parser")
    (synopsis "Parser for Pubmed Open-Access Subset and MEDLINE XML repository")
    (description


@@ 14266,6 14310,7 @@ falling into the Python interpreter.")
                 "{ name = \"Maarten van der Sande\", email = \"maartenvandersande@hotmail.com\"}")
                (("license = \"MIT\"") "license = { file = \"LICENSE\"}")))))))
    (propagated-inputs (list python-numba python-numpy python-pandas))
    (native-inputs (list python-setuptools python-wheel python-toml))
    (home-page "https://github.com/Maarten-vd-Sande/qnorm")
    (synopsis "Quantile normalization")
    (description "This tool implements quantile normalization. It properly


@@ 14326,7 14371,9 @@ low-level X clients.  It is written entirely in Python.")
    (build-system pyproject-build-system)
    (native-inputs
     (list python-pytest
           python-six)) ; required for conversion, not at run-time
           python-setuptools
           python-six ; required for conversion, not at run-time
           python-wheel))
    (home-page
     "https://docs.python.org/3/library/functools.html#functools.singledispatch")
    (synopsis "Backport of singledispatch feature from Python 3.4")


@@ 14762,7 14809,8 @@ plugin for flake8 to check PEP-8 naming conventions.")
         "0yvs59ymz5gdix34a95wxlxvk9bnvjgrzsnmnc3ws7whpfv3yasm"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-packaging))
    (native-inputs (list python-pypa-build python-pytest python-tomli))
    (native-inputs (list python-pypa-build python-pytest python-setuptools
                         python-tomli python-wheel))
    (home-page "https://github.com/FFY00/python-pyproject-metadata")
    (synopsis "Dataclass for PEP 621 metadata")
    (description "This project does not implement the parsing of


@@ 15595,7 15643,8 @@ the @code{sendfile(2)} system call.")
    ;; Using Pytest instead of the Makefile causes the command line tests to
    ;; fail on unknown Pytest arguments.
    (arguments (list #:test-flags #~(list "-k" "not TestCommandLineParser")))
    (native-inputs (list python-psutil python-pytest))
    (native-inputs (list python-psutil python-pytest python-setuptools
                         python-wheel))
    (propagated-inputs (list python-pyopenssl python-pysendfile))
    (home-page "https://github.com/giampaolo/pyftpdlib/")
    (synopsis "Asynchronous and scalable Python FTP server library")


@@ 16386,7 16435,8 @@ asyncio.")
                "0yv1wayrw9g6k0c2f721kha7wsv0s1fdlxpf5x7f34iqzq9z272h"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-numpy python-pyparsing))
    (native-inputs (list python-hypothesis python-pytest))
    (native-inputs (list python-hypothesis python-pytest python-setuptools
                         python-wheel))
    (home-page "https://github.com/mapbox/snuggs")
    (synopsis "Snuggs are S-expressions for Numpy")
    (description "Snuggs are S-expressions for Numpy.")


@@ 16873,7 16923,7 @@ domains support.")
     (build-system pyproject-build-system)
     (arguments
      (list #:tests? #f))
     (native-inputs (list python-setuptools-scm))
     (native-inputs (list python-setuptools python-setuptools-scm python-wheel))
     (home-page "https://github.com/jaraco/path")
     (synopsis "Object-oriented file system path manipulation library")
     (description "@code{path} (formerly @code{path.py}) implements path


@@ 17531,7 17581,9 @@ significantly better performance.")
           python-pylint
           python-pytest
           python-pytest-benchmark
           python-pytest-cache))
           python-pytest-cache
           python-setuptools
           python-wheel))
    (home-page
     "https://github.com/horejsek/python-fastjsonschema")
    (synopsis


@@ 17614,7 17666,7 @@ systems, as a command line tool, and as a Python library.")
            (delete-file-recursively "bleach/_vendor/html5lib")))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-html5lib python-tinycss2))
    (native-inputs (list python-pytest))
    (native-inputs (list python-pytest python-setuptools python-wheel))
    (home-page "https://github.com/mozilla/bleach")
    (synopsis "Whitelist-based HTML-sanitizing tool")
    (description "Bleach is an easy whitelist-based HTML-sanitizing tool.")


@@ 18150,7 18202,7 @@ simulation, statistical modeling, machine learning and much more.")
        (base32
         "1r9ixxnish9j3dq4h0z0cwlkr4f5lgi6d8mhbzw59hbbjlmp2qhd"))))
    (native-inputs
     (list python-pytest))
     (list python-pytest python-setuptools python-wheel))
    (build-system pyproject-build-system)
    (arguments
     (list #:test-flags


@@ 18364,7 18416,7 @@ This allows one to make simple text-mode user interfaces on Unix-like systems")
    (build-system pyproject-build-system)
    (propagated-inputs (list python-pydantic python-srsly
                             python-typing-extensions))
    (native-inputs (list python-pytest))
    (native-inputs (list python-pytest python-setuptools python-wheel))
    (home-page "https://github.com/explosion/confection")
    (synopsis "Config system for Python")
    (description "Confection is a lightweight library that offers a


@@ 18431,7 18483,8 @@ config files.")
    (propagated-inputs (list java-antlr4-runtime-python
                             python-pydevd
                             python-pyyaml))
    (native-inputs (list icedtea antlr4 python-pytest python-pytest-mock))
    (native-inputs (list icedtea antlr4 python-pytest python-pytest-mock
                         python-setuptools python-wheel))
    (home-page "https://github.com/omry/omegaconf")
    (synopsis "Flexible configuration system")
    (description "OmegaConf is a hierarchical configuration system and


@@ 18450,10 18503,10 @@ consistent API regardless of how the configuration was created.")
               (base32
                "1l866g1dcf2ljf8fl7ggpxk1rggry0lya4d5b264gradi1qp81p7"))))
    (build-system pyproject-build-system)
    (native-inputs
     (list python-mock python-pytest))
    (propagated-inputs
     (list python-pyyaml))
    (native-inputs
     (list python-mock python-pytest python-setuptools python-wheel))
    (synopsis "Replacement for argparse")
    (description "A drop-in replacement for argparse that allows options to also
be set via config files and/or environment variables.")


@@ 19600,6 19653,7 @@ in pure Python.")
               (base32
                "14hwk9j5zjc8rvirw95mrb07zdnpjaxjx2mj3rnq8pnlyaa809r4"))))
    (build-system pyproject-build-system)
    (arguments (list #:tests? #f)) ; No tests in PyPi tarball.
    (native-inputs
     (list python-poetry-core))
    (home-page "https://github.com/srstevenson/xdg-base-dirs")


@@ 20118,7 20172,8 @@ synchronously (wait until ready).")
           python-scikit-learn
           python-scipy
           python-toolz))
    (native-inputs (list python-cython python-pytest python-setuptools-scm))
    (native-inputs (list python-cython python-pytest python-setuptools-scm
                         python-setuptools python-wheel))
    (home-page "https://pypi.org/project/cesium/")
    (synopsis "Library for time-series feature extraction and processing")
    (description


@@ 20195,7 20250,8 @@ ISO 8859, etc.).")
                 (lambda _
                   (setenv "QT_QPA_PLATFORM" "offscreen"))))))
    (native-inputs
     (list python-pytest python-pytest-cov python-pytest-xdist))
     (list python-pytest python-pytest-cov python-pytest-xdist
           python-setuptools python-wheel))
    (inputs
     (list qtbase-5))
    (propagated-inputs


@@ 20383,7 20439,9 @@ checking library.")
            python-pytest
            python-pytest-cov
            python-pytest-dependency
            python-tomli))
            python-tomli
            python-setuptools
            python-wheel))
    (arguments
     `(#:phases
       (modify-phases %standard-phases


@@ 21517,7 21575,9 @@ def get_requires_for_build_sdist(config_settings=None):
                         python-pytest-flake8
                         python-pytest-mypy
                         ;; For the version number
                         python-setuptools-scm))
                         python-setuptools-scm
                         python-setuptools
                         python-wheel))
    (home-page "https://github.com/jaraco/inflect")
    (synopsis "Correctly generate plurals, singular nouns, ordinals, indefinite articles")
    (description


@@ 23789,7 23849,8 @@ JPEG2000 and GIF files in pure Python.")
    (propagated-inputs
     (list pigz python-isal python-typing-extensions))
    (native-inputs
     (list python-pytest python-pytest-timeout python-setuptools-scm))
     (list python-pytest python-pytest-timeout python-setuptools-scm
           python-setuptools python-wheel))
    (home-page "https://github.com/marcelm/xopen/")
    (synopsis "Open compressed files transparently")
    (description "This module provides an @code{xopen} function that works


@@ 23873,6 23934,7 @@ efficient as possible on all supported Python versions.")
                "1gqfh00ics2k1sm5g46l3bi8cl5fc5d1cwzh1ylvcxvdvypklqc7"))))
    (build-system pyproject-build-system)
    (arguments (list #:tests? #false)) ;there are none
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/noahmorrison/chevron")
    (synopsis "Mustache templating language renderer")
    (description "This package provides a Python implementation of the


@@ 23935,7 23997,9 @@ Mustache templating language renderer.")
           python-pyarrow
           python-pytest
           python-pytest-runner
           python-setuptools-scm))
           python-setuptools-scm
           python-setuptools
           python-wheel))
    (home-page "https://www.duckdb.org")
    (synopsis "DuckDB embedded database")
    (description "DuckDB is an in-process SQL OLAP database management


@@ 24856,6 24920,7 @@ point is the point of maximum curvature.")
           python-jinja2
           python-pluggy
           python-pygments
           python-setuptools ; For pkg_resources.
           python-tomli))
    (native-inputs
     (list python-flake8


@@ 25070,7 25135,8 @@ while only declaring the test-specific fields.")
     ;; Disable tests that require internet.
     (list #:test-flags '(list "-k" "not net")))
    (native-inputs
     (list python-pytest python-testfixtures python-click python-requests))
     (list python-pytest python-testfixtures python-click python-requests
           python-setuptools python-wheel))
    (home-page "https://github.com/pndurette/gTTS")
    (synopsis "Google Translate text-to-speech interface")
    (description


@@ 25601,7 25667,9 @@ manipulation, or @code{stdout}.")
           python-mypy
           python-pytest
           python-pytz
           python-simplejson))
           python-simplejson
           python-setuptools
           python-wheel))
    (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


@@ 25663,7 25731,9 @@ datatypes to and from native Python datatypes.")
           python-marshmallow
           python-mypy
           python-pytest
           python-pyyaml))
           python-pyyaml
           python-setuptools
           python-wheel))
    (home-page "https://github.com/marshmallow-code/apispec")
    (synopsis "Swagger/OpenAPI specification generator")
    (description "@code{python-apispec} is a pluggable API specification


@@ 25682,7 25752,7 @@ Swagger.")
               (base32
                "1wyw30402xq2a8icrsjmy9v43jyvawcjd85ccb2zicqlg4k5pcqd"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-apispec))
    (propagated-inputs (list python-apispec python-setuptools))
    (native-inputs
     (list python-bottle
           python-flake8


@@ 25692,7 25762,8 @@ Swagger.")
           python-pytest
           python-pyyaml
           python-tornado
           python-tox))
           python-tox
           python-wheel))
    (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


@@ 26412,7 26483,9 @@ particularly convenient for use in tests.")
           python-pytest-mypy
           python-setuptools-scm
           python-types-freezegun
           python-types-pytz))
           python-types-pytz
           python-setuptools
           python-wheel))
    (propagated-inputs (list python-jaraco-functools python-pytz))
    (home-page "https://github.com/jaraco/tempora")
    (synopsis "Python date and time objects and routines")


@@ 26536,7 26609,9 @@ queue.")
     (list python-pytest
           python-pytest-asyncio
           python-pytest-repeat
           python-pytest-timeout))
           python-pytest-timeout
           python-setuptools
           python-wheel))
    (home-page "https://zict.readthedocs.io/en/latest/")
    (synopsis "Composable mutable mapping tools")
    (description "This package provides abstract @code{MutableMapping} classes


@@ 26726,7 26801,7 @@ files, and Makefiles.")
        (base32 "1q7ajgqjfivxqsqgnhp4lc4p6jxyh4zprcsdbpd6dw54inaf0av5"))))
    (build-system pyproject-build-system)
    (native-inputs
     (list python-pytest))
     (list python-pytest python-setuptools python-wheel))
    (home-page "https://github.com/Suor/whatever")
    (synopsis "Make anonymous functions by partial application of operators")
    (description "@code{whatever} provides an easy way to make anonymous


@@ 26748,7 26823,7 @@ functions by partial application of operators.")
       (file-name (git-file-name name version))))
    (build-system pyproject-build-system)
    (native-inputs
     (list python-pytest python-whatever))
     (list python-pytest python-whatever python-setuptools python-wheel))
    (home-page "https://github.com/Suor/funcy")
    (synopsis "Functional tools")
    (description "@code{funcy} is a library that provides functional tools.


@@ 27227,7 27302,7 @@ working with iterables.")
                "040i6bjqvl33j30v865shsk30s3h7f16pqwiaj5kig857dfmqm4r"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-bitarray python-xxhash))
    (native-inputs (list python-pytest))
    (native-inputs (list python-pytest python-setuptools python-wheel))
    (home-page "https://github.com/joseph-fox/python-bloomfilter")
    (synopsis "Bloom filter")
    (description "This package provides a scalable Bloom filter implemented in


@@ 28392,7 28467,8 @@ tool).")
           python-msgpack
           python-typing-extensions))
    (native-inputs
     (list python-cython python-pytest python-setuptools-scm))
     (list python-cython python-pytest python-setuptools-scm
           python-setuptools python-wheel))
    (home-page "https://github.com/zarr-developers/numcodecs")
    (synopsis "Buffer compression and transformation codecs")
    (description


@@ 28518,6 28594,7 @@ N-dimensional arrays for Python.")
           python-pandas
           python-scipy
           python-scikit-learn
           python-setuptools ; For pkg_resources.
           python-zarr))
    (native-inputs
     (list python-awkward


@@ 28564,7 28641,7 @@ object-oriented library such as @code{scikit-learn}.")
               (with-directory-excursion "/tmp"
                 (invoke "nosetests" "-v"))))))))
    (native-inputs
     (list python-nose))
     (list python-nose python-setuptools python-wheel))
    (home-page "https://pypi.org/project/dill/")
    (synopsis "Serialize all of Python")
    (description "Dill extends Python's @code{pickle} module for serializing


@@ 28616,6 28693,7 @@ preload_resources\
               (invoke "python" "-m" "multiprocess.tests")))))))
    (propagated-inputs
     (list python-dill))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://pypi.org/project/multiprocess/")
    (synopsis "Multiprocessing and multithreading in Python")
    (description


@@ 28928,7 29006,8 @@ append on old values.  Partd excels at shuffling operations.")
    (propagated-inputs
     (list python-aiohttp python-libarchive-c python-requests python-tqdm))
    (native-inputs
     (list python-pytest python-pytest-mock python-numpy))
     (list python-pytest python-pytest-mock python-numpy python-setuptools
           python-wheel))
    (home-page "https://github.com/intake/filesystem_spec")
    (synopsis "File-system specification")
    (description "The purpose of this package is to produce a template or


@@ 29239,6 29318,7 @@ RFC 8265 and RFC 8266.")
        (base32
         "0ga3b0m8lfsv1m3260p83lhis52yvz3d42q8gip4gfj823849hnj"))))
    (build-system pyproject-build-system)
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/abseil/abseil-py")
    (synopsis "Abseil Python common libraries")
    (description


@@ 29543,7 29623,8 @@ programs that do multiple things at the same time with parallelized I/O.")
       (sha256
        (base32 "15wa66cs165wawh4pi808ac43n67b8jqddi5ppdcbkj5gfi68hpi"))))
    (build-system pyproject-build-system)
    (native-inputs (list python-attrs python-pytest))
    (native-inputs (list python-attrs python-pytest python-setuptools
                         python-wheel))
    (propagated-inputs
     (list python-mypy python-mypy-extensions python-trio
           python-typing-extensions))


@@ 30809,7 30890,7 @@ scripts to load entry points more quickly.")
             (when tests?
               (invoke "python" "-m" "unittest" "discover" "-v")))))))
    ;; ModuleNotFoundError: No module named 'poetry'
    (native-inputs (list python-poetry-core))
    (native-inputs (list python-poetry-core python-six))
    (home-page "https://github.com/vlasovskikh/funcparserlib")
    (synopsis
     "Recursive descent parsing library based on functional combinators")


@@ 31085,7 31166,9 @@ but portable.")
           python-pytest-cov
           python-pytest-mock
           python-pytest-sugar
           python-pytest-toolbox))
           python-pytest-toolbox
           python-setuptools
           python-wheel))
    (home-page "https://github.com/samuelcolvin/watchgod")
    (synopsis "Simple, modern file watching and code reload in Python")
    (description


@@ 32486,7 32569,7 @@ placement and scaling of SVG figures and adding markers, such as labels.")
      ;; Avoid python-pytest-coverage
      #:test-flags '(list "-c /dev/null")))
    (propagated-inputs (list python-six python-wcwidth))
    (native-inputs (list python-pytest))
    (native-inputs (list python-pytest python-setuptools python-wheel))
    (home-page "https://github.com/jquast/blessed")
    (synopsis "Wrapper around terminal capabilities")
    (description


@@ 32761,7 32844,8 @@ It adds a simple and readable way to print stuff during development.")
     (list python-dateutil python-pytz python-regex python-ruamel.yaml
           python-tzlocal))
    (native-inputs
     (list python-flake8 python-pytest python-parameterized tzdata-for-tests))
     (list python-flake8 python-pytest python-parameterized tzdata-for-tests
           python-setuptools python-wheel))
    (arguments
     `(#:phases
       (modify-phases %standard-phases


@@ 33662,7 33746,9 @@ older versions of Python and so are packaged here.")
                         python-sphinx
                         python-sphinx-autobuild
                         python-sphinx-rtd-theme
                         python-tox))
                         python-tox
                         python-setuptools
                         python-wheel))
    (home-page "https://github.com/Delgan/loguru")
    (synopsis "Python logging made (stupidly) simple")
    (description "Python logging made (stupidly) simple")


@@ 36317,6 36403,7 @@ Python, with static types.")
                "0cas3cjkhrvsz2rmqnhqiihy9j79wxi9xbih8jk0p9r48c2q3iyy"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-types-urllib3))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/python/typeshed")
    (synopsis "Typing stubs for requests")
    (description "This package provides typing stubs for requests.")


@@ 36349,6 36436,7 @@ Python, with static types.")
               (base32
                "0zcipjdnbnc8ymk8mh9n5mypa0qr03rqj98lbmahldcdrrap6md1"))))
    (build-system pyproject-build-system)
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/python/typeshed")
    (synopsis "Typing stubs for urllib3")
    (description "This package provides typing stubs for urllib3.")


@@ 36366,6 36454,7 @@ Python, with static types.")
                "1vdwp1jjg27b22qxgm49v21nb8vm1iki3bfsm0fnq2rsz5alfwz2"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-importlib-resources))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/JelleZijlstra/typeshed_client")
    (synopsis "Library for accessing stubs in typeshed")
    (description


@@ 36782,7 36871,9 @@ than trying to just split strings.")
           python-pytest-timeout
           python-mock
           python-numpy
           python-psutil))
           python-psutil
           python-setuptools
           python-wheel))
    (home-page "https://github.com/explosion/srsly")
    (synopsis "Serialization utilities for Python")
    (description "This package bundles some of the best Python serialization


@@ 37034,7 37125,7 @@ objects.")
               (base32 "1irw4sqrsgpc0ibxdv1hlx0d0jr1fqs48bj6mpfylzqkag9ywlfj"))))
    (build-system pyproject-build-system)
    (native-inputs
     (list python-pytest))
     (list python-pytest python-setuptools python-wheel))
    (home-page "https://github.com/cgdeboer/iteround")
    (synopsis "Sum-safe rounding for Iterables")
    (description "Iteround is a standard library sum-safe rounding library for


@@ 37148,7 37239,10 @@ object, which can be useful if you want to force your objects into a table.")
           python-mock
           python-numpy
           python-pytest
           python-pyyaml))
           python-pyyaml
           python-setuptools
           python-wheel
           python-toml))
    (home-page "https://github.com/seperman/deepdiff")
    (synopsis "Deep difference and search of any Python object/data")
    (description


@@ 37177,7 37271,9 @@ other.")
              (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
    (native-inputs
     (list python-setuptools-scm
           python-pytest))
           python-pytest
           python-setuptools
           python-wheel))
    (home-page "https://deepmerge.readthedocs.io/en/latest/")
    (synopsis "Merge nested data structures")
    (description


@@ 37629,7 37725,7 @@ versa.  Extended WKB/WKT are also supported.")
               (base32
                "1c0xx3p3lzrlyqhmccyq9c50f8v9pqk2992gb4nl50h2yy1m3s8v"))))
    (build-system pyproject-build-system)
    (native-inputs (list python-pytest))
    (native-inputs (list python-pytest python-setuptools python-wheel))
    (home-page "https://nedbatchelder.com/code/cog")
    (synopsis "Content generation tool that leverages Python")
    (description "Cog is a file generation tool.  It allows using pieces of


@@ 38070,7 38166,10 @@ path.")
           python-ruamel.yaml
           python-slugify
           python-tornado
           tzdata-for-tests))
           tzdata-for-tests
           python-setuptools
           python-wheel
           python-toml))
    (home-page "https://github.com/spanezz/staticsite")
    (synopsis "Static site generator")
    (description "Statistic is a static site generator based on Markdown and


@@ 38163,8 38262,9 @@ markdown-compliant strings.")
               (base32
                "1v5c9bim8af6g8kgxp2dhm96n5vkr8sqi56w0bdh1xy49v03lw3g"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-pillow))
    (propagated-inputs (list python-pillow python-setuptools))
    (inputs (list zbar))
    (native-inputs (list python-wheel))
    (home-page "https://github.com/Polyconseil/zbarlight")
    (synopsis "Simple Python wrapper for the zbar barcode library")
    (description "Zbarlight is a simple wrapper for the zbar library.  It can


@@ 38183,6 38283,7 @@ read all zbar supported codes.")
                "0bqkrjxp2fbz34x3wxkxji39kxinypzg8q2994sibiay29mpipxb"))))
    (build-system pyproject-build-system)
    (inputs (list openssl))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://zeroc.com")
    (synopsis "RPC framework")
    (description

M gnu/packages/qt.scm => gnu/packages/qt.scm +3 -3
@@ 4002,9 4002,9 @@ Python.")
     (list python-wrapper python-setuptools python-setuptools-scm-next))
    (propagated-inputs
     (list python-tomli
           python-packaging))
    ;; no test.
    (arguments (list #:tests? #f))
           python-packaging
           python-setuptools
           python-wheel))
    (home-page "https://www.riverbankcomputing.com/software/sip/intro")
    (synopsis "Python binding creator for C and C++ libraries")
    (description

M gnu/packages/rpc.scm => gnu/packages/rpc.scm +1 -1
@@ 254,7 254,7 @@ type information of gRPC.")
    (inputs
     (list abseil-cpp-20211102.0 c-ares grpc-for-python-grpcio openssl re2 zlib))
    (native-inputs
     (list python-cython))
     (list python-cython python-setuptools python-wheel))
    (propagated-inputs
     (list python-six))
    (home-page "https://grpc.io")

M gnu/packages/serialization.scm => gnu/packages/serialization.scm +3 -1
@@ 746,7 746,9 @@ RPC system.  Think JSON, except binary.  Or think Protocol Buffers, except faste
                         python-mypy
                         python-pytest
                         python-setuptools-scm
                         python-versioneer))
                         python-versioneer
                         python-setuptools
                         python-wheel))
    (propagated-inputs (list python-pyyaml python-tomli python-tomli-w))
    (home-page "https://jcristharif.com/msgspec/")
    (synopsis "Fast serialization/validation library")

M gnu/packages/sphinx.scm => gnu/packages/sphinx.scm +3 -1
@@ 453,7 453,9 @@ supported with @code{sphinx-issues}.")
    (propagated-inputs (list python-docutils-0.15 python-sphinx-4))
    (native-inputs
     (list python-pytest
           python-pytest-regressions))
           python-pytest-regressions
           python-setuptools
           python-wheel))
    (home-page "https://github.com/executablebooks/sphinx-panels")
    (synopsis "Sphinx extension for creating panels in a grid layout")
    (description

M gnu/packages/statistics.scm => gnu/packages/statistics.scm +10 -4
@@ 2191,7 2191,7 @@ and fast file reading.")
                 ;; Remove dataset with unclear license.
                 (lambda _
                   (delete-file "vega_datasets/_data/la-riots.csv"))))))
    (native-inputs (list python-pytest))
    (native-inputs (list python-pytest python-setuptools python-wheel))
    (propagated-inputs (list python-pandas))
    (home-page "https://github.com/altair-viz/vega_datasets")
    (synopsis "Example datasets used by Vega-related projects")


@@ 2236,6 2236,7 @@ and Vega-Lite examples.")
                             python-jsonschema
                             python-numpy
                             python-pandas
                             python-setuptools
                             python-toolz
                             python-typing-extensions))
    (native-inputs (list python-black


@@ 2323,7 2324,8 @@ correlated samples from Markov Chain Monte Carlo (MCMC).")
           (lambda _
             ;; Cython extensions have to be built before running the tests.
             (invoke "python" "setup.py" "build_ext" "--inplace"))))))
    (propagated-inputs (list python-cython python-numpy))
    (propagated-inputs (list python-cython python-numpy python-setuptools
                             python-wheel))
    (native-inputs (list python-nose))
    (home-page "http://github.com/daleroberts/hdmedians")
    (synopsis "High-dimensional medians")


@@ 2374,7 2376,9 @@ machine learning, computer vision, and high-dimensional statistics.")
                             python-scipy
                             python-typing-extensions
                             python-xarray
                             python-xarray-einstats))
                             python-xarray-einstats
                             python-setuptools
                             python-wheel))
    (home-page "https://github.com/arviz-devs/arviz")
    (synopsis "Exploratory analysis of Bayesian models")
    (description


@@ 2670,7 2674,9 @@ sampler for Markov chain Monte Carlo (MCMC).")
           python-pytest
           python-pytest-randomly
           python-pytest-xdist
           python-setuptools-scm))
           python-setuptools-scm
           python-setuptools
           python-wheel))
    (home-page
     (string-append "https://www.statsmodels.org/v" version "/"))
    (synopsis "Statistical modeling and econometrics in Python")

M gnu/packages/terminals.scm => gnu/packages/terminals.scm +3 -2
@@ 115,6 115,7 @@
  #:use-module (gnu packages popt)
  #:use-module (gnu packages protobuf)
  #:use-module (gnu packages python)
  #:use-module (gnu packages python-build)
  #:use-module (gnu packages python-check)
  #:use-module (gnu packages python-xyz)
  #:use-module (gnu packages qt)


@@ 255,8 256,8 @@ managers.")
                   (substitute* "tests/pty_test.py"
                     (("python3") (search-input-file inputs "/bin/python3"))))))))
    (native-inputs
     ;; For tests.
     (list python-pytest))
     (list python-pytest ; For tests.
           python-setuptools python-wheel))
    (home-page "https://asciinema.org")
    (synopsis "Terminal session recorder")
    (description

M gnu/packages/time.scm => gnu/packages/time.scm +2 -1
@@ 285,6 285,7 @@ datetime module, available in Python 2.3+.")
                "1wg3f3imjq3snvjccv64h5498pqv9xz664xhni7bsh8mnay91p83"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-dateutil python-pytz))
    (native-inputs (list python-setuptools python-wheel))
    (home-page "https://github.com/jmcantrell/python-dateutils")
    (synopsis "Various utilities for working with date and datetime objects")
    (description


@@ 368,7 369,7 @@ Python datetime objects.")
      ;; It's optional, remove this constrain where python-pytz is updated.
      #:test-flags #~(list "-k" "not test_with_pytz")))
    (native-inputs
     (list python-poetry-core python-pytest))
     (list python-poetry-core python-pytest python-setuptools))
    (propagated-inputs
     (list python-cffi python-h3-3 python-numba python-numpy python-pytz))
    (home-page "https://timezonefinder.michelfe.it/gui")

M gnu/packages/tor.scm => gnu/packages/tor.scm +3 -1
@@ 50,6 50,7 @@
  #:use-module (gnu packages glib)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages python)
  #:use-module (gnu packages python-build)
  #:use-module (gnu packages python-check)
  #:use-module (gnu packages python-crypto)
  #:use-module (gnu packages python-web)


@@ 447,7 448,8 @@ Potential client and exit connections are scrubbed of sensitive information.")
         "1542g6alycwlmvndxcijzn4d5lgycmxxb78gqd8qwgm9kw0fnr3q"))))
    (build-system pyproject-build-system)
    (native-inputs
     (list (list glib "bin")))       ; for glib-compile-schemas.
     (list python-setuptools python-wheel
           (list glib "bin")))       ; for glib-compile-schemas.
    (inputs
     (list python-fire
           python-psutil

M gnu/packages/tree-sitter.scm => gnu/packages/tree-sitter.scm +3 -1
@@ 32,6 32,7 @@
  #:use-module (gnu packages graphviz)
  #:use-module (gnu packages icu4c)
  #:use-module (gnu packages node)
  #:use-module (gnu packages python-build)
  #:use-module (guix build-system cargo)
  #:use-module (guix build-system gnu)
  #:use-module (guix build-system pyproject)


@@ 89,7 90,8 @@
                    name)))))))))
    (inputs (list tree-sitter))
    (native-inputs
     (list tree-sitter-python tree-sitter-javascript))
     (list tree-sitter-python tree-sitter-javascript
           python-setuptools python-wheel))
    (home-page "https://github.com/tree-sitter/py-tree-sitter")
    (synopsis "Python bindings to the Tree-sitter parsing library")
    (description "This package provides Python bindings to the

M gnu/packages/video.scm => gnu/packages/video.scm +1 -1
@@ 6181,7 6181,7 @@ video from a Wayland session.")
                "1z9j3r9pm4rdynlmhgsgnwnnaqw5274yfy4kyillgd77msnpbhaw"))))
    (build-system pyproject-build-system)
    (native-inputs
     (list gettext-minimal pkg-config))
     (list gettext-minimal pkg-config python-setuptools python-wheel))
    (inputs
     (list bash-minimal
           python-pygobject

M gnu/packages/vim.scm => gnu/packages/vim.scm +7 -1
@@ 72,6 72,7 @@
  #:use-module (gnu packages perl)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages python)
  #:use-module (gnu packages python-build)
  #:use-module (gnu packages python-xyz)
  #:use-module (gnu packages ruby)
  #:use-module (gnu packages serialization)


@@ 1030,7 1031,12 @@ through its msgpack-rpc API.")
               (base32
                "00kxlb3f1k7iaxzpsr07scavmnyg8c1jmicmr13mfk2lcdac6g2b"))))
    (build-system pyproject-build-system)
    (propagated-inputs (list python-psutil python-pynvim))
    (native-inputs
     (list python-wheel))
    (propagated-inputs
     (list python-psutil
           python-pynvim
           python-setuptools))
    (home-page "https://github.com/mhinz/neovim-remote")
    (synopsis "Control nvim processes using `nvr` commandline tool")
    (description "This package provide a `nvr` command, which can open File in

M guix/build-system/pyproject.scm => guix/build-system/pyproject.scm +6 -1
@@ 52,7 52,12 @@
  "Return the default Python package."
  ;; Lazily resolve the binding to avoid a circular dependency.
  (let ((python (resolve-interface '(gnu packages python))))
    (module-ref python 'python-toolchain)))
    ;; We are using python-sans-pip-wrapper, because it does not contain
    ;; setuptools. This allows us to skip the dependency on setuptools for
    ;; packages which don’t need it. And it allows us to more easily swap
    ;; out setuptools if a different version is required.
    ;; Using python-toolchain here might cause dependency cycles.
    (module-ref python 'python-sans-pip-wrapper)))

(define sanity-check.py
  (search-auxiliary-file "python/sanity-check.py"))