summaryrefslogtreecommitdiff
path: root/gnu/packages/python-xyz.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2021-12-19 15:15:11 +0200
committerEfraim Flashner <efraim@flashner.co.il>2021-12-19 15:15:11 +0200
commit6ccf8ea81f95963c0b7f945648106576008ee105 (patch)
treef39f596e6c3e98ff1e9f1de0ad41c977e9dd37c1 /gnu/packages/python-xyz.scm
parentfcaed5b81e893f34d77527fbef389ca628ca882d (diff)
parent9f916d14765b00309c742fcbff0cfabdd10dcf05 (diff)
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/python-xyz.scm')
-rw-r--r--gnu/packages/python-xyz.scm7639
1 files changed, 4429 insertions, 3210 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b319793b38..2af4794019 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -42,7 +42,6 @@
;;; Copyright © 2017, 2020, 2021 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017, 2018, 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
-;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
;;; Copyright © 2017, 2019, 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2018 Ethan R. Jones <ethanrjones97@gmail.com
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
@@ -52,7 +51,7 @@
;;; Copyright © 2016, 2018 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
-;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2018, 2019, 2021 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018, 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com>
;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
@@ -64,7 +63,7 @@
;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019, 2020, 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
-;;; Copyright © 2019, 2020 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2019, 2020, 2021 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
;;; Copyright © 2019, 2020, 2021 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2019, 2021 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
@@ -72,9 +71,8 @@
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 sirgazil <sirgazil@zoho.com>
;;; Copyright © 2020 Sebastian Schott <sschott@mailbox.org>
-;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org>
-;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com>
;;; Copyright © 2020, 2021 Alexandros Theodotou <alex@zrythm.org>
+;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com>
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;; Copyright © 2020 Alex ter Weele <alex.ter.weele@gmail.com>
;;; Copyright © 2020 Matthew James Kraai <kraai@ftbfs.org>
@@ -91,7 +89,7 @@
;;; Copyright © 2020, 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2020 Diego N. Barbato <dnbarbato@posteo.de>
-;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
+;;; Copyright © 2020 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2019 Kristian Trandem <kristian@devup.no>
;;; Copyright © 2020, 2021 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
@@ -110,6 +108,10 @@
;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
;;; Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
;;; Copyright © 2021 Pradana Aumars <paumars@courrier.dev>
+;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2021 Sébastien Lerique <sl@eauchat.org>
+;;; Copyright © 2021 Raphaël Mélotte <raphael.melotte@mind.be>
+;;; Copyright © 2021 ZmnSCPxj <ZmnSCPxj@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -141,6 +143,7 @@
#:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
#:use-module (gnu packages dbm)
+ #:use-module (gnu packages django)
#:use-module (gnu packages djvu)
#:use-module (gnu packages docker)
#:use-module (gnu packages enchant)
@@ -183,6 +186,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
@@ -232,6 +236,78 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26))
+(define-public python-janus
+ (package
+ (name "python-janus")
+ (version "0.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "janus" version))
+ (sha256
+ (base32 "030xvl2vghi5ispfalhvch1rl6i2jsy5bf1dgjafa7vifppy04j7"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "--cov=janus" "--cov=tests")))))))
+ (native-inputs
+ (list python-pytest python-pytest-cov python-pytest-asyncio))
+ (home-page "https://github.com/aio-libs/janus/")
+ (synopsis
+ "Sync-async queue to interoperate between asyncio tasks and classic threads")
+ (description
+ "Mixed sync-async queue, supposed to be used for communicating between
+classic synchronous (threaded) code and asynchronous (in terms of
+@url{https://docs.python.org/3/library/asyncio.html,asyncio}) one. Like
+@url{https://en.wikipedia.org/wiki/Janus,Janus god} the queue object from the
+library has two faces: synchronous and asynchronous interface. Synchronous is
+fully compatible with
+@url{https://docs.python.org/3/library/queue.html,standard queue},
+asynchronous one follows
+@url{https://docs.python.org/3/library/asyncio-queue.html,asyncio queue
+design}.")
+ (license license:asl2.0)))
+
+(define-public python-logbook
+ (package
+ (name "python-logbook")
+ (version "1.5.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Logbook" version))
+ (sha256
+ (base32 "1s1gyfw621vid7qqvhddq6c3z2895ci4lq3g0r1swvpml2nm9x36"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'cythonize-sources
+ (lambda _
+ (with-directory-excursion "logbook"
+ (invoke "cython" "_speedups.pyx"))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Check cython build also
+ (setenv "CYBUILD" "True")
+ (invoke "pytest" "--cov=logbook" "-r" "s" "tests")))))))
+ (native-inputs
+ (list python-cython python-mock python-pytest python-pytest-cov
+ python-google-brotli))
+ (home-page "https://github.com/getlogbook/logbook")
+ (synopsis "Logbook is a logging replacement for Python")
+ (description
+ "Logbook is a logging system for Python that replaces the standard
+library’s logging module. It was designed with both complex and simple
+applications in mind and the idea to make logging fun.")
+ (license license:bsd-3)))
+
(define-public python-ueberzug
(package
(name "python-ueberzug")
@@ -245,16 +321,12 @@
"1hxd45dnwa9yv908acarr98n2drmar66wzq9z2qd3irj24srzr3w"))))
(build-system python-build-system)
(inputs
- `(("libx11" ,libx11)
- ("libxext" ,libxext)))
+ (list libx11 libxext))
(propagated-inputs
- `(("python-attrs" ,python-attrs)
- ("python-docopt" ,python-docopt)
- ("python-pillow" ,python-pillow)
- ("python-xlib" ,python-xlib)))
+ (list python-attrs python-docopt python-pillow python-xlib))
(home-page "https://github.com/seebye/ueberzug")
(synopsis "Command line util to display images in combination with X11")
- (description "Überzug is a command line util which allows to draw images on
+ (description "Überzug is a command line util which draws images on
terminals by using child windows. The advantages of using Überzug are:
@itemize
@item No race conditions as a new window is created to display images.
@@ -280,7 +352,7 @@ workspaces.
"0qka44n88y3qcj7xz0k0f3qb4phcg4z0wvd4jcii9lcr6rvbiqn5"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest", python-pytest)))
+ (list python-pytest))
(arguments
'(#:phases
(modify-phases %standard-phases
@@ -289,8 +361,7 @@ workspaces.
(when tests?
(invoke "pytest")))))))
(inputs
- `(("python-six", python-six)
- ("python-termcolor", python-termcolor)))
+ (list python-six python-termcolor))
(synopsis "Library for automatically generating command line interfaces")
(description
"Fire is a library for automatically generating command line interfaces
@@ -353,13 +424,10 @@ features of the Python's built-in dict.")
"0ybs7kkp0cpl8zn1lvf7481xhssg1bbhh5la2cjzdm5yibashyxa"))))
(build-system python-build-system)
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-nose" ,python-nose)
- ("python-setuptools" ,python-setuptools) ; Won't build without this.
- ("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-coverage python-nose python-setuptools ; Won't build without this.
+ python-setuptools-scm))
(propagated-inputs
- `(("python-toml" ,python-toml)
- ("python-flake8" ,python-flake8)))
+ (list python-toml python-flake8))
(home-page "https://github.com/casperdcl/argopt")
(synopsis "Generate a command-line interface from a docstring")
(description "This package provides tools to define a command line interface
@@ -401,11 +469,9 @@ decorators, including variants of the Python standard library's
(arguments
`(#:tests? #f))
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-flake8" ,python-flake8)
- ("python-pytest" ,python-pytest)))
+ (list python-coverage python-flake8 python-pytest))
(propagated-inputs
- `(("python-colorama" ,python-colorama)))
+ (list python-colorama))
(home-page "http://github.com/timofurrer/colorful")
(synopsis "Terminal string styling")
(description "Colorful provides an array of text styles, that can be used
@@ -425,7 +491,7 @@ as functions or string constants to form colored terminal output.")
(base32 "1iirah0kydrdp505qnjj6gi54avcr7z0hbkfx9vmh8myr30rpz6q"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/pavdmyt/yaspin")
(synopsis "Yet Another Terminal Spinner")
(description "Yaspin provides a terminal spinner to indicate the progress
@@ -445,10 +511,9 @@ during long operations.")
(base32 "106akalywfmnypzkdrhgz4n4740a8xayspybsw59kq06vz8i2qrc"))))
(build-system python-build-system)
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)))
+ (list python-mock python-pytest))
(propagated-inputs
- `(("python-nltk" ,python-nltk-3.4)))
+ (list python-nltk-3.4))
(home-page
"https://github.com/yeraydiazdiaz/lunr.py")
(synopsis "Full-text search library")
@@ -457,6 +522,26 @@ It indexes documents and provides a search interface for retrieving documents
that best match text queries.")
(license license:expat)))
+(define-public python-mrkd
+ (package
+ (name "python-mrkd")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mrkd" version))
+ (sha256
+ (base32 "1bvaqbna1ihb4y2mv9pmvqcq3r9j6lwbbii99dani8lxx4dqqvs5"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-jinja2 python-mistune python-pygments))
+ (home-page "https://pypi.org/project/mrkd/")
+ (synopsis "Python Markdown implementation")
+ (description
+ "@code{mrkd} writes man pages using Markdown, and convert them to Roff or
+HTML")
+ (license license:bsd-3)))
+
(define-public python-mkdocs
(package
(name "python-mkdocs")
@@ -479,13 +564,13 @@ that best match text queries.")
(substitute* "setup.py"
(("==") ">=")))))))
(propagated-inputs
- `(("python-click" ,python-click)
- ("python-jinja2" ,python-jinja2)
- ("python-livereload" ,python-livereload)
- ("python-lunr" ,python-lunr)
- ("python-markdown" ,python-markdown)
- ("python-pyyaml" ,python-pyyaml)
- ("python-tornado" ,python-tornado)))
+ (list python-click
+ python-jinja2
+ python-livereload
+ python-lunr
+ python-markdown
+ python-pyyaml
+ python-tornado))
(home-page "https://www.mkdocs.org")
(synopsis "Project documentation with Markdown")
(description "MkDocs is a static site generator geared towards building
@@ -509,7 +594,7 @@ configured with a single YAML configuration file.")
(arguments
`(#:tests? #f))
(propagated-inputs
- `(("python-markdown" ,python-markdown)))
+ (list python-markdown))
(home-page "https://github.com/facelessuser/pymdown-extensions")
(synopsis "Extension pack for Python Markdown")
(description "PyMdown Extensions is a collection of extensions for Python
@@ -539,11 +624,8 @@ Markdown. All extensions are found under the module namespace of pymdownx.")
(substitute* "requirements.txt"
(("mkdocs-material-extensions.*$") "")))))))
(propagated-inputs
- `(("python-markdown" ,python-markdown)
- ("python-mkdocs" ,python-mkdocs)
- ("python-pygments" ,python-pygments)
- ("python-pymdown-extensions"
- ,python-pymdown-extensions)))
+ (list python-markdown python-mkdocs python-pygments
+ python-pymdown-extensions))
(home-page "https://squidfunk.github.io/mkdocs-material/")
(synopsis "Material Design theme for MkDocs")
(description "This package provides a theme plugin for the static site
@@ -581,13 +663,10 @@ generator MkDocs.")
("gnupg" ,gnupg)
("pkg-config" ,pkg-config)))
(propagated-inputs
- `(("python-aiodns" ,python-aiodns)
- ("python-aiohttp" ,python-aiohttp)
- ("python-pyasn1" ,python-pyasn1)
- ("python-pyasn1-modules" ,python-pyasn1-modules)))
+ (list python-aiodns python-aiohttp python-pyasn1
+ python-pyasn1-modules))
(inputs
- `(("libidn" ,libidn)
- ("python" ,python))) ; We are building a Python extension.
+ (list libidn python)) ; We are building a Python extension.
(synopsis "XMPP library without threads")
(description "Slixmpp is a XMPP library for Python 3.7+. It is a fork of
SleekXMPP. Its goal is to only rewrite the core of the library (the low level
@@ -608,12 +687,10 @@ threads.")
"1j36v9fcpmmd4985ix0cwnvcq71rkrn5cjiiv0id9vkl4kpxh0gv"))))
(build-system python-build-system)
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)
- ("python-sphinx" ,python-sphinx)
- ("python-tornado" ,python-tornado)
- ("python-pytest" ,python-pytest)))
+ (list python-setuptools-scm python-sphinx python-tornado
+ python-pytest))
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'check
@@ -650,9 +727,9 @@ task of adding retry behavior to just about anything.")
(invoke "py.test")))
#t)))))
(propagated-inputs
- `(("python-requests" ,python-requests)))
+ (list python-requests))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/eternnoir/pyTelegramBotAPI")
(synopsis "Python Telegram bot api")
(description "This package provides a simple, but extensible Python
@@ -671,7 +748,7 @@ implementation for the Telegram Bot API.")
"1lpk8zmfv8vz090h5d0hzb4n39wgasxdd3x3bpn3v1x1n9dfzaih"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'check
@@ -695,7 +772,7 @@ with Python's logging module that outputs records using terminal colors.")
"1gscnlvj37m421ch3akm3kddxqkrgbg5zrpwy2ky1j59w6vclzg3"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-psutil" ,python-psutil)))
+ (list python-psutil))
(home-page "https://github.com/rasbt/pyprind")
(synopsis "Python Progress Bar and Percent Indicator Utility")
(description "The PyPrind (Python Progress Indicator) module provides a
@@ -715,9 +792,9 @@ of a loop structure or other iterative computation.")
"118zm25c8mlajfl0pzssnwz4b8lamj9dgymla9rn4nla7l244a0r"))))
(build-system python-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
- `(("libgphoto2" ,libgphoto2)))
+ (list libgphoto2))
(home-page "https://github.com/jim-easterbrook/python-gphoto2")
(synopsis "Python interface to libgphoto2")
(description "@code{python-gphoto2} is a comprehensive Python interface
@@ -737,7 +814,7 @@ automatically generate the interface code.")
"1visbisfini5j14bdzgs95yssw6sm4pfzyq1n3lfvbyjxw7i485g"))))
(build-system python-build-system)
(native-inputs
- `(("python-d2to1" ,python-d2to1)))
+ (list python-d2to1))
(home-page "https://github.com/vaab/colour")
(synopsis "Convert and manipulate various color representations")
(description "Pythonic way to manipulate color representations (HSL, RVB,
@@ -756,7 +833,7 @@ web, X11, ...).")
"09fq7pq1z8d006xh5z75rm2lk61v6yn2xhy53z4gsgibhqb2vvs9"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(home-page "https://github.com/embray/d2to1")
(synopsis "Allows for distutils2-like setup.cfg files as package metadata
in python")
@@ -777,10 +854,9 @@ distribute/setuptools setup.py script.")
"0vrhrpr70i61y5q5ysk341x1539ff1q1k82g59zq69lv16s0f76s"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-mock" ,python-mock)))
+ (list python-pytest python-mock))
(inputs
- `(("libraw" ,libraw)))
+ (list libraw))
(home-page "https://rawkit.readthedocs.io")
(synopsis "Ctypes-based LibRaw binding for Python")
(description "The rawkit package provides two modules: rawkit and libraw.
@@ -801,7 +877,7 @@ interacting with the low-level LibRaw C APIs.")
"1zmvmwgxyzvm83818skhn8b4wrci4kmnixaax8q3ia5cn7xrmj6v"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-tkinter" ,python "tk")))
+ (list `(,python "tk")))
(home-page "https://github.com/robertlugg/easygui")
(synopsis "GUI programming module for Python")
(description "EasyGUI is a module for very simple, very easy GUI
@@ -822,11 +898,9 @@ simple function calls.")
(base32 "07s3arn85ri92im6x3ipljdmrxmpik7irs06i6lm17j1x6j9841d"))))
(build-system python-build-system)
(inputs
- `(("md4c" ,md4c)))
+ (list md4c))
(native-inputs
- `(("python-flake8" ,python-flake8)
- ("python-pkgconfig" ,python-pkgconfig)
- ("pkg-config" ,pkg-config)))
+ (list python-flake8 python-pkgconfig pkg-config))
(home-page "https://github.com/dominickpastore/pymd4c")
(synopsis "Python bindings for MD4C")
(description
@@ -847,10 +921,9 @@ to CommonMark.")
"0mhpxs7vlqx8w75z93dy7nnvx89kwfdjkla03l19an15rlyqyspd"))))
(build-system python-build-system)
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)
- ("python-pytest" ,python-pytest)))
+ (list python-setuptools-scm python-pytest))
(inputs
- `(("libmediainfo" ,libmediainfo)))
+ (list libmediainfo))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -858,25 +931,22 @@ to CommonMark.")
(lambda _
(substitute* "pymediainfo/__init__.py"
(("libmediainfo.so.0")
- (string-append (assoc-ref %build-inputs "libmediainfo")
- "/lib/libmediainfo.so.0")))
- #t))
+ (search-input-file %build-inputs
+ "/lib/libmediainfo.so.0")))))
(replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
(when tests?
- ;; Extend PYTHONPATH so the built package will be found.
- (setenv "PYTHONPATH"
- (string-append (getcwd) "/build/lib:"
- (getenv "PYTHONPATH")))
- ;; Skip the only failing test "test_parse_url"
+ (add-installed-pythonpath inputs outputs)
+ ;; Skip the only failing test "test_parse_url" because it tries
+ ;; to access the internet.
(invoke "pytest" "-vv" "-k" "not test_parse_url")))))))
(home-page
"https://github.com/sbraz/pymediainfo")
(synopsis
"Python wrapper for the mediainfo library")
(description
- "Python wrapper for the mediainfo library to access the technical and tag
-data for video and audio files.")
+ "This package provides a Python wrapper for the mediainfo library to
+access the technical and tag data for video and audio files.")
(license license:expat)))
(define-public python-psutil
@@ -933,14 +1003,12 @@ iotop, uptime, pidof, tty, taskset, pmap.")
#t))))
(build-system python-build-system)
(native-inputs
- `(("python-cython" ,python-cython)
- ("python-matplotlib" ,python-matplotlib)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)))
+ (list python-cython python-matplotlib python-pytest
+ python-pytest-cov))
(inputs
- `(("geos" ,geos)))
+ (list geos))
(propagated-inputs
- `(("python-numpy" ,python-numpy)))
+ (list python-numpy))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -979,7 +1047,7 @@ planar geometric objects. It is based on the @code{GEOS} library.")
"1f8i4zwj5vmpzbz6b17bljy4399gx5aq7vsyw63sz2qgyjcd73yh"))))
(build-system python-build-system)
(native-inputs
- `(("python-pep8" ,python-pep8)))
+ (list python-pep8))
(home-page "https://github.com/skorokithakis/shortuuid")
(synopsis "Generator library for concise, unambiguous and URL-safe UUIDs")
(description
@@ -1010,11 +1078,8 @@ module and then similar looking characters are removed.")
(invoke "pytest"))
#t)))))
(native-inputs
- `(("python-cython" ,python-cython)
- ("python-pytest" ,python-pytest)
- ("python-setuptools-scm" ,python-setuptools-scm)
- ("python-toml" ,python-toml)
- ("python-wheel" ,python-wheel)))
+ (list python-cython python-pytest python-setuptools-scm python-toml
+ python-wheel))
(home-page "https://github.com/python-useful-helpers/logwrap")
(synopsis "Decorator for logging function arguments")
(description "This package provides a decorator to log function arguments
@@ -1034,7 +1099,7 @@ and function call return values in a human-readable way.")
"1r9987qmy1pz3hq54160bapqsywpq14waw4w9x3ly8hmq7kpgfbj"))))
(build-system python-build-system)
(native-inputs
- `(("python-mock" ,python-mock)))
+ (list python-mock))
(home-page "https://github.com/Anaconda-Platform/clyent")
(synopsis "Command line client library")
(description "Clyent is a Python command line utility library. It is used
@@ -1057,11 +1122,9 @@ by @code{binstar}, @code{binstar-build}, and @code{chalmers}.")
"018yg7g2pa6vjixx1nx41cfispgfi0azzp0a1chlycbj8jsil0ys"))))
(build-system python-build-system)
(native-inputs
- `(("python-freezegun" ,python-freezegun)
- ("python-pytest" ,python-pytest)
- ("tzdata" ,tzdata-for-tests)))
+ (list python-freezegun python-pytest tzdata-for-tests))
(propagated-inputs
- `(("python-pytz" ,python-pytz)))
+ (list python-pytz))
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'check
@@ -1118,19 +1181,19 @@ and verifies that it matches the intended target hostname.")
"02dy0b1k7qlhn7ajyzkrvxhyhjj0hzcq6ws3zjml9hkdz5znz92g"))))
(build-system python-build-system)
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-hypothesis" ,python-hypothesis)
- ("python-pre-commit" ,python-pre-commit)
- ("python-py" ,python-py)
- ("python-pytest" ,python-pytest)
- ("python-pytest-benchmark" ,python-pytest-benchmark)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-setuptools-scm" ,python-setuptools-scm)
- ("python-sortedcollections" ,python-sortedcollections)
- ("python-sortedcontainers" ,python-sortedcontainers)
- ("python-sphinx" ,python-sphinx)
- ("python-sphinx-autodoc-typehints" ,python-sphinx-autodoc-typehints)
- ("python-tox" ,python-tox)))
+ (list python-coverage
+ python-hypothesis
+ python-pre-commit
+ python-py
+ python-pytest
+ python-pytest-benchmark
+ python-pytest-cov
+ python-setuptools-scm
+ python-sortedcollections
+ python-sortedcontainers
+ python-sphinx
+ python-sphinx-autodoc-typehints
+ python-tox))
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'relax-reqs
@@ -1259,14 +1322,11 @@ NetCDF files can also be read and modified. Python-HDF4 is a fork of
(string-append "['" prefix "/lib" "']")))
#t))))))
(propagated-inputs
- `(("python-six" ,python-six)
- ("python-numpy" ,python-numpy)))
+ (list python-six python-numpy))
(inputs
- `(("hdf5" ,hdf5-1.10)))
+ (list hdf5-1.10))
(native-inputs
- `(("python-cython" ,python-cython)
- ("python-pkgconfig" ,python-pkgconfig)
- ("pkg-config" ,pkg-config)))
+ (list python-cython python-pkgconfig pkg-config))
(home-page "https://www.h5py.org/")
(synopsis "Read and write HDF5 files from Python")
(description
@@ -1280,6 +1340,34 @@ concepts.")
(define-public python2-h5py
(package-with-python2 python-h5py))
+(define-public python-hnswlib
+ (package
+ (name "python-hnswlib")
+ (version "0.5.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "hnswlib" version))
+ (sha256
+ (base32 "0wf1cwmxmdzfqmfhrkqdxb5spf21ylgl2bidswhzjrqhwf35c9qf"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-native-optimization
+ (lambda _
+ (substitute* "setup.py"
+ ((", '-march=native'") "")))))))
+ (propagated-inputs
+ (list python-numpy))
+ (native-inputs
+ (list pybind11))
+ (home-page "https://github.com/nmslib/hnswlib")
+ (synopsis "Fast approximate nearest neighbor search")
+ (description "Hnswlib is a header-only C++ implementation of fast
+approximate nearest neighbor search with Python bindings.")
+ (license license:asl2.0)))
+
(define-public python-pyls-black
(package
(name "python-pyls-black")
@@ -1298,16 +1386,10 @@ concepts.")
(arguments
`(#:test-target "pytest"))
(propagated-inputs
- `(("python-black" ,python-black)
- ("python-language-server"
- ,python-language-server)
- ("python-toml" ,python-toml)))
+ (list python-black python-language-server python-toml))
(native-inputs
- `(("python-flake8" ,python-flake8)
- ("python-isort" ,python-isort)
- ("python-mypy" ,python-mypy)
- ("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-flake8 python-isort python-mypy python-pytest
+ python-pytest-runner))
(home-page "https://github.com/rupert/pyls-black")
(synopsis "Black plugin for the Python Language Server")
(description "Black plugin for the Python Language Server.")
@@ -1334,7 +1416,7 @@ concepts.")
(setenv "HOME" "/tmp")
(invoke "python" "sh.py" "test"))))))
(native-inputs
- `(("python-coverage" ,python-coverage)))
+ (list python-coverage))
(home-page "https://github.com/amoffat/sh")
(synopsis "Python subprocess replacement")
(description "This package provides a replacement for Python's
@@ -1353,11 +1435,9 @@ concepts.")
(base32 "0w0gi6jnch38hiygl62j4xkcirv4y3dcwrvxl9p7bsk6j27lzihs"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-numpy" ,python-numpy)))
+ (list python-numpy))
(native-inputs
- `(("python-coveralls" ,python-coveralls)
- ("python-cython" ,python-cython)
- ("python-pytest-cov" ,python-pytest-cov)))
+ (list python-coveralls python-cython python-pytest-cov))
(home-page "https://github.com/Unidata/cftime")
(synopsis "Library for time handling")
(description
@@ -1387,14 +1467,11 @@ of the netcdf4 package before.")
(setenv "HDF5_DIR" (assoc-ref inputs "hdf5"))
#t)))))
(native-inputs
- `(("python-cython" ,python-cython)))
+ (list python-cython))
(propagated-inputs
- `(("python-numpy" ,python-numpy)
- ("python-cftime" ,python-cftime)))
+ (list python-numpy python-cftime))
(inputs
- `(("netcdf" ,netcdf)
- ("hdf4" ,hdf4)
- ("hdf5" ,hdf5)))
+ (list netcdf hdf4 hdf5))
(home-page "https://github.com/Unidata/netcdf4-python")
(synopsis "Python/numpy interface to the netCDF library")
(description "Netcdf4-python is a Python interface to the netCDF C
@@ -1430,10 +1507,9 @@ to users of that module.")
(when tests?
(invoke "pytest")))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(propagated-inputs
- `(("python-lxml" ,python-lxml)
- ("python-paramiko" ,python-paramiko)))
+ (list python-lxml python-paramiko))
(home-page "https://github.com/ncclient/ncclient")
(synopsis "Python library for NETCONF clients")
(description "@code{ncclient} is a Python library that facilitates
@@ -1453,7 +1529,7 @@ protocol.")
(base32 "1g0sgphss8hbi1rpl4avy1nmbixmy9v194xdbvkjgl90vzgy2q3r"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-boolean.py" ,python-boolean.py)))
+ (list python-boolean.py))
(home-page "https://github.com/nexB/license-expression")
(synopsis "Apply boolean logic to license expressions")
(description
@@ -1464,6 +1540,35 @@ and simplified. It supports SPDX license expressions as well as other naming
conventions and aliases in the same expression.")
(license license:gpl2+)))
+(define-public python-wand
+ (package
+ (name "python-wand")
+ (version "0.6.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Wand" version))
+ (sha256
+ (base32 "1nxn7zvbnfgk4kkxajbzglcjpbgr84ilhnxm990nifjxqb61ph7b"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'find-magickwand
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "MAGICK_HOME" (assoc-ref inputs "imagemagick"))
+ (setenv "WAND_MAGICK_LIBRARY_SUFFIX" ".Q16"))))))
+ (native-inputs
+ (list python-pytest))
+ (inputs
+ (list imagemagick))
+ (home-page "https://docs.wand-py.org/")
+ (synopsis "MagickWand API binding for Python")
+ (description
+ "Wand is a ctypes-based binding for the C API of ImageMagick's MagickWand
+library.")
+ (license license:expat)))
+
(define-public python-lockfile
(package
(name "python-lockfile")
@@ -1478,7 +1583,7 @@ conventions and aliases in the same expression.")
(build-system python-build-system)
(arguments '(#:test-target "check"))
(native-inputs
- `(("python-pbr" ,python-pbr)))
+ (list python-pbr))
(home-page "https://launchpad.net/pylockfile")
(synopsis "Platform-independent file locking module")
(description
@@ -1502,7 +1607,7 @@ API for locking files.")
"0snprxdnh3m45r3b0az4v0l28h90ycmfbybzla6xg1qviwv9w1ak"))))
(build-system python-build-system)
(inputs
- `(("re2" ,re2)))
+ (list re2))
(home-page "https://github.com/facebook/pyre2")
(synopsis "Python wrapper for RE2")
(description "This package provides a Python extension that wraps Google's
@@ -1568,8 +1673,7 @@ version identifier.")
(base32 "1arnckykpkvv2qrp49l1k7q5mr5pisswl0rvdx98x8wsl1n361pk"))))
(build-system python-build-system)
(native-inputs
- `(("python-attrs" ,python-attrs)
- ("python-pytz" ,python-pytz)))
+ (list python-attrs python-pytz))
(home-page "https://github.com/irmen/Serpent")
(synopsis "Serializer for literal Python expressions")
(description
@@ -1660,7 +1764,7 @@ Python 3 support.")
(arguments
`(#:tests? #f))
(native-inputs
- `(("unzip" ,unzip)))
+ (list unzip))
(home-page "https://pypi.org/project/setuptools/")
(synopsis
"Library designed to facilitate packaging Python projects")
@@ -1695,11 +1799,9 @@ Python 3 support.")
"1l8zmcnp9h8sp8hsw7b81djaa1a9yig0y7i4phh5pihqz1gdn7yi"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-pytest python-setuptools-scm))
(propagated-inputs
- `(("python-toml" ,python-toml)
- ("python-wheel" ,python-wheel)))
+ (list python-toml python-wheel))
(home-page
"https://github.com/s0undt3ch/setuptools-declarative-requirements")
(synopsis "File support for setuptools declarative setup.cfg")
@@ -1708,7 +1810,7 @@ Python 3 support.")
@code{setup.cfg}.")
(license license:asl2.0)))
-;; The setuptools provided by Python 3.7.4 is too new for Tensorflow.
+;; The setuptools provided by Python 3.9 is too new for Tensorflow.
(define-public python-setuptools-for-tensorflow
(hidden-package
(package
@@ -1719,7 +1821,21 @@ Python 3 support.")
(uri (pypi-uri "setuptools" version ".zip"))
(sha256
(base32
- "1mzdhvfhnv4lggxa8rjl0dzqxvfx377gg5sqs57v89wrp09lwj65")))))))
+ "1mzdhvfhnv4lggxa8rjl0dzqxvfx377gg5sqs57v89wrp09lwj65"))))
+ (arguments
+ `(#:tests? #f ; tests require vendored resources
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'compatibility-fixes
+ (lambda _
+ ;; Python 3.9 no longer has HTMLParser
+ (substitute* "setuptools/py33compat.py"
+ (("html_parser.HTMLParser\\(\\).unescape")
+ "html.unescape"))
+ ;; This needs distutils.msvc9compiler
+ (delete-file "setuptools/tests/test_msvc.py"))))))
+ (native-inputs
+ (list python-pytest python-mock python-six)))))
(define-public python-uniseg
(package
@@ -1736,7 +1852,7 @@ Python 3 support.")
(arguments
'(#:tests? #f)) ; The test suite requires network access.
(native-inputs
- `(("unzip" ,unzip)))
+ (list unzip))
(home-page
"https://bitbucket.org/emptypage/uniseg-python")
(synopsis
@@ -1875,19 +1991,18 @@ class.")
(("\"can_player\\.py --help\"") ""))
#t)))))
(propagated-inputs
- `(("python-aenum" ,python-aenum)
- ("python-wrapt" ,python-wrapt)))
+ (list python-aenum python-wrapt))
(native-inputs
- `(("python-codecov" ,python-codecov)
- ("python-coverage" ,python-coverage)
- ("python-future" ,python-future)
- ("python-hypothesis" ,python-hypothesis)
- ("python-mock" ,python-mock)
- ("python-pyserial" ,python-pyserial)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-runner" ,python-pytest-runner)
- ("python-pytest-timeout" ,python-pytest-timeout)))
+ (list python-codecov
+ python-coverage
+ python-future
+ python-hypothesis
+ python-mock
+ python-pyserial
+ python-pytest
+ python-pytest-cov
+ python-pytest-runner
+ python-pytest-timeout))
(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
@@ -1923,12 +2038,9 @@ sending and receiving messages on a CAN bus.")
(lambda _
(invoke "py.test" "-k" "not NetworkTests"))))))
(propagated-inputs
- `(("python-distlib" ,python-distlib)
- ("python-packaging" ,python-packaging)
- ("python-requests" ,python-requests)))
+ (list python-distlib python-packaging python-requests))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)))
+ (list python-mock python-pytest))
(home-page "https://github.com/brettcannon/caniusepython3")
(synopsis "Check for Python 3-incompatible Python libraries")
(description "The @command{caniusepython3} command scans your project and
@@ -2017,10 +2129,7 @@ bits instead of primitive data types like @code{char}, @code{int}, etc.")
`(("sphinx" ,python-sphinx)
("texinfo" ,texinfo)))
(propagated-inputs
- `(("python-bitstruct" ,python-bitstruct)
- ("python-can" ,python-can)
- ("python-diskcache" ,python-diskcache)
- ("python-textparser" ,python-textparser)))
+ (list python-bitstruct python-can python-diskcache python-textparser))
(home-page "https://github.com/eerimoq/cantools")
(synopsis "Tools for the Controller Area Network (CAN) bus protocol")
(description "This package includes Controller Area Network (CAN) related
@@ -2052,7 +2161,7 @@ tools that can be used to:
(arguments
`(#:tests? #f))
(propagated-inputs
- `(("python-humanfriendly" ,python-humanfriendly)))
+ (list python-humanfriendly))
(home-page "https://capturer.readthedocs.io")
(synopsis "Capture stdout and stderr streams of the current process")
(description
@@ -2078,12 +2187,9 @@ for additional processing.")
"1cagg06vfph864s6l5jb0zqliwxh647bki8j6lf4a4qrv40jnhs8"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-mock" ,python-mock)
- ("python-nose" ,python-nose)
- ("python-six" ,python-six)
- ("python-unittest2" ,python-unittest2)))
+ (list python-mock python-nose python-six python-unittest2))
(native-inputs
- `(("python-coverage" ,python-coverage)))
+ (list python-coverage))
(home-page "https://github.com/celery/case")
(synopsis "Unittest utilities and convenience methods")
(description
@@ -2113,8 +2219,7 @@ some helpful Python 2 compatibility convenience methods.")
(invoke "pytest" "-v" "-k" "not test_pylint_plugin"
"verboselogs/tests.py"))))))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)))
+ (list python-mock python-pytest))
(home-page "https://verboselogs.readthedocs.io")
(synopsis "Verbose logging level for Python's logging module")
(description
@@ -2141,7 +2246,7 @@ add the log levels NOTICE, SPAM, SUCCESS and VERBOSE.")
`(;Tests require some updated modules
#:tests? #f))
(propagated-inputs
- `(("python-capturer" ,python-capturer)))
+ (list python-capturer))
(home-page "https://coloredlogs.readthedocs.io")
(synopsis "Colored stream handler for Python's logging module")
(description
@@ -2188,22 +2293,18 @@ files are easily readable and they work nicely with version control systems.")
"0vmxgn9wd3j80hp4gr5iq06jrl4gryz5zgfdd2ah30d12sfcfig0"))))
(build-system python-build-system)
(propagated-inputs
- `(("python2-backports-functools-lru-cache"
- ,python2-backports-functools-lru-cache)
- ("python2-backports-shutil-get-terminal-size"
- ,python2-backports-shutil-get-terminal-size)
- ("python-cached-property" ,python-cached-property)
- ("python-colorama" ,python-colorama)
- ("python-imagesize" ,python-imagesize)
- ("python-importlib-metadata" ,python-importlib-metadata)
- ("python-lxml" ,python-lxml)
- ("python-requests" ,python-requests)
- ("python-six" ,python-six)))
+ (list python2-backports-functools-lru-cache
+ python2-backports-shutil-get-terminal-size
+ python-cached-property
+ python-colorama
+ python-imagesize
+ python-importlib-metadata
+ python-lxml
+ python-requests
+ python-six))
(native-inputs
- `(("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-xdist" ,python-pytest-xdist)
- ("python-responses" ,python-responses)
- ("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-pytest-cov python-pytest-xdist python-responses
+ python-setuptools-scm))
(home-page "https://github.com/webcomics/dosage")
(synopsis "Comic strip downloader and archiver")
(description "Dosage is designed to keep a local copy of specific webcomics and other
@@ -2230,8 +2331,7 @@ downloaded, or download a strip for a particular date or index, if possible.")
(lambda _
(invoke "pytest"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-lxml" ,python-lxml))) ;used for the tests
+ (list python-pytest python-lxml)) ;used for the tests
(home-page "https://bitbucket.org/openpyxl/et_xmlfile")
(synopsis "Low memory implementation of @code{lxml.xmlfile}")
(description "This Python library is based upon the @code{xmlfile} module
@@ -2265,12 +2365,9 @@ of @code{xmlfile}.")
(invoke "pytest"))))))
(native-inputs
;; For the test suite.
- `(("python-lxml" ,python-lxml)
- ("python-pillow" ,python-pillow)
- ("python-pytest" ,python-pytest)))
+ (list python-lxml python-pillow python-pytest))
(propagated-inputs
- `(("python-et-xmlfile" ,python-et-xmlfile)
- ("python-jdcal" ,python-jdcal)))
+ (list python-et-xmlfile python-jdcal))
(home-page "https://openpyxl.readthedocs.io")
(synopsis "Python library to read/write Excel 2010 XLSX/XLSM files")
(description "This Python library allows reading and writing to the Excel XLSX, XLSM,
@@ -2293,27 +2390,44 @@ standard.")
(sha256
(base32
"1qzjj8nwj4dn0mhq1j64f136afiqqb81lvqiikipz3g1g0b80lqx"))))
- (arguments '(#:tests? #f))))) ; No test suite.
+ (arguments
+ `(#:python ,python-2
+ #:tests? #f))))) ; No test suite.
(define-public python-eventlet
(package
(name "python-eventlet")
- (version "0.25.1")
+ (version "0.33.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "eventlet" version))
(sha256
(base32
- "1hgz8jq19wlz8vwqj900ry8cjv578nz4scc91mlc8944yid6573c"))))
+ "07qlyhcm0f28sxdizawvdf3d50m3hnbzz5kg3fjp7chvki44y540"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-dnspython" ,python-dnspython)
- ("python-greenlet" ,python-greenlet)
- ("python-monotonic" ,python-monotonic)))
+ (list python-dnspython python-greenlet python-monotonic python-six))
+ (native-inputs
+ (list python-nose))
(arguments
- ;; TODO: Requires unpackaged 'enum-compat'.
- '(#:tests? #f))
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'avoid-OSError
+ (lambda _
+ ;; If eventlet tries to load greendns, an OSError is thrown when
+ ;; getprotobyname is called. Thankfully there is an environment
+ ;; variable to disable the greendns import, so use it:
+ (setenv "EVENTLET_NO_GREENDNS" "yes")))
+ (add-after 'unpack 'delete-broken-tests
+ (lambda _
+ (delete-file "tests/greendns_test.py")
+ (delete-file "tests/socket_test.py")))
+ ;; See https://github.com/eventlet/eventlet/issues/562#issuecomment-714183009
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "nosetests" "-v" "tests/")))))))
(home-page "https://eventlet.net")
(synopsis "Concurrent networking library for Python")
(description
@@ -2324,7 +2438,7 @@ Coroutines ensure that the developer uses a blocking style of programming
that is similar to threading, but provide the benefits of non-blocking I/O.
The event dispatch is implicit, which means you can easily use @code{Eventlet}
from the Python interpreter, or as a small part of a larger application.")
- (license license:expat)))
+ (license license:expat)))
(define-public python-sinfo
(package
@@ -2338,7 +2452,7 @@ from the Python interpreter, or as a small part of a larger application.")
"0kdsp883mx0lfyykv0p12bvs203kdm3skb8bw5wf2pc7kb393sl1"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-stdlib-list" ,python-stdlib-list)))
+ (list python-stdlib-list))
(home-page "https://gitlab.com/joelostblom/session_info")
(synopsis "Output module version information loaded in a Python session")
(description "This package outputs version information for modules loaded
@@ -2346,48 +2460,20 @@ in the current session, Python, and the OS.")
(license license:bsd-3)))
(define-public python-six
- (package
+ (package/inherit python-six-bootstrap
(name "python-six")
- (version "1.15.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "six" version))
- (sha256
- (base32
- "0n82108wxn5giff50hd9ykjhd3zl7cndabdasi6568yvbh1rqqrh"))))
- (build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
- (invoke "py.test" "-v"))))))
+ (invoke "pytest" "-v"))))))
(native-inputs
- `(("python-pytest" ,python-pytest-bootstrap)))
- (home-page "https://pypi.org/project/six/")
- (synopsis "Python 2 and 3 compatibility utilities")
- (description
- "Six is a Python 2 and 3 compatibility library. It provides utility
-functions for smoothing over the differences between the Python versions with
-the goal of writing Python code that is compatible on both Python versions.
-Six supports every Python version since 2.5. It is contained in only one
-Python file, so it can be easily copied into your project.")
- (license license:x11)))
+ `(("python-pytest" ,python-pytest-bootstrap)))))
(define-public python2-six
(package-with-python2 python-six))
-(define-public python-six-bootstrap
- (package
- (inherit python-six)
- (name "python-six-bootstrap")
- (native-inputs `())
- (arguments `(#:tests? #f))))
-
-(define-public python2-six-bootstrap
- (package-with-python2 python-six-bootstrap))
-
(define-public python-schedule
(package
(name "python-schedule")
@@ -2401,8 +2487,7 @@ Python file, so it can be easily copied into your project.")
"0vplyjcbfrq50sphlwya749z8p2pcyi2nycw3518i0qpd9a6189i"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-mock" ,python-mock)))
+ (list python-pytest python-mock))
(home-page "https://github.com/dbader/schedule")
(synopsis "Schedule periodic function calls in Python")
(description
@@ -2431,7 +2516,7 @@ human-friendly syntax.")
(sha256
(base32 "0mmfvx4wqp8gkpv0kbih89zfs9njvmd3v4dxfqii62xddpxq0f1k"))))
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(build-system python-build-system)
(home-page "https://github.com/scour-project/scour")
(synopsis "Scour is an SVG optimizer/cleaner written in Python")
@@ -2454,7 +2539,7 @@ lossless but can be tweaked for more aggressive cleaning.")
"1z9kqcwb8gfq2l6i42z624kxpd8692a0c8gw2x5bbm7n848w2mb3"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-html5lib" ,python-html5lib)))
+ (list python-html5lib))
(home-page "https://github.com/python-mechanize/mechanize")
(synopsis
"Stateful programmatic web browsing in Python")
@@ -2481,7 +2566,7 @@ after Andy Lester’s Perl module WWW::Mechanize.")
(arguments
`(#:tests? #f))
(inputs
- `(("alsa-lib" ,alsa-lib)))
+ (list alsa-lib))
(home-page
"https://github.com/hamiltron/py-simple-audio")
(synopsis "Simple, asynchronous audio playback for Python 3")
@@ -2503,7 +2588,7 @@ audio playback capability for Python 3 on OSX, Windows, and Linux.")
"0hc8nqwdlll4a9cr1k9msn5kmb6kmbjirpgvhjh254nr4sgwgv3m"))))
(build-system python-build-system)
(native-inputs
- `(("python-toml" ,python-toml)))
+ (list python-toml))
(home-page "https://simplejson.readthedocs.io/en/latest")
(synopsis
"Json library for Python")
@@ -2537,10 +2622,9 @@ Python 3.3+.")
"0mkz1673qxldxs4mrqg9882xgmz5fhpia17yrsd6z8dfw8156rf0"))))
(build-system python-build-system)
(inputs
- `(("icu4c" ,icu4c)))
+ (list icu4c))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-six" ,python-six)))
+ (list python-pytest python-six))
(home-page "https://github.com/ovalhub/pyicu")
(synopsis "Python extension wrapping the ICU C++ API")
(description
@@ -2577,9 +2661,7 @@ Python 3.3+.")
(invoke "dbus-run-session" "--" "nosetests" "-v" "tests/"))
#t)))))
(propagated-inputs
- `(("python-pygobject" ,python-pygobject)
- ("python-pycairo" ,python-pycairo)
- ("python-pyatspi" ,python-pyatspi)))
+ (list python-pygobject python-pycairo python-pyatspi))
(native-inputs
`(("python-nose" ,python-nose)
("gtk+" ,gtk+)
@@ -2744,11 +2826,9 @@ backported for previous versions of Python from 2.4 to 3.3.")
"0g3b6gsdwnm8dpkh2vn34q6dzxm9gl908ggyzcv31n9xbp3vv5pm"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-six" ,python-six)
- ("python-parse" ,python-parse)))
+ (list python-six python-parse))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-pytest python-pytest-runner))
(home-page "https://github.com/jenisys/parse_type")
(synopsis "Extended parse module")
(description
@@ -2814,6 +2894,26 @@ existing ones.")
;; Tests don't work with python2.
#:tests? #f)))))
+(define-public python-polling2
+ (package
+ (name "python-polling2")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "polling2" version))
+ (sha256
+ (base32 "0hp3238fv6k1qk43gv4jwnv1mwlkmx33akbj560b9nvsry1dmdwh"))))
+ (build-system python-build-system)
+ (arguments '(#:tests? #false)) ; no tests included
+ (native-inputs
+ (list python-mock python-pytest python-pytest-runner))
+ (home-page "https://github.com/ddmee/polling2")
+ (synopsis "Polling utility with many configurable options")
+ (description "Polling2 is a utility used to wait for a function to return
+a certain expected condition.")
+ (license license:expat)))
+
(define-public python-poyo
(package
(name "python-poyo")
@@ -2892,10 +2992,8 @@ software.")
(base32 "10iqjzmya2h4sk765dlm1pbqypwlqyh8rw59a5m9i63d3klnz2mc"))))
(build-system python-build-system)
(native-inputs
- `(("coverage" ,python-coverage)
- ("pytest" ,python-pytest-astropy)
- ("pytest-cov" ,python-pytest-cov)
- ("setuptools-scm" ,python-setuptools-scm)))
+ (list python-coverage python-pytest-astropy python-pytest-cov
+ python-setuptools-scm))
(home-page "https://github.com/astropy/astropy-helpers")
(synopsis
"Utilities for building and installing packages in the Astropy ecosystem")
@@ -2996,7 +3094,7 @@ server.")
(propagated-inputs
;; Youtube-dl is a python package which is imported in the file
;; "backend_youtube_dl.py", therefore it needs to be propagated.
- `(("youtube-dl" ,youtube-dl)))
+ (list youtube-dl))
(home-page "https://np1.github.io/pafy/")
(synopsis "Retrieve YouTube content and metadata")
(description
@@ -3017,7 +3115,7 @@ server.")
(arguments
`(#:python ,python-2))
(native-inputs
- `(("python2-unittest2" ,python2-unittest2)))
+ (list python2-unittest2))
(home-page "http://funcsigs.readthedocs.org")
(synopsis "Python function signatures from PEP362")
(description
@@ -3052,7 +3150,7 @@ server.")
;; Is this module globally installed?"
'(#:tests? #f))
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-setuptools-scm))
(home-page "https://github.com/pytest-dev/py")
(synopsis "Python library for parsing, I/O, instrospection, and logging")
(description
@@ -3076,14 +3174,14 @@ code introspection, and logging.")
(define-public python-pbr-minimal
(package
(name "python-pbr-minimal")
- (version "3.0.1")
+ (version "5.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pbr" version))
(sha256
(base32
- "14fs5acnalnb3h62s7q7av239j541fk0n0z0lawh4h09b1s93s6p"))))
+ "1j8k5d4rdhy5bw5ai1vkjzln2albah94in3vvyvxa0n42fv81baz"))))
(build-system python-build-system)
(arguments
`(#:tests? #f))
@@ -3100,7 +3198,7 @@ code introspection, and logging.")
(arguments
`(#:tests? #f)) ;; Most tests seem to use the Internet.
(propagated-inputs
- `(("git" ,git))) ;; pbr actually uses the "git" binary.
+ (list git)) ;; pbr actually uses the "git" binary.
(native-inputs
`(("python-fixtures" ,python-fixtures-bootstrap)
;; discover, coverage, hacking, subunit
@@ -3143,11 +3241,9 @@ from git information.
(("hypothesis<5") "hypothesis"))
#t)))))
(native-inputs
- `(("python-hypothesis" ,python-hypothesis)
- ("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-hypothesis python-pytest python-pytest-runner))
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(synopsis "Persistent data structures for Python")
(description
"Pyrsistent is a number of persistent collections (by some referred to as
@@ -3219,12 +3315,10 @@ files.")
(base32 "1bg2iw9l5dip0kbs00hajdk2v18wvhssbnq8hdf71278qf0wks5l"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(propagated-inputs
- `(("python-wcwidth" ,python-wcwidth)
- ("python-configobj" ,python-configobj)
- ("python-tabulate" ,python-tabulate)
- ("python-terminaltables" ,python-terminaltables)))
+ (list python-wcwidth python-configobj python-tabulate
+ python-terminaltables))
(home-page "https://github.com/dbcli/cli_helpers")
(synopsis "Helpers for building command-line apps")
(description
@@ -3259,7 +3353,7 @@ interfaces.")
(lambda _
(invoke "python" "-m" "pytest"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://palletsprojects.com/p/click/")
(synopsis "Command line library for Python")
(description
@@ -3284,6 +3378,30 @@ with sensible defaults out of the box.")
(base32 "0njsm0wn31l21bi118g5825ma5sa3rwn7v2x4wjd7yiiahkri337"))))
(arguments `())))
+(define-public python-cligj
+ (package
+ (name "python-cligj")
+ (version "0.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cligj" version))
+ (sha256
+ (base32
+ "09vbkik6kyn6yrqzl2r74vaybjk8kjykvi975hy3fsrm4gb17g54"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-click))
+ (native-inputs
+ (list python-pytest-cov))
+ (home-page "https://github.com/mapbox/cligj")
+ (synopsis "Click params for command line interfaces to GeoJSON")
+ (description
+ "cligj is for Python developers who create command line interfaces
+for geospatial data. cligj allows you to quickly build consistent,
+well-tested and interoperable CLIs for handling GeoJSON.")
+ (license license:bsd-3)))
+
(define-public python-vcversioner
(package
(name "python-vcversioner")
@@ -3324,7 +3442,7 @@ version numbers.")
(lambda _
(invoke "pytest"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/phn/jdcal")
(synopsis "Functions to convert between Julian dates Gregorian dates")
(description "This Python library provides functions for converting
@@ -3347,8 +3465,7 @@ between Julian dates and Gregorian dates.")
"00v3689175aqzdscrxpffm712ylp8jvcpqdg51ca22ni6721p51l"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)
- ("python-nose-random" ,python-nose-random)))
+ (list python-nose python-nose-random))
(home-page
"https://github.com/fzumstein/jsondiff")
(synopsis "Compare JSON and JSON-like structures in Python")
@@ -3379,24 +3496,12 @@ compare, diff, and patch JSON and JSON-like structures in Python.")
`(("python-setuptools_scm" ,python-setuptools-scm)
("python-twisted" ,python-twisted)))
(propagated-inputs
- `(("python-attrs" ,python-attrs)
- ("python-pyrsistent" ,python-pyrsistent)
- ("python-six" ,python-six)))
+ (list python-attrs python-pyrsistent python-six))
(home-page "https://github.com/Julian/jsonschema")
(synopsis "Implementation of JSON Schema for Python")
(description
"Jsonschema is an implementation of JSON Schema for Python.")
- (license license:expat)
- (properties `((python2-variant . ,(delay python2-jsonschema))))))
-
-(define-public python2-jsonschema
- (let ((jsonschema (package-with-python2
- (strip-python2-variant python-jsonschema))))
- (package/inherit jsonschema
- (propagated-inputs
- `(("python2-functools32" ,python2-functools32)
- ("python2-importlib-metadata" ,python2-importlib-metadata)
- ,@(package-propagated-inputs jsonschema))))))
+ (license license:expat)))
(define-public python-schema
(package
@@ -3411,7 +3516,7 @@ compare, diff, and patch JSON and JSON-like structures in Python.")
"1lw28j9w9vxyigg7vkfkvi6ic9lgjkdnfvnxdr7pklslqvzmk2vm"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/keleshev/schema")
(synopsis "Simple data validation library")
(description
@@ -3451,7 +3556,7 @@ something else) to Python data-types.")
"1zakh6l0yjvwic9p0nkvmbidpnkygkxbigh2skmb5gccyrhbp7xg"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-chardet" ,python-chardet)))
+ (list python-chardet))
(home-page "https://github.com/fedora-infra/kitchen")
(synopsis "Python API for snippets")
(description "@code{kitchen} module provides a python API for all sorts of
@@ -3526,7 +3631,7 @@ somewhat intelligible.")
(lambda _
(invoke "pytest" "-vv"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/kmike/text-unidecode/")
(synopsis "Decode Unicode data")
(description
@@ -3570,8 +3675,7 @@ memory usage and transliteration quality.")
""))
(invoke "pytest" "-vv"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)))
+ (list python-pytest python-pytest-cov))
(home-page "https://github.com/progrium/pyjwt")
(synopsis "JSON Web Token implementation in Python")
(description
@@ -3670,9 +3774,6 @@ visualisation and class tracker statistics.")
environments and back.")
(license license:bsd-3)))
-(define-public python2-itsdangerous
- (package-with-python2 python-itsdangerous))
-
(define-public python-pyyaml
(package
(name "python-pyyaml")
@@ -3686,8 +3787,7 @@ environments and back.")
"0pm440pmpvgv5rbbnm8hk4qga5a292kvlm1bh3x2nwr8pb5p8xv0"))))
(build-system python-build-system)
(inputs
- `(("libyaml" ,libyaml)
- ("python-cython" ,python-cython)))
+ (list libyaml python-cython))
(home-page "https://pyyaml.org")
(synopsis "YAML parser and emitter for Python")
(description
@@ -3713,8 +3813,7 @@ provides Python-specific tags that represent an arbitrary Python object.")
"0wkskb2hb494v9gixqnf4bl972p4ibcmxdykzpwjlfa5picns4aj"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-case" ,python-case)))
+ (list python-pytest python-case))
(home-page "https://github.com/celery/vine")
(synopsis "Promises for Python")
(description
@@ -3737,14 +3836,9 @@ e.g. filters, callbacks and errbacks can all be promises.")
"1nbhnpzswcf3lmzn5xabmfdd7ki8r2w2i37y6wml54di6qi1l48c"))))
(build-system python-build-system)
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)
- ("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-mock python-pytest python-setuptools-scm))
(propagated-inputs
- `(("python-appdirs" ,python-appdirs)
- ("python-distlib" ,python-distlib)
- ("python-filelock" ,python-filelock)
- ("python-six" ,python-six)))
+ (list python-appdirs python-distlib python-filelock python-six))
(home-page "https://virtualenv.pypa.io/")
(synopsis "Virtual Python environment builder")
(description
@@ -3755,32 +3849,9 @@ e.g. filters, callbacks and errbacks can all be promises.")
(let ((base (package-with-python2 (strip-python2-variant python-virtualenv))))
(package
(inherit base)
- (arguments
- `(#:python ,python-2
- #:phases
- (modify-phases %standard-phases
- (add-after 'set-paths 'adjust-PYTHONPATH
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((python (assoc-ref inputs "python"))
- (python-sitedir (string-append python "/lib/python2.7"
- "/site-packages")))
- ;; XXX: 'python2' always comes first on PYTHONPATH
- ;; and shadows the 'setuptools' input. Move python2
- ;; last: this should be fixed in python-build-system
- ;; in a future rebuild cycle.
- (setenv "PYTHONPATH"
- (string-append (string-join (delete python-sitedir
- (string-split
- (getenv "PYTHONPATH")
- #\:))
- ":")
- ":" python-sitedir))
- (format #t "environment variable `PYTHONPATH' changed to `~a'~%"
- (getenv "PYTHONPATH"))
- #t))))))
(propagated-inputs
- `(("python-contextlib2" ,python2-contextlib2)
- ,@(package-propagated-inputs base))))))
+ (modify-inputs (package-propagated-inputs base)
+ (prepend python2-contextlib2))))))
(define-public python-markupsafe
(package
@@ -3801,16 +3872,28 @@ e.g. filters, callbacks and errbacks can all be promises.")
(when tests?
(invoke "pytest" "-vv")))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/mitsuhiko/markupsafe")
(synopsis "XML/HTML/XHTML markup safe string implementation for Python")
(description
"Markupsafe provides an XML/HTML/XHTML markup safe string implementation
for Python.")
- (license license:bsd-3)))
+ (license license:bsd-3)
+ (properties `((python2-variant . ,(delay python2-markupsafe))))))
+;; Version 1.1.1 is the last to support Python 2.
(define-public python2-markupsafe
- (package-with-python2 python-markupsafe))
+ (package
+ (inherit (package-with-python2
+ (strip-python2-variant python-markupsafe)))
+ (version "1.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "MarkupSafe" version))
+ (sha256
+ (base32
+ "0sqipg4fk7xbixqd8kq6rlkxj664d157bdwbh93farcphf92x1r9"))))))
(define-public python-jinja2
(package
@@ -3832,18 +3915,30 @@ for Python.")
(invoke "pytest" "-vv")
(format #t "test suite not run~%")))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(propagated-inputs
- `(("python-markupsafe" ,python-markupsafe)))
+ (list python-markupsafe))
(home-page "http://jinja.pocoo.org/")
(synopsis "Python template engine")
(description
"Jinja2 is a small but fast and easy to use stand-alone template engine
written in pure Python.")
- (license license:bsd-3)))
+ (license license:bsd-3)
+ (properties `((python2-variant . ,(delay python2-jinja2))))))
+;; Version 2.11.3 is the last to support Python 2.
(define-public python2-jinja2
- (package-with-python2 python-jinja2))
+ (package
+ (inherit (package-with-python2
+ (strip-python2-variant python-jinja2)))
+ (version "2.11.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Jinja2" version))
+ (sha256
+ (base32
+ "1iiklf3wns67y5lfcacxma5vxfpb7h2a67xbghs01s0avqrq9md6"))))))
(define-public python-jinja2-time
(package
@@ -3858,8 +3953,7 @@ written in pure Python.")
"0h0dr7cfpjnjj8bgl2vk9063a53649pn37wnlkd8hxjy656slkni"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-arrow" ,python-arrow)
- ("python-jinja2" ,python-jinja2)))
+ (list python-arrow python-jinja2))
(home-page
"https://github.com/hackebrot/jinja2-time")
(synopsis "Jinja2 Extension for Dates and Times")
@@ -3905,21 +3999,26 @@ logic-free templating system Mustache.")
(define-public python-joblib
(package
(name "python-joblib")
- (version "0.14.1")
+ (version "1.1.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "joblib" version))
(sha256
(base32
- "1j464w137w6s367gl697j1l63g52akydrxgv4czlck36ynjfwc06"))))
+ "0d8ypyhsw1bjr96zan9ms8wbvnzbjqxniq4vcszghcrps7ngqn21"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
- (lambda _ (invoke "pytest" "-v" "joblib"))))))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "JOBLIB_MULTIPROCESSING" "0")
+ (invoke "pytest" "-v" "joblib"
+ ;; We disable this test to avoid having to depend on ipython/jupyter
+ "-k" "not test_parallel_call_cached_function_defined_in_jupyter")))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://joblib.readthedocs.io/")
(synopsis "Using Python functions as pipeline jobs")
(description
@@ -3929,39 +4028,54 @@ and lazy re-evaluation (memoize pattern), easy simple parallel computing
logging and tracing of the execution.")
(license license:bsd-3)))
+;; Newer versions of joblib don't support Python 2.
(define-public python2-joblib
- (package-with-python2 python-joblib))
+ (package
+ (inherit (package-with-python2 python-joblib))
+ (version "0.14.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "joblib" version))
+ (sha256
+ (base32
+ "1j464w137w6s367gl697j1l63g52akydrxgv4czlck36ynjfwc06"))))))
(define-public python-daemon
(package
(name "python-daemon")
- (version "2.2.3")
+ (version "2.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-daemon" version))
(sha256
(base32
- "09fcjdjzk9ywmpnrj62iyxqgcygzdafsz41qlrk2dknzbagcmzmg"))))
+ "1bxfn2bq56sd4w0nm9mqy8y0905m7fc8vmhnjxlrf49vcbqr7adx"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-before 'check 'disable-tests
+ (add-before 'check 'adjust-tests
(lambda _
+ ;; Drop use of testtools.helpers.safe_hasattr which has
+ ;; been removed in favor of hasattr.
+ (substitute* "test/test_metadata.py"
+ (("testtools\\.helpers\\.safe_hasattr")
+ "hasattr"))
;; FIXME: Determine why test fails
(substitute* "test/test_daemon.py"
(("test_detaches_process_context")
- "skip_test_detaches_process_context"))
- #t)))))
+ "skip_test_detaches_process_context")))))))
(propagated-inputs
- `(("python-lockfile" ,python-lockfile)))
+ (list python-lockfile))
(native-inputs
- `(("python-unittest2" ,python-unittest2)
- ("python-testtools" ,python-testtools)
- ("python-testscenarios" ,python-testscenarios)
- ("python-mock" ,python-mock)
- ("python-docutils" ,python-docutils)))
+ (list python-coverage
+ python-unittest2
+ python-testtools
+ python-testscenarios
+ python-twine
+ python-mock
+ python-docutils))
(home-page "https://pagure.io/python-daemon/")
(synopsis "Python library for making a Unix daemon process")
(description "Python-daemon is a library that assists a Python program to
@@ -3995,11 +4109,11 @@ important tasks for becoming a daemon process:
"1aycpc387wqz7h9w2p53qxn43qsh3m6by6ak4kkc66x9aprr63rz"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(native-inputs
- `(;; For tests.
- ("graphviz" ,graphviz) ;for 'dot'
- ("python-nose" ,python-nose)))
+ (list ;; For tests.
+ graphviz ;for 'dot'
+ python-nose))
(home-page "https://github.com/c0fec0de/anytree")
(synopsis "Lightweight tree data library")
(description
@@ -4010,14 +4124,14 @@ structure for Python.")
(define-public python-docutils
(package
(name "python-docutils")
- (version "0.16")
+ (version "0.17.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "docutils" version))
(sha256
(base32
- "1z3qliszqca9m719q3qhdkh0ghh90g500avzdgi7pl77x5h3mpn2"))))
+ "09gii36lp1bs26cpxqyfd20xahnpbrbjzcnba2xq08y3wk97frb8"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@@ -4043,6 +4157,20 @@ via commands such as @command{rst2man}, as well as supporting Python code.")
(define-public python2-docutils
(package-with-python2 python-docutils))
+;; awscli refuses to be built with docutils < 0.16.
+(define-public python-docutils-0.15
+ (package
+ (inherit python-docutils)
+ (version "0.15")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "docutils" version))
+ (sha256
+ (base32
+ "0ja8q6mdj6xv62jjw3phv8j5nfqi5x8hnfy4pqfcjcgz4b34k8sl"))))
+ ;; tests contain Python 2 syntax.
+ (arguments '(#:tests? #false))))
+
;; python2-sphinx fails its test suite with newer versions.
(define-public python2-docutils-0.14
(package
@@ -4078,9 +4206,9 @@ via commands such as @command{rst2man}, as well as supporting Python code.")
(invoke "nosetests" "-v"))
#t)))))
(propagated-inputs
- `(("python-docutils" ,python-docutils)))
+ (list python-docutils))
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(home-page "https://github.com/twolfson/restructuredtext-lint")
(synopsis "reStructuredText linter")
(description "This package provides a linter for the reStructuredText
@@ -4110,14 +4238,10 @@ format.")
(invoke "pytest" "-v"))
#t)))))
(propagated-inputs
- `(("python-chardet" ,python-chardet)
- ("python-docutils" ,python-docutils)
- ("python-restructuredtext-lint" ,python-restructuredtext-lint)
- ("python-six" ,python-six)
- ("python-stevedore" ,python-stevedore)))
+ (list python-chardet python-docutils python-restructuredtext-lint
+ python-six python-stevedore))
(native-inputs
- `(("python-testtools" ,python-testtools)
- ("python-pytest" ,python-pytest)))
+ (list python-testtools python-pytest))
(home-page "https://launchpad.net/doc8")
(synopsis
"Style checker for Sphinx (or other) RST documentation")
@@ -4174,7 +4298,7 @@ text styles of documentation.")
"0cz14clcc9z4pn79ll8hp3xzgsrfjscak5zfsvlgrz6ngkkmgjma"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pygments" ,python-pygments)))
+ (list python-pygments))
(home-page "https://github.com/liluo/pygments-github-lexers")
(synopsis "Pygments Github custom lexers")
(description "This package installs Github custom lexers to Pygments.")
@@ -4224,7 +4348,7 @@ software version simply.")
(define-public python-deprecated
(package
(name "python-deprecated")
- (version "1.2.5")
+ (version "1.2.13")
(source
(origin
(method git-fetch)
@@ -4234,21 +4358,19 @@ software version simply.")
(file-name (git-file-name name version))
(sha256
(base32
- "14909glxxwwc4b9qpz2b9jdriwzi5n65ichw85xqppap5f79wcwz"))))
+ "0v4ys9xr8lski2r98da99spsj6hjlnnqgnhhmyhrm66myiix885c"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'check
- (lambda _
- (invoke "pytest"))))))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest")))))))
(propagated-inputs
- `(("python-wrapt" ,python-wrapt)))
+ (list python-wrapt))
(native-inputs
- `(("python-bumpversion" ,python-bumpversion)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-sphinx" ,python-sphinx)
- ("python-tox" ,python-tox)))
+ (list python-bumpversion python-pytest python-pytest-cov
+ python-sphinx python-tox))
(home-page "https://github.com/tantale/deprecated")
(synopsis "Python decorator to deprecate classes, functions or methods")
(description "The @code{deprecated} decorator provides a convenient way to deprecate
@@ -4280,13 +4402,10 @@ to deprecate classes, functions or methods.")
(invoke "pytest"))
#t)))))
(propagated-inputs
- `(("python-cryptography" ,python-cryptography)
- ("python-deprecated" ,python-deprecated)
- ("python-pyjwt" ,python-pyjwt)
- ("python-requests" ,python-requests)))
+ (list python-cryptography python-deprecated python-pyjwt
+ python-requests))
(native-inputs
- `(("python-httpretty" ,python-httpretty)
- ("python-pytest" ,python-pytest)))
+ (list python-httpretty python-pytest))
(home-page "https://pygithub.readthedocs.io/en/latest/")
(synopsis "Python library for the GitHub API")
(description "This library allows managing GitHub resources such as
@@ -4307,8 +4426,7 @@ using version 3 of the GitHub application programming interface (API).")
"1w0arpj1sm7vh29nrbnca4pnp8sx42l07r17inwqcjjf9bhng66x"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-invoke" ,python-invoke)
- ("python-pygithub" ,python-pygithub)))
+ (list python-invoke python-pygithub))
(home-page "https://github.com/robotframework/rellu")
(synopsis "Utilities to create PyPI releases")
(description "This collection of utilities contains tooling and templates
@@ -4320,7 +4438,7 @@ ecosystem, but can naturally be used also by other projects.")
(define-public python-robotframework
(package
(name "python-robotframework")
- (version "3.2.2")
+ (version "4.1.2")
;; There are no tests in the PyPI archive.
(source
(origin
@@ -4330,7 +4448,7 @@ ecosystem, but can naturally be used also by other projects.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0if0h3myb9m3hgmn1phrhq8pfp89kfqsaq32vmfdjkyjdj7y59ds"))
+ (base32 "0s6lakbd8h1pa4lfdj18sm13gpywszgpcns4hz026a4kam787kby"))
(patches (search-patches
"python-robotframework-source-date-epoch.patch"))))
(build-system python-build-system)
@@ -4344,8 +4462,7 @@ ecosystem, but can naturally be used also by other projects.")
(invoke "invoke" "library-docs" "all")
(mkdir-p doc)
(copy-recursively "doc/libraries"
- (string-append doc "/libraries"))
- #t)))
+ (string-append doc "/libraries")))))
(replace 'check
(lambda* (#:key inputs #:allow-other-keys)
;; Some tests require timezone data. Otherwise, they
@@ -4359,7 +4476,9 @@ ecosystem, but can naturally be used also by other projects.")
(invoke "python" "utest/run.py"))))))
(native-inputs
- `(("python-invoke" ,python-invoke)
+ `(("python-docutils" ,python-docutils)
+ ("python-jsonschema" ,python-jsonschema)
+ ("python-invoke" ,python-invoke)
("python-rellu" ,python-rellu)
("python:tk" ,python "tk") ;used when building the HTML doc
("tzdata" ,tzdata-for-tests)))
@@ -4371,6 +4490,48 @@ acceptance testing, acceptance test driven development (ATDD), and robotic
process automation (RPA).")
(license license:asl2.0)))
+(define-public python-robotframework-datadriver
+ (package
+ (name "python-robotframework-datadriver")
+ (version "1.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "robotframework-datadriver" version))
+ (sha256
+ (base32 "1kv6h47850gdqr8azknkh81z7hw6yz5pjn53mkn71ly4szw4pqb7"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-readme-file-name
+ (lambda _
+ (rename-file "Readme.rst" "README.rst")))
+ (add-before 'check 'skip-problematic-tests
+ (lambda _
+ ;; The test file 'tab-csv-file-name.tsv' contains special
+ ;; characters for which there is no locale in the build
+ ;; environment, causing one test to fail.
+ (delete-file-recursively "atest/TestCases/csv_reader_config")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "atest"
+ (invoke "sh" "run_atest.sh"))))))))
+ (native-inputs (list python-docutils
+ python-robotframework-stacktrace))
+ (propagated-inputs (list python-openpyxl
+ python-pandas
+ python-pygments
+ python-robotframework))
+ (home-page "https://github.com/Snooz82/robotframework-datadriver")
+ (synopsis "Data-driven test extension for Robot Framework")
+ (description "DataDriver is a data-driven extension for Robot Framework.
+DataDriver uses the Listener Interface of Robot Framework to create new test
+cases based on a data file that contains the test data. DataDriver supports
+data files in the CSV, XLS or XLSX formats.")
+ (license license:asl2.0)))
+
(define-public python-robotframework-lint
;; There is no properly tagged release; the commit below seems to correspond
;; to the 0.9 stable release available from PyPI. The tests are not
@@ -4401,17 +4562,46 @@ process automation (RPA).")
(invoke "python" "-m" "robot" "-A"
"tests/conf/default.args" "tests"))))))
(propagated-inputs
- `(("python-robotframework" ,python-robotframework)))
+ (list python-robotframework))
(home-page "https://github.com/boakley/robotframework-lint/")
(synopsis "Static analysis tool (linter) for Robot Framework")
(description "This package provides the @code{rflint} command-line
utility, a static analysis tool (linter) for Robot Framework source files.")
(license license:asl2.0))))
+(define-public python-robotframework-stacktrace
+ (package
+ (name "python-robotframework-stacktrace")
+ (version "0.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "robotframework-stacktrace" version))
+ (sha256
+ (base32 "19gnwr7da1zz9clhwsmvqfjf02d195i61lzpq4253dcsgrpb6v79"))))
+ (build-system python-build-system)
+ (arguments
+ ;; The test suite fails (see:
+ ;; https://github.com/MarketSquare/robotframework-stacktrace/issues/4).
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "tests"
+ (invoke "python" "-m" "robot" "."))))))))
+ (propagated-inputs (list python-robotframework))
+ (home-page "https://github.com/MarketSquare/robotframework-stacktrace")
+ (synopsis "Robot Framework listener to print a stack trace on error")
+ (description "StackTrace is a Robot Framework listener that prints a stack
+trace directly to the terminal to ease debugging.")
+ (license license:asl2.0)))
+
(define-public python-robotframework-sshlibrary
(package
(name "python-robotframework-sshlibrary")
- (version "3.3.0")
+ (version "3.7.0")
;; There are no tests in the PyPI archive.
(source
(origin
@@ -4422,7 +4612,7 @@ utility, a static analysis tool (linter) for Robot Framework source files.")
(file-name (git-file-name name version))
(sha256
(base32
- "1mk6dz2jqqndbx4yji09012q6rmadnqdywi7czvj62b0s07dr3r2"))))
+ "09ak22rh9qa9wlpvhkliyybcp4xafjhxsps28wz0pf0030771xav"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -4436,26 +4626,24 @@ utility, a static analysis tool (linter) for Robot Framework source files.")
(invoke "invoke" "kw-docs" "project-docs")
(mkdir-p doc)
(for-each delete-file (find-files "docs" "\\.rst"))
- (copy-recursively "docs" doc)
- #t)))
+ (copy-recursively "docs" doc))))
(replace 'check
- (lambda _
- ;; Some tests require an SSH server; we remove them.
- (delete-file "utest/test_client_api.py")
- (delete-file "utest/test_scp.py")
- (invoke "python" "utest/run.py"))))))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Some tests require an SSH server; we remove them.
+ (delete-file "utest/test_client_api.py")
+ (delete-file "utest/test_scp.py")
+ (invoke "python" "utest/run.py")))))))
(propagated-inputs
- `(("python-robotframework" ,python-robotframework)
- ("python-paramiko" ,python-paramiko)
- ("python-scp" ,python-scp)))
+ (list python-robotframework python-paramiko python-scp))
(native-inputs
- `(("openssh" ,openssh)
- ("which" ,which)
- ;; To generate the documentation
- ("python-docutils" ,python-docutils)
- ("python-invoke" ,python-invoke)
- ("python-pygments" ,python-pygments)
- ("python-rellu" ,python-rellu)))
+ (list openssh
+ which
+ ;; To generate the documentation
+ python-docutils
+ python-invoke
+ python-pygments
+ python-rellu))
(outputs '("out" "doc"))
(home-page "https://github.com/robotframework/SSHLibrary")
(synopsis "Robot Framework library for SSH and SFTP")
@@ -4469,6 +4657,88 @@ for SSH and SFTP. It has the following main usages:
@end itemize")
(license license:asl2.0)))
+(define-public python-robotframework-pythonlibcore
+ (package
+ (name "python-robotframework-pythonlibcore")
+ (version "3.0.0")
+ (source
+ (origin
+ (method git-fetch) ;no tests in pypi archive
+ (uri (git-reference
+ (url "https://github.com/robotframework/PythonLibCore")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0v89v8va65l6inh0fb34qgxawx6p29pnrmw4n5941yzdi3804rc4"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "utest/run.py")))))))
+ (native-inputs
+ (list python-pytest python-pytest-cov python-pytest-mockito
+ python-robotframework))
+ (home-page "https://github.com/robotframework/PythonLibCore")
+ (synopsis "Robot Framework Python library tools")
+ (description "PythonLibCore provides tools for creating larger test
+libraries for Robot Framework using Python. The Robot Framework hybrid and
+dynamic library APIs give more flexibility for library than the static library
+API, but they also set requirements for libraries which need to be implemented
+in the library side. PythonLibCore eases the problem by providing a simpler
+interface and by handling all the requirements towards the Robot Framework
+library APIs.")
+ (license license:asl2.0)))
+
+(define-public python-robotframework-seleniumlibrary
+ (package
+ (name "python-robotframework-seleniumlibrary")
+ (version "5.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "robotframework-seleniumlibrary" version))
+ (sha256
+ (base32 "1dihrbcid9i7daw2qy6h3xsvwaxzmyip820jw5z11n60qrl006pm"))))
+ (build-system python-build-system)
+ ;; XXX: Tests require ungoogled-chromium, but the chromium module would
+ ;; introduce a cycle if imported here.
+ (propagated-inputs
+ (list python-robotframework python-robotframework-pythonlibcore
+ python-selenium))
+ (home-page "https://github.com/robotframework/SeleniumLibrary")
+ (synopsis "Web testing library for Robot Framework")
+ (description "SeleniumLibrary is a web testing library for Robot Framework
+that utilizes the Selenium tool internally.")
+ (license license:asl2.0)))
+
+(define-public python-robotframework-seleniumscreenshots
+ (package
+ (name "python-robotframework-seleniumscreenshots")
+ (version "0.9.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "robotframework-seleniumscreenshots" version))
+ (sha256
+ (base32 "05qv323hvjmy62h33ryrjaa9k1hyvp8hq5qnj8j1x3ap2ci3q3s0"))))
+ (build-system python-build-system)
+ (arguments
+ ;; XXX: The tests require a relatively complicated setup configured in
+ ;; their CI with Nix (!).
+ `(#:tests? #f))
+ (propagated-inputs
+ (list python-robotframework python-robotframework-seleniumlibrary))
+ (home-page "https://github.com/MarketSquare/robotframework-seleniumscreenshots")
+ (synopsis "Robot Framework library for annotating and cropping screenshots")
+ (description "The SeleniumScreenshots library for Robot Framework provides
+keywords for annotating and cropping screenshots taken with SeleniumLibrary.
+It is useful for scripting automatically updated screenshots for documentation
+or for visual regression testing purposes.")
+ (license license:bsd-3)))
+
(define-public python-rstr
(package
(name "python-rstr")
@@ -4503,7 +4773,7 @@ outside the standard library.")
(arguments
'(#:tests? #f)) ;tests require an SSH server
(propagated-inputs
- `(("python-paramiko" ,python-paramiko)))
+ (list python-paramiko))
(home-page "https://github.com/jbardin/scp.py")
(synopsis "SCP protocol module for Python and Paramiko")
(description "The scp module extends the Paramiko library to send and
@@ -4523,10 +4793,9 @@ receive files via the SCP1 protocol, as implemented by the OpenSSH
(base32 "0pqsfqqx8h0pq21k8l3k62kznrgaj2ala93c64s4d9rpbr4mgkd2"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-dateutil" ,python-dateutil)
- ("python-six" ,python-six)))
+ (list python-dateutil python-six))
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-setuptools-scm))
;; Test would require path.py, which would introduce a cyclic dependence.
(arguments `(#:tests? #f))
;; Note: As of version 1.7 the documentation is not worth building.
@@ -4556,8 +4825,7 @@ augment the changelog, but it can be used for other documents, too.")
"1h4gwmcfn84kkqh83km1vfz8sc5kr2g4gzgzmr8gz704jmqiv7nq"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-cryptography" ,python-cryptography)
- ("python-ecdsa" ,python-ecdsa)))
+ (list python-cryptography python-ecdsa))
(synopsis "OpenSSH public key parser")
(description
"This package provides a library for parsing and validating OpenSSH
@@ -4585,8 +4853,7 @@ public key files.")
#t))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pytz" ,python-pytz)
- ("python-six" ,python-six)))
+ (list python-pytz python-six))
(home-page "https://github.com/getpelican/feedgenerator")
(synopsis
"Standalone version of Django's Atom/RSS feed generator")
@@ -4598,29 +4865,31 @@ which can produce feeds in RSS 2.0, RSS 0.91, and Atom formats.")
(define-public python2-feedgenerator
(package-with-python2 python-feedgenerator))
-(define-public python-jsonrpc-server
+(define-public python-lsp-jsonrpc
(package
- (name "python-jsonrpc-server")
- (version "0.4.0")
+ (name "python-lsp-jsonrpc")
+ (version "1.0.0")
(source
(origin
(method url-fetch)
- (uri (pypi-uri "python-jsonrpc-server" version))
+ (uri (pypi-uri "python-lsp-jsonrpc" version))
(sha256
(base32
- "1585ybn3djvx5r5zbxkzlhz2wb1d47y4wrfwaxdyq0gi87jl7ib2"))))
+ "1gb0fsamxndhplx25v8m0b3k7aknzy454fpa0qsqsqnv6c3igv3v"))))
(build-system python-build-system)
+ (native-inputs
+ (list python-mock python-pytest))
(propagated-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)
- ("python-ujson" ,python-ujson)))
- (home-page
- "https://github.com/palantir/python-jsonrpc-server")
+ (list python-ujson))
+ (home-page "https://github.com/python-lsp/python-lsp-jsonrpc")
(synopsis "JSON RPC 2.0 server library")
(description
"This package provides a JSON RPC 2.0 server library for Python.")
(license license:expat)))
+(define-public python-jsonrpc-server
+ (deprecated-package "python-jsonrpc-server" python-lsp-jsonrpc))
+
(define-public python-pydantic
(package
(name "python-pydantic")
@@ -4662,10 +4931,9 @@ which can produce feeds in RSS 2.0, RSS 0.91, and Atom formats.")
(replace 'check
(lambda _ (invoke "pytest" "-vv"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-mock" ,python-pytest-mock)))
+ (list python-pytest python-pytest-mock))
(propagated-inputs
- `(("python-typing-extensions" ,python-typing-extensions)))
+ (list python-typing-extensions))
(home-page "https://github.com/samuelcolvin/pydantic")
(synopsis "Python data validation and settings management")
(description
@@ -4686,8 +4954,7 @@ errors when data is invalid.")
"1m1xv9clkg9lgzyza6dnj359z04vh5g0h49nhzghv7lg81gchhap"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-six" ,python-six)
- ("python-snowballstemmer" ,python-snowballstemmer)))
+ (list python-six python-snowballstemmer))
(home-page
"https://github.com/PyCQA/pydocstyle/")
(synopsis "Python docstring style checker")
@@ -4696,68 +4963,65 @@ errors when data is invalid.")
Server (PLS).")
(license license:expat)))
-(define-public python-language-server
+(define-public python-lsp-server
(package
- (name "python-language-server")
- (version "0.36.2")
+ (name "python-lsp-server")
+ (version "1.3.1")
(source
(origin
(method url-fetch)
- (uri (pypi-uri "python-language-server" version))
+ (uri (pypi-uri "python-lsp-server" version))
(sha256
(base32
- "1c0pnk2aibfhfaanrs0a5gkabkvz81gj20z7r0152b7fcx5ci14r"))))
+ "15075a5irjxh55wcdf25hllz9c42byxc4770cmwgb480k1dm8scq"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'relax-deps
- (lambda _
- (substitute* "setup.py" (("pycodestyle>=2.6.0,<2.7.0")
- "pycodestyle"))
- (substitute* "setup.py" (("pyflakes>=2.2.0,<2.3.0") "pyflakes"))
- #t))
(add-before 'check 'set-HOME
- (lambda _ (setenv "HOME" "/tmp") #t))
+ (lambda _ (setenv "HOME" "/tmp")))
(replace 'check
(lambda _
;; Disable failing test.
(invoke "python" "-m" "pytest" "-k"
"not test_pyqt_completion"))))))
(propagated-inputs
- `(("python-autopep8" ,python-autopep8)
- ("python-configparser" ,python-configparser)
- ("python-pydocstyle" ,python-pydocstyle)
- ("python-flake8" ,python-flake8)
- ("python-future" ,python-future)
- ("python-jedi" ,python-jedi)
- ("python-jsonrpc-server" ,python-jsonrpc-server)
- ("python-pluggy" ,python-pluggy)
- ("python-pycodestyle" ,python-pycodestyle)
- ("python-pyflakes" ,python-pyflakes)
- ("python-rope" ,python-rope)
- ("python-ujson" ,python-ujson)
- ("python-yapf" ,python-yapf)))
+ (list python-autopep8
+ python-configparser
+ python-pydocstyle
+ python-flake8
+ python-future
+ python-jedi
+ python-lsp-jsonrpc
+ python-pluggy
+ python-pycodestyle
+ python-pyflakes
+ python-rope
+ python-ujson
+ python-yapf))
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-flaky" ,python-flaky)
- ("python-matplotlib" ,python-matplotlib)
- ("python-mock" ,python-mock)
- ("python-numpy" ,python-numpy)
- ("python-pandas" ,python-pandas)
- ("python-pylint" ,python-pylint)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-versioneer" ,python-versioneer)))
+ (list python-coverage
+ python-flaky
+ python-matplotlib
+ python-mock
+ python-numpy
+ python-pandas
+ python-pylint
+ python-pytest
+ python-pytest-cov
+ python-versioneer))
(home-page "https://github.com/palantir/python-language-server")
(synopsis "Python implementation of the Language Server Protocol")
(description
- "The Python Language Server (pyls) is an implementation of the Python 3
-language specification for the Language Server Protocol (LSP). This tool is
-used in text editing environments to provide a complete and integrated
-feature-set for programming Python effectively.")
+"The Python Language Server @command{pylsp} is an implementation of the
+Python 3 language specification for the Language Server Protocol (LSP).
+This tool is used in text editing environments to provide a complete
+and integrated feature-set for programming Python effectively.")
(license license:expat)))
+(define-public python-language-server
+ (deprecated-package "python-language-server" python-lsp-server))
+
(define-public python-pathspec
(package
(name "python-pathspec")
@@ -4836,17 +5100,17 @@ matching of file paths.")
(("\\s*\"blackd=blackd:patched_main \\[d\\]\",\n") "")
(("\"blackd\", ") "")))))))
(propagated-inputs
- `(("python-click" ,python-click)
- ("python-attrs" ,python-attrs)
- ("python-appdirs" ,python-appdirs)
- ("python-pathspec" ,python-pathspec)
- ("python-mypy-extensions" ,python-mypy-extensions)
- ("python-regex" ,python-regex)
- ("python-toml" ,python-toml)
- ("python-typed-ast" ,python-typed-ast)
- ("python-typing-extensions" ,python-typing-extensions)))
+ (list python-click
+ python-attrs
+ python-appdirs
+ python-pathspec
+ python-mypy-extensions
+ python-regex
+ python-toml
+ python-typed-ast
+ python-typing-extensions))
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-setuptools-scm))
(home-page "https://github.com/ambv/black")
(synopsis "The uncompromising code formatter")
(description "Black is the uncompromising Python code formatter.")
@@ -4865,7 +5129,7 @@ matching of file paths.")
"1drp5p697ni1xn5y2lbjpalgpkzy2i4cyxjj5pk4dxr0vk97dd7i"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-black" ,python-black)))
+ (list python-black))
(home-page "https://github.com/wbolster/black-macchiato")
(synopsis "Partial @code{python-black} formatting")
(description
@@ -4898,27 +5162,29 @@ interested parties to subscribe to events, or \"signals\".")
(define-public pelican
(package
(name "pelican")
- (version "4.2.0")
+ (version "4.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pelican" version))
(sha256
(base32
- "0mp7hjyhs38ag1hyfcy882g400z0babqi72pnli46dqijfhajzmy"))))
+ "0g1sbzlz5mfc70gwgnj3lz4kf4psdjl96n6ywklv8z817m1khxdd"))))
(build-system python-build-system)
- (propagated-inputs
- `(("python-blinker" ,python-blinker)
- ("python-dateutil" ,python-dateutil)
- ("python-docutils" ,python-docutils)
- ("python-feedgenerator" ,python-feedgenerator)
- ("python-jinja2" ,python-jinja2)
- ("python-markdown" ,python-markdown)
- ("python-pygments" ,python-pygments)
- ("python-pytz" ,python-pytz)
- ("python-six" ,python-six)
- ("python-unidecode" ,python-unidecode)))
- (home-page "https://getpelican.com/")
+ (inputs
+ (list python-blinker
+ python-dateutil
+ ;; Ignoring `guix lint` warning as python-docutils is used to support
+ ;; reStructuredText processing at runtime.
+ python-docutils
+ python-feedgenerator
+ python-jinja2
+ python-markdown
+ python-pygments
+ python-pytz
+ python-rich
+ python-unidecode))
+ (home-page "https://blog.getpelican.com/")
(arguments
`(;; XXX Requires a lot more packages to do unit tests :P
#:tests? #f))
@@ -4965,38 +5231,41 @@ provides additional functionality on the produced Mallard documents.")
(define-public python-cython
(package
(name "python-cython")
- (version "0.29.22")
+ (version "0.29.24")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Cython" version))
(sha256
- (base32 "01jl3544qwsi8lp6anbl55566xqkjd53x452i7m6gnfilv3q6syz"))))
+ (base32 "0hw4gs18rh4slij1fg252argxhraypld9apbqbl60230qc3lvw6d"))))
(build-system python-build-system)
;; we need the full python package and not just the python-wrapper
;; because we need libpython3.3m.so
(inputs
- `(("python" ,python)))
+ (list python))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'set-HOME
;; some tests require access to "$HOME/.cython"
- (lambda _ (setenv "HOME" "/tmp") #t))
+ (lambda _ (setenv "HOME" "/tmp")))
(replace 'check
- (lambda _
+ (lambda* (#:key tests? #:allow-other-keys)
;; Disable compiler optimizations to greatly reduce the running
;; time of the test suite.
(setenv "CFLAGS" "-O0")
- (invoke "python" "runtests.py" "-vv"
- "-j" (number->string (parallel-job-count))
- ;; XXX: On 32-bit architectures, running the parallel tests
- ;; fails on many-core systems, see
- ;; <https://github.com/cython/cython/issues/2807>.
- ,@(if (not (target-64bit?))
- '("-x" "run.parallel")
- '())))))))
+ (when tests?
+ (invoke "python" "runtests.py" "-vv"
+ "-j" (number->string (parallel-job-count))
+ ;; XXX: On 32-bit architectures, running the parallel tests
+ ;; fails on many-core systems, see
+ ;; <https://github.com/cython/cython/issues/2807>.
+ ,@(if (not (target-64bit?))
+ '("-x" "run.parallel")
+ '())
+ ;; This test fails when running on 24 cores.
+ "-x" "cpp_stl_conversion")))))))
(home-page "https://cython.org/")
(synopsis "C extensions for Python")
(description "Cython is an optimising static compiler for both the Python
@@ -5041,10 +5310,10 @@ writing C extensions for Python as easy as Python itself.")
;; NOTE: when upgrading numpy please make sure that python-pandas and
;; python-scipy still build, as these three packages are often used together.
-(define-public python-numpy
+(define-public python-numpy-next
(package
(name "python-numpy")
- (version "1.17.3")
+ (version "1.21.3")
(source
(origin
(method url-fetch)
@@ -5053,38 +5322,29 @@ writing C extensions for Python as easy as Python itself.")
version "/numpy-" version ".tar.gz"))
(sha256
(base32
- "1ak9dmjja0q90a7fsxli51ypcwssh8c4pb6f8wkrsnf2xgdk6dy9"))))
+ "0s6hy8828yr7fcjiwnym4l8lrknr21gqfkaiawsf86n0hd0a5fyh"))))
(build-system python-build-system)
(inputs
- `(("openblas" ,openblas)))
+ (list openblas))
(native-inputs
- `(("python-cython" ,python-cython)
- ("python-pytest" ,python-pytest)
- ("gfortran" ,gfortran)))
+ (list python-cython python-hypothesis python-pytest
+ python-pytest-xdist gfortran))
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-before 'build 'configure-blas-lapack
+ (add-before 'build 'configure-blas
(lambda* (#:key inputs #:allow-other-keys)
(call-with-output-file "site.cfg"
(lambda (port)
(format port
- "[openblas]
+ "\
+[openblas]
libraries = openblas
library_dirs = ~a/lib
include_dirs = ~a/include
-
-# backslash-n to make emacs happy
-\n[lapack]
-lapack_libs = lapack
-library_dirs = ~a/lib
-include_dirs = ~a/include
"
(assoc-ref inputs "openblas")
- (assoc-ref inputs "openblas")
- (assoc-ref inputs "lapack")
- (assoc-ref inputs "lapack"))))
- #t))
+ (assoc-ref inputs "openblas"))))))
(add-before 'build 'fix-executable-paths
(lambda* (#:key inputs #:allow-other-keys)
;; Make /gnu/store/...-bash-.../bin/sh the default shell,
@@ -5095,21 +5355,17 @@ include_dirs = ~a/include
;; Use "gcc" executable, not "cc".
(substitute* "numpy/distutils/system_info.py"
(("c = distutils\\.ccompiler\\.new_compiler\\(\\)")
- "c = distutils.ccompiler.new_compiler(); c.set_executables(compiler='gcc',compiler_so='gcc',linker_exe='gcc',linker_so='gcc -shared')"))
- #t))
- ;; Tests can only be run after the library has been installed and not
- ;; within the source directory.
- (delete 'check)
- (add-after 'install 'check
- (lambda* (#:key outputs inputs #:allow-other-keys)
- ;; Make installed package available for running the tests
- (add-installed-pythonpath inputs outputs)
- ;; Make sure "f2py" etc is found.
- (setenv "PATH" (string-append (assoc-ref outputs "out") "/bin"
- ":" (getenv "PATH")))
- (with-directory-excursion "/tmp"
- (invoke "python" "-c"
- "import numpy; numpy.test(verbose=2)")))))))
+ "c = distutils.ccompiler.new_compiler(); c.set_executables(compiler='gcc',compiler_so='gcc',linker_exe='gcc',linker_so='gcc -shared')"))))
+ (replace 'check
+ (lambda* (#:key tests? outputs inputs #:allow-other-keys)
+ (when tests?
+ ;; Make installed package available for running the tests.
+ (add-installed-pythonpath inputs outputs)
+ ;; Make sure "f2py" etc is found.
+ (setenv "PATH" (string-append (assoc-ref outputs "out") "/bin"
+ ":" (getenv "PATH")))
+ (invoke "./runtests.py"
+ "-j" (number->string (parallel-job-count)))))))))
(home-page "https://numpy.org")
(synopsis "Fundamental package for scientific computing with Python")
(description "NumPy is the fundamental package for scientific computing
@@ -5123,7 +5379,7 @@ capabilities.")
;; Numpy 1.16.x are the last versions that support Python 2.
(define-public python2-numpy
(let ((numpy (package-with-python2
- (strip-python2-variant python-numpy))))
+ (strip-python2-variant python-numpy-next))))
(package
(inherit numpy)
(version "1.16.5")
@@ -5134,7 +5390,40 @@ capabilities.")
version "/numpy-" version ".tar.gz"))
(sha256
(base32
- "0lg1cycxzi4rvvrd5zxinpdz0ni792fpx6xjd75z1923zcac8qrb")))))))
+ "0lg1cycxzi4rvvrd5zxinpdz0ni792fpx6xjd75z1923zcac8qrb"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments numpy)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'delete-failing-test
+ (lambda _
+ ;; There's just one failing test here.
+ (delete-file "numpy/linalg/tests/test_linalg.py")
+ ;; ...and this one depends on the previous one.
+ (delete-file "numpy/matrixlib/tests/test_matrix_linalg.py")))))))
+ (native-inputs
+ (list python2-cython python2-pytest gfortran)))))
+
+;; Needed by python-numba, see https://github.com/numba/numba/issues/7176
+(define-public python-numpy-1.20
+ (package
+ (inherit python-numpy-next)
+ (version "1.20.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/numpy/numpy/releases/download/v"
+ version "/numpy-" version ".tar.gz"))
+ (sha256
+ (base32
+ "140zq9snx0di4id4g97vaw9zz8x2rfla5lp3a70j666f5030yd5p"))))
+ ;; 92 tests fail, many of them because parts of the temp file name
+ ;; accidentally ends up in a comparison.
+ (arguments
+ (substitute-keyword-arguments (package-arguments python-numpy-next)
+ ((#:tests? _ #t) #f)))))
+
+(define-public python-numpy python-numpy-1.20)
;; NOTE: NumPy 1.8 is packaged only for Python 2 because it is of
;; interest only for legacy code going back to NumPy's predecessor
@@ -5156,23 +5445,20 @@ capabilities.")
(substitute-keyword-arguments (package-arguments python2-numpy)
((#:phases phases)
`(modify-phases ,phases
- (replace 'configure-blas-lapack
+ (replace 'configure-blas
(lambda* (#:key inputs #:allow-other-keys)
(call-with-output-file "site.cfg"
(lambda (port)
(format port
"[openblas]
-libraries = openblas,lapack
-library_dirs = ~a/lib:~a/lib
-include_dirs = ~a/include:~a/include
+libraries = openblas
+library_dirs = ~a/lib
+include_dirs = ~a/include
"
(assoc-ref inputs "openblas")
- (assoc-ref inputs "lapack")
- (assoc-ref inputs "openblas")
- (assoc-ref inputs "lapack"))))
- #t))))))
+ (assoc-ref inputs "openblas"))))))))))
(native-inputs
- `(("python2-nose" ,python2-nose)))
+ (list python2-nose))
(description "NumPy is the fundamental package for scientific computing
with Python. It contains among other things: a powerful N-dimensional array
object, sophisticated (broadcasting) functions, tools for integrating C/C++
@@ -5216,28 +5502,24 @@ objects.")
"05qjycgxp3p2f9n6lmic68sxmsyvgnnlyl4z9w7dl9s56jphaiix"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-networkx" ,python-networkx)
- ("python-numpy" ,python-numpy)))
+ (list python-networkx python-numpy))
(home-page "https://github.com/gtaylor/python-colormath")
(synopsis "Color math and conversion library")
(description
"This is a Python library for color math and conversions.")
(license license:bsd-3)))
-(define-public python2-colormath
- (package-with-python2 python-colormath))
-
(define-public python-sparse
(package
(name "python-sparse")
- (version "0.12.0")
+ (version "0.13.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sparse" version))
(sha256
(base32
- "05lmzckv69cvxavhdr36k803bgr5dl04cppglid1l880xswc759c"))))
+ "05ar1lhq1yy4nb78s7vpb1wz4ac4kj0r4lrd7yrf23kpmaacjpb8"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -5247,14 +5529,10 @@ objects.")
(when tests?
(invoke "python" "-m" "pytest" "-v")))))))
(propagated-inputs
- `(("python-numba" ,python-numba)
- ("python-numpy" ,python-numpy)
- ("python-scipy" ,python-scipy)))
+ (list python-numba python-numpy python-scipy))
(native-inputs
- `(("python-dask" ,python-dask)
- ("python-pytest" ,python-pytest)
- ("python-pytest-black" ,python-pytest-black)
- ("python-pytest-cov" ,python-pytest-cov)))
+ (list python-dask python-pytest python-pytest-black
+ python-pytest-cov))
(home-page "https://github.com/pydata/sparse/")
(synopsis "Library for multi-dimensional sparse arrays")
(description
@@ -5290,9 +5568,9 @@ depends on @code{scipy.sparse} for some computations.")
(replace 'check
(lambda _ (invoke "nosetests" "-v"))))))
(propagated-inputs
- `(("python-colormath" ,python-colormath)))
+ (list python-colormath))
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(home-page "https://github.com/jsvine/spectra")
(synopsis "Color scales and color conversion")
(description
@@ -5309,9 +5587,6 @@ color scales, and color space conversion easy. It has support for:
@end enumerate\n")
(license license:expat)))
-(define-public python2-spectra
- (package-with-python2 python-spectra))
-
(define-public python-pyspnego
(package
(name "python-pyspnego")
@@ -5334,12 +5609,9 @@ color scales, and color space conversion easy. It has support for:
(when tests?
(invoke "pytest")))))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-mock" ,python-pytest-mock)))
+ (list python-pytest python-pytest-mock))
(propagated-inputs
- `(("python-cryptography" ,python-cryptography)
- ("python-gssapi" ,python-gssapi)
- ("python-ruamel.yaml" ,python-ruamel.yaml)))
+ (list python-cryptography python-gssapi python-ruamel.yaml))
(home-page "https://github.com/jborean93/pyspnego")
(synopsis "Python SPNEGO library")
(description "The @code{pyspnego} Python library handles Negotiate, NTLM,
@@ -5463,22 +5735,20 @@ readable format.")
(define-public python-pygit2
(package
(name "python-pygit2")
- (version "1.6.0")
+ (version "1.7.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pygit2" version))
(sha256
- (base32 "0qjd5aqpmla64da4pb47vdnrmnqdbn7248a4fzs7f5q1ax7fmb3s"))))
+ (base32 "0p8n25bijirxh31cv99vd1mkdsvpcs6z6441wz1fqva3b2as5ynp"))))
(build-system python-build-system)
(arguments
'(#:tests? #f)) ; tests don't run correctly in our environment
(propagated-inputs
- `(("python-cached-property" ,python-cached-property)
- ("python-cffi" ,python-cffi)
- ("libgit2" ,libgit2)))
+ (list python-cached-property python-cffi libgit2))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/libgit2/pygit2")
(synopsis "Python bindings for libgit2")
(description "Pygit2 is a set of Python bindings to the libgit2 shared
@@ -5506,6 +5776,106 @@ algorithm. Patiencediff provides a good balance of performance, nice output for
humans, and implementation simplicity.")
(license license:gpl2)))
+(define-public python-wmctrl
+ (package
+ (name "python-wmctrl")
+ (version "0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "wmctrl" version))
+ (sha256
+ (base32
+ "1q0l1sqnj5wma87k3dsgmsyph464syjc6fl8qcpa41nan1rgzjv6"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'patch-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((wmctrl (assoc-ref inputs "wmctrl")))
+ (substitute* "wmctrl.py"
+ (("'wmctrl")
+ (string-append "'" wmctrl "/bin/wmctrl")))))))))
+ (inputs (list wmctrl))
+ (propagated-inputs (list python-attrs))
+ (home-page "https://github.com/antocuni/wmctrl")
+ (synopsis "Tool to programmatically control Xorg windows")
+ (description "This package provides a library for programmatically
+controlling Xorg windows using Python. The library relies on the
+@command{wmctrl} to do so.")
+ (license license:expat)))
+
+(define-public python-fancycompleter
+ (package
+ (name "python-fancycompleter")
+ (version "0.9.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "fancycompleter" version))
+ (sha256
+ (base32 "0wkj4h01pxa8prv59zl09a0i3w26k835bfpjgvyvsai4mswgxq09"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'fix-setup.py
+ (lambda _
+ (substitute* "setup.py"
+ ((".*setupmeta.*")
+ "")
+ (("versioning=.*")
+ (string-append "version='" ,version "',"))
+ ((".*pyrepl.*") ;broken on Python 3
+ "")))))))
+ (home-page "https://github.com/pdbpp/fancycompleter")
+ (synopsis "TAB completion library for Python")
+ (description "@code{fancycompleter} is a module that adds TAB completion
+to the interactive prompt. It is an extension of the @code{rlcompleter}
+module from the standard Python library.")
+ (license license:bsd-3)))
+
+(define-public python-pdbpp
+ (package
+ (name "python-pdbpp")
+ (version "0.10.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pdbpp" version))
+ (sha256
+ (base32
+ "1xb9yvi30rb1cdpvfdk2kg79vh3anvkz91r8bwvfp3iqv97kzr6r"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest"
+ "-k"
+ (string-append
+ ;; These tests seem to require a real TTY.
+ "not interaction_restores_previous_sigint_handler "
+ "and not python_m_pdb_uses_pdbpp"))))))))
+ (propagated-inputs
+ (list python-fancycompleter python-pygments python-wmctrl))
+ (native-inputs
+ (list python-pytest python-setuptools-scm))
+ (home-page "https://github.com/pdbpp/pdbpp")
+ (synopsis "Drop-in replacement for pdb")
+ (description "Pdb++ is a drop-in replacement for @code{pdb}. It
+includes the following improvements compared to @code{pdb}:
+@itemize
+@item auto-completion
+@item syntax highlighting of code listings
+@item sticky mode
+@item new commands to be used from the interactive (Pdb++) prompt
+@item smart command parsing
+@item additional convenience functions in the @code{pdb} module.
+@end itemize")
+ (license license:bsd-3)))
+
(define-public python-pdftotext
(package
(name "python-pdftotext")
@@ -5518,83 +5888,115 @@ humans, and implementation simplicity.")
(base32 "1555wbgr5spj8xflrs4mwsrdmba2f9s72nk50xzqk9ghxaxdvy6a"))))
(build-system python-build-system)
(inputs
- `(("poppler" ,poppler)))
+ (list poppler))
(home-page "https://github.com/jalan/pdftotext")
(synopsis "Simple PDF text extraction")
(description "Pdftotext is a Python library of PDF text extraction.")
(license license:expat)))
-(define-public python-pyparsing
+(define-public python-pluginbase
(package
- (name "python-pyparsing")
- (version "2.4.6")
+ (name "python-pluginbase")
+ (version "1.0.1")
(source
(origin
(method url-fetch)
- (uri (pypi-uri "pyparsing" version))
+ (uri (pypi-uri "pluginbase" version))
(sha256
- (base32 "17wn5zlijc9m9zj26gy3f541y7smpj8rfhl51d025c2gm210b0sc"))))
+ (base32
+ "11z2vvbp13828y0x3w39f29p9r9xcix7h7c4fff2w8yfiylk6v7z"))))
(build-system python-build-system)
- (outputs '("out" "doc"))
(arguments
- `(#:tests? #f ; no test target
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'install-doc
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((doc (string-append (assoc-ref outputs "doc")
- "/share/doc/" ,name "-" ,version))
- (html-doc (string-append doc "/html"))
- (examples (string-append doc "/examples")))
- (mkdir-p html-doc)
- (mkdir-p examples)
- (for-each
- (lambda (dir tgt)
- (map (lambda (file)
- (install-file file tgt))
- (find-files dir ".*")))
- (list "docs" "htmldoc" "examples")
- (list doc html-doc examples))
- #t))))))
- (home-page "https://github.com/pyparsing/pyparsing")
- (synopsis "Python parsing class library")
- (description
- "The pyparsing module is an alternative approach to creating and
-executing simple grammars, vs. the traditional lex/yacc approach, or the use
-of regular expressions. The pyparsing module provides a library of classes
-that client code uses to construct the grammar directly in Python code.")
- (license license:expat)))
-
-(define-public python2-pyparsing
- (package-with-python2 python-pyparsing))
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "make" "test")))))))
+ (native-inputs (list python-pytest))
+ (home-page "https://github.com/mitsuhiko/pluginbase")
+ (synopsis "Simple but flexible plugin system for Python")
+ (description "PluginBase is a library useful in the development of
+flexible plugin systems in Python.")
+ (license license:bsd-3)))
-(define-public python-pyparsing-2.4.7
+(define-public python-node-semver
(package
- (inherit python-pyparsing)
- (version "2.4.7")
+ (name "python-node-semver")
+ (version "0.8.1")
(source
(origin
(method url-fetch)
- (uri (pypi-uri "pyparsing" version))
+ (uri (pypi-uri "node-semver" version))
(sha256
- (base32 "1hgc8qrbq1ymxbwfbjghv01fm3fbpjwpjwi0bcailxxzhf3yq0y2"))))))
+ (base32
+ "000ypfns5x72b41w5f9pk6k3jnr35scliqfbvmilyvv0178005i8"))))
+ (build-system python-build-system)
+ (native-inputs
+ (list python-pytest))
+ (home-page "https://github.com/podhmo/python-node-semver")
+ (synopsis "Python port of node-semver")
+ (description "This module provides a Python version of node-semver, a
+semantic version parser for Node.js.")
+ (license license:expat)))
+
+(define-public python-patch-ng
+ (package
+ (name "python-patch-ng")
+ (version "1.17.4")
+ (source
+ (origin
+ (method git-fetch) ;no tests in PyPI archive
+ (uri (git-reference
+ (url "https://github.com/conan-io/python-patch-ng")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0qxn4ss2s54qy87xrpcybz26kp2fwlaq41x4k9jcmp6d7p0w569m"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "tests/run_tests.py" "-v")))))))
+ (home-page "https://github.com/conan-io/python-patch-ng")
+ (synopsis "Python library to parse and apply unified diffs")
+ (description "Patch NG (New Generation) is a command and Python library to
+parse and apply unified diffs. It has features such as:
+@itemize
+@item automatic correction of common patch formatting corruption
+@item patch format detection (SVN, Hg, Git)
+@item nice diffstat histogram.
+@end itemize")
+ (license license:expat)))
(define-public python-numpydoc
(package
(name "python-numpydoc")
- (version "0.8.0")
+ (version "1.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "numpydoc" version))
(sha256
(base32
- "1zazxg3m8j4fksv3f7v7vpf4bj9qb1vj3r326am0vdip141vzx31"))))
+ "13j4fvy2p7lc8sn00sxvs0jb19vicaznfgx4cphv9jgxgz5xcvy3"))))
(build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "-v" "numpydoc/tests"
+ ;; TODO: unclear why these fail.
+ "-k" "not test_MyClass and not test_my_function")))))))
(propagated-inputs
- `(("python-sphinx" ,python-sphinx)))
+ (list python-sphinx))
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-matplotlib python-pytest python-pytest-cov))
(home-page "https://pypi.org/project/numpydoc/")
(synopsis
"Numpy's Sphinx extensions")
@@ -5607,6 +6009,15 @@ that client code uses to construct the grammar directly in Python code.")
(let ((base (package-with-python2
(strip-python2-variant python-numpydoc))))
(package/inherit base
+ ;; This is the last version to support Python 2
+ (version "0.9.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "numpydoc" version))
+ (sha256
+ (base32
+ "09x6l1a4dcvj7001bvcmcayg1nwqwhaxlwbp6kzj9qrk57lqx3z0"))))
(propagated-inputs
`(("python2-jinja2" ,python2-jinja2)
,@(package-propagated-inputs base))))))
@@ -5625,7 +6036,7 @@ that client code uses to construct the grammar directly in Python code.")
(build-system python-build-system)
(arguments `(#:tests? #f)) ; no tests included
(propagated-inputs
- `(("python-numpy" ,python-numpy)))
+ (list python-numpy))
(home-page "https://github.com/pydata/numexpr")
(synopsis "Fast numerical expression evaluator for NumPy")
(description
@@ -5656,7 +6067,7 @@ transcendental functions).")
;; Enable this for the next release which uses 'python-pytest'.
'(#:tests? #f))
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(home-page "https://matplotlib.org/cycler/")
(synopsis "Composable keyword argument iterator")
(description
@@ -5685,9 +6096,9 @@ To address this and enable easy cycling over arbitrary @code{kwargs}, the
(base32 "0x7nkphr6g5ql5fvgss8l56rgiyjgh6fm8zzs73i94ci9wzlm63w"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-numpy" ,python-numpy)))
+ (list python-numpy))
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -5703,6 +6114,44 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc.
(define-public python2-colorspacious
(package-with-python2 python-colorspacious))
+(define-public python-proto-matcher
+ (package
+ (name "python-proto-matcher")
+ (version "0.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "proto_matcher" version))
+ (sha256
+ (base32 "1644x0hrl398ji3281n44ymfgc3cspzfagjckhqjn4nja5nlikxg"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f)) ;no test suite
+ (propagated-inputs
+ (list python-protobuf python-pyhamcrest))
+ (home-page "https://github.com/dayfine/proto-matcher")
+ (synopsis "PyHamcrest test matchers for protocol buffers")
+ (description "This package provides the following PyHamcrest test
+matchers, that enable matching a protocol buffer message:
+@table @code
+@item equals_proto
+Test the argument equals the given protobuf message.
+@item approximately
+Test the argument equals the given protobuf message, while comparing any float
+field using approximation.
+@item ignoring_field_paths
+Test the argument equals the given protobuf message, while ignoring those
+fields specified in the field paths.
+@item ignoring_repeated_field_ordering
+Test the argument equals the given protobuf message, ignoring the ordering of
+any repeated field.
+@item partially
+Test the argument partially equals the given protobuf message, i.e. if a field
+is in the argument but not in the expected message, it's ignored in the
+comparison.
+@end table")
+ (license license:asl2.0)))
+
(define-public python-matplotlib
(package
(name "python-matplotlib")
@@ -5734,15 +6183,15 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc.
("python-pycairo" ,python-pycairo)
("python-cairocffi" ,python-cairocffi)))
(inputs
- `(("libpng" ,libpng)
- ("freetype" ,freetype)
- ("qhull" ,qhull)
- ("cairo" ,cairo)
- ("glib" ,glib)
- ;; FIXME: Add backends when available.
- ;("python-wxpython" ,python-wxpython)
- ("tcl" ,tcl)
- ("tk" ,tk)))
+ (list libpng
+ freetype
+ qhull
+ cairo
+ glib
+ ;; FIXME: Add backends when available.
+ ;("python-wxpython" ,python-wxpython)
+ tcl
+ tk))
(native-inputs
`(("pkg-config" ,pkg-config)
("python-pytest" ,python-pytest)
@@ -5869,8 +6318,15 @@ toolkits.")
(mkdir-p dir)
(invoke "unzip"
(assoc-ref inputs "jquery-ui")
- "-d" dir))
- #t))
+ "-d" dir))))
+ ;; Without this file mpl_toolkits cannot be imported.
+ (add-after 'install 'create-init-file
+ (lambda* (#:key outputs #:allow-other-keys)
+ (with-output-to-file
+ (string-append
+ (assoc-ref outputs "out")
+ "/lib/python2.7/site-packages/mpl_toolkits/__init__.py")
+ (lambda _ (display "")))))
(delete 'fix-and-disable-failing-tests)
(delete 'check))))) ; These tests weren't run the the past.
;; Make sure to use special packages for Python 2 instead
@@ -5985,8 +6441,7 @@ toolkits.")
(base32 "1vilzwj3xp00mxprmmn1hlafm3p23vn56s46kx3ra4qd5signjx0"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-matplotlib" ,python-matplotlib)
- ("python-traitlets" ,python-traitlets)))
+ (list python-matplotlib python-traitlets))
(arguments
;; Tests disabled because of a circular dependency with ipython.
`(#:tests? #f))
@@ -6011,11 +6466,9 @@ Jupyter.")
(build-system python-build-system)
(arguments '(#:tests? #f)) ; tests are not included
(propagated-inputs
- `(("python-matplotlib" ,python-matplotlib)
- ("python-numpy" ,python-numpy)
- ("python-scipy" ,python-scipy)))
+ (list python-matplotlib python-numpy python-scipy))
(native-inputs
- `(("unzip" ,unzip)))
+ (list unzip))
(home-page "https://github.com/konstantint/matplotlib-venn")
(synopsis "Plot area-proportional Venn diagrams")
(description
@@ -6047,14 +6500,14 @@ three-way Venn diagrams in @code{matplotlib}.")
(invoke "python3" "pysnptools/test.py"))
#t))))))
(propagated-inputs
- `(("python-dill" ,python-dill)
- ("python-h5py" ,python-h5py)
- ("python-numpy" ,python-numpy)
- ("python-pandas" ,python-pandas)
- ("python-psutil" ,python-psutil)
- ("python-scipy" ,python-scipy)))
+ (list python-dill
+ python-h5py
+ python-numpy
+ python-pandas
+ python-psutil
+ python-scipy))
(native-inputs
- `(("python-cython" ,python-cython)))
+ (list python-cython))
(home-page "http://microsoftgenomics.github.io/PySnpTools/")
(synopsis "Library for reading and manipulating genetic data")
(description
@@ -6079,9 +6532,9 @@ operators such as union, intersection, and difference.")
(base32 "0p8n2ljdacfixkiw092974dmhy4s1c0h032ii1z9kwi9h5h5rgmy"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(propagated-inputs
- `(("python-numpy" ,python-numpy)))
+ (list python-numpy))
(home-page "https://github.com/storpipfugl/pykdtree")
(synopsis "Fast kd-tree implementation with OpenMP-enabled queries")
(description
@@ -6107,8 +6560,7 @@ search in Python.")
(lambda _
(invoke "pytest" "-vv" "test.py"))))))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)))
+ (list python-mock python-pytest))
(home-page "https://github.com/minrk/wurlitzer")
(synopsis "Capture C-level output in context managers")
(description
@@ -6190,7 +6642,7 @@ a simple netcat replacement with chaining support.")
(lambda _
(invoke "pytest" "-vv"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://pycodestyle.readthedocs.io/")
(synopsis "Python style guide checker")
(description "@code{pycodestyle} (formerly pep8) is a tool to check
@@ -6232,8 +6684,7 @@ Python code against some of the style conventions in
(invoke "pytest" "-vv")
(format #t "test suite not run~%")))))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)))
+ (list python-pytest python-pytest-cov))
(home-page "https://github.com/aio-libs/multidict/")
(synopsis "Multidict implementation")
(description "Multidict is dict-like collection of key-value pairs
@@ -6243,29 +6694,19 @@ where key might be occurred more than once in the container.")
(define-public python-orderedmultidict
(package
(name "python-orderedmultidict")
- (version "1.0")
+ (version "1.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "orderedmultidict" version))
(sha256
(base32
- "1idjbl933avgaadscrjw1np3xkvnz3phq0l8vw5qs0rqcjx9b65q"))))
+ "1bc2v0yflsxjyyjx4q9wqx0j3bvzcw9z87d5pz4iqac7bsxhn1q4"))))
(build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-tests
- (lambda _
- ;; The package uses nosetest for running the tests.
- ;; Adding this initfile allows to run the test suite
- ;; without requiring nosetest.
- (with-output-to-file "tests/__init__.py" newline)
- #t)))))
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(native-inputs
- `(("python-pycodestyle" ,python-pycodestyle)))
+ (list python-flake8 python-pycodestyle))
(home-page "https://github.com/gruns/orderedmultidict")
(synopsis "Python Ordered Multivalue Dictionary - omdict")
(description "This package contains a library for ordered multivalue
@@ -6274,9 +6715,6 @@ multiple values for the same key. An ordered multivalue dictionary is a
multivalue dictionary that retains the order of insertions and deletions.")
(license license:unlicense)))
-(define-public python2-orderedmultidict
- (package-with-python2 python-orderedmultidict))
-
(define-public python-autopep8
(package
(name "python-autopep8")
@@ -6290,8 +6728,7 @@ multivalue dictionary that retains the order of insertions and deletions.")
"1w6vh627vrmgfbvrdcxrc3k4gxcldrb2lpgxv9irkdds851qrzb0"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pycodestyle" ,python-pycodestyle)
- ("python-toml" ,python-toml)))
+ (list python-pycodestyle python-toml))
(home-page "https://github.com/hhatto/autopep8")
(synopsis "Format Python code according to the PEP 8 style guide")
(description
@@ -6332,7 +6769,7 @@ by pycodestyle.")
;; NOTE: Any value works, the variable just has to be present.
(setenv "SKIP_ONLINE" "1")
#t)))))
- (native-inputs `(("unzip" ,unzip)))
+ (native-inputs (list unzip))
(home-page "https://bitbucket.org/pypa/distlib")
(synopsis "Distribution utilities")
(description "Distlib is a library which implements low-level functions that
@@ -6432,17 +6869,16 @@ the OleFileIO module from PIL, the Python Image Library.")
(arguments
`(#:tests? #false)) ;require python-xmp-toolkit
(native-inputs
- `(("pybind11" ,pybind11)
- ("python-setuptools" ,python-setuptools)
- ("python-setuptools-scm" ,python-setuptools-scm)
- ("python-setuptools-scm-git-archive" ,python-setuptools-scm-git-archive)
- ("python-toml" ,python-toml)
- ("python-wheel" ,python-wheel)))
+ (list pybind11
+ python-setuptools
+ python-setuptools-scm
+ python-setuptools-scm-git-archive
+ python-toml
+ python-wheel))
(inputs
- `(("qpdf" ,qpdf)))
+ (list qpdf))
(propagated-inputs
- `(("python-lxml" ,python-lxml)
- ("python-pillow" ,python-pillow)))
+ (list python-lxml python-pillow))
(home-page "https://github.com/pikepdf/pikepdf")
(synopsis "Read and write PDFs with Python")
(description
@@ -6462,7 +6898,7 @@ the OleFileIO module from PIL, the Python Image Library.")
"086g7nhv52wclrwnzbzs2x3nvyzs2hfq1bvgivsrp5f7r7wiiz7n"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(inputs
`(("freetype" ,freetype)
("lcms" ,lcms)
@@ -6472,7 +6908,7 @@ the OleFileIO module from PIL, the Python Image Library.")
("openjpeg" ,openjpeg)
("zlib" ,zlib)))
(propagated-inputs
- `(("python-olefile" ,python-olefile)))
+ (list python-olefile))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -6563,9 +6999,8 @@ a general image processing tool.")
(for-each make-file-writable (find-files "Tests"))
#t))))))
(inputs
- `(("libraqm" ,libraqm)
- ("libimagequant" ,libimagequant)
- ,@(package-inputs python-pillow)))
+ (modify-inputs (package-inputs python-pillow)
+ (prepend libraqm libimagequant)))
(home-page "https://github.com/uploadcare/pillow-simd")
(synopsis "Fork of the Python Imaging Library (Pillow)")
(description "This package is a fork of Pillow which adds support for SIMD
@@ -6622,28 +7057,28 @@ def customize_build(EXTENSIONS, OPTIONS):
")))
#t)))))
(inputs
- `(("c-blosc" ,c-blosc)
- ("giflib" ,giflib)
- ("google-brotli" ,google-brotli)
- ("libjpeg-turbo" ,libjpeg-turbo)
- ("libpng" ,libpng)
- ("libtiff" ,libtiff)
- ("libwebp" ,libwebp)
- ("lz4" ,lz4)
- ("snappy" ,snappy)
- ("xz" ,xz)
- ("zlib" ,zlib)
- ("zstd" ,zstd "lib")))
+ (list c-blosc
+ giflib
+ brotli
+ libjpeg-turbo
+ libpng
+ libtiff
+ libwebp
+ lz4
+ snappy
+ xz
+ zlib
+ `(,zstd "lib")))
(propagated-inputs
- `(("python-numpy" ,python-numpy)))
+ (list python-numpy))
(native-inputs
;; For building.
- `(("python-cython" ,python-cython)
- ;; For testing. Incomplete.
- ;("python-numcodecs" ,python-numcodecs)
- ;("python-zarr" ,python-zarr)
- ;("python-pytest" ,python-pytest)
- ))
+ (list python-cython
+ ;; For testing. Incomplete.
+ ;("python-numcodecs" ,python-numcodecs)
+ ;("python-zarr" ,python-zarr)
+ ;("python-pytest" ,python-pytest)
+ ))
(home-page "https://www.lfd.uci.edu/~gohlke/")
(synopsis
"Image transformation, compression, and decompression codecs")
@@ -6667,7 +7102,7 @@ tifffile, czifile, and other scientific image input/output modules.")
(build-system python-build-system)
(arguments `(#:tests? #f)) ; there are none
(propagated-inputs
- `(("python-numpy" ,python-numpy)))
+ (list python-numpy))
(home-page "https://www.lfd.uci.edu/~gohlke/")
(synopsis "Read and write ImageJ ROI format")
(description "Roifile is a Python library to read, write, create, and plot
@@ -6690,8 +7125,7 @@ regions of interest, geometric shapes, paths, text, etc for image overlays.")
;; Tests require lfdfiles, which depends on tifffile
(arguments `(#:tests? #f))
(propagated-inputs
- `(("python-numpy" ,python-numpy)
- ("python-imagecodecs" ,python-imagecodecs)))
+ (list python-numpy python-imagecodecs))
(home-page "https://www.lfd.uci.edu/~gohlke/")
(synopsis "Read and write TIFF(r) files")
(description "This package lets you read image and metadata from many
@@ -6721,10 +7155,8 @@ numpy arrays to TIFF, BigTIFF, and ImageJ hyperstack compatible files.")
(arguments
`(#:tests? #f)) ; No tests exist, despite a test dependency on pytest.
(propagated-inputs
- `(("python-click" ,python-click)
- ("python-numpy" ,python-numpy)
- ("python-tifffile" ,python-tifffile)))
- (native-inputs `(("python-cython" ,python-cython)))
+ (list python-click python-numpy python-tifffile))
+ (native-inputs (list python-cython))
(home-page "https://www.lfd.uci.edu/~gohlke/")
(synopsis "Work with LFD data files")
(description
@@ -6758,11 +7190,9 @@ experimental data and metadata at the Laboratory for Fluorescence Dynamics.")
(invoke "pytest" "-vv"))
#t))))))
(propagated-inputs
- `(("python-numpy" ,python-numpy)
- ("python-pillow" ,python-pillow)
- ("python-psutil" ,python-psutil)))
+ (list python-numpy python-pillow python-psutil))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://imageio.github.io/")
(synopsis "Library for reading and writing a wide range of image data")
(description
@@ -6785,7 +7215,7 @@ data, and scientific formats.")
(outputs '("out" "doc"))
(build-system python-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -6867,10 +7297,10 @@ formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.")
(with-directory-excursion (string-append cwd "/build/" libdir)
(invoke "pytest" "-vv"))))))))
(native-inputs
- `(("python-matplotlib" ,python-matplotlib) ;for tests
- ("python-pytest" ,python-pytest)))
+ (list python-matplotlib ;for tests
+ python-pytest))
(propagated-inputs
- `(("python-numpy" ,python-numpy)))
+ (list python-numpy))
(synopsis "Wavelet transforms in Python")
(description
"PyWavelets is a library for wavelet transforms in Python. Wavelets are
@@ -6903,7 +7333,7 @@ localized only in frequency instead of in time and frequency.")
(setenv "HOME" "/tmp")
#t)))))
(inputs
- `(("imagemagick" ,imagemagick)))
+ (list imagemagick))
(home-page "https://github.com/dylanaraps/pywal")
(synopsis "Color palette generator and applicator")
(description
@@ -6925,13 +7355,10 @@ your favourite programs.")
"10gabhhg3rgacd5ahmi2r128z99fzbrbx6mz1nnq0dxmhmn5rpjf"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-six" ,python-six)
- ("python-requests_ntlm" ,python-requests_ntlm)
- ("python-xmltodict" ,python-xmltodict)
- ("python-kerberos" ,python-kerberos)))
+ (list python-six python-requests_ntlm python-xmltodict
+ python-kerberos))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)))
+ (list python-mock python-pytest))
(home-page "https://github.com/diyan/pywinrm/")
(synopsis
"Python library for Windows Remote Management (WinRM)")
@@ -6944,20 +7371,20 @@ any machine that can run Python.")
(define-public python-xcffib
(package
(name "python-xcffib")
- (version "0.6.0")
+ (version "0.11.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xcffib" version))
(sha256
(base32
- "04k91yxyb3pgc5lvxmivh8w71yjrap2g57yk3s73x4rm4nvjq51n"))))
+ "0nkglsm9nbhv238iagmmsjcz6lf1yfdvp5kmspphdj385vz9r50j"))))
(build-system python-build-system)
(inputs
- `(("libxcb" ,libxcb)))
+ (list libxcb))
(propagated-inputs
- `(("python-cffi" ,python-cffi) ; used at run time
- ("python-six" ,python-six)))
+ (list python-cffi ; used at run time
+ python-six))
(arguments
`(;; FIXME: Tests need more work. See ".travis.yml" in the repository.
#:tests? #f
@@ -6967,7 +7394,8 @@ any machine that can run Python.")
(lambda* (#:key inputs #:allow-other-keys)
(let ((libxcb (assoc-ref inputs "libxcb")))
(substitute* '("xcffib/__init__.py")
- (("^soname = \"") (string-append "soname = \"" libxcb "/lib/")))
+ (("soname = ctypes.util.find_library.*xcb.*")
+ (string-append "soname = \"" libxcb "/lib/libxcb.so\"\n")))
#t)))
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
@@ -7005,19 +7433,16 @@ support for Python 3 and PyPy. It is based on cffi.")
(build-system python-build-system)
(outputs '("out" "doc"))
(inputs
- `(("glib" ,glib)
- ("gtk+" ,gtk+)
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("cairo" ,cairo)))
+ (list glib gtk+ gdk-pixbuf cairo))
(native-inputs
- `(("python-numpy" ,python-numpy)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-runner" ,python-pytest-runner)
- ("python-sphinx" ,python-sphinx)
- ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)))
+ (list python-numpy
+ python-pytest
+ python-pytest-cov
+ python-pytest-runner
+ python-sphinx
+ python-sphinx-rtd-theme))
(propagated-inputs
- `(("python-xcffib" ,python-xcffib))) ; used at run time
+ (list python-xcffib)) ; used at run time
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -7093,10 +7518,21 @@ PNG, PostScript, PDF, and SVG file output.")
for the average programmer, and to popularize decorators usage giving examples
of useful decorators, such as memoize, tracing, redirecting_stdout, locked,
etc. The core of this module is a decorator factory.")
- (license license:expat)))
+ (license license:expat)
+ (properties `((python2-variant . ,(delay python2-decorator))))))
+;; Version 5 does not support Python 2
(define-public python2-decorator
- (package-with-python2 python-decorator))
+ (package
+ (inherit (package-with-python2
+ (strip-python2-variant python-decorator)))
+ (version "4.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "decorator" version))
+ (sha256
+ (base32 "0308djallnh00v112y5b7nadl657ysmkp6vc8xn51d6yzc9zm7n3"))))))
(define-public python-drmaa
(package
@@ -7114,7 +7550,7 @@ etc. The core of this module is a decorator factory.")
;; should be set to the path of the libdrmaa library.
(arguments '(#:tests? #f))
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(home-page "https://pypi.org/project/drmaa/")
(synopsis "Python bindings for the DRMAA library")
(description
@@ -7141,9 +7577,7 @@ Python language binding specification.")
(build-system python-build-system)
(arguments '(#:tests? #f)) ; Test file 'grako.ebnf' is missing from archive.
(native-inputs
- `(("unzip" ,unzip)
- ("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list unzip python-pytest python-pytest-runner))
(home-page "https://bitbucket.org/neogeny/grako")
(synopsis "EBNF parser generator")
(description
@@ -7177,11 +7611,9 @@ memoizing PEG/Packrat parser in Python.")
(lambda _
(invoke "python" "setup.py" "pytest"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-pytest python-pytest-runner))
(propagated-inputs
- `(("python-numpy" ,python-numpy)
- ("python-ply" ,python-ply)))
+ (list python-numpy python-ply))
(home-page "https://github.com/bdcht/grandalf")
(synopsis "Graph and drawing algorithms framework")
(description
@@ -7226,9 +7658,7 @@ you to actually draw things with your favorite toolkit.")
(arguments
'(#:tests? #f)) ; FIXME: Requires python-cherrypy.
(propagated-inputs
- `(("python-psutil" ,python-psutil)
- ("python-drmaa" ,python-drmaa)
- ("python-pyzmq" ,python-pyzmq)))
+ (list python-psutil python-drmaa python-pyzmq))
(home-page "https://github.com/pygridtools/gridmap")
(synopsis "Create jobs on a cluster directly from Python")
(description
@@ -7252,12 +7682,9 @@ cluster without needing to write any wrapper code yourself.")
(base32 "11bd87474qpif20xdcn0ra1idj5k16ka51i658wfpxwc6nzsn92b"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-mock" ,python-mock)
- ("python-tox" ,python-tox)
- ("which" ,which))) ;for tests
+ (list python-pytest python-mock python-tox which)) ;for tests
(propagated-inputs
- `(("python-jinja2" ,python-jinja2)))
+ (list python-jinja2))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -7293,7 +7720,7 @@ displayed.")
(base32 "16siqc3brbk7dp4d9sg48bjl6a8wyy24aib3il1hf4y2624draxh"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -7345,7 +7772,7 @@ wraps Python's standard library threading and multiprocessing objects.")
("which" ,which)
("bash-full" ,bash))) ;full Bash for 'test_replwrap.py'
(propagated-inputs
- `(("python-ptyprocess" ,python-ptyprocess)))
+ (list python-ptyprocess))
(home-page "http://pexpect.readthedocs.org/")
(synopsis "Controlling interactive console applications")
(description
@@ -7361,24 +7788,37 @@ child application and control it as if a human were typing commands.")
(define-public python-setuptools-scm
(package
(name "python-setuptools-scm")
- (version "5.0.1")
+ (version "6.3.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "setuptools_scm" version))
(sha256
- (base32
- "0ahlrxxkx2xhmxskx57gc96w3bdndflxx30304ihvm7ds136nny8"))))
+ (base32 "1wm0i27siyy1yqr9rv7lqvb65agay9051yi8jzmi8dgb3q4ai6m4"))))
(build-system python-build-system)
+ (propagated-inputs
+ `(("python-packaging",python-packaging-bootstrap)
+ ("python-tomli" ,python-tomli)))
(home-page "https://github.com/pypa/setuptools_scm/")
(synopsis "Manage Python package versions in SCM metadata")
(description
"Setuptools_scm handles managing your Python package versions in
@dfn{software configuration management} (SCM) metadata instead of declaring
them as the version argument or in a SCM managed file.")
- (license license:expat)))
+ (license license:expat)
+ (properties `((python2-variant . ,(delay python2-setuptools-scm))))))
(define-public python2-setuptools-scm
- (package-with-python2 python-setuptools-scm))
+ (let ((base (package-with-python2
+ (strip-python2-variant python-setuptools-scm))))
+ (package/inherit base
+ (version "5.0.2") ;no python 2 support in version 6
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "setuptools_scm" version))
+ (sha256
+ (base32
+ "1j75i8avp9fhrkpbabsa8vyvbi49kmxlq6l10xir9qs96kfwx843"))))
+ (propagated-inputs '()))))
(define-public python-sexpdata
(package
@@ -7402,18 +7842,17 @@ functions like pickle, json or PyYAML module.")
(define-public python-pathlib2
(package
(name "python-pathlib2")
- (version "2.3.3")
+ (version "2.3.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pathlib2" version))
(sha256
(base32
- "0hpp92vqqgcd8h92msm9slv161b1q160igjwnkf2ag6cx0c96695"))))
+ "0psyg60vk8wca473djrh0v9gb853z8wcawi8im5dyg00amawp2vx"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-scandir" ,python-scandir)
- ("python-six" ,python-six)))
+ (list python-scandir python-six))
(home-page "https://pypi.org/project/pathlib2/")
(synopsis "Object-oriented file system paths")
(description "The goal of pathlib2 is to provide a backport of the
@@ -7435,8 +7874,7 @@ older Python versions.")
"1hq626mx5jl9zfl0wdrjkxsnh8qd98fqv322n68b9251xjk4bxqr"))))
(build-system python-build-system)
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)
- ("python-toml" ,python-toml)))
+ (list python-setuptools-scm python-toml))
(home-page "http://importlib-resources.readthedocs.io/")
(synopsis "Read resources from Python packages")
(description
@@ -7469,8 +7907,7 @@ older Python versions.")
""))
#t)))))
(propagated-inputs
- `(("python-pathlib2" ,python2-pathlib2)
- ("python-typing" ,python2-typing)))
+ (list python2-pathlib2 python2-typing))
(home-page "https://gitlab.com/python-devs/importlib_resources")
(synopsis "Backport of @code{importlib.resources} from Python 3.7")
(description
@@ -7501,11 +7938,9 @@ for older versions of Python.")
"00ikdj4gjhankdljnz7g5ggak4k9lql2926x0x117ir9j2lv7x86"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-zipp" ,python-zipp)))
+ (list python-zipp))
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)
- ("python-pyfakefs" ,python-pyfakefs)
- ("python-packaging" ,python-packaging)))
+ (list python-setuptools-scm python-pyfakefs python-packaging))
(home-page "https://importlib-metadata.readthedocs.io/")
(synopsis "Read metadata from Python packages")
(description
@@ -7604,14 +8039,14 @@ finding unresolved symbols in Python code and their corresponding imports.")
"0zimrnkh33b9g8ffw11mjh6kvs54cy5gcjw1h5cl1r7dc833dmkm"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-checkdocs" ,python-pytest-checkdocs)
- ("python-pytest-flake8" ,python-pytest-flake8)
- ("python-rst.linker" ,python-rst.linker)
- ("python-setuptools" ,python-setuptools)
- ("python-setuptools-scm" ,python-setuptools-scm)
- ("python-six" ,python-six)
- ("python-sphinx" ,python-sphinx)))
+ (list python-pytest
+ python-pytest-checkdocs
+ python-pytest-flake8
+ python-rst.linker
+ python-setuptools
+ python-setuptools-scm
+ python-six
+ python-sphinx))
(home-page "https://github.com/jaraco/jaraco.packaging")
(synopsis "Tools to supplement packaging Python releases")
(description
@@ -7632,15 +8067,14 @@ releases.")
(outputs '("out" "doc"))
(build-system python-build-system)
(propagated-inputs
- `(("python-appdirs" ,python-appdirs)
- ("python-importlib-metadata" ,python-importlib-metadata)))
+ (list python-appdirs python-importlib-metadata))
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)
- ("python-sphinx" ,python-sphinx)
- ("python-rst.linker" ,python-rst.linker)
- ("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)
- ("python-jaraco-packaging" ,python-jaraco-packaging)))
+ (list python-setuptools-scm
+ python-sphinx
+ python-rst.linker
+ python-pytest
+ python-pytest-runner
+ python-jaraco-packaging))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -7683,7 +8117,7 @@ common operations on files to be invoked on those path objects directly.")
(base32 "0wwi1c6md4vkbcsfsf8dklf3vr4mcdj4mpxkanwgb6jb1432x5yw"))))
(build-system python-build-system)
(native-inputs
- `(("unzip" ,unzip)))
+ (list unzip))
(home-page "http://cheeseshop.python.org/pypi/simplegeneric")
(synopsis "Python module for simple generic functions")
(description
@@ -7747,22 +8181,22 @@ away.")
(setenv "HOME" (getcwd))
#t)))))
(propagated-inputs
- `(("python-dateutil" ,python-dateutil)
- ("python-decorator" ,python-decorator)
- ("python-ipykernel" ,python-ipykernel)
- ("python-ipython" ,python-ipython)
- ("python-ipython-genutils" ,python-ipython-genutils)
- ("python-jupyter-client" ,python-jupyter-client)
- ("python-pyzmq" ,python-pyzmq)
- ("python-tornado" ,python-tornado)
- ("python-traitlets" ,python-traitlets)))
+ (list python-dateutil
+ python-decorator
+ python-ipykernel
+ python-ipython
+ python-ipython-genutils
+ python-jupyter-client
+ python-pyzmq
+ python-tornado
+ python-traitlets))
(native-inputs
- `(("python-ipython" ,python-ipython)
- ("python-mock" ,python-mock)
- ("python-nose" ,python-nose)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-testpath" ,python-testpath)))
+ (list python-ipython
+ python-mock
+ python-nose
+ python-pytest
+ python-pytest-cov
+ python-testpath))
(home-page "https://ipython.org/")
(synopsis "Interactive Parallel Computing with IPython")
(description
@@ -7806,12 +8240,12 @@ CLI scripts:
(invoke "python" "example/example.py" "--local"))
#t))))))
(propagated-inputs
- `(("python-ipyparallel" ,python-ipyparallel)
- ("python-ipython" ,python-ipython)
- ("python-netifaces" ,python-netifaces)
- ("python-pyzmq" ,python-pyzmq)
- ("python-setuptools" ,python-setuptools)
- ("python-six" ,python-six)))
+ (list python-ipyparallel
+ python-ipython
+ python-netifaces
+ python-pyzmq
+ python-setuptools
+ python-six))
(home-page "https://github.com/roryk/ipython-cluster-helper")
(synopsis
"Simplify IPython cluster start up and use for multiple schedulers")
@@ -7838,12 +8272,9 @@ cluster down and deletes the throwaway profile.")
(modify-phases %standard-phases
(replace 'check (lambda _ (invoke "pytest" "-vv" "traitlets"))))))
(propagated-inputs
- `(("python-ipython-genutils" ,python-ipython-genutils)
- ("python-decorator" ,python-decorator)
- ("python-six" ,python-six)))
+ (list python-ipython-genutils python-decorator python-six))
(native-inputs
- `(("python-pytest" ,python-pytest)))
- (properties `((python2-variant . ,(delay python2-traitlets))))
+ (list python-pytest))
(home-page "https://ipython.org")
(synopsis "Configuration system for Python applications")
(description
@@ -7855,13 +8286,6 @@ is a distinct layer on top of traitlets, so you can use traitlets in your code
without using the configuration machinery.")
(license license:bsd-3)))
-(define-public python2-traitlets
- (let ((traitlets (package-with-python2 (strip-python2-variant python-traitlets))))
- (package/inherit traitlets
- (propagated-inputs
- `(("python2-enum34" ,python2-enum34)
- ,@(package-propagated-inputs traitlets))))))
-
(define-public python-jupyter-core
(package
(name "python-jupyter-core")
@@ -7907,15 +8331,14 @@ without using the configuration machinery.")
(assoc-ref outputs "out")
"/etc/jupyter/migrated")))))))
(propagated-inputs
- `(("python-traitlets" ,python-traitlets)))
+ (list python-traitlets))
(native-inputs
- `(("python-six" ,python-six)
- ("python-pytest" ,python-pytest)))
+ (list python-six python-pytest))
;; This package provides the `jupyter` binary and thus also exports the
;; search paths.
(native-search-paths
(list (search-path-specification
- (variable "JUPYTER_CONFIG_DIR")
+ (variable "JUPYTER_CONFIG_PATH")
(files '("etc/jupyter")))
(search-path-specification
(variable "JUPYTER_PATH")
@@ -7957,14 +8380,10 @@ without using the configuration machinery.")
(inputs
`(("iproute" ,iproute)))
(propagated-inputs
- `(("python-dateutil" ,python-dateutil)
- ("python-jupyter-core" ,python-jupyter-core)
- ("python-pyzmq" ,python-pyzmq)
- ("python-tornado" ,python-tornado-6)
- ("python-traitlets" ,python-traitlets)))
+ (list python-dateutil python-jupyter-core python-pyzmq
+ python-tornado-6 python-traitlets))
(native-inputs
`(("python-pytest" ,python-pytest)
- ("python-pytest-asyncio" ,python-pytest-asyncio)
("python-pytest-timeout" ,python-pytest-timeout)
("python-async-generator" ,python-async-generator)
("python-mock" ,python-mock)
@@ -8009,10 +8428,10 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
`(#:phases
(modify-phases %standard-phases
(replace 'check
- (lambda _
- (setenv "HOME" "/tmp")
- (invoke "pytest" "-v")
- #t))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME" "/tmp")
+ (invoke "pytest" "-v"))))
(add-after 'install 'set-python-file-name
(lambda* (#:key outputs #:allow-other-keys)
;; Record the absolute file name of the 'python' executable in
@@ -8024,15 +8443,11 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
(string-append "\"" (which "python") "\"")))
#t))))))
(propagated-inputs
- `(("python-ipython" ,python-ipython)
- ("python-tornado" ,python-tornado-6)
- ("python-traitlets" ,python-traitlets)
- ;; imported at runtime during connect
- ("python-jupyter-client" ,python-jupyter-client)))
+ (list python-ipython python-tornado-6 python-traitlets
+ ;; imported at runtime during connect
+ python-jupyter-client))
(native-inputs
- `(("python-flaky" ,python-flaky)
- ("python-nose" ,python-nose)
- ("python-pytest" ,python-pytest)))
+ (list python-flaky python-nose python-pytest))
(home-page "https://ipython.org")
(synopsis "IPython Kernel for Jupyter")
(description
@@ -8065,10 +8480,9 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
"1yash0p422nnin7z58b99d0p23nx79f5m0mainc9hsjg72jhdhr6"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-ipykernel" ,python-ipykernel)))
+ (list python-ipykernel))
(inputs
- `(("pari-gp" ,pari-gp)
- ("readline" ,readline)))
+ (list pari-gp readline))
(arguments
`(#:tests? #f)) ; no test suite
(home-page
@@ -8111,33 +8525,32 @@ callback signature using a prototype function.")
(base32 "04xgymypnbfgf2q0d5b0hanjbjsp53f055sh1p8xlq52vyzmxdaq"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-backcall" ,python-backcall)
- ("python-pyzmq" ,python-pyzmq)
- ("python-prompt-toolkit" ,python-prompt-toolkit-2)
- ("python-terminado" ,python-terminado)
- ("python-matplotlib" ,python-matplotlib)
- ("python-matplotlib-inline" ,python-matplotlib-inline)
- ("python-numpy" ,python-numpy)
- ("python-numpydoc" ,python-numpydoc)
- ("python-jedi" ,python-jedi)
- ("python-jinja2" ,python-jinja2)
- ("python-mistune" ,python-mistune)
- ("python-pexpect" ,python-pexpect)
- ("python-pickleshare" ,python-pickleshare)
- ("python-simplegeneric" ,python-simplegeneric)
- ("python-jsonschema" ,python-jsonschema)
- ("python-traitlets" ,python-traitlets)
- ("python-nbformat" ,python-nbformat)
- ("python-pygments" ,python-pygments)))
+ (list python-backcall
+ python-pyzmq
+ python-prompt-toolkit-2
+ python-terminado
+ python-matplotlib
+ python-matplotlib-inline
+ python-numpy
+ python-numpydoc
+ python-jedi
+ python-jinja2
+ python-mistune
+ python-pexpect
+ python-pickleshare
+ python-simplegeneric
+ python-jsonschema
+ python-traitlets
+ python-nbformat
+ python-pygments))
(inputs
- `(("readline" ,readline)
- ("which" ,which)))
+ (list readline which))
(native-inputs
- `(("graphviz" ,graphviz)
- ("pkg-config" ,pkg-config)
- ("python-requests" ,python-requests) ;; for tests
- ("python-testpath" ,python-testpath)
- ("python-nose" ,python-nose)))
+ (list graphviz
+ pkg-config
+ python-requests ;; for tests
+ python-testpath
+ python-nose))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -8146,8 +8559,7 @@ callback signature using a prototype function.")
(substitute* "IPython/sphinxext/ipython_directive.py"
((".*import datetime") "")
((".*datetime.datetime.now\\(\\)") "")
- (("%timeit") "# %timeit"))
- #t))
+ (("%timeit") "# %timeit"))))
;; Tests can only be run after the library has been installed and not
;; within the source directory.
(delete 'check)
@@ -8161,8 +8573,7 @@ callback signature using a prototype function.")
;; We only test the core because one of the other tests
;; tries to import ipykernel.
(invoke "python" "IPython/testing/iptest.py"
- "-v" "IPython/core/tests"))
- #t)))
+ "-v" "IPython/core/tests")))))
(add-before 'check 'fix-tests
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "./IPython/utils/_process_posix.py"
@@ -8177,8 +8588,7 @@ callback signature using a prototype function.")
(delete-file "IPython/core/tests/test_interactiveshell.py")
;; AttributeError: module 'matplotlib_inline' has no
;; attribute 'backend_inline'
- (delete-file "IPython/core/tests/test_pylabtools.py")
- #t)))))
+ (delete-file "IPython/core/tests/test_pylabtools.py"))))))
(home-page "https://ipython.org")
(synopsis "IPython is a tool for interactive computing in Python")
(description
@@ -8227,8 +8637,7 @@ computing.")
(copy-file "COPYING.rst" (string-append doc "/COPYING.rst")))
#t)))))
(inputs
- `(("python-ipython" ,python-ipython)
- ("python-ipykernel" ,python-ipykernel)))
+ (list python-ipython python-ipykernel))
(native-inputs
`(("python-sphinx" ,python-sphinx)
("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)
@@ -8280,6 +8689,15 @@ computing.")
(base32
"1bky2bra6673xx8jy0826znw6cmxs89wcwwzda8d025j3jffx2sq"))))
(build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-vterm-tests
+ ;; According to Debian these tests are cursed.
+ ;; https://salsa.debian.org/python-team/packages/urwid/-/blob/debian/2.1.2-2/debian/changelog#L141
+ (lambda _
+ (delete-file "urwid/tests/test_vterm.py"))))))
(home-page "http://urwid.org")
(synopsis "Console user interface library for Python")
(description
@@ -8326,9 +8744,9 @@ features useful for text console applications.")
(invoke "python" "-m" "pytest"))
#t)))))
(propagated-inputs
- `(("python-urwid" ,python-urwid)))
+ (list python-urwid))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/rr-/urwid_readline")
(synopsis "Text input widget for urwid that supports readline shortcuts")
(description
@@ -8361,12 +8779,12 @@ supports @code{readline} shortcuts.")
(delete-file "tests/test_external.py")
#t)))))
(native-inputs
- `(("python-hypothesis" ,python-hypothesis)
- ("python-isort" ,python-isort)
- ("python-numpy" ,python-numpy)
- ("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)
- ("python-tabulate" ,python-tabulate)))
+ (list python-hypothesis
+ python-isort
+ python-numpy
+ python-pytest
+ python-pytest-runner
+ python-tabulate))
(home-page "https://github.com/life4/textdistance")
(synopsis "Compute distance between the two texts")
(description "@code{textdistance} is a pure Python library for comparing
@@ -8376,7 +8794,7 @@ distance between two or more sequences by many algorithms.")
(define-public python-urwidtrees
(package
(name "python-urwidtrees")
- (version "1.0.2")
+ (version "1.0.3")
(source
(origin
(method git-fetch)
@@ -8388,12 +8806,11 @@ distance between two or more sequences by many algorithms.")
(file-name (git-file-name name version))
(sha256
(base32
- "1n1kpidvkdnsqyb82vlvk78gmly96kh8351lqxn2pzgwwns6fml2"))))
+ "1y1vysx7jg0vbrarlsykhf7nmr8fc6k1fva1q3i98xq2m30s6r68"))))
(build-system python-build-system)
(arguments
- '(#:use-setuptools? #f
- #:tests? #f)) ; no tests
- (propagated-inputs `(("python-urwid" ,python-urwid)))
+ '(#:tests? #f)) ; no tests
+ (propagated-inputs (list python-urwid))
(home-page "https://github.com/pazz/urwidtrees")
(synopsis "Tree widgets for urwid")
(description "Urwidtrees is a Widget Container API for the @code{urwid}
@@ -8418,7 +8835,7 @@ toolkit. Use it to build trees of widgets.")
(arguments
`(#:tests? #f)) ;no test suite in release
(native-inputs
- `(("python-pyyaml" ,python-pyyaml)))
+ (list python-pyyaml))
(home-page "https://github.com/ua-parser/uap-python")
(synopsis "User agent parser")
(description
@@ -8443,7 +8860,7 @@ toolkit. Use it to build trees of widgets.")
(arguments
`(#:tests? #f)) ;missing devices.json test file in release
(propagated-inputs
- `(("python-ua-parser" ,python-ua-parser)))
+ (list python-ua-parser))
(home-page "https://github.com/selwin/python-user-agents")
(synopsis "User Agent strings parsing library")
(description
@@ -8457,17 +8874,17 @@ parsing (browser/HTTP) user agent strings.")
(define-public python-dbus
(package
(name "python-dbus")
- (version "1.2.16")
+ (version "1.2.18")
(source
(origin
(method url-fetch)
(uri (string-append "https://dbus.freedesktop.org/releases/dbus-python/"
"dbus-python-" version ".tar.gz"))
(sha256
- (base32 "196m5rk3qzw5nkmgzjl7wmq0v7vpwfhh8bz2sapdi5f9hqfqy8qi"))))
+ (base32 "0q3jrw515z98mqdk9x822nd95rky455zz9876f1nqna5igkd3gcj"))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
`(("python" ,python-wrapper)
("dbus-glib" ,dbus-glib)))
@@ -8475,6 +8892,7 @@ parsing (browser/HTTP) user agent strings.")
(description "python-dbus provides bindings for libdbus, the reference
implementation of D-Bus.")
(home-page "https://www.freedesktop.org/wiki/Software/DBusBindings/")
+ (properties `((python2-variant . ,(delay python2-dbus))))
(license license:expat)))
(define-public python2-dbus
@@ -8482,8 +8900,34 @@ implementation of D-Bus.")
(name "python2-dbus")
(inputs `(("python" ,python-2)
,@(alist-delete "python"
- (package-inputs python-dbus)
- equal?)))))
+ (package-inputs python-dbus))))
+ (arguments
+ `(#:configure-flags '("PYTHON_VERSION=2")))))
+
+(define-public python-dbus-next
+ (package
+ (name "python-dbus-next")
+ (version "0.2.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/altdesktop/python-dbus-next")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ahaz52kny1p9xxv6phvk4iq56rg8li390wywlxf2yslaij1188h"))))
+ (build-system python-build-system)
+ (native-inputs
+ (list python-pytest))
+ (home-page "https://github.com/altdesktop/python-dbus-next")
+ (synopsis "Zero-dependency DBus library for Python with asyncio support")
+ (description
+ "This DBus library for Python aims to be a fully-featured high-level
+library primarily geared towards integration of applications into desktop and
+mobile environments.")
+ (license license:expat)))
(define-public python-notify2
(package
@@ -8498,8 +8942,8 @@ implementation of D-Bus.")
"0z8rrv9rsg1r2qgh2dxj3dfj5xnki98kgi3w839kqby4a26i1yik"))))
(build-system python-build-system)
(arguments `(#:tests? #f)) ; tests depend on system state
- (native-inputs
- `(("python-dbus" ,python-dbus)))
+ (propagated-inputs
+ (list python-dbus))
(home-page "https://bitbucket.org/takluyver/pynotify2")
(synopsis "Python interface to D-Bus notifications")
(description
@@ -8537,7 +8981,7 @@ the GObject Introspection bindings to libnotify for non-GTK applications.")
(replace 'check
(lambda _ (invoke "./convert-py3k"))))))
(propagated-inputs
- `(("python-soupsieve" ,python-soupsieve)))
+ (list python-soupsieve))
(home-page
"https://www.crummy.com/software/BeautifulSoup/bs4/")
(synopsis
@@ -8603,9 +9047,8 @@ some are not yet implemented).")
(base32
"1apgqxngi1216h1cyvrvj9gy3wf45mh1lz4n76j26jf3k36bm1br"))))
(propagated-inputs
- `(("python2-backports-functools-lru-cache"
- ,python2-backports-functools-lru-cache)
- ,@(package-propagated-inputs base))))))
+ (modify-inputs (package-propagated-inputs base)
+ (prepend python2-backports-functools-lru-cache))))))
(define-public python-netifaces
(package
@@ -8651,9 +9094,9 @@ interfaces in an easy and portable manner.")
#t)))))
;; python-decorator is needed at runtime.
(propagated-inputs
- `(("python-decorator" ,python-decorator)))
+ (list python-decorator))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://networkx.github.io/")
(synopsis "Python module for creating and manipulating graphs and networks")
(description
@@ -8677,8 +9120,7 @@ of the structure, dynamics, and functions of complex networks.")
(arguments
`(#:python ,python-2))
(native-inputs
- `(("python-nose" ,python2-nose)
- ("unzip" ,unzip))))))
+ (list python2-nose unzip)))))
(define-public python-datrie
(package
@@ -8693,10 +9135,8 @@ of the structure, dynamics, and functions of complex networks.")
"0pbn32flkrpjiwfcknmj6398qa81ba783kbcvwan3kym73v0hnsj"))))
(build-system python-build-system)
(native-inputs
- `(("python-cython" ,python-cython)
- ("python-hypothesis" ,python-hypothesis)
- ("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-cython python-hypothesis python-pytest
+ python-pytest-runner))
(home-page "https://github.com/kmike/datrie")
(synopsis "Fast, efficiently stored trie for Python")
(description
@@ -8717,10 +9157,9 @@ Python.")
"0f1db9zp0rsfzxvaz55xwh8h5rfdgr9a2a715g06ic8nknsdq4nb"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-docutils" ,python-docutils)
- ("python-pyparsing" ,python-pyparsing)))
+ (list python-docutils python-pyparsing))
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-setuptools-scm))
(home-page "https://github.com/willu47/amply")
(synopsis "Load and manipulate AMPL/GLPK data as Python data structures")
(description
@@ -8741,7 +9180,7 @@ structures.")
"1dammrg0f1v0r028i3rpxbf2bsyxmjq0q6ihb4x2wsdki44z3bxj"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-amply" ,python-amply)))
+ (list python-amply))
(home-page "https://github.com/coin-or/pulp")
(synopsis "Linear Programming modeler")
(description
@@ -8787,13 +9226,10 @@ algorithm.")
(arguments
`(#:test-target "pytest"))
(propagated-inputs
- `(("python-diff-match-patch" ,python-diff-match-patch)))
+ (list python-diff-match-patch))
(native-inputs
- `(("python-flaky" ,python-flaky)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-runner" ,python-pytest-runner)
- ("python-pytest-timeout" ,python-pytest-timeout)))
+ (list python-flaky python-pytest python-pytest-cov
+ python-pytest-runner python-pytest-timeout))
(home-page "https://github.com/spyder-ide/three-merge")
(synopsis "Library for merging two strings with respect to a base one")
(description
@@ -8830,22 +9266,22 @@ approach.")
"/bin/snakemake")))
#t)))))
(propagated-inputs
- `(("python-appdirs" ,python-appdirs)
- ("python-configargparse" ,python-configargparse)
- ("python-datrie" ,python-datrie)
- ("python-docutils" ,python-docutils)
- ("python-gitpython" ,python-gitpython)
- ("python-jinja2" ,python-jinja2)
- ("python-jsonschema" ,python-jsonschema)
- ("python-nbformat" ,python-nbformat)
- ("python-networkx" ,python-networkx)
- ("python-psutil" ,python-psutil)
- ("python-pulp" ,python-pulp)
- ("python-pyyaml" ,python-pyyaml)
- ("python-ratelimiter" ,python-ratelimiter)
- ("python-requests" ,python-requests)
- ("python-toposort" ,python-toposort)
- ("python-wrapt" ,python-wrapt)))
+ (list python-appdirs
+ python-configargparse
+ python-datrie
+ python-docutils
+ python-gitpython
+ python-jinja2
+ python-jsonschema
+ python-nbformat
+ python-networkx
+ python-psutil
+ python-pulp
+ python-pyyaml
+ python-ratelimiter
+ python-requests
+ python-toposort
+ python-wrapt))
(home-page "https://snakemake.readthedocs.io")
(synopsis "Python-based execution environment for make-like workflows")
(description
@@ -8877,13 +9313,13 @@ SVG, EPS, PNG and terminal output.")
(define-public python-seaborn
(package
(name "python-seaborn")
- (version "0.11.1")
+ (version "0.11.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "seaborn" version))
(sha256
- (base32 "1b81p9s6li3b606ivgbynrh102fclwlw74m8qxzsii9pv6p8xrs4"))
+ (base32 "1xpl3zb945sihsiwm9q1yyx84sakk1phcg0fprj6i0j0dllfjifg"))
(patches (search-patches "python-seaborn-kde-test.patch"))))
(build-system python-build-system)
(arguments
@@ -8900,13 +9336,9 @@ SVG, EPS, PNG and terminal output.")
(when tests?
(invoke "pytest" "seaborn")))))))
(propagated-inputs
- `(("python-pandas" ,python-pandas)
- ("python-matplotlib" ,python-matplotlib)
- ("python-numpy" ,python-numpy)
- ("python-scipy" ,python-scipy)))
+ (list python-pandas python-matplotlib python-numpy python-scipy))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("xorg-server" ,xorg-server-for-tests)))
+ (list python-pytest xorg-server-for-tests))
(home-page "https://seaborn.pydata.org/")
(synopsis "Statistical data visualization")
(description
@@ -8932,31 +9364,40 @@ and statistical routines from scipy and statsmodels.")
(define-public python-mpmath
(package
- (name "python-mpmath")
- (version "1.1.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "mpmath" version))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1xlrcja213jpfhw25q1jl5pl10w1a2cc68x1c4mkicxsbzhan5zw"))))
- (build-system python-build-system)
- (native-inputs
- `(("python-pytest" ,python-pytest)))
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "python" "mpmath/tests/runtests.py" "-local"))))))
- (home-page "https://mpmath.org")
- (synopsis "Arbitrary-precision floating-point arithmetic in python")
- (description
- "@code{mpmath} can be used as an arbitrary-precision substitute for
+ (name "python-mpmath")
+ (version "1.2.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fredrik-johansson/mpmath")
+ (commit "c6a35f9ee7c294bcf4e0517bc76b268843db9499")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0ifw59fjjls3mas104rh0frilvab2fhk1dkjraxlqni5n9l676im"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'set-version
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" ,version)
+ ;; ZIP does not support timestamps before 1980.
+ (setenv "SOURCE_DATE_EPOCH" "315532800")))
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "-vv")))))))
+ (native-inputs
+ (list python-pytest python-setuptools-scm))
+ (home-page "https://mpmath.org")
+ (synopsis "Arbitrary-precision floating-point arithmetic in python")
+ (description
+ "@code{mpmath} can be used as an arbitrary-precision substitute for
Python's float/complex types and math/cmath modules, but also does much
more advanced mathematics.")
- (license license:bsd-3)))
+ (license license:bsd-3)))
(define-public python2-mpmath
(package-with-python2 python-mpmath))
@@ -8973,7 +9414,7 @@ more advanced mathematics.")
(base32 "0xd7q4l7v0f463diznjv4k9wlaks80pn9drdqmfifi7zx8qvybi6"))))
(build-system python-build-system)
(inputs
- `(("mpfr" ,mpfr)))
+ (list mpfr))
(home-page "https://github.com/mdickinson/bigfloat")
(synopsis "Arbitrary precision floating-point arithmetic for Python")
(description
@@ -9001,7 +9442,7 @@ multiprecision arithmetic.")
(or (which "python3") (which "python"))
"-c" "import sympy; sympy.test(\"/core\")"))))))
(propagated-inputs
- `(("python-mpmath" ,python-mpmath)))
+ (list python-mpmath))
(home-page "https://www.sympy.org/")
(synopsis "Python library for symbolic mathematics")
(description
@@ -9070,11 +9511,9 @@ falling into the Python interpreter.")
(setenv "DISPLAY" ":1")
#t))))))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-setuptools-scm" ,python-setuptools-scm)
- ("xorg-server" ,xorg-server)))
+ (list python-mock python-setuptools-scm xorg-server))
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(home-page "https://github.com/python-xlib/python-xlib")
(synopsis "Python X11 client library")
(description
@@ -9099,7 +9538,7 @@ low-level X clients. It is written entirely in Python.")
"171b7ip0hsq5qm83np40h3phlr36ym18w0lay0a8v08kvy3sy1jv"))))
(build-system python-build-system)
(native-inputs
- `(("python-six" ,python-six))) ; required for conversion, not at run-time
+ (list python-six)) ; required for conversion, not at run-time
(home-page
"https://docs.python.org/3/library/functools.html#functools.singledispatch")
(synopsis "Backport of singledispatch feature from Python 3.4")
@@ -9156,7 +9595,14 @@ Python 2 and Python 3.")
(license license:psfl)))
(define-public python2-backports-csv
- (package-with-python2 python-backports-csv))
+ (package
+ (inherit (package-with-python2 python-backports-csv))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; The sanity-check attempts attempts to import the non-existent
+ ;; module "backports".
+ (delete 'sanity-check))))))
(define-public python2-backports-shutil-get-terminal-size
(package
@@ -9178,7 +9624,7 @@ Python 2 and Python 3.")
(lambda _
(invoke "py.test" "-v"))))))
(native-inputs
- `(("python2-pytest" ,python2-pytest)))
+ (list python2-pytest))
(home-page "https://github.com/chrippa/backports.shutil_get_terminal_size")
(synopsis "Backport of Python 3.3's @code{shutil.get_terminal_size}")
(description
@@ -9252,17 +9698,65 @@ applications.")
;; Cython extensions have to be built before running the tests.
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
(inputs
- `(("zeromq" ,zeromq)))
+ (list zeromq))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("python-cython" ,python-cython)
- ("python-pytest" ,python-pytest)))
+ (list pkg-config python-cython python-pytest))
(home-page "https://github.com/zeromq/pyzmq")
(synopsis "Python bindings for 0MQ")
(description
"PyZMQ is the official Python binding for the ZeroMQ messaging library.")
(license license:bsd-4)))
+(define-public python-immutabledict
+ (package
+ (name "python-immutabledict")
+ (version "2.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "immutabledict" version))
+ (sha256
+ (base32 "0fpc4gbk7inpfbgdypsg6c18bmdjw8gwx47bjw0hvixn3gghxnqx"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f)) ; no tests in PyPI release and no setup.py in GitHub
+ (native-inputs
+ (list python-pytest))
+ (home-page "https://github.com/corenting/immutabledict")
+ (synopsis "Immutable wrapper around dictionaries")
+ (description
+ "@dfn{immutabledict} is an immutable wrapper around dictionaries.
+It implements the complete mapping interface and can be used as a drop-in
+replacement for dictionaries where immutability is desired.")
+ (license license:expat)))
+
+(define-public python-emoji
+ (package
+ (name "python-emoji")
+ (version "1.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "emoji" version))
+ (sha256
+ (base32 "0923mpixwq6hdpkgvi4r46alfvf608iq975rb8lnqpq29j71mmjk"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "-m" "pytest")))))))
+ (native-inputs
+ (list python-pytest))
+ (home-page "https://github.com/carpedm20/emoji/")
+ (synopsis "Emoji terminal output for Python")
+ (description "This package provides Emoji terminal output for Python. The
+entire set of Emoji codes as defined by the Unicode Consortium is supported in
+addition to a bunch of aliases.")
+ (license license:bsd-3)))
+
(define-public python-pep8
;; This package has been renamed to ‘pycodestyle’ and is no longer updated.
;; Its last release (1.7.1) adds only a scary warning to this effect, breaking
@@ -9289,6 +9783,27 @@ PEP 8.")
(define-public python2-pep8
(package-with-python2 python-pep8))
+(define-public python-pep8-naming
+ (package
+ (name "python-pep8-naming")
+ (version "0.12.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pep8-naming" version))
+ (sha256
+ (base32
+ "04kyh9hkpyc8jzj16d1kkk29b5n8miqdvbs0zm035n1z5z5kx6hz"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-flake8 python-flake8-polyfill))
+ (home-page "https://github.com/PyCQA/pep8-naming")
+ (synopsis "Check PEP-8 naming conventions")
+ (description
+ "This package provides the @code{pep8-naming} Python module, a
+plugin for flake8 to check PEP-8 naming conventions.")
+ (license license:expat)))
+
(define-public python-pep517
(package
(inherit python-pep517-bootstrap)
@@ -9305,9 +9820,7 @@ PEP 8.")
(invoke "pytest")
#t))))))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)
- ("python-testpath" ,python-testpath)))
+ (list python-mock python-pytest python-testpath))
(properties `((python2-variant . ,(delay python2-pep517))))))
;; Skip the tests so we don't create a cyclical dependency with pytest.
@@ -9351,7 +9864,9 @@ PEP 8.")
(uri (pypi-uri "pyflakes" version))
(sha256
(base32
- "1j3zqbiwkyicvww499bblq33x0bjpzdrxajhaysr7sk7x5gdgcim"))))))
+ "1j3zqbiwkyicvww499bblq33x0bjpzdrxajhaysr7sk7x5gdgcim"))
+ (patches
+ (search-patches "python-pyflakes-test-location.patch"))))))
(define-public python-mccabe
(package
@@ -9366,9 +9881,7 @@ PEP 8.")
"07w3p1qm44hgxf3vvwz84kswpsx6s7kvaibzrsx5dzm0hli1i3fx"))))
(build-system python-build-system)
(native-inputs
- `(("python-toml", python-toml)
- ("python-pytest" ,python-pytest-bootstrap)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-toml python-pytest-bootstrap python-pytest-runner))
(home-page "https://github.com/PyCQA/mccabe")
(synopsis "McCabe checker, plugin for flake8")
(description "This package provides a Flake8 plug-in to compute the McCabe
@@ -9397,13 +9910,10 @@ cyclomatic complexity of Python source code.")
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-v"))))))
(propagated-inputs
- `(("python-pycodestyle" ,python-pycodestyle)
- ("python-entrypoints" ,python-entrypoints)
- ("python-pyflakes" ,python-pyflakes)
- ("python-mccabe" ,python-mccabe)))
+ (list python-pycodestyle python-entrypoints python-pyflakes
+ python-mccabe))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)))
+ (list python-mock python-pytest))
(home-page "https://gitlab.com/pycqa/flake8")
(synopsis
"The modular source code checker: pep8, pyflakes and co")
@@ -9433,10 +9943,8 @@ cyclomatic complexity of Python source code.")
(base32
"0fvcrsbyzjpcli8ldbpsdbpmf238nkvwc1dy4hy82lf63rvfinma"))))
(propagated-inputs
- `(("python-pycodestyle" ,python-pycodestyle-2.6)
- ("python-entrypoints" ,python-entrypoints)
- ("python-pyflakes" ,python-pyflakes-2.2)
- ("python-mccabe" ,python-mccabe)))))
+ (list python-pycodestyle-2.6 python-entrypoints python-pyflakes-2.2
+ python-mccabe))))
(define-public python-flake8-bugbear
(package
@@ -9460,11 +9968,9 @@ cyclomatic complexity of Python source code.")
(("def test_does_not_crash_on_any_valid_code")
"def _test_does_not_crash_on_any_valid_code")))))))
(native-inputs
- `(("python-hypothesis" ,python-hypothesis)
- ("python-hypothesmith" ,python-hypothesmith)))
+ (list python-hypothesis python-hypothesmith))
(propagated-inputs
- `(("python-attrs" ,python-attrs)
- ("python-flake8" ,python-flake8)))
+ (list python-attrs python-flake8))
(home-page "https://github.com/PyCQA/flake8-bugbear")
(synopsis
"Flake8 plugin for finding likely bugs and design problems in your program")
@@ -9487,9 +9993,7 @@ in pyflakes and pycodestyle.")
"0dzaw8jr7yhlabxhrblnrizxx17xa9ngjnbr1kidg5lapq6b9q1y"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-flake8" ,python-flake8)
- ("python-pycodestyle" ,python-pycodestyle)
- ("python-six" ,python-six)))
+ (list python-flake8 python-pycodestyle python-six))
(home-page "https://github.com/planetlabs/flake8-continuation")
(synopsis "Flake8 Line Continuation Plugin")
(description "A Flake8 plugin that checks for the line continuation
@@ -9514,8 +10018,7 @@ These should be used in preference to using a backslash for line continuation.
(base32 "1v0y29xlmbr2q12a4nnpm1dm9aw1mjiys1x8jif4z8c90d63cqm6"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-attrs" ,python-attrs)
- ("python-more-itertools" ,python-more-itertools)))
+ (list python-attrs python-more-itertools))
(home-page "https://github.com/keisheiled/flake8-implicit-str-concat")
(synopsis "Flake8 plugin to encourage correct string literal concatenation")
(description
@@ -9551,12 +10054,9 @@ unnecessary plus operators for explicit string literal concatenation.")
"[tool:pytest]"))
(invoke "py.test" "-v"))))))
(propagated-inputs
- `(("python-flake8" ,python-flake8)))
+ (list python-flake8))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pep8" ,python-pep8)
- ("python-pycodestyle" ,python-pycodestyle)
- ("python-pytest" ,python-pytest)))
+ (list python-mock python-pep8 python-pycodestyle python-pytest))
(home-page "https://gitlab.com/pycqa/flake8-polyfill")
(synopsis "Polyfill package for Flake8 plugins")
(description
@@ -9579,9 +10079,7 @@ plugins that intend to support Flake8 2.x and 3.x simultaneously.")
(base32 "05k5kkvyk6fdmvnacxfzypk74vbl3pmva13dqg1aljfwnxsc7yjs"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-flake8" ,python-flake8)
- ("python-pycodestyle" ,python-pycodestyle)
- ("python-six" ,python-six)))
+ (list python-flake8 python-pycodestyle python-six))
(home-page "https://github.com/jbkahn/flake8-print")
(synopsis "Print statement checker plugin for Flake8")
(description
@@ -9602,9 +10100,7 @@ files.")
"0b27n2pmrxcc7nva4wp2i7mrag0fnq0firvhg1ljq593a45b5qyf"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-attrs" ,python-attrs)
- ("python-flake8" ,python-flake8)
- ("python-pyflakes" ,python-pyflakes)))
+ (list python-attrs python-flake8 python-pyflakes))
(home-page "https://github.com/ambv/flake8-pyi")
(synopsis
"Flake8 plugin that provides specializations for type hinting stub files")
@@ -9650,12 +10146,33 @@ lints.")
"0ph5s6lxgpzz4an0ax6s5xjqypqmngwr5b1i0h9pqhzghplic49z"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-flake8" ,python-flake8)))
+ (list python-flake8))
(home-page "https://github.com/zheller/flake8-quotes/")
(synopsis "Flake8 lint for quotes")
(description "This package provides a Flake8 lint for quotes.")
(license license:expat)))
+(define-public python-flake8-todo
+ (package
+ (name "python-flake8-todo")
+ (version "0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "flake8-todo" version))
+ (sha256
+ (base32
+ "05arm0sch3r8248035kilmf01z0mxsahw6vpbbz0d343zy8m8k3f"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-pycodestyle))
+ (home-page "https://github.com/schlamar/flake8-todo")
+ (synopsis "TODO notes checker, plugin for flake8")
+ (description
+ "This package provides the @code{flake8-todo} Python module, a
+TODO notes checker plugin for flake8.")
+ (license license:expat)))
+
(define-public python-autoflake
(package
(name "python-autoflake")
@@ -9668,7 +10185,7 @@ lints.")
(base32 "0nzr057dbmgprp4a52ymafdkdd5zp2wcqf42913xc7hhvvdbj338"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pyflakes" ,python-pyflakes)))
+ (list python-pyflakes))
(home-page "https://github.com/myint/autoflake")
(synopsis "Removes unused imports and unused variables")
(description
@@ -9693,8 +10210,7 @@ It also removes useless @code{pass} statements.")
"0vkmsh0x480rni51lhyvigfdf06b9247z868pk3bal1wnnfl58sr"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)
- ("python-cython" ,python-cython)))
+ (list python-nose python-cython))
(home-page "https://github.com/lepture/mistune")
(synopsis "Markdown parser in pure Python")
(description "This package provides a fast markdown parser in pure
@@ -9704,6 +10220,20 @@ Python.")
(define-public python2-mistune
(package-with-python2 python-mistune))
+;; 2.0 is not released yet, but some packages have started using it.
+(define-public python-mistune-next
+ (package
+ (inherit python-mistune)
+ (name "python-mistune-next")
+ (version "2.0.0rc1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "mistune" version))
+ (sha256
+ (base32
+ "1nd7iav1ixh9hlj4hxn6lmpava88d86ys8rqm30wgvr7gjlxnas5"))))
+ (native-inputs (list python-nose))))
+
(define-public python-markdown
(package
(name "python-markdown")
@@ -9717,8 +10247,7 @@ Python.")
"0jbs73nincha8fkfxx267sfxac6pl0ckszjbqbb8gk4dhs8v9d9i"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)
- ("python-pyyaml" ,python-pyyaml)))
+ (list python-nose python-pyyaml))
(home-page "https://python-markdown.github.io/")
(synopsis "Python implementation of Markdown")
(description
@@ -9755,7 +10284,7 @@ markdown_py is also provided to convert Markdown files to HTML.")
"0ra31k10v3629xq0kdn8lwmfbi97anmk48r03yvh7mks0kq96hg6"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -9821,8 +10350,7 @@ pseudo terminal (pty), and interact with both the process and its pty.")
(invoke "make" "test"))))))
(build-system python-build-system)
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("which" ,which)))
+ (list python-coverage which))
(synopsis "Simple testing framework for command line applications")
(description
"Cram is a functional testing framework for command line applications.
@@ -9865,7 +10393,7 @@ output.")
(arguments
`(#:tests? #f)) ; Tests require more dependencies.
(native-inputs
- `(("python-sphinx" ,python-sphinx)))
+ (list python-sphinx))
(home-page "https://github.com/jackmaney/python-stdlib-list")
(synopsis "Python Standard Libraries")
(description "This package contains a list of Python Standard Libraries.")
@@ -9905,9 +10433,7 @@ add functionality and customization to your projects with their own plugins.")
"1mq9kdzhcsp96bhv7smnrpdg1s4z5wh70bsl99c0jmcrahqdisqq"))))
(build-system python-build-system)
(native-inputs
- `(("unzip" ,unzip)
- ("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list unzip python-pytest python-pytest-runner))
(home-page "https://github.com/fonttools/fonttools")
(synopsis "Tools to manipulate font files")
(description
@@ -10008,10 +10534,9 @@ third-party code.")
"1g2cdhdqrb6m7655qp61pn61pwj1ql61cdzhr2jvl3w4i8877ddr"))))
(build-system python-build-system)
(inputs
- `(("fuse" ,fuse)
- ("attr" ,attr)))
+ (list fuse attr))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(synopsis "Python bindings for FUSE")
(description
"Python-LLFUSE is a set of Python bindings for the low level FUSE API.")
@@ -10048,7 +10573,7 @@ third-party code.")
(lambda _
(invoke "pytest" "-v" "test"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(synopsis "MessagePack (de)serializer")
(description "MessagePack is a fast, compact binary serialization format,
suitable for similar data to JSON. This package provides CPython bindings for
@@ -10214,9 +10739,9 @@ Supported netlink families and protocols include:
(filter (lambda (f) (grep "from test." f))
test-files)))))))))
(propagated-inputs
- `(("python-lark-parser" ,python-lark-parser)))
+ (list python-lark-parser))
(native-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(home-page "https://github.com/vaidik/commentjson")
(synopsis "Python library for adding comments to JSON files")
(description "Comment JSON is a Python package that helps you create JSON
@@ -10249,9 +10774,7 @@ similar to the Python standard library's @code{json} module.")
(add-installed-pythonpath inputs outputs)
(invoke "pytest")))))))
(native-inputs
- `(("python-commentjson" ,python-commentjson)
- ("python-packaging" ,python-packaging)
- ("python-pytest" ,python-pytest)))
+ (list python-commentjson python-packaging python-pytest))
(home-page "https://github.com/sarugaku/resolvelib")
(synopsis "Abstract dependencies resolver")
(description "The ResolveLib library provides a @code{Resolver} class that
@@ -10331,6 +10854,37 @@ Unicode-aware. It is not intended as an end-user tool.")
(define-public python2-xlrd
(package-with-python2 python-xlrd))
+(define-public python-xlwt
+ (package
+ (name "python-xlwt")
+ (version "1.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "xlwt" version))
+ (sha256
+ (base32 "123c2pdamshkq75wwvck8fq0cjq1843xd3x9qaiz2a4vg9qi56f5"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "GUIX_PYTHONPATH"
+ (string-append (getcwd) "/build/lib:"
+ (getenv "GUIX_PYTHONPATH")))
+ (invoke "nosetests" "-v")))))))
+ (native-inputs
+ `(("nose" ,python-nose)))
+ (home-page "http://www.python-excel.org/")
+ (synopsis "Library for creating spreadsheet Excel files")
+ (description "@code{xlwt} is a library for writing data and formatting
+information to older Excel files (i.e. .xls). The package itself is pure
+Python with no dependencies on modules or packages outside the standard Python
+distribution. It is not intended as an end-user tool.")
+ (license license:bsd-3)))
+
(define-public python-immutables
(package
(name "python-immutables")
@@ -10377,13 +10931,13 @@ printing of sub-tables by specifying a row range.")
(define-public python-curio
(package
(name "python-curio")
- (version "1.2")
+ (version "1.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "curio" version))
(sha256
- (base32 "16wkww6kh511b9bzsfhpvrv0766cc6ssgbzz4lgpjnrzzgx21wwh"))))
+ (base32 "045wwg16qadsalhicbv21p14sj8i4w0l57639j7dmdqbb4p2225g"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -10395,7 +10949,7 @@ printing of sub-tables by specifying a row range.")
;; Tries to open an outgoing connection.
"not test_ssl_outgoing"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/dabeaz/curio")
(synopsis "Coroutine-based library for concurrent Python")
(description
@@ -10458,15 +11012,11 @@ tasks, sockets, files, locks, and queues.")
(string-append "--hdf5="
(assoc-ref inputs "hdf5"))))))))
(propagated-inputs
- `(("python-numexpr" ,python-numexpr)
- ("python-numpy" ,python-numpy)))
+ (list python-numexpr python-numpy))
(native-inputs
- `(("python-cython" ,python-cython)
- ("pkg-config" ,pkg-config)))
+ (list python-cython pkg-config))
(inputs
- `(("hdf5" ,hdf5-1.10)
- ("bzip2" ,bzip2)
- ("zlib" ,zlib)))
+ (list hdf5-1.10 bzip2 zlib))
(home-page "https://www.pytables.org/")
(synopsis "Hierarchical datasets for Python")
(description "PyTables is a package for managing hierarchical datasets and
@@ -10491,9 +11041,7 @@ designed to efficiently cope with extremely large amounts of data.")
(lambda _
(invoke "pytest" "-vv"))))))
(native-inputs
- `(("python-curio" ,python-curio)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)))
+ (list python-curio python-pytest python-pytest-cov))
(home-page "https://github.com/python-trio/sniffio")
(synopsis "Detect which async library a program is running under")
(description "This package detects which async library a program is
@@ -10515,11 +11063,9 @@ asyncio.")
"04lppqydxm0f3f3x0l8hj7v0j6d8syj34jc37yzqwqcyqsnaga81"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pytest" ,python-pytest)
- ("python-black" ,python-black)
- ("python-toml" ,python-toml)))
+ (list python-pytest python-black python-toml))
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-setuptools-scm))
(home-page "https://github.com/shopkeep/pytest-black")
(synopsis "Pytest plugin to enable format checking with black")
(description
@@ -10540,12 +11086,12 @@ Python code formatter \"black\".")
"1g15jyx33vkxavv9hwv275cs4g9bp2i1y942raw3fxamq8kbaml1"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pygments" ,python-pygments)
- ("python-pytest" ,python-pytest)
- ("python-pytest-black" ,python-pytest-black)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-setuptools" ,python-setuptools)
- ("python-testpath" ,python-testpath)))
+ (list python-pygments
+ python-pytest
+ python-pytest-black
+ python-pytest-cov
+ python-setuptools
+ python-testpath))
(home-page "https://github.com/flying-sheep/get_version")
(synopsis "Version helper in the spirit of versioneer")
(description
@@ -10556,6 +11102,65 @@ your package is installed, via @code{pkg_resources} (part of
@code{setuptools}).")
(license license:gpl3+)))
+(define-public python-filetype
+ (package
+ (name "python-filetype")
+ (version "1.0.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "filetype" version))
+ (sha256
+ (base32 "05mkinkcn36v1cnb5hzay3zxmv7jmmflckxxp08rgzbkkf3i9pvp"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "python" "-m" "pytest" "-k"
+ (string-append
+ ;; Both tests fail with FileNotFoundError.
+ "not test_infer_zip_from_disk"
+ " and not test_infer_tar_from_disk"))))))))
+ (native-inputs
+ (list python-pytest python-pytest-benchmark))
+ (home-page "https://github.com/h2non/filetype.py")
+ (synopsis "Infer file type and MIME type of any file/buffer")
+ (description "@code{filetype} is a small and dependency free Python
+package to infer file type and MIME type checking the magic numbers
+signature of a file or buffer.")
+ (license license:expat)))
+
+(define-public python-cachelib
+ (package
+ (name "python-cachelib")
+ (version "0.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cachelib" version))
+ (sha256
+ (base32 "0p4chkvbvffcllsny5rpzmsq2vyr24ql3kzif4ha0fxp3fp7vqk8"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest")))))))
+ (native-inputs
+ (list python-pytest python-pytest-xprocess))
+ (home-page "https://github.com/pallets/cachelib")
+ (synopsis "Collection of cache libraries")
+ (description "Cachelib is a library extracted from @code{werkzeug} which
+provides a collection of cache libraries in the same API interface.")
+ (license license:bsd-3)))
+
(define-public python-legacy-api-wrap
(package
(name "python-legacy-api-wrap")
@@ -10569,11 +11174,8 @@ your package is installed, via @code{pkg_resources} (part of
"06qhp0g543dy98vpa41hwdalvdbsjfc3ldk474yr9sd75mhl8jh3"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-get-version" ,python-get-version)
- ("python-pytest" ,python-pytest)
- ("python-pytest-black" ,python-pytest-black)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-setuptools" ,python-setuptools)))
+ (list python-get-version python-pytest python-pytest-black
+ python-pytest-cov python-setuptools))
(home-page "https://github.com/flying-sheep/legacy-api-wrap")
(synopsis "Legacy API wrapper")
(description "This module defines a decorator to wrap legacy APIs. The
@@ -10592,7 +11194,7 @@ primary use case is APIs defined before keyword-only parameters existed.")
(base32 "1805svvb7xjm4sf1j7b6nc3409x37pd1xmabfwwjf1ldkzwgxhfb"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(home-page "https://github.com/Mimino666/langdetect")
(synopsis "Language detection library")
(description
@@ -10625,17 +11227,17 @@ suitable for a wide range of protocols based on the ASN.1 specification.")
(define-public python-pyasn1-modules
(package
(name "python-pyasn1-modules")
- (version "0.2.2")
+ (version "0.2.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyasn1-modules" version))
(sha256
(base32
- "0ivm850yi7ajjbi8j115qpsj95bgxdsx48nbjzg0zip788c3xkx0"))))
+ "0pp6dcagd8c2c9qx3lahc1rdwlnmm0y0siqr5icjq2r32b3q8pwh"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pyasn1" ,python-pyasn1)))
+ (list python-pyasn1))
(home-page "https://sourceforge.net/projects/pyasn1/")
(synopsis "ASN.1 codec implementations")
(description
@@ -10646,9 +11248,9 @@ implementations of ASN.1-based codecs and protocols.")
(define-public python2-pyasn1-modules
(package-with-python2 python-pyasn1-modules))
-(define-public python2-ipaddress
+(define-public python-ipaddress
(package
- (name "python2-ipaddress")
+ (name "python-ipaddress")
(version "1.0.23")
(source (origin
(method url-fetch)
@@ -10657,17 +11259,17 @@ implementations of ASN.1-based codecs and protocols.")
(base32
"1qp743h30s04m3cg3yk3fycad930jv17q7dsslj4mfw0jlvf1y5p"))))
(build-system python-build-system)
- (arguments
- `(#:python ,python-2))
(home-page "https://github.com/phihag/ipaddress")
(synopsis "IP address manipulation library")
(description
"This package provides a fast, lightweight IPv4/IPv6 manipulation library
in Python. This library is used to create, poke at, and manipulate IPv4 and
- IPv6 addresses and networks. This is a port of the Python 3.3 ipaddress
- module to older versions of Python.")
+ IPv6 addresses and networks.")
(license license:psfl)))
+(define-public python2-ipaddress
+ (package-with-python2 python-ipaddress))
+
(define-public python-asn1tools
(package
(name "python-asn1tools")
@@ -10680,10 +11282,8 @@ implementations of ASN.1-based codecs and protocols.")
(base32 "1k88a1azmyvp2ab6qcf2i40dig5abhyn7cmlyhmwwh8kr3syvma0"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-bitstruct" ,python-bitstruct)
- ("python-diskcache" ,python-diskcache)
- ("python-prompt-toolkit" ,python-prompt-toolkit)
- ("python-pyparsing" ,python-pyparsing)))
+ (list python-bitstruct python-diskcache python-prompt-toolkit
+ python-pyparsing))
(home-page "https://github.com/eerimoq/asn1tools")
(synopsis "ASN.1 parsing, encoding and decoding")
(description "This package provides ASN.1 parsing, encoding and decoding
@@ -10786,12 +11386,11 @@ specification.")
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "sasstests.py"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-werkzeug" ,python-werkzeug)))
+ (list python-pytest python-werkzeug))
(inputs
- `(("libsass" ,libsass)))
+ (list libsass))
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(home-page "https://sass.github.io/libsass-python/")
(synopsis "Straightforward binding of libsass for Python")
(description
@@ -10813,7 +11412,7 @@ is binding LibSass.")
(build-system python-build-system)
(arguments
`(#:tests? #f)) ;circular dependency with python-aiohttp
- (propagated-inputs `(("python-idna" ,python-idna)))
+ (propagated-inputs (list python-idna))
(home-page "https://github.com/aio-libs/idna-ssl")
(synopsis "Patch @code{ssl.match_hostname} for Unicode(idna) domains support")
(description "Patch @code{ssl.match_hostname} for Unicode(idna)
@@ -10982,10 +11581,9 @@ applications from a list of lists of strings. It supports multi-line rows.")
(replace 'check
(lambda _ (invoke "pytest" "-vv"))))))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)))
+ (list python-mock python-pytest))
(inputs
- `(("libarchive" ,libarchive)))
+ (list libarchive))
(home-page "https://github.com/Changaco/python-libarchive-c")
(synopsis "Python interface to libarchive")
(description
@@ -11059,8 +11657,7 @@ libmagic.")))
(delete-file "lib/debian/tests/test_debfile.py")
#t)))))
(propagated-inputs
- `(("python-six" ,python-six)
- ("python-chardet" ,python-chardet)))
+ (list python-six python-chardet))
(synopsis "Debian package related modules")
(description
;; XXX: Use @enumerate instead of @itemize to work around
@@ -11094,10 +11691,9 @@ Debian-related files, such as:
"06dpbsq61ja9r89wpa2pzdii47qh3xri9ajdrgn1awfl102znchb"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pathlib" ,python-pathlib)
- ("python-six" ,python-six)))
+ (list python-pathlib python-six))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "http://py.errorist.io/json-spec")
(synopsis
"JSON Schema, JSON Pointer and JSON Reference for Python")
@@ -11126,15 +11722,14 @@ JSON Reference and JSON Pointer.")
(when tests?
(invoke "pytest" "-vv" "-m" "not benchmark")))))))
(native-inputs
- `(("python-colorama" ,python-colorama)
- ("python-json-spec" ,python-json-spec)
- ("python-jsonschema" ,python-jsonschema)
- ("python-pylint" ,python-pylint)
- ("python-pytest" ,python-pytest)
- ("python-pytest-benchmark"
- ,python-pytest-benchmark)
- ("python-pytest-cache" ,python-pytest-cache)
- ("python-validictory" ,python-validictory)))
+ (list python-colorama
+ python-json-spec
+ python-jsonschema
+ python-pylint
+ python-pytest
+ python-pytest-benchmark
+ python-pytest-cache
+ python-validictory))
(home-page
"https://github.com/horejsek/python-fastjsonschema")
(synopsis
@@ -11167,16 +11762,14 @@ drafts 04, 06 and 07.")
(when tests?
(invoke "pytest" "-vv")))))))
(propagated-inputs
- `(("python-ipython-genutils" ,python-ipython-genutils)
- ("python-jsonschema" ,python-jsonschema)
- ("python-jupyter-core" ,python-jupyter-core)
- ("python-traitlets" ,python-traitlets)))
+ (list python-ipython-genutils python-jsonschema python-jupyter-core
+ python-traitlets))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-fastjsonschema" ,python-fastjsonschema) ; This is only active
- ; when setting NBFORMAT_VALIDATOR="fastjsonschema", so include it for
- ; testing only.
- ("python-testpath" ,python-testpath)))
+ (list python-pytest
+ python-fastjsonschema ; This is only active
+ ; when setting NBFORMAT_VALIDATOR="fastjsonschema", so include it for
+ ; testing only.
+ python-testpath))
(home-page "https://jupyter.org")
(synopsis "Jupyter Notebook format")
(description "This package provides the reference implementation of the
@@ -11195,13 +11788,9 @@ Jupyter Notebook format and Python APIs for working with notebooks.")
(base32 "0jqa8f1ni10cyf4h7sjpf8mbqlcbkyvmsnli77qrxdcxvc7m4k1w"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-webencodings" ,python-webencodings)
- ("python-six" ,python-six)))
+ (list python-webencodings python-six))
(native-inputs
- `(("python-datrie" ,python-datrie)
- ("python-genshi" ,python-genshi)
- ("python-lxml" ,python-lxml)
- ("python-pytest" ,python-pytest)))
+ (list python-datrie python-genshi python-lxml python-pytest))
(home-page "https://github.com/mozilla/bleach")
(synopsis "Whitelist-based HTML-sanitizing tool")
(description "Bleach is an easy whitelist-based HTML-sanitizing tool.")
@@ -11243,10 +11832,15 @@ objects with some common interface. The most common examples are
@code{console_scripts} entry points, which define shell commands by
identifying a Python function to run. The @code{entrypoints} module contains
functions to find and load entry points.")
- (license license:expat)))
+ (license license:expat)
+ (properties `((python2-variant . ,(delay python2-entrypoints))))))
(define-public python2-entrypoints
- (package-with-python2 python-entrypoints))
+ (package
+ (inherit (package-with-python2
+ (strip-python2-variant python-entrypoints)))
+ (propagated-inputs
+ (list python2-configparser))))
(define-public python-epc
(package
@@ -11261,9 +11855,9 @@ functions to find and load entry points.")
"09bx1ln1bwa00917dndlgs4k589h8qx2x080xch5m58p92kjwkd1"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-sexpdata" ,python-sexpdata)))
+ (list python-sexpdata))
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(home-page "https://github.com/tkf/python-epc")
(synopsis "Remote procedure call (RPC) stack for Emacs Lisp and Python")
(description
@@ -11287,8 +11881,7 @@ from elisp.")
;; repository require online data.
`(#:tests? #f))
(propagated-inputs
- `(("python-requests" ,python-requests)
- ("python-simplejson" ,python-simplejson)))
+ (list python-requests python-simplejson))
(home-page "https://github.com/MicroPyramid/forex-python")
(synopsis "Foreign exchange rates and currency conversion")
(description
@@ -11373,8 +11966,6 @@ time.")
(when tests?
;; Some tests invoke the installed nbconvert binary.
(add-installed-pythonpath inputs outputs)
- ;; Tries to write to this path.
- (unsetenv "JUPYTER_CONFIG_DIR")
;; Tests depend on templates installed to output.
(setenv "JUPYTER_PATH"
(string-append
@@ -11385,10 +11976,10 @@ time.")
(setenv "HOME" "/tmp")
(invoke "pytest" "-vv")))))))
(inputs
- `(("pandoc" ,pandoc)
- ;; XXX: Disabled, needs substitute*.
- ;;("inkscape" ,inkscape)
- ))
+ (list pandoc
+ ;; XXX: Disabled, needs substitute*.
+ ;;("inkscape" ,inkscape)
+ ))
(native-inputs
`(("python-ipykernel" ,python-ipykernel)
;; XXX: Disabled, not in guix.
@@ -11411,6 +12002,7 @@ time.")
texlive-latex-float
texlive-fontspec
texlive-latex-geometry
+ texlive-grffile
texlive-hyperref
texlive-latex-jknapltx
texlive-latex-ms
@@ -11421,27 +12013,28 @@ time.")
texlive-latex-ucs
texlive-lm
texlive-mathpazo
+ texlive-stringenc
texlive-tcolorbox
texlive-titling
texlive-tools
texlive-xcolor
texlive-zapfding)))))
(propagated-inputs
- `(("python-bleach" ,python-bleach)
- ("python-defusedxml" ,python-defusedxml)
- ("python-entrypoints" ,python-entrypoints)
- ("python-jinja2" ,python-jinja2)
- ("python-jupyter-core" ,python-jupyter-core)
- ("python-mistune" ,python-mistune)
- ("python-nbclient" ,python-nbclient)
- ("python-nbformat" ,python-nbformat)
- ("python-pandocfilters" ,python-pandocfilters)
- ("python-pygments" ,python-pygments)
- ("python-jupyterlab-pygments" ,python-jupyterlab-pygments)
- ("python-testpath" ,python-testpath)
- ("python-traitlets" ,python-traitlets)
- ;; Required, even if [serve] is not used.
- ("python-tornado" ,python-tornado-6)))
+ (list python-bleach
+ python-defusedxml
+ python-entrypoints
+ python-jinja2
+ python-jupyter-core
+ python-mistune
+ python-nbclient
+ python-nbformat
+ python-pandocfilters
+ python-pygments
+ python-jupyterlab-pygments
+ python-testpath
+ python-traitlets
+ ;; Required, even if [serve] is not used.
+ python-tornado-6))
(home-page "https://jupyter.org")
(synopsis "Converting Jupyter Notebooks")
(description "The @code{nbconvert} tool, @{jupyter nbconvert}, converts
@@ -11473,44 +12066,55 @@ convert an @code{.ipynb} notebook file into various static formats including:
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'use-our-home-for-tests
+ (lambda _
+ ;; The 'get_patch_env' function in this file reads:
+ ;; 'HOME': cls.home_dir
+ ;; but for some reason, that definition of HOME is not what the
+ ;; GLib/GIO trash mechanism honors, which would cause test
+ ;; failures. Instead, set 'HOME' here to an existing directory
+ ;; and let the tests honor it.
+ (substitute* "notebook/tests/launchnotebook.py"
+ (("'HOME': .*," all)
+ (string-append "# " all "\n")))
+ (setenv "HOME" (getcwd))))
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
;; These tests require a browser
(delete-file-recursively "notebook/tests/selenium")
(when tests?
(add-installed-pythonpath inputs outputs)
+ ;; Interferes with test expectations.
+ (unsetenv "JUPYTER_CONFIG_PATH")
;; Some tests do not expect all files to be installed in the
;; same directory, but JUPYTER_PATH contains multiple entries.
(unsetenv "JUPYTER_PATH")
- ;; Some tests need HOME
- (setenv "HOME" "/tmp")
- (with-directory-excursion "/tmp"
- (invoke "pytest" "-vv"
- ;; TODO: This tests fails because nbconvert does not
- ;; list "python" as a format.
- "-k" "not test_list_formats"))))))))
+ (invoke "pytest" "-vv"
+ ;; TODO: This tests fails because nbconvert does not
+ ;; list "python" as a format.
+ "-k" "not test_list_formats")))))))
(propagated-inputs
- `(("python-argon2-cffi" ,python-argon2-cffi)
- ("python-ipykernel" ,python-ipykernel)
- ("python-ipython-genutils" ,python-ipython-genutils)
- ("python-jinja2" ,python-jinja2)
- ("python-jupyter-client" ,python-jupyter-client)
- ("python-jupyter-core" ,python-jupyter-core)
- ("python-nbconvert" ,python-nbconvert)
- ("python-nbformat" ,python-nbformat)
- ("python-prometheus-client" ,python-prometheus-client)
- ("python-pyzmq" ,python-pyzmq)
- ("python-send2trash" ,python-send2trash)
- ("python-terminado" ,python-terminado)
- ("python-tornado" ,python-tornado-6)
- ("python-traitlets" ,python-traitlets)))
+ (list python-argon2-cffi
+ python-ipykernel
+ python-ipython-genutils
+ python-jinja2
+ python-jupyter-client
+ python-jupyter-core
+ python-nbconvert
+ python-nbformat
+ python-prometheus-client
+ python-pyzmq
+ python-send2trash
+ python-terminado
+ python-tornado-6
+ python-traitlets))
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-nbval" ,python-nbval)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-requests" ,python-requests)
- ("python-requests-unixsocket" ,python-requests-unixsocket)))
+ (list python-coverage
+ python-nbval
+ python-pytest
+ python-pytest-cov
+ python-requests
+ python-requests-unixsocket))
(home-page "https://jupyter.org/")
(synopsis "Web-based notebook environment for interactive computing")
(description
@@ -11531,7 +12135,7 @@ interactive computing.")
"1ismyaxbv9d56yqqqb8xl58hg0iq0bbyy014a53y1g3hfbc8g7q7"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-notebook" ,python-notebook)))
+ (list python-notebook))
(home-page "https://ipython.org")
(synopsis "IPython HTML widgets for Jupyter")
(description "This package provides interactive HTML widgets for Jupyter
@@ -11551,16 +12155,14 @@ notebooks.")
"1w217j8i53x14l7b05fk300k222zs9vkcjaa1rbrw3sk43k466lz"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-ipykernel" ,python-ipykernel)
- ("python-ipython" ,python-ipython)
- ("python-jupyterlab-widgets" ,python-jupyterlab-widgets)
- ("python-nbformat" ,python-nbformat)
- ("python-traitlets" ,python-traitlets)
- ("python-widgetsnbextension" ,python-widgetsnbextension)))
+ (list python-ipykernel
+ python-ipython
+ python-jupyterlab-widgets
+ python-nbformat
+ python-traitlets
+ python-widgetsnbextension))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)))
+ (list python-mock python-pytest python-pytest-cov))
(home-page "https://ipython.org")
(synopsis "IPython HTML widgets for Jupyter")
(description "Ipywidgets are interactive HTML widgets for Jupyter
@@ -11572,22 +12174,20 @@ in the data.")
(define-public python-jupyter-console
(package
(name "python-jupyter-console")
- (version "6.1.0")
+ (version "6.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "jupyter_console" version))
(sha256
(base32
- "06s3kr5vx0l1y1b7fxb04dmrppscl7q69sl9yyfr0d057d1ssvkg"))))
+ "1iqrxhd8hvlyf8cqbc731ssnwm61wrycnbiczy5wsfahd3hlh8i4"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-ipykernel" ,python-ipykernel)
- ("python-jupyter-client" ,python-jupyter-client)
- ("python-prompt-toolkit" ,python-prompt-toolkit-2)
- ("python-pygments" ,python-pygments)))
+ (list python-ipykernel python-jupyter-client python-prompt-toolkit-2
+ python-pygments))
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose python-pytest))
(home-page "https://jupyter.org")
(synopsis "Jupyter terminal console")
(description "This package provides a terminal-based console frontend for
@@ -11646,10 +12246,9 @@ Jupyter kernels such as IJulia and IRKernel.")
(setenv "QT_QPA_PLATFORM" "offscreen")
#t)))))
(propagated-inputs
- `(("python-ipykernel" ,python-ipykernel)
- ("python-ipython" ,python-ipython)))
+ (list python-ipykernel python-ipython python-pyqt))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://jupyter.org")
(synopsis "Jupyter Qt console")
(description "This package provides a Qt-based console for Jupyter with
@@ -11686,10 +12285,9 @@ support for rich media output.")
"six>=1.11.0"))
#t)))))
(propagated-inputs
- `(("python-editorconfig" ,python-editorconfig)
- ("python-six" ,python-six)))
+ (list python-editorconfig python-six))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(synopsis "JavaScript unobfuscator and beautifier")
(description "Beautify, unpack or deobfuscate JavaScript, leveraging
popular online obfuscators.")
@@ -11709,12 +12307,12 @@ popular online obfuscators.")
(build-system python-build-system)
(arguments '(#:tests? #f)) ; there are none.
(propagated-inputs
- `(("python-ipykernel" ,python-ipykernel)
- ("python-ipywidgets" ,python-ipywidgets)
- ("python-jupyter-console" ,python-jupyter-console)
- ("python-nbconvert" ,python-nbconvert)
- ("python-notebook" ,python-notebook)
- ("python-qtconsole" ,python-qtconsole)))
+ (list python-ipykernel
+ python-ipywidgets
+ python-jupyter-console
+ python-nbconvert
+ python-notebook
+ python-qtconsole))
(home-page "https://jupyter.org")
(synopsis "Web application for interactive documents")
(description
@@ -11736,9 +12334,7 @@ simulation, statistical modeling, machine learning and much more.")
(base32
"1bpalpia6r5x1kknbk11p1fzph56fmmnp405ds8icksd3knr5aw4"))))
(native-inputs
- `(("python-hypothesis" ,python-hypothesis)
- ("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-hypothesis python-pytest python-pytest-runner))
(build-system python-build-system)
;; XXX: Incompatible with Pytest 4: <https://github.com/chardet/chardet/issues/173>.
(arguments `(#:tests? #f))
@@ -11752,6 +12348,27 @@ automatically detect a wide range of file encodings.")
(define-public python2-chardet
(package-with-python2 python-chardet))
+(define-public python-charset-normalizer
+ (package
+ (name "python-charset-normalizer")
+ (version "2.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "charset-normalizer" version))
+ (sha256
+ (base32 "0rr3iv2xw4rz5ijnfqk229fw85cq6p6rhqqsilm0ldzncblfg63h"))))
+ (build-system python-build-system)
+ (native-inputs
+ (list python-pytest))
+ (home-page "https://github.com/ousret/charset_normalizer")
+ (synopsis "Universal Charset Detector, alternative to Chardet")
+ (description "This library helps you read text from an unknown charset
+encoding. Motivated by @code{chardet}, it tries to resolve the issue by
+taking a new approach. All IANA character set names for which the Python core
+library provides codecs are supported.")
+ (license license:expat)))
+
(define-public python-docopt
(package
(name "python-docopt")
@@ -11770,7 +12387,7 @@ automatically detect a wide range of file encodings.")
(patches (search-patches "python-docopt-pytest6-compat.patch"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -11815,7 +12432,7 @@ programmatically with command-line parsers like @code{getopt} and
#t))))
#:tests? #f)) ; no test suite
(propagated-inputs
- `(("dialog" ,dialog)))
+ (list dialog))
(home-page "http://pythondialog.sourceforge.net/")
(synopsis "Python interface to the UNIX dialog utility")
(description "A Python wrapper for the dialog utility. Its purpose is to
@@ -11851,7 +12468,7 @@ This allows one to make simple text-mode user interfaces on Unix-like systems")
(patches (search-patches "python-configobj-setuptools.patch"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(synopsis "Config file reading, writing and validation")
(description "ConfigObj is a simple but powerful config file reader and
writer: an ini file round tripper. Its main feature is that it is very easy to
@@ -11875,7 +12492,7 @@ config files.")
"1p1pzpf5qpf80bfxsx1mbw9blyhhypjvhl3i60pbmhfmhvlpplgd"))))
(build-system python-build-system)
(native-inputs
- `(("python-pyyaml" ,python-pyyaml)))
+ (list python-pyyaml))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -11978,7 +12595,7 @@ the standard library.")
(replace 'check
(lambda _ (invoke "pytest" "tests.py"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/foutaise/texttable/")
(synopsis "Python module for creating simple ASCII tables")
(description "Texttable is a Python module for creating simple ASCII
@@ -12009,6 +12626,17 @@ for atomic file system operations.")
(define-public python2-atomicwrites
(package-with-python2 python-atomicwrites))
+(define-public python-atomicwrites-1.4
+ (package
+ (inherit python-atomicwrites)
+ (version "1.4.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "atomicwrites" version))
+ (sha256
+ (base32
+ "0yla2svfhfqrcj8qbyqzx7wi4jy0dwcxvlkg0k3zjd54s5m3jw5f"))))))
+
(define-public python-qstylizer
(package
(name "python-qstylizer")
@@ -12031,16 +12659,15 @@ for atomic file system operations.")
(lambda _
(setenv "PBR_VERSION" "3.0.1"))))))
(native-inputs
- `(("python-pbr" ,python-pbr)
- ("python-pytest" ,python-pytest)
- ("python-pytest-catchlog" ,python-pytest-catchlog)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-mock" ,python-pytest-mock)
- ("python-pytest-runner" ,python-pytest-runner)
- ("python-pytest-xdist" ,python-pytest-xdist)))
+ (list python-pbr
+ python-pytest
+ python-pytest-catchlog
+ python-pytest-cov
+ python-pytest-mock
+ python-pytest-runner
+ python-pytest-xdist))
(propagated-inputs
- `(("python-inflection" ,python-inflection)
- ("python-tinycss" ,python-tinycss)))
+ (list python-inflection python-tinycss))
(home-page "https://github.com/blambright/qstylizer")
(synopsis "Qt stylesheet generation utility for PyQt/PySide")
(description "@code{qstylizer} is a Python package designed to help with
@@ -12050,16 +12677,16 @@ the construction of PyQt/PySide stylesheets.")
(define-public python-click-threading
(package
(name "python-click-threading")
- (version "0.4.4")
+ (version "0.5.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "click-threading" version))
(sha256
(base32
- "1rsxc2fbkxlhwhlmxsdjzq3spn284l6rvjfcz9mbb17ibgdgmc5j"))))
+ "0f9lmxwcq0y9lb8w0whbni7gwy12gbv74h1igh85qn9aq0iydkxd"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-click" ,python-click)))
+ (list python-click))
(synopsis "Utilities for multithreading in Click")
(description "This package provides utilities for multithreading in Click
applications.")
@@ -12078,7 +12705,7 @@ applications.")
"091i03bhxyzsdbc6kilxhivfda2f8ymz3b33xa6cj5kbzjiirz8n"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-click" ,python-click)))
+ (list python-click))
(synopsis "Logging for click applications")
(description "This package provides a Python library for logging Click
applications.")
@@ -12099,7 +12726,7 @@ applications.")
(arguments
`(#:tests? #f)) ; no target
(propagated-inputs
- `(("python-click" ,python-click)))
+ (list python-click))
(synopsis "Extends click.Group")
(description "This package extends click.Group to invoke a command without
explicit subcommand name.")
@@ -12128,13 +12755,13 @@ explicit subcommand name.")
(invoke "pytest"))
#t)))))
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-freezegun" ,python-freezegun)
- ("python-pretend" ,python-pretend)
- ("python-pytest" ,python-pytest)
- ("python-pytest-asyncio" ,python-pytest-asyncio)
- ("python-simplejson" ,python-simplejson)
- ("python-twisted" ,python-twisted)))
+ (list python-coverage
+ python-freezegun
+ python-pretend
+ python-pytest
+ python-pytest-asyncio
+ python-simplejson
+ python-twisted))
(home-page "https://www.structlog.org/")
(synopsis "Structured Logging for Python")
(description "@code{structlog} changes logging in Python by adding structure
@@ -12153,8 +12780,7 @@ to your log entries.")
"1xhak74yj3lqflvpijg15rnkklrigvsp5q7s4as4h6a157d8q8ip"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-pytest python-setuptools-scm))
(synopsis "Namespace control and lazy-import mechanism")
(description "With apipkg you can control the exported namespace of a Python
package and greatly reduce the number of imports for your users. It is a small
@@ -12188,8 +12814,7 @@ pure Python module that works on virtually all Python versions.")
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-vv")))))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-pytest python-setuptools-scm))
(synopsis "Rapid multi-Python deployment")
(description "Execnet provides a share-nothing model with
channel-send/receive communication for distributing execution across many
@@ -12218,8 +12843,7 @@ minimal and fast API targeting the following uses:
"19574j3jwssm2dkqykih4568xqfgjsa3hcd79yl5s2vfys3qvh8g"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-dateutil" ,python-dateutil)
- ("python-pytz" ,python-pytz)))
+ (list python-dateutil python-pytz))
(synopsis "Python library for parsing iCalendar files")
(description "The icalendar package is a parser/generator of iCalendar
files for use with Python.")
@@ -12263,9 +12887,9 @@ files for use with Python.")
(replace 'check
(lambda _ (invoke "py.test" "-v"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(propagated-inputs
- `(("python-args" ,python-args)))
+ (list python-args))
(home-page "https://github.com/kennethreitz/clint")
(synopsis "Command-line interface tools")
(description
@@ -12289,7 +12913,7 @@ output, progress bar display, and pipes.")
"1j81nddvnb145x4p81bnfpyai6g26i2dc1633ycsk025bb18m01a"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-appdirs" ,python-appdirs)))
+ (list python-appdirs))
(home-page "https://github.com/alex/rply")
(synopsis "Parser generator for Python")
(description
@@ -12324,14 +12948,9 @@ with a new public API, and RPython support.")
(setenv "HOME" "/tmp")
(invoke "nosetests"))))))
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-nose" ,python-nose)))
+ (list python-coverage python-nose))
(propagated-inputs
- `(("python-astor" ,python-astor)
- ("python-colorama" ,python-colorama)
- ("python-rply" ,python-rply)
- ("python-funcparserlib"
- ,python-funcparserlib)))
+ (list python-astor python-colorama python-rply python-funcparserlib))
(home-page "http://hylang.org/")
(synopsis "Lisp frontend to Python")
(description
@@ -12494,18 +13113,17 @@ concurrent.futures package from Python 3.2")
"0b2v3mim90rmfvixkaniz2qrs650sk230rzgd5zhcjfldmlqgxpc"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-six" ,python-six)
- ("python-utils" ,python-utils)))
+ (list python-six python-utils))
(native-inputs
- `(("python-flake8" ,python-flake8)
- ("python-freezegun" ,python-freezegun)
- ("python-pycodestyle" ,python-pycodestyle)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cache" ,python-pytest-cache)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-flakes" ,python-pytest-flakes)
- ("python-pytest-pep8" ,python-pytest-pep8)
- ("python-sphinx" ,python-sphinx)))
+ (list python-flake8
+ python-freezegun
+ python-pycodestyle
+ python-pytest
+ python-pytest-cache
+ python-pytest-cov
+ python-pytest-flakes
+ python-pytest-pep8
+ python-sphinx))
(home-page "https://github.com/WoLpH/python-progressbar")
(synopsis "Text progress bar library for Python")
(description
@@ -12555,64 +13173,86 @@ text.")
(define-public python2-colorama
(package-with-python2 python-colorama))
+;; awscli and botocore do not accept version 0.4.4
+(define-public python-colorama-for-awscli
+ (package
+ (inherit python-colorama)
+ (version "0.4.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "colorama" version))
+ (sha256
+ (base32 "189n8hpijy14jfan4ha9f5n06mnl33cxz7ay92wjqgkr639s0vg9"))))))
+
(define-public python-moto
(package
(name "python-moto")
- ;; XXX: Use a pre-release for compatibility with latest botocore & friends.
- (version "1.3.16.dev134")
+ (version "2.2.12")
(source (origin
(method url-fetch)
(uri (pypi-uri "moto" version))
(sha256
(base32
- "1pix0c7zszjwzfy88n1rpih9vkdm25nqcvz93z850xvgwb4v81bd"))))
+ "0pvay0jp119lzzwf5qj5h6311271yq0w2i6344ds20grpf6g6gz8"))))
(build-system python-build-system)
(arguments
- `(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'patch-hardcoded-executable-names
- (lambda _
- (substitute* "moto/batch/models.py"
- (("/bin/sh")
- (which "sh")))
- (substitute* (find-files "tests" "\\.py$")
- (("#!/bin/bash")
- (string-append "#!" (which "bash"))))
- #t))
- (replace 'check
- (lambda _
- (invoke "pytest" "-vv" "-m" "not network"
- ;; These tests require Docker.
- "-k" "not test_terminate_job \
-and not test_invoke_function_from_sqs_exception"))))))
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-hardcoded-executable-names
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((bash-exec (search-input-file inputs "/bin/sh")))
+ (substitute* "moto/batch/models.py"
+ (("/bin/sh") bash-exec))
+ (substitute* (find-files "tests" "\\.py$")
+ (("#!/bin/bash") (string-append "#!" bash-exec))))))
+ (replace 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "-vv" "-m" "not network" "-k"
+ (string-append
+ ;; These tests require Docker.
+ "not test_terminate_job"
+ " and not test_invoke_function_from_sqs_exception"
+ " and not test_rotate_secret_lambda_invocations"
+ ;; These tests also require the network.
+ " and not test_put_record_batch_http_destination"
+ " and not test_put_record_http_destination"
+ " and not test_dependencies"
+ " and not test_cancel_running_job"
+ " and not test_container_overrides"))))))))
(native-inputs
- `(("python-flask" ,python-flask)
- ("python-flask-cors" ,python-flask-cors)
- ("python-freezegun" ,python-freezegun)
- ("python-parameterized" ,python-parameterized)
- ("python-pytest" ,python-pytest)
- ("python-sure" ,python-sure)))
+ (list python-flask
+ python-flask-cors
+ python-freezegun
+ python-parameterized
+ python-pytest
+ python-sure))
+ (inputs
+ `(("bash" ,bash-minimal)))
(propagated-inputs
- `(("python-aws-xray-sdk" ,python-aws-xray-sdk)
- ("python-boto" ,python-boto)
- ("python-boto3" ,python-boto3)
- ("python-botocore" ,python-botocore)
- ("python-cfn-lint" ,python-cfn-lint)
- ("python-cryptography" ,python-cryptography)
- ("python-dateutil" ,python-dateutil)
- ("python-docker" ,python-docker)
- ("python-idna" ,python-idna)
- ("python-jinja2" ,python-jinja2)
- ("python-jose" ,python-jose)
- ("python-jsondiff" ,python-jsondiff)
- ("python-mock" ,python-mock)
- ("python-pytz" ,python-pytz)
- ("python-pyyaml" ,python-pyyaml)
- ("python-requests" ,python-requests)
- ("python-responses" ,python-responses)
- ("python-six" ,python-six)
- ("python-sshpubkeys" ,python-sshpubkeys)
- ("python-werkzeug" ,python-werkzeug)
- ("python-xmltodict" ,python-xmltodict)))
+ (list python-aws-xray-sdk
+ python-boto
+ python-boto3
+ python-botocore
+ python-cfn-lint
+ python-cryptography
+ python-dateutil
+ python-docker
+ python-idna
+ python-jinja2
+ python-jose
+ python-jsondiff
+ python-mock
+ python-pytz
+ python-pyyaml
+ python-requests
+ python-responses
+ python-six
+ python-sshpubkeys
+ python-werkzeug
+ python-xmltodict))
(home-page "https://github.com/spulec/moto")
(synopsis "Mock out the boto library")
(description
@@ -12633,7 +13273,7 @@ and not test_invoke_function_from_sqs_exception"))))))
"1dcxvszbikgzh99ybdc7jq0zb9wspy2ds8z9mjsqiyv3q884xpr5"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pyasn1" ,python-pyasn1)))
+ (list python-pyasn1))
(synopsis "Pure-Python RSA implementation")
(description "Python-RSA is a pure-Python RSA implementation. It supports
encryption and decryption, signing and verifying signatures, and key
@@ -12658,7 +13298,7 @@ library as well as on the command line.")
"1c35qyhvy27q9ih9n899f3h4sdnpgq027dbiilly2qb5cvgarchm"))))
(build-system python-build-system)
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-setuptools-scm))
(synopsis "Plugin and hook calling mechanism for Python")
(description "Pluggy is an extraction of the plugin manager as used by
Pytest but stripped of Pytest specific details.")
@@ -12704,7 +13344,7 @@ Pytest but stripped of Pytest specific details.")
(native-inputs
;; XXX: Not actually used since there are no tests but required for
;; build.
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://plumbum.readthedocs.io")
(synopsis "Python shell combinators library")
(description
@@ -12725,9 +13365,9 @@ code.")
"1zqqjlgmhgkpzg9ss5ki8wamxl83xn51fs6gn2a8cxsx9vkbvcvj"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-packaging" ,python-packaging)))
+ (list python-packaging))
(native-inputs
- `(("python-unittest2" ,python-unittest2)))
+ (list python-unittest2))
(home-page "https://deprecation.readthedocs.io/")
(synopsis "Python library to handle automated deprecations")
(description
@@ -12755,17 +13395,17 @@ that deprecated code is eventually removed.")
;; pytest>=2.8.0 for installation.
'(#:tests? #f))
(propagated-inputs
- `(("python-filelock" ,python-filelock)
- ("python-packaging" ,python-packaging)
- ("python-pluggy" ,python-pluggy)
- ("python-py" ,python-py)
- ("python-six" ,python-six)
- ("python-toml" ,python-toml)
- ("python-virtualenv" ,python-virtualenv)))
+ (list python-filelock
+ python-packaging
+ python-pluggy
+ python-py
+ python-six
+ python-toml
+ python-virtualenv))
(native-inputs
- `(; FIXME: Missing: ("python-pytest-timeout" ,python-pytest-timeout)
- ("python-pytest" ,python-pytest) ; >= 2.3.5
- ("python-setuptools-scm" ,python-setuptools-scm)))
+ (list ; FIXME: Missing: ("python-pytest-timeout" ,python-pytest-timeout)
+ python-pytest ; >= 2.3.5
+ python-setuptools-scm))
(home-page "https://tox.readthedocs.io")
(synopsis "Virtualenv-based automation of test activities")
(description "Tox is a generic virtualenv management and test command line
@@ -12788,7 +13428,7 @@ servers.")
"0k0765x1mybcrzajh3hiqkl8sy9hs0bmn4900frxy0j3ykvaxqmx"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(synopsis "JSON Matching Expressions")
(description "JMESPath (pronounced “james path”) is a Python library that
allows one to declaratively specify how to extract elements from a JSON
@@ -12811,10 +13451,9 @@ document.")
(base32 "1kn1w4dp9mrsq6kzmhf4pjmx3wicxc3dw1mwa924q8g48g77lr4c"))))
(build-system python-build-system)
(native-inputs
- `(("cmake" ,cmake)
- ("python-cython" ,python-cython)))
+ (list cmake python-cython))
(inputs
- `(("symengine" ,symengine)))
+ (list symengine))
(home-page "https://github.com/symengine/symengine.py")
(synopsis "Python library providing wrappers to SymEngine")
(description
@@ -12838,10 +13477,9 @@ manipulation library.")
;; fail.
(arguments '(#:tests? #false))
(propagated-inputs
- `(("python-future" ,python-future)))
+ (list python-future))
(native-inputs
- `(("python-nose" ,python-nose)
- ("python-numpy" ,python-numpy)))
+ (list python-nose python-numpy))
(home-page "https://uncertainties-python-package.readthedocs.io/")
(synopsis "Calculations with uncertainties")
(description
@@ -12863,7 +13501,7 @@ expression.")
"0f54sd4w1a72ij1bcxs2x7dk9xf8bzclawijf1z18bqx9f96l2gm"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/newville/asteval")
(synopsis "Minimalistic evaluator of Python expressions")
(description
@@ -12884,12 +13522,9 @@ using the @code{ast} module")
"0iab33jjb60f8kn0k0cqb0vjp1mdskks2n3kpn97zkw5cvjhq2b7"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-asteval" ,python-asteval)
- ("python-numpy" ,python-numpy)
- ("python-scipy" ,python-scipy)
- ("python-uncertainties" ,python-uncertainties)))
+ (list python-asteval python-numpy python-scipy python-uncertainties))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://lmfit.github.io/lmfit-py/")
(synopsis "Least-Squares minimization with bounds and constraints")
(description
@@ -12918,8 +13553,7 @@ enhancements to optimization and data fitting problems.")
;; subset of this library, so keep it around for now, but disable tests.
'(#:tests? #f))
(propagated-inputs
- `(("python-paramiko" ,python-paramiko)
- ("python-requests" ,python-requests)))
+ (list python-paramiko python-requests))
(home-page "https://github.com/boto/boto")
(synopsis "Python interfaces for Amazon Web Services")
(description
@@ -12934,22 +13568,20 @@ This software is unmaintained, and new projects should use @code{boto3} instead.
;; are compatible.
(package
(name "python-botocore")
- (version "1.19.22")
+ (version "1.22.11")
(source
(origin
(method url-fetch)
(uri (pypi-uri "botocore" version))
(sha256
(base32
- "0iim86x7c6hqmvd61ygz6x6x9glnsfbnyzv2y67qjdcdx8jpkmw7"))))
+ "1z7g2scyzvfq4yj9b4w911k7802ry1v6lqfnwq12l0ak7ywmsvrh"))))
(build-system python-build-system)
(arguments
;; FIXME: Many tests are failing.
'(#:tests? #f))
(propagated-inputs
- `(("python-dateutil" ,python-dateutil)
- ("python-jmespath" ,python-jmespath)
- ("python-urllib3" ,python-urllib3)))
+ (list python-dateutil python-jmespath python-urllib3))
(home-page "https://github.com/boto/botocore")
(synopsis "Low-level interface to AWS")
(description "Botocore is a Python library that provides a low-level
@@ -12962,7 +13594,7 @@ interface to the Amazon Web Services (AWS) API.")
(define-public python-boto3
(package
(name "python-boto3")
- (version "1.16.22")
+ (version "1.19.11")
(home-page "https://github.com/boto/boto3")
(source (origin
(method git-fetch)
@@ -12970,23 +13602,19 @@ interface to the Amazon Web Services (AWS) API.")
(file-name (git-file-name name version))
(sha256
(base32
- "0h20hgl4yfl58g75qhb6ibrdmzn47md3srgar7hask14cjmfhfy3"))))
+ "1wv0ci2z5ywvm63dh4mp64vqyyvkm4qxc8dxv8ncrqiiphpgr9aq"))))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'delete-network-tests
;; Deleting integration tests because they are trying to connect to AWS.
- (lambda _
- (delete-file-recursively "tests/integration")
- #t)))))
+ (lambda _
+ (delete-file-recursively "tests/integration"))))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)
- ("python-mock" ,python-mock)))
+ (list python-nose python-mock python-pytest))
(propagated-inputs
- `(("python-botocore" ,python-botocore)
- ("python-jmespath" ,python-jmespath)
- ("python-s3transfer" ,python-s3transfer)))
+ (list python-botocore python-jmespath python-s3transfer))
(synopsis "AWS SDK for Python")
(description
"Boto3 is a Python library for writing programs that interact with
@@ -13039,7 +13667,7 @@ in pure Python.")
#t))))
#:tests? #f)) ; no tests provided
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(inputs
`(("xdotool" ,xdotool)
("libX11" ,libx11)))
@@ -13074,10 +13702,9 @@ python-xdo for newer bindings.)")
(format #t "test suite not run~%"))
#t)))))
(propagated-inputs
- `(("python-markupsafe" ,python-markupsafe)))
+ (list python-markupsafe))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-nose" ,python-nose)))
+ (list python-mock python-nose))
(home-page "https://www.makotemplates.org/")
(synopsis "Templating language for Python")
(description "Mako is a templating language for Python that compiles
@@ -13122,7 +13749,7 @@ server with very acceptable performance.")
"11yfkzyplizdgndy34vyd5qlmr1n5mxis3a3svxmx8fnccdvknxc"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/pydanny/whichcraft")
(synopsis "Cross-platform cross-python shutil.which functionality")
(description
@@ -13142,22 +13769,19 @@ designed to work across multiple versions of Python.")
(base32 "0mx49whhwcxmvcak27zr7p7ndzkn3w7psfd7fzh3n91fi1r4v6kb"))))
(build-system python-build-system)
(native-inputs
- `(("python-freezegun" ,python-freezegun)
- ("python-pytest" ,python-pytest)
- ("python-pytest-catchlog" ,python-pytest-catchlog)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-mock" ,python-pytest-mock)))
+ (list python-freezegun python-pytest python-pytest-catchlog
+ python-pytest-cov python-pytest-mock))
(propagated-inputs
- `(("python-binaryornot" ,python-binaryornot)
- ("python-click" ,python-click)
- ("python-future" ,python-future)
- ("python-jinja2" ,python-jinja2)
- ("python-jinja2-time" ,python-jinja2-time)
- ("python-poyo" ,python-poyo)
- ("python-requests" ,python-requests)
- ("python-slugify" ,python-slugify)
- ("python-text-unidecode" ,python-text-unidecode)
- ("python-whichcraft" ,python-whichcraft)))
+ (list python-binaryornot
+ python-click
+ python-future
+ python-jinja2
+ python-jinja2-time
+ python-poyo
+ python-requests
+ python-slugify
+ python-text-unidecode
+ python-whichcraft))
(home-page "https://github.com/cookiecutter/cookiecutter")
(synopsis
"Command-line utility that creates projects from project templates")
@@ -13180,11 +13804,9 @@ project template.")
"1xia20wm0vx5dk85kcwgh13bylz8qh47ffjxssd2586r60xi783a"))))
(build-system python-build-system)
(native-inputs
- `(("python-webob" ,python-webob)
- ("python-webtest" ,python-webtest)))
+ (list python-webob python-webtest))
(propagated-inputs
- `(("python-lxml" ,python-lxml)
- ("python-cssselect" ,python-cssselect)))
+ (list python-lxml python-cssselect))
(home-page "https://github.com/gawel/pyquery")
(synopsis "Make jQuery-like queries on xml documents")
(description "pyquery allows you to make jQuery queries on xml documents.
@@ -13243,11 +13865,9 @@ and provides a uniform API regardless of which JSON implementation is used.")
"1sv600dgqwpimr6i1g59y9hpn50mc236gdqkr7zin13kvlpx0g87"))))
(build-system python-build-system)
(native-inputs
- `(("python-case" ,python-case)
- ("python-pytest-sugar" ,python-pytest-sugar)
- ("python-mock" ,python-mock)))
+ (list python-case python-pytest-sugar python-mock))
(propagated-inputs
- `(("python-vine" ,python-vine)))
+ (list python-vine))
(home-page "https://github.com/celery/py-amqp")
(synopsis
"Low-level AMQP client for Python (fork of amqplib)")
@@ -13281,8 +13901,7 @@ alternative when librabbitmq is not available.")
"0jd9864k3csc06kipiwzjlk9mq4054s8kzk5q1cfnxj8572s4iv4"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-six" ,python-six)
- ("python-twisted" ,python-twisted)))
+ (list python-six python-twisted))
(home-page "https://github.com/txamqp/txamqp")
(synopsis "Communicate with AMQP peers and brokers using Twisted")
(description
@@ -13294,9 +13913,6 @@ also includes support for using Thrift RPC over AMQP in Twisted
applications.")
(license license:asl2.0)))
-(define-public python2-txamqp
- (package-with-python2 python-txamqp))
-
(define-public python-kombu
(package
(name "python-kombu")
@@ -13310,15 +13926,10 @@ applications.")
"15k8f7mzqr049sg9vi48m19vjykviafk3f0p5xzgw9by0x0kyxjj"))))
(build-system python-build-system)
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-case" ,python-case)
- ("python-pyro4" ,python-pyro4)
- ("python-pytest-sugar" ,python-pytest-sugar)
- ("python-pytz" ,python-pytz)))
+ (list python-mock python-case python-pyro4 python-pytest-sugar
+ python-pytz))
(propagated-inputs
- `(("python-anyjson" ,python-anyjson)
- ("python-amqp" ,python-amqp)
- ("python-redis" ,python-redis)))
+ (list python-anyjson python-amqp python-redis))
(home-page "https://kombu.readthedocs.io")
(synopsis "Message passing library for Python")
(description "The aim of Kombu is to make messaging in Python as easy as
@@ -13354,8 +13965,7 @@ RabbitMQ messaging server is the most popular implementation.")
"03msmapj3s5zgqk87d646mafz7a01h5bm2wijalgpi0s80ks5na2"))))
(build-system python-build-system)
(native-inputs
- `(("python-case" ,python-case)
- ("python-pytest" ,python-pytest)))
+ (list python-case python-pytest))
(home-page "https://github.com/celery/billiard")
(synopsis
"Python multiprocessing fork with improvements and bugfixes")
@@ -13400,12 +14010,9 @@ Python 2.4 and 2.5, and will draw its fixes/improvements from python-trunk.")
"pytest>=3.0"))
#t)))))
(native-inputs
- `(("python-case" ,python-case)
- ("python-pytest" ,python-pytest)))
+ (list python-case python-pytest))
(propagated-inputs
- `(("python-pytz" ,python-pytz)
- ("python-billiard" ,python-billiard)
- ("python-kombu" ,python-kombu)))
+ (list python-pytz python-billiard python-kombu))
(home-page "https://celeryproject.org")
(synopsis "Distributed Task Queue")
(description "Celery is an asynchronous task queue/job queue based on
@@ -13501,27 +14108,27 @@ ISO 8859, etc.).")
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-vv" "-k"
- ;; These tests try to download online data.
- (string-append "not test_PolyLineROI"
- " and not test_getArrayRegion_axisorder"
- " and not test_getArrayRegion"
- " and not test_PlotCurveItem"
- " and not test_NonUniformImage_colormap"
- " and not test_NonUniformImage_lut"
- " and not test_ImageItem_axisorder"
- " and not test_ImageItem")))))))
+ (string-append
+ ;; These tests try to download online data.
+ "not test_PolyLineROI"
+ " and not test_getArrayRegion_axisorder"
+ " and not test_getArrayRegion"
+ " and not test_PlotCurveItem"
+ " and not test_NonUniformImage_colormap"
+ " and not test_NonUniformImage_lut"
+ " and not test_ImageItem_axisorder"
+ " and not test_ImageItem"
+ ;; The test_reload test fails and suggests adding
+ ;; "--assert=plain" to the pytest command, but it
+ ;; doesn't solve the failure.
+ " and not test_reload")))))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-xdist" ,python-pytest-xdist)))
+ (list python-pytest python-pytest-cov python-pytest-xdist))
(inputs
- `(("qtbase" ,qtbase-5)))
+ (list qtbase-5))
(propagated-inputs
- `(("python-h5py" ,python-h5py)
- ("python-numpy" ,python-numpy)
- ("python-pyopengl" ,python-pyopengl)
- ("python-scipy" ,python-scipy)
- ("python-pyqt" ,python-pyqt)))
+ (list python-h5py python-numpy python-pyopengl python-scipy
+ python-pyqt))
(home-page "http://www.pyqtgraph.org")
(synopsis "Scientific graphics and GUI library for Python")
(description
@@ -13554,10 +14161,9 @@ applications.")
(setenv "QT_QPA_PLATFORM" "offscreen")
#t)))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-pytest python-pytest-runner))
(propagated-inputs
- `(("python-pyqt" ,python-pyqt)))
+ (list python-pyqt))
(home-page "https://github.com/CabbageDevelopment/qasync")
(synopsis "Implementation of the PEP 3156 Event-Loop with Qt")
(description
@@ -13626,8 +14232,7 @@ main process so that they are handled correctly.")
'(;; The test suite relies on some non-portable Windows interfaces.
#:tests? #f))
(propagated-inputs
- `(("python-dateutil" ,python-dateutil)
- ("python-pyicu" ,python-pyicu)))
+ (list python-dateutil python-pyicu))
(synopsis "Parse and generate vCard and vCalendar files")
(description "Vobject is intended to be a full featured Python package for
parsing and generating vCard and vCalendar files. Currently, iCalendar files
@@ -13651,7 +14256,7 @@ way.")
(base32
"00yvj8bxmhhhhd74v7j0x673is7vizmxwgb3dd5xmnkr74ybyi7w"))))
(build-system python-build-system)
- (native-inputs `(("python-pytest" ,python-pytest-6)))
+ (native-inputs (list python-pytest-6))
(home-page "https://software.clapper.org/munkres/")
(synopsis "Implementation of the Munkres algorithm")
(description "The Munkres module provides an implementation of the Munkres
@@ -13659,9 +14264,6 @@ algorithm (also called the Hungarian algorithm or the Kuhn-Munkres algorithm),
useful for solving the Assignment Problem.")
(license license:bsd-3)))
-(define-public python2-munkres
- (package-with-python2 python-munkres))
-
(define-public python-whoosh
(package
(name "python-whoosh")
@@ -13676,7 +14278,7 @@ useful for solving the Assignment Problem.")
(build-system python-build-system)
(arguments '(#:tests? #f)) ; Test invocation is no longer supported by Python.
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://bitbucket.org/mchaput/whoosh")
(synopsis "Full text indexing, search, and spell checking library")
(description
@@ -13692,6 +14294,50 @@ checking library.")
,python2-backport-ssl-match-hostname)
,@(package-propagated-inputs whoosh))))))
+(define-public python-codespell
+ (package
+ (name "python-codespell")
+ (version "2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "codespell" version))
+ (sha256
+ (base32 "1r9y714cz8m894rxp7pyvicr1lw2iid24vz6fxbl5wzy8ibgxlqr"))))
+ (build-system python-build-system)
+ (inputs
+ (list python-chardet))
+ (native-inputs
+ (list python-check-manifest python-flake8 python-pytest
+ python-pytest-cov python-pytest-dependency))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key outputs tests? #:allow-other-keys)
+ (when tests?
+ ;; Make installed executable available for running the tests.
+ (setenv "PATH"
+ (string-append (assoc-ref outputs "out") "/bin"
+ ":" (getenv "PATH")))
+ (invoke "pytest" "-vv")))))))
+ (home-page "https://github.com/codespell-project/codespell/")
+ (synopsis "Spellchecker for code")
+ (description "Codespell fixes common misspellings in text files.
+It's designed primarily for checking misspelled words in source code,
+but it can be used with other files as well. It does not check for word
+membership in a complete dictionary, but instead looks for a set of
+common misspellings. Therefore it should catch errors like \"adn\", but
+it will not catch \"adnasdfasdf\". This also means it shouldn't
+generate false-positives when you use a niche term it doesn't know
+about.")
+ (license
+ (list
+ ; for codespell and codespell_lib
+ license:gpl2
+ ; for dictionary*.txt
+ license:cc-by-sa3.0))))
+
(define-public python-pathlib
(package
(name "python-pathlib")
@@ -13746,8 +14392,7 @@ anymore.")
(arguments
`(#:python ,python-2))
(propagated-inputs
- `(("python2-scandir" ,python2-scandir)
- ("python2-six" ,python2-six)))
+ (list python2-scandir python2-six))
(home-page "https://pypi.org/project/pathlib2/")
(synopsis "Object-oriented file system paths - backport of standard
pathlib module")
@@ -13798,7 +14443,7 @@ ambiguities (forward vs. backward slashes, etc.).
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-vv" "jellyfish/test.py")))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/jamesturk/jellyfish")
(synopsis "Approximate and phonetic matching of strings")
(description "Jellyfish uses a variety of string comparison and phonetic
@@ -13825,7 +14470,7 @@ encoding algorithms to do fuzzy string matching.")
`(;; It supports Python 3, but Python 3 can already do Unicode CSV.
#:python ,python-2))
(native-inputs
- `(("python2-unittest2" ,python2-unittest2)))
+ (list python2-unittest2))
(home-page "https://github.com/jdunck/python-unicodecsv")
(synopsis "Unicode CSV module for Python 2")
(description "Unicodecsv is a drop-in replacement for Python 2.7's CSV
@@ -13865,12 +14510,9 @@ module, adding support for Unicode strings.")
(find-files out "\\.gz$"))
#t))))))
(propagated-inputs
- `(("python-chardet" ,python-chardet)
- ("python-cryptography" ,python-cryptography)
- ("python-sortedcontainers" ,python-sortedcontainers)))
+ (list python-chardet python-cryptography python-sortedcontainers))
(native-inputs
- `(("python-nose" ,python-nose)
- ("python-tox" ,python-tox)))
+ (list python-nose python-tox))
(home-page "https://github.com/pdfminer/pdfminer.six")
(synopsis "PDF parser and analyzer")
(description "@code{pdfminer.six} is a community maintained fork of
@@ -13908,8 +14550,8 @@ can also be used to get the exact location, font or color of the text.")
(lambda* (#:key inputs tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv")))))))
- (native-inputs `(("python-pytest" ,python-pytest)))
- (inputs `(("libarchive" ,libarchive)))
+ (native-inputs (list python-pytest))
+ (inputs (list libarchive))
(home-page "https://github.com/markokr/rarfile")
(synopsis "RAR archive reader for Python")
(description "This is Python module for RAR archive reading. The interface
@@ -13938,12 +14580,8 @@ is made as zipfile like as possible.")
"tests")
(invoke "python" "-m" "pytest" "-vv")))))))
(propagated-inputs
- `(("python-attrs" ,python-attrs)
- ("python-colorama" ,python-colorama)
- ("python-commonmark" ,python-commonmark)
- ("python-ipywidgets" ,python-ipywidgets)
- ("python-pygments" ,python-pygments)
- ("python-typing-extensions" ,python-typing-extensions)))
+ (list python-attrs python-colorama python-commonmark python-pygments
+ python-typing-extensions))
(native-inputs
`(("python-pytest" ,python-pytest)
("tests"
@@ -13969,16 +14607,17 @@ syntax highlighting, markdown and more to the terminal.")
(define-public python-magic
(package
(name "python-magic")
- (version "0.4.22")
+ (version "0.4.24")
(home-page "https://github.com/ahupp/python-magic")
(source
(origin
(method git-fetch)
(uri (git-reference (url home-page) (commit version)))
(file-name (git-file-name name version))
+ (patches (search-patches "python-magic-python-bytecode.patch"))
(sha256
(base32
- "0zbdjr5shijs0jayz7gycpx0kn6v2bh83dpanyajk2vmy47jvbd6"))))
+ "17jalhjbfd600lzfz296m0nvgp6c7vx1mgz82jbzn8hgdzknf4w0"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@@ -13990,22 +14629,26 @@ syntax highlighting, markdown and more to the terminal.")
;; python-magic to fail.
(add-before 'build 'hard-code-path-to-libmagic
(lambda* (#:key inputs #:allow-other-keys)
- (let ((file (assoc-ref inputs "file")))
+ (let ((magic (search-input-file inputs "/lib/libmagic.so")))
(substitute* "magic/loader.py"
- (("ctypes\\.util\\.find_library\\('magic'\\)")
- (string-append "'" file "/lib/libmagic.so'"))))))
+ (("find_library\\('magic'\\)")
+ (string-append "'" magic "'"))))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
;; The test suite mandates this variable.
(setenv "LC_ALL" "en_US.UTF-8")
(if tests?
- (invoke "python" "./test/test.py")
+ (with-directory-excursion "test"
+ (invoke "python" "./test.py")
+ (invoke "python" "./libmagic_test.py"))
(format #t "test suite not run~%")))))))
(native-inputs
- `(("which" ,which)))
+ (list which))
(inputs
;; python-magic needs to be able to find libmagic.so.
- `(("file" ,file)))
+ ;; Use a newer version because 5.39 returns bogus for some archives
+ ;; (notably Chromium .crx extensions), which breaks e.g. 'diffoscope'.
+ (list file-next))
(synopsis "File type identification using libmagic")
(description
"This module uses ctypes to access the libmagic file type
@@ -14037,15 +14680,15 @@ the same purpose: to provide Python bindings for libmagic.")
`(#:python ,python-2
#:tests? #f))
(propagated-inputs
- `(("python2-dateutil" ,python2-dateutil)
- ;; The python-file package also provides a magic.py module.
- ;; This is an unfortunate state of affairs; however, s3cmd
- ;; fails to install if it cannot find specifically the
- ;; python-magic package. Thus we include it, instead of using
- ;; python-file. Ironically, s3cmd sometimes works better
- ;; without libmagic bindings at all:
- ;; https://github.com/s3tools/s3cmd/issues/198
- ("python2-magic" ,python2-magic)))
+ (list python2-dateutil
+ ;; The python-file package also provides a magic.py module.
+ ;; This is an unfortunate state of affairs; however, s3cmd
+ ;; fails to install if it cannot find specifically the
+ ;; python-magic package. Thus we include it, instead of using
+ ;; python-file. Ironically, s3cmd sometimes works better
+ ;; without libmagic bindings at all:
+ ;; https://github.com/s3tools/s3cmd/issues/198
+ python2-magic))
(home-page "https://s3tools.org/s3cmd")
(synopsis "Command line tool for S3-compatible storage services")
(description
@@ -14069,9 +14712,9 @@ CloudFront content delivery network.")
"107x2wmchlch8saixb488cgjz9n6inl38wi7nxkb942rbaapxiqb"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -14125,14 +14768,14 @@ development version of CPython that are not available in older releases.")
(define-public python-future
(package
(name "python-future")
- (version "0.17.1")
+ (version "0.18.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "future" version))
(sha256
(base32
- "1f2rlqn9rh7adgir52dlbqz69gsab44x0mlm8gf1cs7xvhv54137"))))
+ "0zakvfj87gy6mn1nba06sdha63rn4njm7bhh0wzyrxhcny8avgmi"))))
(build-system python-build-system)
;; Many tests connect to the network or are otherwise flawed.
;; https://github.com/PythonCharmers/python-future/issues/210
@@ -14162,10 +14805,9 @@ to support both Python 2 and Python 3 with minimal overhead.")
"15ix8crpad26cfl1skyg7qajqqfdrm8q5ahhmlfmqi1aw0jqj2g2"))))
(build-system python-build-system)
(native-inputs
- `(("python-cython" ,python-cython)
- ("python-sphinx" ,python-sphinx)))
+ (list python-cython python-sphinx))
(inputs
- `(("pari-gp" ,pari-gp)))
+ (list pari-gp))
(arguments
`(#:modules ((guix build python-build-system)
((guix build gnu-build-system) #:prefix gnu:)
@@ -14224,8 +14866,7 @@ respectively.")
" line += ' -L" pcre "/lib"
" -L " libgc "/lib'")))
#t))))))
- (inputs `(("pcre" ,pcre)
- ("libgc" ,libgc)))
+ (inputs (list pcre libgc))
(home-page "https://shedskin.github.io/")
(synopsis "Experimental Python-2 to C++ Compiler")
(description (string-append "This is an experimental compiler for a subset of
@@ -14264,7 +14905,7 @@ to occurrences in strings and comments.")
(base32 "16z8zq83hxy48g6hh4xczbdz50qvxv9k1aahr4fqq7jis60cc262"))))
(build-system python-build-system)
(inputs
- `(("file" ,file)))
+ (list file))
(arguments
'(#:phases
(modify-phases %standard-phases
@@ -14303,8 +14944,7 @@ own code, responding to click events and updating clock every second.")
(lambda _
(invoke "py.test" "-vv" "tests" "README.rst"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-six" ,python-six)))
+ (list python-pytest python-six))
(home-page "https://github.com/ionelmc/python-tblib")
(synopsis "Traceback serialization library")
(description
@@ -14322,6 +14962,37 @@ multiple processes (imagine multiprocessing, billiard, futures, celery etc).
(define-public python2-tblib
(package-with-python2 python-tblib))
+(define-public python-tftpy
+ (package
+ (name "python-tftpy")
+ (version "0.8.2")
+ (source
+ (origin
+ (method git-fetch) ;no tests in PyPI archive
+ (uri (git-reference
+ (url "https://github.com/msoulier/tftpy")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1gl04ps8h8r7av3h0zbm8gwmkqs9rkk5vf7n8mv2bzrkwvy9hacc"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ ;; The default DEBUG logging level is way too verbose.
+ (substitute* "t/test.py"
+ (("logging\\.DEBUG")
+ "logging.INFO"))
+ (invoke "python" "-m" "unittest" "t/test.py")))))))
+ (home-page "http://tftpy.sourceforge.net/")
+ (synopsis "Python trivial file transfer protocol (TFTP) library")
+ (description "TFTPy is a trivial file transfer protocol (TFTP) Python
+library. It can be used to act both as a TFTP client or TFTP server.")
+ (license license:expat)))
+
(define-public python-greenlet
(package
(name "python-greenlet")
@@ -14355,10 +15026,9 @@ are synchronized with data exchanges on \"channels\".")
"19qmqsh984zq1rzzjy4vqnmviaqnymcyl8h7z99pnicbgwnm2adz"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-graphviz" ,python-graphviz)))
+ (list python-graphviz))
(native-inputs
- `(("python-mock" ,python-mock)
- ("graphviz" ,graphviz)))
+ (list python-mock graphviz))
(home-page "https://mg.pov.lt/objgraph/")
(synopsis "Draw Python object reference graphs with graphviz")
(description
@@ -14474,14 +15144,11 @@ graphviz.")
("python-zope.event" ,python-zope-event)
("python-zope.interface" ,python-zope-interface)))
(native-inputs
- `(("python-six" ,python-six)
-
- ;; For tests.
- ("python-dnspython" ,python-dnspython)
- ("python-psutil" ,python-psutil)))
+ (list python-six
+ ;; For tests.
+ python-dnspython python-psutil))
(inputs
- `(("c-ares" ,c-ares)
- ("libev" ,libev)))
+ (list c-ares libev))
(home-page "https://www.gevent.org/")
(synopsis "Coroutine-based network library")
(description
@@ -14529,12 +15196,12 @@ format.")
(substitute* "src/twisted/python/_setup.py"
(("\".+ = twisted\\.conch\\.scripts\\..+\",") "")))))))
(propagated-inputs
- `(("python-zope-interface" ,python-zope-interface)
- ("python-pyhamcrest" ,python-pyhamcrest)
- ("python-incremental" ,python-incremental)
- ("python-hyperlink" ,python-hyperlink)
- ("python-constantly" ,python-constantly)
- ("python-automat" ,python-automat)))
+ (list python-zope-interface
+ python-pyhamcrest
+ python-incremental
+ python-hyperlink
+ python-constantly
+ python-automat))
(home-page "https://twistedmatrix.com/")
(synopsis "Asynchronous networking framework written in Python")
(description
@@ -14542,9 +15209,6 @@ format.")
focus on event-based network programming and multiprotocol integration.")
(license license:expat)))
-(define-public python2-twisted
- (package-with-python2 python-twisted))
-
(define-public python-pika
(package
(name "python-pika")
@@ -14577,13 +15241,12 @@ focus on event-based network programming and multiprotocol integration.")
(lambda _
(invoke "nosetests"))))))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-nose" ,python-nose)
-
- ;; These are optional at runtime, and provided here for tests.
- ("python-gevent" ,python-gevent)
- ("python-tornado" ,python-tornado)
- ("python-twisted" ,python-twisted)))
+ (list python-mock
+ python-nose
+ ;; These are optional at runtime, and provided here for tests.
+ python-gevent
+ python-tornado
+ python-twisted))
(home-page "https://pika.readthedocs.org")
(synopsis "Pure Python AMQP Client Library")
(description
@@ -14649,7 +15312,7 @@ data in Python.")
(build-system python-build-system)
(arguments '(#:tests? #f)) ; XXX: needs zookeeper
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(home-page "https://kazoo.readthedocs.org")
(synopsis "High-level Zookeeper client library")
(description
@@ -14674,11 +15337,9 @@ programming errors.")
(build-system python-build-system)
(arguments '(#:tests? #f)) ; XXX: needs zookeeper, kafka, etc.
(propagated-inputs
- `(("python-gevent" ,python-gevent)
- ("python-kazoo" ,python-kazoo)
- ("python-tabulate" ,python-tabulate)))
+ (list python-gevent python-kazoo python-tabulate))
(inputs
- `(("librdkafka" ,librdkafka)))
+ (list librdkafka))
(home-page "https://pykafka.readthedocs.io/")
(synopsis "Apache Kafka client for Python")
(description
@@ -14764,7 +15425,7 @@ objects, patterned after the Mocha library for Ruby.")
"1jhnxgnw8y3mbzjssixh6qkc7a3afc4fygajhqrqalnilyvpzshq"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/jpvanhal/inflection")
(synopsis "Python string transformation library")
(description
@@ -14809,15 +15470,10 @@ Wikipedia code samples at
"17q6wi3q280kxmxzb2iwnnqih2xbljn18v0bjx2ip18p079j43ix"))))
(build-system python-build-system)
(native-inputs
- `( ;; For testing
- ("python-mock" ,python-mock)
- ("python-pytest-mock" ,python-pytest-mock)
- ("python-pytest" ,python-pytest)))
+ (list ;; For testing
+ python-mock python-pytest-mock python-pytest))
(propagated-inputs
- `(("python-backpack" ,python-backpack)
- ("python-clikit" ,python-clikit)
- ("python-pastel" ,python-pastel)
- ("python-pylev" ,python-pylev)))
+ (list python-backpack python-clikit python-pastel python-pylev))
(home-page "https://github.com/sdispater/cleo")
(synopsis "Command-line arguments library for Python")
(description
@@ -14840,8 +15496,7 @@ docstring and colored output.")
(base32 "062n694sfv24ylda6nh8228y2q9hrvy554kqx84y7czsjfbg4mxc"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pyyaml" ,python-pyyaml)))
+ (list python-pytest python-pyyaml))
(home-page "https://github.com/sdispater/tomlkit")
(synopsis "Style-preserving TOML library")
(description
@@ -14894,7 +15549,7 @@ running in.")
"0kvyapavbirk2x3n1jx4yb9nyigrj1s3x15nm3qhpvhkpqvqdqm2"))
(patches (search-patches "python-memcached-syntax-warnings.patch"))))
(build-system python-build-system)
- (propagated-inputs `(("python-six" ,python-six)))
+ (propagated-inputs (list python-six))
(home-page
"https://github.com/linsomniac/python-memcached")
(synopsis "Pure python memcached client")
@@ -14918,9 +15573,7 @@ more, possibly remote, memcached servers.")
(build-system python-build-system)
(arguments '(#:tests? #f)) ; no test in the PyPI tarball
(propagated-inputs
- `(("python-crashtest" ,python-crashtest)
- ("python-pastel" ,python-pastel)
- ("python-pylev" ,python-pylev)))
+ (list python-crashtest python-pastel python-pylev))
(home-page "https://github.com/sdispater/clikit")
(synopsis "Group of utilities to build command line interfaces")
(description
@@ -14978,15 +15631,10 @@ strings require only one extra byte in addition to the strings themselves.")
(lambda _ (invoke "pifpaf" "run" "memcached" "--port" "11211" "--"
"pytest"))))))
(native-inputs
- `(("memcached" ,memcached)
- ("python-fakeredis" ,python-fakeredis)
- ("python-flexmock" ,python-flexmock)
- ("python-pifpaf" ,python-pifpaf)
- ("python-pytest" ,python-pytest)))
+ (list memcached python-fakeredis python-flexmock python-pifpaf
+ python-pytest))
(propagated-inputs
- `(("python-memcached" ,python-memcached)
- ("python-msgpack-python" ,python-msgpack-python)
- ("python-redis" ,python-redis)))
+ (list python-memcached python-msgpack-python python-redis))
(home-page "https://github.com/sdispater/cachy")
(synopsis "Simple yet effective caching library")
(description
@@ -14998,7 +15646,7 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.")
(define-public poetry
(package
(name "poetry")
- (version "1.1.5")
+ (version "1.1.11")
;; Poetry can only be built from source with Poetry.
(source
(origin
@@ -15006,7 +15654,7 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.")
(uri (pypi-uri "poetry" version))
(sha256
(base32
- "1dvx08ksv5wnsj45db23921rj136akmcnxa0kmlsddf3wbh6wcka"))))
+ "17pnf2j4adlm9fhyg5jkkvs8bzcigb6nj72vr0687fxybzsj4zbx"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ;; Pypi does not have tests.
@@ -15022,23 +15670,23 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.")
(("packaging>=20.4,<21.0") "packaging>=20.0,<21.0"))
#t)))))
(propagated-inputs
- `(("python-cachecontrol" ,python-cachecontrol)
- ("python-cachy" ,python-cachy)
- ("python-cleo" ,python-cleo)
- ("python-clikit" ,python-clikit)
- ("python-html5lib" ,python-html5lib)
- ("python-keyring" ,python-keyring)
- ("python-msgpack-transitional" ,python-msgpack-transitional)
- ("python-packaging" ,python-packaging)
- ("python-pexpect" ,python-pexpect)
- ("python-pip" ,python-pip)
- ("python-pkginfo" ,python-pkginfo)
- ("python-poetry-core" ,python-poetry-core)
- ("python-requests" ,python-requests)
- ("python-requests-toolbelt" ,python-requests-toolbelt-0.9.1)
- ("python-shellingham" ,python-shellingham)
- ("python-tomlkit" ,python-tomlkit)
- ("python-virtualenv" ,python-virtualenv)))
+ (list python-cachecontrol
+ python-cachy
+ python-cleo
+ python-clikit
+ python-html5lib
+ python-keyring
+ python-msgpack-transitional
+ python-packaging
+ python-pexpect
+ python-pip
+ python-pkginfo
+ python-poetry-core
+ python-requests
+ python-requests-toolbelt-0.9.1
+ python-shellingham
+ python-tomlkit
+ python-virtualenv))
(home-page "https://python-poetry.org")
(synopsis "Python dependency management and packaging made easy")
(description "Poetry is a tool for dependency management and packaging
@@ -15098,12 +15746,9 @@ some degree most natural languages too.")
(when tests?
(invoke "python" "-m" "unittest")))))))
(native-inputs
- `(("python-black" ,python-black)
- ("python-isort" ,python-isort)))
+ (list python-black python-isort))
(propagated-inputs
- `(("python-typing-extensions" ,python-typing-extensions)
- ("python-typing-inspect" ,python-typing-inspect)
- ("python-pyyaml" ,python-pyyaml)))
+ (list python-typing-extensions python-typing-inspect python-pyyaml))
(home-page "https://github.com/Instagram/LibCST")
(synopsis "Concrete Syntax Tree (CST) parser and serializer library for Python")
(description
@@ -15142,8 +15787,7 @@ feels like an AST.")
(patches (search-patches "python-typing-inspect-fix.patch"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-mypy-extensions" ,python-mypy-extensions)
- ("python-typing-extensions" ,python-typing-extensions)))
+ (list python-mypy-extensions python-typing-extensions))
(home-page "https://github.com/ilevkivskyi/typing_inspect")
(synopsis "API for inspection of types in the Python @code{typing} module")
(description
@@ -15162,7 +15806,7 @@ inspection of types defined in the Python standard typing module.")
(base32
"0hwh29m9wa582ramj30p4pysckdrmki1z1b8iaaxk6mpfx2kc8wp"))))
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-setuptools-scm))
(build-system python-build-system)
(home-page "https://github.com/ionelmc/python-lazy-object-proxy")
(synopsis "Lazy object proxy for python")
@@ -15185,8 +15829,21 @@ until the object is actually required, and caches the result of said call.")
(base32
"1m0xvyby8baaxp6pfm0fgq8d2pq5dd8qm8bzfbrs009jaw5pza74"))))
(build-system python-build-system)
- (native-inputs `(("unzip" ,unzip)))
- (arguments '(#:tests? #f)) ; XXX: requires internet access
+ (arguments
+ `(#:tests? #f ; XXX: requires internet access
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-getprotobyname-calls
+ ;; These calls are problematic in the build environment as there is
+ ;; no /etc/protocols. This breaks the sanity-check phase of any
+ ;; package depnding on this one.
+ (lambda _
+ (substitute* "dns/rdtypes/IN/WKS.py"
+ (("socket.getprotobyname\\('tcp'\\)")
+ "6")
+ (("socket.getprotobyname\\('udp'\\)")
+ "17")))))))
+ (native-inputs (list unzip))
(home-page "https://www.dnspython.org")
(synopsis "DNS toolkit for Python")
(description
@@ -15262,8 +15919,7 @@ simple, lightweight implementation.")
(("dnspython3") "dnspython"))
#t)))))
(propagated-inputs
- `(("python-dnspython" ,python-dnspython)
- ("python-idna" ,python-idna)))
+ (list python-dnspython python-idna))
(home-page "https://github.com/JoshData/python-email-validator")
(synopsis "Email address validation library for Python")
(description
@@ -15276,14 +15932,29 @@ simple, lightweight implementation.")
(define-public python-ukpostcodeparser
(package
(name "python-ukpostcodeparser")
- (version "1.0.3")
+ (version "1.1.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "UkPostcodeParser" version))
(sha256
(base32
- "1jwg9z4rz51mcka1821rwgycsd0mcicyp1kiwjfa2kvg8bm9p2qd"))))
+ "03jkf1ygbwq3akzbcjyjk1akc1hv2sfgx90306pq1nwklbpn80lk"))))
(build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Tests for lowercase postcodes fail.
+ (invoke "pytest" "-vv" "ukpostcodeparser/test/parser.py" "-k"
+ (string-append "not test_091 "
+ "and not test_097 "
+ "and not test_098 "
+ "and not test_125 "
+ "and not test_131"))))))))
+ (native-inputs
+ (list python-pytest))
(home-page "https://github.com/hamstah/ukpostcodeparser")
(synopsis "UK Postcode parser for Python")
(description
@@ -15296,58 +15967,35 @@ parsing UK postcodes.")
(define-public python-faker
(package
- (name "python-faker")
- (version "8.12.1")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "Faker" version))
- (sha256
- (base32
- "1f95g8adzdh97cbfq7j3482iy4yskbahhjma2cm2mrhrdmi5j241"))))
- (build-system python-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _ (invoke "python" "-m" "pytest" "-v"))))))
- (native-inputs
- `(;; For testing
- ("python-freezegun" ,python-freezegun)
- ("python-pytest" ,python-pytest)
- ("python-random2" ,python-random2)
- ("python-ukpostcodeparser" ,python-ukpostcodeparser)
- ("python-validators" ,python-validators)))
- (propagated-inputs
- `(("python-dateutil" ,python-dateutil)
- ("python-text-unidecode" ,python-text-unidecode)))
- (home-page "https://github.com/joke2k/faker")
- (synopsis "Python package that generates fake data")
- (description
- "Faker is a Python package that generates fake data such as names,
+ (name "python-faker")
+ (version "9.3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "Faker" version))
+ (sha256
+ (base32
+ "0lpfdc4ndvk7chgqrfd2b1my4n54pccq9b645vp9cp5s5ypyknfd"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _ (invoke "python" "-m" "pytest" "-v"))))))
+ (native-inputs
+ (list ;; For testing
+ python-freezegun
+ python-pytest-6
+ python-random2
+ python-ukpostcodeparser
+ python-validators))
+ (propagated-inputs
+ (list python-dateutil python-text-unidecode))
+ (home-page "https://github.com/joke2k/faker")
+ (synopsis "Python package that generates fake data")
+ (description
+ "Faker is a Python package that generates fake data such as names,
addresses, and phone numbers.")
- (license license:expat)
- (properties `((python2-variant . ,(delay python2-faker))))))
-
-;; Faker 4.0 dropped Python 2 support, so we stick with this older version here.
-(define-public python2-faker
- (let ((base (package-with-python2 (strip-python2-variant
- python-faker))))
- (package
- (inherit base)
- (version "3.0.1")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "Faker" version))
- (sha256
- (base32
- "11cr0qvspkdh6198rqy56qildk7bnp6llj8kyy1dan5sp5n4dxy7"))))
- (native-inputs
- `(("python-mock" ,python2-mock)
- ,@(package-native-inputs base)))
- (propagated-inputs
- `(("python2-ipaddress" ,python2-ipaddress)
- ("python2-six" ,python2-six)
- ,@(package-propagated-inputs base))))))
+ (license license:expat)))
(define-public python-pyaml
(package
@@ -15361,9 +16009,9 @@ addresses, and phone numbers.")
"0fi604ix8lbpj1266q7js6szm771saprdzzcdwmj43wy83694qmr"))))
(build-system python-build-system)
(native-inputs
- `(("python-unidecode" ,python-unidecode)))
+ (list python-unidecode))
(propagated-inputs
- `(("python-pyyaml" ,python-pyyaml)))
+ (list python-pyyaml))
(home-page "https://github.com/mk-fg/pretty-yaml")
(synopsis "YAML pretty-print library for Python")
(description
@@ -15387,11 +16035,9 @@ YAML-serialized data.")
"14rq1mvm0jda90lcx9gyyby9dvq4x3js2cmxvd6vl4686ixwyqh1"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-nose" ,python-nose)
- ("python-toml" ,python-toml)))
+ (list python-pytest python-nose python-toml))
(propagated-inputs
- `(("python-simplejson" ,python-simplejson)))
+ (list python-simplejson))
(home-page "https://github.com/sdispater/backpack")
(synopsis "Utilities for working with Python collections")
(description "Backpack provides some useful utilities for working with
@@ -15424,9 +16070,9 @@ collections of data.")
(add-installed-pythonpath inputs outputs)
(invoke "py.test"))))))
(propagated-inputs
- `(("python-wcwidth" ,python-wcwidth)))
+ (list python-wcwidth))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/prompt-toolkit/python-prompt-toolkit")
(synopsis "Library for building command line interfaces in Python")
(description
@@ -15450,9 +16096,7 @@ characters, mouse support, and auto suggestions.")
(base32
"0fgacqk73w7s932vy46pan2yp8rvjmlkag20xvaydh9mhf6h85zx"))))
(propagated-inputs
- `(("python-wcwidth" ,python-wcwidth)
- ("python-six" ,python-six)
- ("python-pygments" ,python-pygments)))
+ (list python-wcwidth python-six python-pygments))
(properties '())))
(define-public python2-prompt-toolkit
@@ -15473,80 +16117,44 @@ characters, mouse support, and auto suggestions.")
(package-with-python2 python-prompt-toolkit-1))
(define-public python-jedi
- ;; The 0.18.0 release tests do not work with Python 3.9.6. Use a more
- ;; recent commit.
- (let ((commit "1d944943c311b2d71655432f8870d68b2cf7d44b")
- (revision "1"))
- (package
- (name "python-jedi")
- (version
- (git-version "0.18.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/davidhalter/jedi")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "052szkbv2pf9hy21any6zb4dhx3c5w1v6b9hn5grlc84zfm350vq"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'unpack-submodule-sources
- (lambda* (#:key inputs #:allow-other-keys)
- (copy-recursively (assoc-ref inputs "python-django-stubs")
- "jedi/third_party/django-stubs")
- (copy-recursively (assoc-ref inputs "python-typeshed")
- "jedi/third_party/typeshed")
- #t))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "HOME" "/tmp")
- ;; Disable the pytest tests that fail with pytest 6. See:
- ;; https://github.com/davidhalter/jedi/issues/1660.
- (invoke "pytest" "-vv" "-k"
- "not test_completion[pytest"))
- #t)))))
- (native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-docopt" ,python-docopt)
- ("python-django-stubs"
- ,(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/davidhalter/django-stubs")
- (commit "3d2534ea8d8300c4c9db8f18e300355d5fd5488b")))
- (file-name "django-stubs-checkout")
- (sha256
- (base32 "1fpvn4lcqkd2q18z29rcnwakm649fccw2k6jik5d64j7p6xns08r"))))
- ("python-typeshed"
- ,(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/davidhalter/typeshed")
- (commit "ae9d4f4b21bb5e1239816c301da7b1ea904b44c3")))
- (file-name "typeshed-checkout")
- (sha256
- (base32 "02xdip4amj0a7z9xph2mj46x1k55bjxl8d0gkpy25575acyx1kjq"))))))
- (propagated-inputs
- `(("python-parso" ,python-parso)))
- (home-page "https://github.com/davidhalter/jedi")
- (synopsis "Autocompletion and static analysis library for Python")
- (description
- "Jedi is a static analysis tool for Python that can be used in Integrated
+ (package
+ (name "python-jedi")
+ (version "0.18.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/davidhalter/jedi")
+ (commit (string-append "v" version))
+ (recursive? #true)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "07drmi3ai49jw5n23ibkambcgijqcw073ihypjgxfnks5lv4yqy1"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME" "/tmp")
+ (invoke "python" "-m" "pytest" "-vv"))
+ #t)))))
+ (native-inputs
+ (list python-colorama python-docopt python-django-2.2 python-pytest))
+ (propagated-inputs
+ (list python-parso))
+ (home-page "https://github.com/davidhalter/jedi")
+ (synopsis "Autocompletion and static analysis library for Python")
+ (description
+ "Jedi is a static analysis tool for Python that can be used in Integrated
Development Environments (@dfn{IDE}s) and text editors. It understands Python
on a deeper level than many other static analysis frameworks for Python.
-Jedi understands docstrings and you can use Jedi autocompletion in your REPL as
-well.")
- (license license:expat))))
-
-(define-public python2-jedi
- (package-with-python2 python-jedi))
+Jedi understands docstrings and you can use Jedi autocompletion in your REPL
+as well.")
+ (license license:expat)))
(define-public ptpython
(package
@@ -15562,18 +16170,15 @@ well.")
(arguments
`(#:tests? #f)) ;there are no tests
(propagated-inputs
- `(("python-appdirs" ,python-appdirs)
- ("python-black" ,python-black)
- ("python-jedi" ,python-jedi)
- ("python-prompt-toolkit" ,python-prompt-toolkit)
- ("python-pygments" ,python-pygments)))
+ (list python-appdirs python-black python-jedi python-prompt-toolkit
+ python-pygments))
(home-page "https://github.com/jonathanslenders/ptpython")
(synopsis "Python Read-Eval-Print-Loop with nice IDE-like features")
(description
"ptpython is a Python read-eval-print loop with IDE-like features.
-It supports syntax highlighting, multiline editing, autocompletion, mouse,
-color schemes, bracketed paste, Vi and Emacs keybindings, Chinese characters
-etc.")
+ It supports syntax highlighting, multiline editing, autocompletion, mouse,
+ color schemes, bracketed paste, Vi and Emacs keybindings, Chinese characters
+ etc.")
(license license:bsd-3)
(properties `((python2-variant . ,(delay ptpython-2))))))
@@ -15616,15 +16221,13 @@ etc.")
(arguments
`(#:test-target "pytest"))
(native-inputs
- `(("python-easyprocess" ,python-easyprocess)
- ("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-easyprocess python-pytest python-pytest-runner))
(home-page "https://github.com/ponty/entrypoint2")
(synopsis "Command-line interface for Python modules")
(description
"@code{entrypoint2} is an easy to use command-line interface for Python
-modules based on @code{argparse}. It translates function signature and
-documentation to argparse configuration.")
+ modules based on @code{argparse}. It translates function signature and
+ documentation to argparse configuration.")
(license license:bsd-3)))
(define-public python-pyvirtualdisplay
@@ -15643,13 +16246,10 @@ documentation to argparse configuration.")
;; FileNotFoundError: [Errno 2] No such file or directory: 'Xvnc'.
`(#:tests? #f))
(native-inputs
- `(("python-entrypoint2" ,python-entrypoint2)
- ("python-psutil" ,python-psutil)
- ("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-entrypoint2 python-psutil python-pytest
+ python-pytest-runner))
(propagated-inputs
- `(("python-easyprocess" ,python-easyprocess)
- ("python-pillow" ,python-pillow)))
+ (list python-easyprocess python-pillow))
(home-page "https://github.com/ponty/pyvirtualdisplay")
(synopsis "Python wrapper for Xvfb, Xephyr and Xvnc")
(description
@@ -15682,16 +16282,14 @@ documentation to argparse configuration.")
(invoke "./run_tests.py" "--unit")
#t)))))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pycodestyle" ,python-pycodestyle)
- ("python-pyflakes" ,python-pyflakes)))
+ (list python-mock python-pycodestyle python-pyflakes))
(home-page "https://stem.torproject.org/")
(synopsis
"Python controller library that allows applications to interact with Tor")
(description
"Stem is a Python controller library for Tor. With it you can use Tor's
-control protocol to script against the Tor process and read descriptor data
-relays publish about themselves.")
+ control protocol to script against the Tor process and read descriptor data
+ relays publish about themselves.")
(license license:lgpl3)))
(define-public python-pyserial
@@ -15717,13 +16315,130 @@ relays publish about themselves.")
"https://github.com/pyserial/pyserial")
(synopsis "Python Serial Port Bindings")
(description "@code{pyserial} provide serial port bindings for Python. It
-supports different byte sizes, stop bits, parity and flow control with RTS/CTS
-and/or Xon/Xoff. The port is accessed in RAW mode.")
+ supports different byte sizes, stop bits, parity and flow control with RTS/CTS
+ and/or Xon/Xoff. The port is accessed in RAW mode.")
(license license:bsd-3)))
(define-public python2-pyserial
(package-with-python2 python-pyserial))
+(define-public python-pyserial-asyncio
+ (package
+ (name "python-pyserial-asyncio")
+ (version "0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyserial-asyncio" version))
+ (sha256
+ (base32 "0cwd2cjz859v6jrm3y6hikfqjyhyfj5vhfjb8vvflvl6791yah8n"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-pyserial))
+ (home-page "https://github.com/pyserial/pyserial-asyncio")
+ (synopsis "Pyserial asynchronous I/O extension")
+ (description "This package extends Pyserial with asynchronous I/O
+ support.")
+ (license license:bsd-3)))
+
+(define-public python-pymodbus
+ (package
+ (name "python-pymodbus")
+ (version "2.5.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/riptideio/pymodbus")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0kjjrx7xrlx0pf3y67hhr4xvqrly3xzmvf6ic5as61m6z19m7zd5"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'disable-problematic-tests
+ (lambda _
+ ;; The following test modules rely on Python's own
+ ;; 'test' module, which is not distributed in the Python
+ ;; package of Guix.
+ (delete-file "test/test_client_async_asyncio.py")
+ (delete-file "test/test_client_sync_diag.py")
+ ;; The following test module requires the asynctest
+ ;; library, abandoned without support for Python 3.9+
+ ;; (see:
+ ;; https://github.com/riptideio/pymodbus/issues/681).
+ (delete-file "test/test_server_asyncio.py")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "-m" "pytest")))))))
+ (native-inputs
+ (list python-mock
+ python-pytest
+ python-redis
+ python-sqlalchemy
+ python-tornado
+ python-twisted))
+ (propagated-inputs
+ (list python-pyserial
+ python-six
+ ;; For the REPL.
+ python-aiohttp
+ python-click
+ python-prompt-toolkit
+ python-pygments
+ python-pyserial-asyncio))
+ (home-page "https://github.com/riptideio/pymodbus/")
+ (synopsis "Modbus protocol stack in Python")
+ (description "Pymodbus is a full Modbus protocol implementation using
+ @code{asyncio}, @code{tornado} or @code{twisted} for its asynchronous
+ communications core. It includes the following @emph{client} features:
+ @itemize
+ @item full read/write protocol on discrete and register
+ @item most of the extended protocol (diagnostic/file/pipe/setting/information)
+ @item TCP, UDP, Serial ASCII, Serial RTU, and Serial Binary
+ @item asynchronous and synchronous versions
+ @item payload builder/decoder utilities
+ @item pymodbus read eval print loop (REPL).
+ @end itemize
+ It also includes the following @emph{server} features:
+ @itemize
+ @item can function as a fully implemented Modbus server
+ @item TCP, UDP, Serial ASCII, Serial RTU, and Serial Binary
+ @item asynchronous and synchronous versions
+ @item full server control context (device information, counters, etc)
+ @item a number of backing contexts (database, redis, sqlite, a slave device).
+ @end itemize")
+ (license license:bsd-3)))
+
+(define-public python-kivy-garden
+ (package
+ (name "python-kivy-garden")
+ (version "0.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "kivy-garden" version))
+ (sha256
+ (base32 "0wkcpr2zc1q5jb0bi7v2dgc0vs5h1y7j42mviyh764j2i0kz8mn2"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-after 'install 'remove-bat-file
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (delete-file
+ (string-append out "/bin/garden.bat"))))))))
+ (propagated-inputs
+ (list python-requests))
+ (home-page "https://github.com/kivy-garden/garden")
+ (synopsis "Garden tool for Kivy flowers")
+ (description
+ "This package provides the @command{garden} command to install packages
+for Kivy, the multitouch application platform.")
+ (license license:expat)))
+
(define-public python-kivy
(package
(name "python-kivy")
@@ -15744,21 +16459,25 @@ and/or Xon/Xoff. The port is accessed in RAW mode.")
(add-after 'patch-generated-file-shebangs 'set-sdl-paths
(lambda* (#:key inputs #:allow-other-keys)
(setenv "KIVY_SDL2_PATH"
- (search-input-directory inputs "/include/SDL2")))))))
+ (search-input-directory inputs "/include/SDL2"))))
+ (add-before 'sanity-check 'set-home
+ (lambda _
+ ;; 'kivy/__init__.py' wants to create $HOME/.kivy.
+ (setenv "HOME" (getcwd)))))))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("python-cython" ,python-cython)))
+ (list pkg-config python-cython))
(inputs
- `(("gstreamer" ,gstreamer)
- ("mesa" ,mesa)
- ("sdl-union"
- ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))))
+ (list gstreamer
+ mesa
+ (sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))
+ python-docutils
+ python-kivy-garden
+ python-pygments))
(home-page "https://kivy.org")
- (synopsis
- "Multitouch application framework")
+ (synopsis "Multitouch application framework")
(description
- "A software library for rapid development of
-hardware-accelerated multitouch applications.")
+ "Kivy is a software library for rapid development of hardware-accelerated
+multitouch applications.")
(license license:expat)))
(define-public python2-kivy
@@ -15786,12 +16505,11 @@ hardware-accelerated multitouch applications.")
(("average_size=512") ""))
#t)))))
(propagated-inputs
- `(("python-chardet" ,python-chardet)
- ("python-hypothesis" ,python-hypothesis)))
+ (list python-chardet python-hypothesis))
(home-page "https://github.com/audreyr/binaryornot")
(synopsis "Package to check if a file is binary or text")
(description "Ultra-lightweight pure Python package to check if a file is
-binary or text.")
+ binary or text.")
(license license:bsd-3)
(properties `((python2-variant . ,(delay python2-binaryornot))))))
@@ -15802,10 +16520,10 @@ binary or text.")
`(("python2-enum34" ,python2-enum34)
,@(package-propagated-inputs base))))))
-(define-public python-binwalk
+(define-public binwalk
(package
- (name "python-binwalk")
- (version "2.2.0")
+ (name "binwalk")
+ (version "2.3.2")
(source
(origin
(method git-fetch)
@@ -15814,8 +16532,7 @@ binary or text.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "1bxgj569fzwv6jhcbl864nmlsi9x1k1r20aywjxc8b9b1zgqrlvc"))))
+ (base32 "01dalxw07c42ka4fqpixcacvy42h04ya909lzpmsblr9s2xdgwcm"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -15824,14 +16541,16 @@ binary or text.")
(lambda _
(setenv "HOME" ""))))))
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-nose" ,python-nose)))
+ (list python-coverage python-nose))
(home-page "https://github.com/ReFirmLabs/binwalk")
(synopsis "Firmware analysis tool")
(description "Binwalk is a tool for analyzing, reverse engineering, and
-extracting firmware images")
+ extracting firmware images")
(license license:expat)))
+(define-public python-binwalk
+ (deprecated-package "python-binwalk" binwalk))
+
(define-public python-nltk
(package
(name "python-nltk")
@@ -15848,18 +16567,15 @@ extracting firmware images")
;; TODO Try packaging these resources.
#:tests? #f))
(propagated-inputs
- `(("python-click" ,python-click)
- ("python-joblib" ,python-joblib)
- ("python-regex" ,python-regex)
- ("python-tqdm" ,python-tqdm)))
+ (list python-click python-joblib python-regex python-tqdm))
(native-inputs
- `(("unzip" ,unzip)))
+ (list unzip))
(home-page "http://nltk.org/")
(synopsis "Natural Language Toolkit")
(description "It provides interfaces to over 50 corpora and lexical
-resources such as WordNet, along with a suite of text processing libraries
-for classification, tokenization, stemming, tagging, parsing, and semantic
-reasoning, wrappers for natural language processing libraries.")
+ resources such as WordNet, along with a suite of text processing libraries
+ for classification, tokenization, stemming, tagging, parsing, and semantic
+ reasoning, wrappers for natural language processing libraries.")
(license license:asl2.0)))
;; Versions >=3.5 breaks backward-compatibility,
@@ -15874,7 +16590,7 @@ reasoning, wrappers for natural language processing libraries.")
(uri (pypi-uri "nltk" version ".zip"))
(sha256
(base32 "153x2clrnigs74jdgnn3qmljdjj4gprmvpdvh49i18ls4m8mbm5y"))))
- (propagated-inputs `(("python-six" ,python-six)))))
+ (propagated-inputs (list python-six))))
(define-public python2-nltk
(package-with-python2 python-nltk))
@@ -15891,7 +16607,7 @@ reasoning, wrappers for natural language processing libraries.")
"0zis4707r9hdg5qgkhp3wss9camr9h56ixyfc8n9dxwlnnly4x4c"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-certifi" ,python-certifi)))
+ (list python-certifi))
(home-page "https://github.com/mongodb/mongo-python-driver")
(synopsis "Python driver for MongoDB")
(description "Python driver for MongoDB.")
@@ -15915,13 +16631,12 @@ reasoning, wrappers for natural language processing libraries.")
(arguments
'(#:tests? #f)) ; The tests are not distributed
(propagated-inputs
- `(("python-requests" ,python-requests)
- ("python-six" ,python-six)))
+ (list python-requests python-six))
(home-page "https://github.com/cablehead/python-consul")
(synopsis "Python client for Consul")
(description
"Python client for @url{http://www.consul.io/,Consul}, a tool for service
-discovery, monitoring and configuration.")
+ discovery, monitoring and configuration.")
(license license:expat)))
(define-public python2-consul
@@ -15942,7 +16657,7 @@ discovery, monitoring and configuration.")
(base32 "0xdqskycznqc7mfp60bhw1zq8wx7yx1dvmbq3brnm1dx3xnqa0zd"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(arguments
;; The tests require a bunch of not very nice packages with fixed
;; version requirements (e.g. python-coveralls).
@@ -15973,13 +16688,13 @@ discovery, monitoring and configuration.")
(invoke "pytest" "-vv"))))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(propagated-inputs
- `(("python-defusedxml" ,python-defusedxml)))
+ (list python-defusedxml))
(home-page "https://github.com/eea/odfpy")
(synopsis "Python API and tools to manipulate OpenDocument files")
(description "Collection of libraries and utility programs written in
-Python to manipulate OpenDocument 1.2 files.")
+ Python to manipulate OpenDocument 1.2 files.")
(license
;; The software is mainly dual GPL2+ and ASL2.0, but includes a
;; number of files with other licenses.
@@ -16006,23 +16721,21 @@ Python to manipulate OpenDocument 1.2 files.")
(lambda _
(invoke "pytest" "-v"))))))
(native-inputs
- `(("python-hypothesis" ,python-hypothesis)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-mock" ,python-pytest-mock)
- ("python-pytest" ,python-pytest)))
+ (list python-hypothesis python-pytest-cov python-pytest-mock
+ python-pytest))
(propagated-inputs ; TODO: Add python-fastnumbers.
- `(("python-pyicu" ,python-pyicu)))
+ (list python-pyicu))
(home-page "https://github.com/SethMMorton/natsort")
(synopsis "Natural sorting for python and shell")
(description
"Natsort lets you apply natural sorting on lists instead of
-lexicographical. If you use the built-in @code{sorted} method in python
-on a list such as @code{[@code{a20}, @code{a9}, @code{a1}, @code{a4},
-@code{a10}]}, it would be returned as @code{[@code{a1}, @code{a10}, @code{a20},
-@code{a4}, @code{a9}]}. Natsort provides a function @code{natsorted} that
-identifies numbers and sorts them separately from strings. It can also sort
-version numbers, real numbers, mixed types and more, and comes with a shell
-command @command{natsort} that exposes this functionality in the command line.")
+ lexicographical. If you use the built-in @code{sorted} method in python
+ on a list such as @code{[@code{a20}, @code{a9}, @code{a1}, @code{a4},
+ @code{a10}]}, it would be returned as @code{[@code{a1}, @code{a10}, @code{a20},
+ @code{a4}, @code{a9}]}. Natsort provides a function @code{natsorted} that
+ identifies numbers and sorts them separately from strings. It can also sort
+ version numbers, real numbers, mixed types and more, and comes with a shell
+ command @command{natsort} that exposes this functionality in the command line.")
(license license:expat)))
(define-public glances
@@ -16048,19 +16761,15 @@ command @command{natsort} that exposes this functionality in the command line.")
#t))))
(build-system python-build-system)
(propagated-inputs
- `(("python-future" ,python-future)
- ("python-psutil" ,python-psutil)))
+ (list python-future python-psutil))
(home-page "https://github.com/nicolargo/glances")
(synopsis "Cross-platform curses-based monitoring tool")
(description
"Glances is a curses-based monitoring tool for a wide variety of platforms.
-Glances uses the PsUtil library to get information from your system. It
-monitors CPU, load, memory, network bandwidth, disk I/O, disk use, and more.")
+ Glances uses the PsUtil library to get information from your system. It
+ monitors CPU, load, memory, network bandwidth, disk I/O, disk use, and more.")
(license license:lgpl3+)))
-(define-public python-glances
- (deprecated-package "python-glances" glances))
-
(define-public python-graphql-core
(package
(name "python-graphql-core")
@@ -16083,108 +16792,76 @@ monitors CPU, load, memory, network bandwidth, disk I/O, disk use, and more.")
(("'gevent==1.1rc1'") "'gevent'"))
#t)))))
(native-inputs
- `(("python-gevent" ,python-gevent)
- ("python-mock" ,python-mock)
- ("python-pytest-mock" ,python-pytest-mock)))
+ (list python-gevent python-mock python-pytest-mock))
(propagated-inputs
- `(("python-promise" ,python-promise)
- ("python-six" ,python-six)))
+ (list python-promise python-six))
(home-page "https://github.com/graphql-python/graphql-core")
(synopsis "GraphQL implementation for Python")
(description
"GraphQL implementation for Python. GraphQL is a data query language and
-runtime designed and used to request and deliver data to mobile and web apps.
-This library is a port of @url{https://github.com/graphql/graphql-js,graphql-js}
-to Python.")
+ runtime designed and used to request and deliver data to mobile and web apps.
+ This library is a port of @url{https://github.com/graphql/graphql-js,graphql-js}
+ to Python.")
(license license:expat)))
(define-public python-graphql-relay
(package
(name "python-graphql-relay")
- (version "0.4.5")
+ (version "3.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "graphql-relay" version))
(sha256
(base32
- "1nv5dxcj59zv31qvl8bd142njmxcmymny2dz3br1l2cpbljbf5i7"))))
+ "1d70vwam9gjhx7fqzsa03x7lc6ivcqki5r9pk8m7rslmb7pagmbh"))))
(build-system python-build-system)
(arguments
- '(#:tests? #f)) ; The tests are not distributed
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "tests")))))))
+ (native-inputs
+ (list
+ python-pytest
+ python-pytest-asyncio))
(propagated-inputs
- `(("python-graphql-core" ,python-graphql-core)
- ("python-promise" ,python-promise)
- ("python-six" ,python-six)))
+ (list python-graphql-core))
(home-page "https://github.com/graphql-python/graphql-relay-py")
(synopsis "Relay implementation for Python")
(description
"This is a library to allow the easy creation of Relay-compliant servers
-using the GraphQL Python reference implementation of a GraphQL server. It
-should be noted that the code is a exact port of the original
-@url{https://github.com/graphql/graphql-relay-js,graphql-relay js implementation}
-from Facebook.")
+ using the GraphQL Python reference implementation of a GraphQL server. It
+ should be noted that the code is a exact port of the original
+ @url{https://github.com/graphql/graphql-relay-js,graphql-relay js implementation}
+ from Facebook.")
(license license:expat)))
(define-public python-graphene
(package
(name "python-graphene")
- (version "0.10.2")
+ (version "3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "graphene" version))
(sha256
(base32
- "09zhac7igh9ixdz0ay6csy35b40l1jwbf2wrbxmgxwfhy51iy06q"))))
+ "08m1n2ydk48c18cvl8474v3pwwacjl1vgq61m9qs00122mp0cj5g"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-graphql-core" ,python-graphql-core)
- ("python-graphql-relay" ,python-graphql-relay)
- ("python-iso8601" ,python-iso8601)
- ("python-promise" ,python-promise)
- ("python-six" ,python-six)))
+ (list python-graphql-core python-graphql-relay python-aniso8601
+ python-promise python-six))
(arguments
`(#:tests? #f)) ; no tests/ in the PyPI tarball
(home-page "https://graphene-python.org/")
(synopsis "GraphQL Framework for Python")
(description
"Graphene is a Python library for building GraphQL schemas/types.
-A GraphQL schema describes your data model, and provides a GraphQL server
-with an associated set of resolve methods that know how to fetch data.")
- (license license:expat)))
-
-(define-public python-nautilus
- (package
- (name "python-nautilus")
- (version "0.4.9")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "nautilus" version))
- (sha256
- (base32
- "01hwzjc1zshk4vvxrcghm398fpy4jls66dyz06g07mrwqif8878p"))))
- (build-system python-build-system)
- (arguments `(#:tests? #f)) ; fails to import test modules
- (propagated-inputs
- `(("python-bcrypt" ,python-bcrypt)
- ("python-click" ,python-click)
- ("python-consul" ,python-consul)
- ("python-graphene" ,python-graphene)
- ("python-jinja2" ,python-jinja2)
- ("python-peewee" ,python-peewee)
- ("python-pika" ,python-pika)
- ("python-tornado" ,python-tornado)
- ("python-wtforms" ,python-wtforms)))
- (native-inputs
- `(("python-nose2" ,python-nose2)))
- (home-page "https://github.com/AlecAivazis/nautilus")
- (synopsis "Library for creating microservice applications")
- (description
- "Nautilus is a framework for flux based microservices that looks to
-provide extendible implementations of common aspects of a cloud so that you can
-focus on building massively scalable web applications.")
+ A GraphQL schema describes your data model, and provides a GraphQL server
+ with an associated set of resolve methods that know how to fetch data.")
(license license:expat)))
(define-public python-random2
@@ -16200,18 +16877,18 @@ focus on building massively scalable web applications.")
(patches
(search-patches "python-random2-getrandbits-test.patch"))))
(build-system python-build-system)
- (native-inputs `(("unzip" ,unzip)))
+ (native-inputs (list unzip))
(home-page "http://pypi.python.org/pypi/random2")
(synopsis "Python 3 version of the Python 2 @code{random} module")
(description
"This package provides a Python 3 ported version of Python 2.7’s
-@code{random} module. It has also been back-ported to work in Python 2.6.
+ @code{random} module. It has also been back-ported to work in Python 2.6.
-In Python 3, the implementation of @code{randrange()} was changed, so that
-even with the same seed you get different sequences in Python 2 and 3.
+ In Python 3, the implementation of @code{randrange()} was changed, so that
+ even with the same seed you get different sequences in Python 2 and 3.
-This package closes that gap, allowing stable random number generation
-between the different Python versions.")
+ This package closes that gap, allowing stable random number generation
+ between the different Python versions.")
(license license:psfl)))
(define-public python2-random2
@@ -16234,8 +16911,8 @@ between the different Python versions.")
(home-page "https://github.com/shibukawa/snowball_py")
(synopsis "Snowball stemming library collection for Python")
(description "This package provides 16 word stemmer algorithms generated
-from Snowball algorithms. It includes the 15 original ones plus the Poerter
-English stemmer.")
+ from Snowball algorithms. It includes the 15 original ones plus the Poerter
+ English stemmer.")
(license license:bsd-3)))
(define-public python2-snowballstemmer
@@ -16278,17 +16955,17 @@ English stemmer.")
;; the Makefile will build anyway
(invoke "make" "check"))))))
(native-inputs
- `(("procps" ,procps))) ; required for tests
+ (list procps)) ; required for tests
(home-page "https://github.com/dvarrazzo/py-setproctitle")
(synopsis
"Setproctitle implementation for Python to customize the process title")
(description "The library allows a process to change its title (as displayed
-by system tools such as ps and top).
+ by system tools such as ps and top).
-Changing the title is mostly useful in multi-process systems, for
-example when a master process is forked: changing the children's title
-allows identifying the task each process is busy with. The technique
-is used by PostgreSQL and the OpenSSH Server for example.")
+ Changing the title is mostly useful in multi-process systems, for
+ example when a master process is forked: changing the children's title
+ allows identifying the task each process is busy with. The technique
+ is used by PostgreSQL and the OpenSSH Server for example.")
(license license:bsd-3)
(properties `((python2-variant . ,(delay python2-setproctitle))))))
@@ -16324,15 +17001,15 @@ is used by PostgreSQL and the OpenSSH Server for example.")
(lambda _
(invoke "py.test" "-vv" ))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page
"https://github.com/jamesturk/validictory")
(synopsis "General purpose Python data validator")
(description "It allows validation of arbitrary Python data structures.
-The schema format is based on the JSON Schema
-proposal (http://json-schema.org), so combined with json the library is also
-useful as a validator for JSON data.")
+ The schema format is based on the JSON Schema
+ proposal (http://json-schema.org), so combined with json the library is also
+ useful as a validator for JSON data.")
(license license:expat)))
(define-public python2-validictory
@@ -16355,9 +17032,9 @@ useful as a validator for JSON data.")
(synopsis
"Analyze binary and library file information")
(description "This Python library provides interfaces for parsing and
-analyzing two binary and library file formats; the Executable and Linking
-Format (ELF), and debugging information in the Debugging With Attributed
-Record Format (DWARF).")
+ analyzing two binary and library file formats ; the Executable and Linking
+ Format (ELF), and debugging information in the Debugging With Attributed
+ Record Format (DWARF).")
(license license:public-domain)))
(define-public python-pyev
@@ -16383,7 +17060,7 @@ Record Format (DWARF).")
(("libev_dll_name = find_library\\(\\\"ev\\\"\\)")
(string-append "libev_dll_name = \"" libev "\"")))))))))
(inputs
- `(("libev" ,libev)))
+ (list libev))
(home-page "https://github.com/gabrielfalcao/pyev")
(synopsis "Python libev interface")
(description "Pyev provides a Python interface to libev.")
@@ -16408,7 +17085,7 @@ Record Format (DWARF).")
(synopsis "Gets image size of files in various formats in Python")
(description
"This package allows determination of image size from
-PNG, JPEG, JPEG2000 and GIF files in pure Python.")
+ PNG, JPEG, JPEG2000 and GIF files in pure Python.")
(license license:expat)))
(define-public python2-imagesize
@@ -16451,20 +17128,20 @@ PNG, JPEG, JPEG2000 and GIF files in pure Python.")
(patches (search-patches "python-argcomplete-1.11.1-fish31.patch"))))
(build-system python-build-system)
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-flake8" ,python-flake8)
- ("python-pexpect" ,python-pexpect)
- ("python-wheel" ,python-wheel)
- ("tcsh" ,tcsh)
- ("fish" ,fish)
- ("bash-full" ,bash))) ;full Bash for 'test_file_completion'
+ (list python-coverage
+ python-flake8
+ python-pexpect
+ python-wheel
+ tcsh
+ fish
+ bash)) ;full Bash for 'test_file_completion'
(home-page "https://github.com/kislyuk/argcomplete")
(synopsis "Shell tab completion for Python argparse")
(description "argcomplete provides extensible command line tab completion
-of arguments and options for Python scripts using @code{argparse}. It's
-particularly useful for programs with many options or sub-parsers that can
-dynamically suggest completions; for example, when browsing resources over the
-network.")
+ of arguments and options for Python scripts using @code{argparse}. It's
+ particularly useful for programs with many options or sub-parsers that can
+ dynamically suggest completions ; for example, when browsing resources over the
+ network.")
(license license:asl2.0)
(properties `((python2-variant . ,(delay python2-argcomplete))))))
@@ -16501,7 +17178,7 @@ network.")
(lambda _
(invoke "py.test"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/sprymix/csscompressor")
(synopsis "Python port of YUI CSS Compressor")
(description
@@ -16529,7 +17206,7 @@ network.")
(home-page "http://opensource.perlig.de/rcssmin/")
(synopsis "CSS Minifier")
(description "The minifier is based on the semantics of the YUI compressor,
-which itself is based on the rule list by Isaac Schlueter.")
+ which itself is based on the rule list by Isaac Schlueter.")
(license license:asl2.0)))
(define-public python-rjsmin
@@ -16560,36 +17237,36 @@ which itself is based on the rule list by Isaac Schlueter.")
(invoke "py.test" "-vv" "tests")
#t))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "http://opensource.perlig.de/rjsmin/")
(synopsis "Javascript Minifier")
(description "@code{rJSmin} is a javascript minifier written in Python. The
-minifier is based on the semantics of jsmin.c by Douglas Crockford. The module
-is a re-implementation aiming for speed, so it can be used at runtime (rather
-than during a preprocessing step).")
+ minifier is based on the semantics of jsmin.c by Douglas Crockford. The module
+ is a re-implementation aiming for speed, so it can be used at runtime (rather
+ than during a preprocessing step).")
(license license:asl2.0)))
(define-public python-xopen
(package
(name "python-xopen")
- (version "0.5.0")
+ (version "0.8.2")
(source
- (origin
- (method url-fetch)
- (uri (pypi-uri "xopen" version))
- (sha256
- (base32
- "17xbrgi23l87yg6h0qcknssp2q812miiy33qw6v45v5gx0jwv5xh"))))
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "xopen" version))
+ (sha256
+ (base32
+ "1xrlcnd6fri3w97zzzp6vyk4l21yq1lc8r4wksi06hgpkbh4jdq0"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-setuptools-scm))
(home-page "https://github.com/marcelm/xopen/")
(synopsis "Open compressed files transparently")
(description "This module provides an @code{xopen} function that works like
-Python's built-in @code{open} function, but can also deal with compressed files.
-Supported compression formats are gzip, bzip2 and, xz, and are automatically
-recognized by their file extensions. The focus is on being as efficient as
-possible on all supported Python versions.")
+ Python's built-in @code{open} function, but can also deal with compressed files.
+ Supported compression formats are gzip, bzip2 and, xz, and are automatically
+ recognized by their file extensions. The focus is on being as efficient as
+ possible on all supported Python versions.")
(license license:expat)))
(define-public python2-xopen
@@ -16632,33 +17309,33 @@ possible on all supported Python versions.")
(invoke "python" "Cheetah/Tests/Test.py"))))))
(propagated-inputs
- `(("python-markdown" ,python-markdown))) ;optional
+ (list python-markdown)) ;optional
(home-page "https://cheetahtemplate.org/")
(synopsis "Template engine")
(description "Cheetah is a text-based template engine and Python code
-generator.
+ generator.
-Cheetah can be used as a standalone templating utility or referenced as
-a library from other Python applications. It has many potential uses,
-but web developers looking for a viable alternative to ASP, JSP, PHP and
-PSP are expected to be its principle user group.
+ Cheetah can be used as a standalone templating utility or referenced as
+ a library from other Python applications. It has many potential uses,
+ but web developers looking for a viable alternative to ASP, JSP, PHP and
+ PSP are expected to be its principle user group.
-Features:
-@enumerate
-@item Generates HTML, SGML, XML, SQL, Postscript, form email, LaTeX, or any other
- text-based format.
-@item Cleanly separates content, graphic design, and program code.
-@item Blends the power and flexibility of Python with a simple template language
- that non-programmers can understand.
-@item Gives template writers full access to any Python data structure, module,
- function, object, or method in their templates.
-@item Makes code reuse easy by providing an object-orientated interface to
- templates that is accessible from Python code or other Cheetah templates.
- One template can subclass another and selectively reimplement sections of it.
-@item Provides a simple, yet powerful, caching mechanism that can dramatically
- improve the performance of a dynamic website.
-@item Compiles templates into optimized, yet readable, Python code.
-@end enumerate")
+ Features:
+ @enumerate
+ @item Generates HTML, SGML, XML, SQL, Postscript, form email, LaTeX, or any other
+ text-based format.
+ @item Cleanly separates content, graphic design, and program code.
+ @item Blends the power and flexibility of Python with a simple template language
+ that non-programmers can understand.
+ @item Gives template writers full access to any Python data structure, module,
+ function, object, or method in their templates.
+ @item Makes code reuse easy by providing an object-orientated interface to
+ templates that is accessible from Python code or other Cheetah templates.
+ One template can subclass another and selectively reimplement sections of it.
+ @item Provides a simple, yet powerful, caching mechanism that can dramatically
+ improve the performance of a dynamic website.
+ @item Compiles templates into optimized, yet readable, Python code.
+ @end enumerate")
(license (license:x11-style "file://LICENSE"))))
(define-public python2-cheetah
@@ -16696,16 +17373,13 @@ Features:
(setenv "PYTHONHASHSEED" "random")
#t)))))
(propagated-inputs
- `(("python-fastimport" ,python-fastimport)
- ("python-urllib3" ,python-urllib3)))
+ (list python-fastimport python-urllib3))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-geventhttpclient" ,python-geventhttpclient)
- ("git" ,git)))
+ (list python-mock python-geventhttpclient git))
(home-page "https://www.dulwich.io/")
(synopsis "Git implementation in Python")
(description "Dulwich is an implementation of the Git file formats and
-protocols written in pure Python.")
+ protocols written in pure Python.")
;; Can be used with either license.
(license (list license:asl2.0 license:gpl2+))))
@@ -16728,17 +17402,17 @@ protocols written in pure Python.")
(lambda _
(invoke "python" "test/test_pbkdf2.py"))))))
(propagated-inputs
- `(("python-pycrypto" ,python-pycrypto))) ; optional
+ (list python-pycrypto)) ; optional
(home-page "https://www.dlitz.net/software/python-pbkdf2/")
(synopsis "Password-based key derivation")
(description "This module implements the password-based key derivation
-function, PBKDF2, specified in RSA PKCS#5 v2.0.
+ function, PBKDF2, specified in RSA PKCS#5 v2.0.
-PKCS#5 v2.0 Password-Based Key Derivation is a key derivation function which
-is part of the RSA Public Key Cryptography Standards series. The provided
-implementation takes a password or a passphrase and a salt value (and
-optionally a iteration count, a digest module, and a MAC module) and provides
-a file-like object from which an arbitrarily-sized key can be read.")
+ PKCS#5 v2.0 Password-Based Key Derivation is a key derivation function which
+ is part of the RSA Public Key Cryptography Standards series. The provided
+ implementation takes a password or a passphrase and a salt value (and
+ optionally a iteration count, a digest module, and a MAC module) and provides
+ a file-like object from which an arbitrarily-sized key can be read.")
(license license:expat)))
(define-public python2-pbkdf2
@@ -16759,18 +17433,18 @@ a file-like object from which an arbitrarily-sized key can be read.")
;; FIXME: Tests require packaging 'pymaging'.
'(#:tests? #f))
(propagated-inputs
- `(("python-lxml" ,python-lxml) ; for SVG output
- ("python-pillow" ,python-pillow) ; for PNG output
- ("python-six" ,python-six)))
+ (list python-lxml ; for SVG output
+ python-pillow ; for PNG output
+ python-six))
(home-page "https://github.com/lincolnloop/python-qrcode")
(synopsis "QR Code image generator")
(description "This package provides a pure Python QR Code generator
-module. It uses the Python Imaging Library (PIL) to allow for the generation
-of QR Codes.
+ module. It uses the Python Imaging Library (PIL) to allow for the generation
+ of QR Codes.
-In addition this package provides a command line tool to generate QR codes and
-either write these QR codes to a file or do the output as ascii art at the
-console.")
+ In addition this package provides a command line tool to generate QR codes and
+ either write these QR codes to a file or do the output as ascii art at the
+ console.")
(license license:bsd-3)))
(define-public python2-qrcode
@@ -16789,12 +17463,12 @@ console.")
"0vzy6gd60l79ff750scl0sz48r1laalkl6md6dwzah4dcadgn5qv"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-docutils" ,python-docutils)))
+ (list python-docutils))
(home-page "https://github.com/Snaipe/python-rst-to-ansi")
(synopsis "Convert RST to ANSI-decorated console output")
(description
"Python module dedicated to rendering RST (reStructuredText) documents
-to ansi-escaped strings suitable for display in a terminal.")
+ to ansi-escaped strings suitable for display in a terminal.")
(license license:expat)))
(define-public python-ansi2html
@@ -16810,15 +17484,14 @@ to ansi-escaped strings suitable for display in a terminal.")
"1wa00zffprb78w1mqq90dk47czz1knanys2a40zbw2vyapd5lp9y"))))
(build-system python-build-system)
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-nose" ,python-nose)))
+ (list python-mock python-nose))
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(home-page "https://github.com/ralphbean/ansi2html")
(synopsis "Convert ANSI-decorated console output to HTML")
(description
"@command{ansi2html} is a Python library and command line utility for
-converting text with ANSI color codes to HTML or LaTeX.")
+ converting text with ANSI color codes to HTML or LaTeX.")
(license license:gpl3+)))
(define-public python2-ansi2html
@@ -16842,10 +17515,10 @@ converting text with ANSI color codes to HTML or LaTeX.")
(synopsis "Terminal framework API")
(description
"Easy ANSI is a terminal framework API to give you an easy way to use
-colors, cursor control movements, and line/box drawing. It is not meant as a
-replacement to more full-featured frameworks (such as curses or urwid), but as
-a tool to quickly create nice-looking screens in your terminal window. You
-can even create animations with the cursor controls.")
+ colors, cursor control movements, and line/box drawing. It is not meant as a
+ replacement to more full-featured frameworks (such as curses or urwid), but as
+ a tool to quickly create nice-looking screens in your terminal window. You
+ can even create animations with the cursor controls.")
(license license:expat)))
(define-public python-ddt
@@ -16861,15 +17534,15 @@ can even create animations with the cursor controls.")
"0y2k756qjz1rhpivi60hy29b4bf0bh3wck39i1mn6pkil9k779k4"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(propagated-inputs
- `(("python-pyyaml" ,python-pyyaml)))
+ (list python-pyyaml))
(home-page "https://github.com/datadriventests/ddt")
(synopsis "Data-Driven Tests")
(description
"Data-Driven Tests (@dfn{DDT}) allow you to multiply one test case by
-running it with different test data, and make it appear as multiple test
-cases.")
+ running it with different test data, and make it appear as multiple test
+ cases.")
(license license:expat)))
(define-public python-pycountry
@@ -16888,16 +17561,16 @@ cases.")
(synopsis "ISO databases for languages, countries, currencies, etc.")
(description
"@code{pycountry} provides the ISO databases for the standards:
-@enumerate
-@item 639-3 (Languages)
-@item 3166 (Countries)
-@item 3166-3 (Deleted Countries)
-@item 3166-2 (Subdivisions of countries)
-@item 4217 (Currencies)
-@item 15924 (Scripts)
-@end enumerate
-It includes a copy from Debian’s pkg-isocodes and makes the data accessible
-through a Python API.")
+ @enumerate
+ @item 639-3 (Languages)
+ @item 3166 (Countries)
+ @item 3166-3 (Deleted Countries)
+ @item 3166-2 (Subdivisions of countries)
+ @item 4217 (Currencies)
+ @item 15924 (Scripts)
+ @end enumerate
+ It includes a copy from Debian’s pkg-isocodes and makes the data accessible
+ through a Python API.")
(license license:lgpl2.1+)))
(define-public python2-pycountry
@@ -16917,14 +17590,14 @@ through a Python API.")
;; TODO: Unundle picosat. http://fmv.jku.at/picosat/
(build-system python-build-system)
(native-inputs
- `(("unzip" ,unzip)))
+ (list unzip))
(home-page "https://github.com/ContinuumIO/pycosat")
(synopsis "Bindings to picosat (a SAT solver)")
(description
"This package provides efficient Python bindings to @code{picosat} on
-the C level. When importing pycosat, the @code{picosat} solver becomes part
-of the Python process itself. @code{picosat} is a @dfn{Boolean Satisfiability
-Problem} (SAT) solver.")
+ the C level. When importing pycosat, the @code{picosat} solver becomes part
+ of the Python process itself. @code{picosat} is a @dfn{Boolean Satisfiability
+ Problem} (SAT) solver.")
(license license:expat)))
(define-public python2-pycosat
@@ -16955,13 +17628,13 @@ Problem} (SAT) solver.")
(synopsis "Version of dict that keeps keys in insertion order")
(description
"This is an implementation of an ordered dictionary with @dfn{Key
-Insertion Order} (KIO: updates of values do not affect the position of the
-key), @dfn{Key Value Insertion Order} (KVIO, an existing key's position is
-removed and put at the back). The standard library module @code{OrderedDict},
-implemented later, implements a subset of @code{ordereddict} functionality.
-Sorted dictionaries are also provided. Currently only with @dfn{Key Sorted
-Order} (KSO, no sorting function can be specified, but a transform can be
-specified to apply on the key before comparison (e.g. @code{string.lower})).")
+ Insertion Order} (KIO: updates of values do not affect the position of the
+ key), @dfn{Key Value Insertion Order} (KVIO, an existing key's position is
+ removed and put at the back). The standard library module @code{OrderedDict},
+ implemented later, implements a subset of @code{ordereddict} functionality.
+ Sorted dictionaries are also provided. Currently only with @dfn{Key Sorted
+ Order} (KSO, no sorting function can be specified, but a transform can be
+ specified to apply on the key before comparison (e.g. @code{string.lower})).")
(license license:expat)))
(define-public python-pypeg2
@@ -16976,15 +17649,15 @@ specified to apply on the key before comparison (e.g. @code{string.lower})).")
(base32
"0v8ziaam2r637v94ra4dbjw6jzxz99gs5x4i585kgag1v204yb9b"))))
(build-system python-build-system)
- (propagated-inputs `(("python-lxml" ,python-lxml)))
+ (propagated-inputs (list python-lxml))
(arguments
;;https://bitbucket.org/fdik/pypeg/issues/36/test-failures-on-py35
'(#:tests? #f))
(home-page "https://fdik.org/pyPEG/")
(synopsis "Parsing Expression Grammars in Python")
(description "PyPEG is an intrinsic parser interpreter framework for
-Python. It is based on Parsing Expression Grammars, PEG. With pyPEG you can
-parse many formal languages.")
+ Python. It is based on Parsing Expression Grammars, PEG. With pyPEG you can
+ parse many formal languages.")
(license license:gpl2)))
(define-public python-incremental
@@ -17002,7 +17675,7 @@ parse many formal languages.")
(home-page "https://github.com/hawkowl/incremental")
(synopsis "Library for versioning Python projects")
(description "Incremental is a small library that versions your Python
-projects.")
+ projects.")
(license license:expat)))
(define-public python2-incremental
@@ -17012,39 +17685,50 @@ projects.")
(package
(name "python-invoke")
(home-page "https://www.pyinvoke.org/")
- (version "1.5.0")
+ (version "1.6.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "invoke" version))
(sha256
(base32
- "0l16v7zcbgi36z6pvmdrs5q4ks8lalcafi5d9nhrpcjzbc3n1igh"))))
+ "1lsql9daabfr31c7syva5myc5bka45k57ygs9fliv63qrwp1wk9p"))))
(build-system python-build-system)
(arguments
;; XXX: Requires many dependencies that are not yet in Guix.
`(#:tests? #f
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'delete-python2-code
+ (lambda _
+ (delete-file-recursively "invoke/vendor/yaml2")))
(add-after 'unpack 'fix-bash-path
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash (assoc-ref inputs "bash")))
(substitute* "invoke/config.py"
(("shell = \"/bin/bash\"")
- (string-append "shell = \"" bash "/bin/bash\""))
- )
- #t))))))
+ (string-append "shell = \"" bash "/bin/bash\"")))))))))
(inputs
`(("bash" ,bash-minimal)))
(synopsis "Pythonic task execution")
(description
"Invoke is a Python task execution tool and library, drawing inspiration
-from various sources to arrive at a powerful and clean feature set. It is
-evolved from the Fabric project, but focuses on local and abstract concerns
-instead of servers and network commands.")
+ from various sources to arrive at a powerful and clean feature set. It is
+ evolved from the Fabric project, but focuses on local and abstract concerns
+ instead of servers and network commands.")
(license license:bsd-3)))
(define-public python2-invoke
- (package-with-python2 python-invoke))
+ (let ((parent (package-with-python2 python-invoke)))
+ (package
+ (inherit parent)
+ (arguments
+ (substitute-keyword-arguments (package-arguments parent)
+ ((#:phases phases #t)
+ `(modify-phases ,phases
+ (delete 'delete-python2-code)
+ (add-after 'unpack 'delete-python3-code
+ (lambda _
+ (delete-file-recursively "invoke/vendor/yaml3"))))))))))
(define-public python-automat
(package
@@ -17071,17 +17755,14 @@ instead of servers and network commands.")
(substitute* "setup.py"
(("\"automat-visualize = automat._visualize:tool\"") "")))))))
(native-inputs
- `(("python-m2r" ,python-m2r)
- ("python-setuptools-scm" ,python-setuptools-scm)
- ("python-graphviz" ,python-graphviz)))
+ (list python-m2r python-setuptools-scm python-graphviz))
(propagated-inputs
- `(("python-six" ,python-six)
- ("python-attrs" ,python-attrs)))
+ (list python-six python-attrs))
(home-page "https://github.com/glyph/Automat")
(synopsis "Self-service finite-state machines")
(description "Automat is a library for concise, idiomatic Python
-expression of finite-state automata (particularly deterministic finite-state
-transducers).")
+ expression of finite-state automata (particularly deterministic finite-state
+ transducers).")
(license license:expat)))
(define-public python2-automat
@@ -17099,15 +17780,13 @@ transducers).")
"16gdm8i06jjmlpvckpfmlkr4693dh0vs192vgsqn84fsdkbbm45z"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-docutils" ,python-docutils)
- ("python-mistune" ,python-mistune)))
+ (list python-docutils python-mistune))
(native-inputs
- `(("python-pygments" ,python-pygments)
- ("python-mock" ,python-mock)))
+ (list python-pygments python-mock))
(home-page "https://github.com/miyakogi/m2r")
(synopsis "Markdown to reStructuredText converter")
(description "M2R converts a markdown file including reST markups to valid
-reST format.")
+ reST format.")
(license license:expat)))
(define-public python2-m2r
@@ -17127,8 +17806,8 @@ reST format.")
(home-page "https://github.com/twisted/constantly")
(synopsis "Symbolic constants in Python")
(description "Constantly is a Python library that provides symbolic
-constant support. It includes collections and constants with text, numeric,
-and bit flag values.")
+ constant support. It includes collections and constants with text, numeric,
+ and bit flag values.")
(license license:expat)))
(define-public python2-constantly
@@ -17152,16 +17831,13 @@ and bit flag values.")
(when tests?
(invoke "pytest")))))))
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-hypothesis" ,python-hypothesis)
- ("python-pympler" ,python-pympler)
- ("python-pytest" ,python-pytest)
- ("python-six" ,python-six)))
+ (list python-coverage python-hypothesis python-pympler python-pytest
+ python-six))
(home-page "https://github.com/python-attrs/attrs/")
(synopsis "Attributes without boilerplate")
(description "@code{attrs} is a Python package with class decorators that
-ease the chores of implementing the most common attribute-related object
-protocols.")
+ ease the chores of implementing the most common attribute-related object
+ protocols.")
(license license:expat)))
(define-public python2-attrs
@@ -17196,15 +17872,14 @@ protocols.")
;; fails due to deprecation warnings, etc.
#:tests? #f))
(native-inputs
- `(("python-coverage-test-runner" ,python-coverage-test-runner)
- ("python-pep8" ,python-pep8)))
+ (list python-coverage-test-runner python-pep8))
(propagated-inputs
- `(("python-pyaml" ,python-pyaml)))
+ (list python-pyaml))
(home-page "https://liw.fi/cliapp/")
(synopsis "Python framework for command line programs")
(description "@code{cliapp} is a Python framework for command line
-programs. It contains the typical stuff such programs need to do, such
-as parsing the command line for options, and iterating over input files.")
+ programs. It contains the typical stuff such programs need to do, such
+ as parsing the command line for options, and iterating over input files.")
(license license:gpl2+)))
(define-public python2-cliapp
@@ -17226,8 +17901,7 @@ as parsing the command line for options, and iterating over input files.")
(file-name (git-file-name name version))))
(build-system python-build-system)
(native-inputs
- `(("python-coverage-test-runner" ,python-coverage-test-runner)
- ("python-pep8" ,python-pep8)))
+ (list python-coverage-test-runner python-pep8))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -17239,11 +17913,11 @@ as parsing the command line for options, and iterating over input files.")
(lambda _ (invoke "make" "check"))))))
(home-page "https://liw.fi/ttystatus/")
(synopsis "Python library for showing progress reporting and
-status updates on terminals")
+ status updates on terminals")
(description "@code{ttystatus} is a Python library for showing progress
-reporting and status updates on terminals, for command line programs.
-Output is automatically adapted to the width of the terminal: truncated
-if it does not fit, and resized if the terminal size changes.")
+ reporting and status updates on terminals, for command line programs.
+ Output is automatically adapted to the width of the terminal: truncated
+ if it does not fit, and resized if the terminal size changes.")
(license license:gpl3+)))
(define-public python2-ttystatus
@@ -17268,11 +17942,11 @@ if it does not fit, and resized if the terminal size changes.")
(home-page "https://liw.fi/tracing/")
(synopsis "Python debug logging helper")
(description "@code{python2-tracing} is a python library for
-logging debug messages. It provides a way to turn debugging messages
-on and off, based on the filename they occur in. It is much faster
-than using @code{logging.Filter} to accomplish the same thing, which
-matters when code is run in production mode. The actual logging still
-happens using the @code{logging} library.")
+ logging debug messages. It provides a way to turn debugging messages
+ on and off, based on the filename they occur in. It is much faster
+ than using @code{logging.Filter} to accomplish the same thing, which
+ matters when code is run in production mode. The actual logging still
+ happens using the @code{logging} library.")
(license license:gpl3+)))
(define-public python-astroid
@@ -17290,23 +17964,21 @@ happens using the @code{logging} library.")
(base32 "1amzf996inwmh4r3mlpzmch60xs6lrg86vppfnwl1y0l8r0y7zxh"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-lazy-object-proxy" ,python-lazy-object-proxy)
- ("python-wrapt" ,python-wrapt)))
+ (list python-lazy-object-proxy python-wrapt))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-pytest python-pytest-runner))
(home-page "https://github.com/PyCQA/astroid")
(synopsis "Common base representation of python source code for pylint and
-other projects")
+ other projects")
(description "@code{python-astroid} provides a common base representation
-of python source code for projects such as pychecker, pyreverse, pylint, etc.
+ of python source code for projects such as pychecker, pyreverse, pylint, etc.
-It provides a compatible representation which comes from the _ast module. It
-rebuilds the tree generated by the builtin _ast module by recursively walking
-down the AST and building an extended ast. The new node classes have
-additional methods and attributes for different usages. They include some
-support for static inference and local name scopes. Furthermore, astroid
-builds partial trees by inspecting living objects.")
+ It provides a compatible representation which comes from the _ast module. It
+ rebuilds the tree generated by the builtin _ast module by recursively walking
+ down the AST and building an extended ast. The new node classes have
+ additional methods and attributes for different usages. They include some
+ support for static inference and local name scopes. Furthermore, astroid
+ builds partial trees by inspecting living objects.")
(license license:lgpl2.1+)
(properties `((python2-variant . ,(delay python2-astroid))))))
@@ -17324,26 +17996,26 @@ builds partial trees by inspecting living objects.")
(base32
"0fir4b67sm7shcacah9n61pvq313m523jb4q80sycrh3p8nmi6zw"))))
(arguments
- (substitute-keyword-arguments (package-arguments base)
- ((#:phases phases)
- `(modify-phases ,phases
- (add-after 'unpack 'remove-spurious-test
- (lambda _
- ;; https://github.com/PyCQA/astroid/issues/276
- (delete-file "astroid/tests/unittest_brain.py")
- #t))
- (replace 'check
- (lambda _
- (invoke"python" "-m" "unittest" "discover"
- "-p" "unittest*.py")))))))
+ `(#:python ,python-2
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-spurious-test
+ (lambda _
+ ;; https://github.com/PyCQA/astroid/issues/276
+ (delete-file "astroid/tests/unittest_brain.py")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "-m" "unittest" "discover"
+ "-p" "unittest*.py")))))))
(native-inputs `())
(propagated-inputs
- `(("python2-backports-functools-lru-cache"
- ,python2-backports-functools-lru-cache)
- ("python2-enum34" ,python2-enum34)
- ("python2-singledispatch" ,python2-singledispatch)
- ,@(alist-delete "python-typed-ast"
- (package-propagated-inputs base)))))))
+ (list python2-backports-functools-lru-cache
+ python2-enum34
+ python2-lazy-object-proxy
+ python2-singledispatch
+ python2-six
+ python2-wrapt)))))
(define-public python-isbnlib
(package
@@ -17361,9 +18033,9 @@ builds partial trees by inspecting living objects.")
(home-page "https://github.com/xlcnd/isbnlib")
(synopsis "Python library to work with ISBN strings")
(description "@code{python-isbnlib} is a (pure) python library that provides
-several useful methods and functions to validate, clean, transform, hyphenate and
-get metadata for ISBN strings. Its origin was as the core of isbntools. This short
-version, is suitable to be include as a dependency in other projects.")
+ several useful methods and functions to validate, clean, transform, hyphenate and
+ get metadata for ISBN strings. Its origin was as the core of isbntools. This short
+ version, is suitable to be include as a dependency in other projects.")
(license license:lgpl3+)))
(define-public python-isort
@@ -17442,9 +18114,9 @@ version, is suitable to be include as a dependency in other projects.")
(home-page "https://github.com/PyCQA/isort")
(synopsis "Python utility/library to sort python imports")
(description "@code{python-isort} is a python utility/library to sort
-imports alphabetically, and automatically separated into sections. It
-provides a command line utility, a python library and plugins for various
-editors.")
+ imports alphabetically, and automatically separated into sections. It
+ provides a command line utility, a python library and plugins for various
+ editors.")
(license license:expat)
(properties `((python2-variant . ,(delay python2-isort))))))
@@ -17470,13 +18142,13 @@ editors.")
"0jidrkk2w6bhjm197plxiaxrav64mgcrign0bfyr7md2ilc5zplg"))))
(build-system python-build-system)
(native-inputs
- `(("python2-setuptools-scm" ,python2-setuptools-scm)))
+ (list python2-setuptools-scm))
(arguments
`(#:python ,python-2))
(home-page "https://github.com/jaraco/backports.functools_lru_cache")
(synopsis "Backport of functools.lru_cache from Python 3.3")
(description "@code{python2-backports-functools-lru-cache} is a backport
-of @code{functools.lru_cache} from python 3.3.")
+ of @code{functools.lru_cache} from python 3.3.")
(license license:expat)))
(define-public python-configparser
@@ -17491,13 +18163,13 @@ of @code{functools.lru_cache} from python 3.3.")
(base32
"1priacxym85yjcf68hh38w55nqswaxp71ryjyfdk222kg9l85ln7"))))
(native-inputs
- `(("python-setuptools_scm" ,python-setuptools-scm)))
+ (list python-setuptools-scm))
(build-system python-build-system)
(home-page "https://github.com/jaraco/configparser/")
(synopsis "Backport of configparser from python 3.5")
(description "@code{python-configparser} is a backport of
-@code{configparser} from Python 3.5 so that it can be used directly
-in other versions.")
+ @code{configparser} from Python 3.5 so that it can be used directly
+ in other versions.")
(license license:expat)))
(define-public python2-configparser
@@ -17518,14 +18190,14 @@ in other versions.")
(home-page "https://github.com/RonnyPfannschmidt/iniconfig")
(synopsis "Simple INI-file parser")
(description "The @code{iniconfig} package provides a small and simple
-INI-file parser module having a unique set of features; @code{iniconfig}
-@itemize
-@item maintains the order of sections and entries;
-@item supports multi-line values with or without line-continuations;
-@item supports \"#\" comments everywhere;
-@item raises errors with proper line-numbers;
-@item raises an error when two sections have the same name.
-@end itemize")
+ INI-file parser module having a unique set of features ; @code{iniconfig}
+ @itemize
+ @item maintains the order of sections and entries ;
+ @item supports multi-line values with or without line-continuations ;
+ @item supports \"#\" comments everywhere ;
+ @item raises errors with proper line-numbers ;
+ @item raises an error when two sections have the same name.
+ @end itemize")
(license license:expat)))
(define-public python-mamba
@@ -17541,13 +18213,12 @@ INI-file parser module having a unique set of features; @code{iniconfig}
(build-system python-build-system)
(arguments `(#:tests? #f)) ; No test
(propagated-inputs
- `(("python-clint" ,python-clint)
- ("python-coverage" ,python-coverage)))
+ (list python-clint python-coverage))
(home-page "https://nestorsalceda.com/mamba/")
(synopsis "Test runner for Python")
(description
"Mamba is a Behaviour-Driven Development tool for Python developers.
-Is heavily influenced from RSpec, Mocha, Jasmine or Ginkgo.")
+ Is heavily influenced from RSpec, Mocha, Jasmine or Ginkgo.")
(license license:expat)))
(define-public python-mando
@@ -17562,16 +18233,15 @@ Is heavily influenced from RSpec, Mocha, Jasmine or Ginkgo.")
"0q6rl085q1hw1wic52pqfndr0x3nirbxnhqj9akdm5zhq2fv3zkr"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-rst2ansi" ,python-rst2ansi)
- ("python-six" ,python-six)))
+ (list python-rst2ansi python-six))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://mando.readthedocs.org/")
(synopsis
"Wrapper around argparse, allowing creation of complete CLI applications")
(description
"This package is a wrapper around argparse, allowing you to write complete CLI
-applications in seconds while maintaining all the flexibility.")
+ applications in seconds while maintaining all the flexibility.")
(license license:expat)))
(define-public python2-mando
@@ -17595,7 +18265,7 @@ applications in seconds while maintaining all the flexibility.")
(synopsis "Python command-line parsing library")
(description
"This package is mostly for people who want to have @code{argparse} on
-older Pythons because it was not part of the standard library back then.")
+ older Pythons because it was not part of the standard library back then.")
(license license:psfl)))
(define-public python-mwclient
@@ -17614,14 +18284,10 @@ older Pythons because it was not part of the standard library back then.")
(base32 "120snnsh9n5svfwkyj1w9jrxf99jnqm0jk282yypd3lpyca1l9hj"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-requests-oauthlib" ,python-requests-oauthlib)
- ("python-six" ,python-six)))
+ (list python-requests-oauthlib python-six))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-runner" ,python-pytest-runner)
- ("python-responses" ,python-responses)))
+ (list python-mock python-pytest python-pytest-cov
+ python-pytest-runner python-responses))
(home-page "https://github.com/btongminh/mwclient")
(synopsis "MediaWiki API client")
(description "This package provides a MediaWiki API client.")
@@ -17654,7 +18320,7 @@ older Pythons because it was not part of the standard library back then.")
(synopsis "Convenient utilities not included with the standard Python install")
(description
"Python Utils is a collection of small Python functions and classes which
-make common patterns shorter and easier.")
+ make common patterns shorter and easier.")
(license license:bsd-2)))
(define-public python-diff-match-patch
@@ -17672,7 +18338,7 @@ make common patterns shorter and easier.")
(home-page "https://code.google.com/p/google-diff-match-patch")
(synopsis "Synchronize plain text")
(description "Diff Match and Patch libraries offer robust algorithms to
-perform the operations required for synchronizing plain text.")
+ perform the operations required for synchronizing plain text.")
(license license:asl2.0)))
(define-public python2-diff-match-patch
@@ -17691,7 +18357,7 @@ perform the operations required for synchronizing plain text.")
"1gm82jddm1lkazdi8lfsl1b3vi1z0252ng60mzjym8irnv94qfhy"))))
(build-system python-build-system)
(propagated-inputs
- `(("six" ,python-six)))
+ (list python-six))
(home-page "https://github.com/tkhyn/dirsync")
(synopsis "Advanced directory tree synchronisation tool")
(description "Advanced directory tree synchronisation tool.")
@@ -17703,26 +18369,26 @@ perform the operations required for synchronizing plain text.")
(define-public python-levenshtein
(package
(name "python-levenshtein")
- (version "0.12.0")
+ (version "0.12.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-Levenshtein" version))
(sha256
(base32
- "1c9ybqcja31nghfcc8xxbbz9h60s9qi12b9hr4jyl69xbvg12fh3"))))
+ "1xj60gymwx1jl2ra9razx2wk8nb9cv1i7l8d14qsp8a8s7xra8yw"))))
(build-system python-build-system)
(home-page "https://github.com/ztane/python-Levenshtein")
(synopsis "Fast computation of Levenshtein distance and string similarity")
(description
"The Levenshtein Python C extension module contains functions for fast computation of
-@enumerate
-@item Levenshtein (edit) distance, and edit operations
-@item string similarity
-@item approximate median strings, and generally string averaging
-@item string sequence and set similarity
-@end enumerate
-It supports both normal and Unicode strings.")
+ @enumerate
+ @item Levenshtein (edit) distance, and edit operations
+ @item string similarity
+ @item approximate median strings, and generally string averaging
+ @item string sequence and set similarity
+ @end enumerate
+ It supports both normal and Unicode strings.")
(license license:gpl2+)))
(define-public python2-levenshtein
@@ -17748,12 +18414,12 @@ It supports both normal and Unicode strings.")
(synopsis "Directory iteration function")
(description
"Directory iteration function like os.listdir(), except that instead of
-returning a list of bare filenames, it yields DirEntry objects that include
-file type and stat information along with the name. Using scandir() increases
-the speed of os.walk() by 2-20 times (depending on the platform and file
-system) by avoiding unnecessary calls to os.stat() in most cases.
+ returning a list of bare filenames, it yields DirEntry objects that include
+ file type and stat information along with the name. Using scandir() increases
+ the speed of os.walk() by 2-20 times (depending on the platform and file
+ system) by avoiding unnecessary calls to os.stat() in most cases.
-This package is part of the Python standard library since version 3.5.")
+ This package is part of the Python standard library since version 3.5.")
(license license:bsd-3)))
(define-public python2-scandir
@@ -17776,10 +18442,10 @@ This package is part of the Python standard library since version 3.5.")
(synopsis "Python implementations of various stemming algorithms")
(description
"Python implementations of the Porter, Porter2, Paice-Husk, and Lovins
-stemming algorithms for English. These implementations are straightforward and
-efficient, unlike some Python versions of the same algorithms available on the
-Web. This package is an extraction of the stemming code included in the Whoosh
-search engine.")
+ stemming algorithms for English. These implementations are straightforward and
+ efficient, unlike some Python versions of the same algorithms available on the
+ Web. This package is an extraction of the stemming code included in the Whoosh
+ search engine.")
(license license:public-domain)))
(define-public python-factory-boy
@@ -17803,38 +18469,37 @@ search engine.")
(description
"Factory_boy is a fixtures replacement based on thoughtbot’s factory_girl.
-As a fixtures replacement tool, it aims to replace static, hard to maintain
-fixtures with easy-to-use factories for complex object.
+ As a fixtures replacement tool, it aims to replace static, hard to maintain
+ fixtures with easy-to-use factories for complex object.
-Instead of building an exhaustive test setup with every possible combination
-of corner cases, factory_boy allows you to use objects customized for the
-current test, while only declaring the test-specific fields")
+ Instead of building an exhaustive test setup with every possible combination
+ of corner cases, factory_boy allows you to use objects customized for the
+ current test, while only declaring the test-specific fields")
(license license:expat)))
(define-public python-translate-toolkit
(package
(name "python-translate-toolkit")
- (version "2.1.0")
+ (version "3.5.1")
(source
(origin
(method url-fetch)
- (uri (pypi-uri "translate-toolkit" version ".tar.bz2"))
+ (uri (pypi-uri "translate-toolkit" version ".tar.gz"))
(sha256
- (base32 "1vlkwrg83vb17jc36pmwh2b7jphwf390lz0jw8hakcg16qhwypvq"))))
+ (base32 "020pp7pbpnavxd41z90vyzzx06ci57mx9drkgbsb89wxxx4gal9v"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-sphinx" ,python-sphinx)))
+ (list python-pytest python-sphinx))
(propagated-inputs
- `(("python-babel" ,python-babel)
- ("python-beautifulsoup4" ,python-beautifulsoup4)
- ("python-chardet" ,python-chardet)
- ("python-diff-match-patch" ,python-diff-match-patch)
- ("python-levenshtein" ,python-levenshtein)
- ("python-lxml" ,python-lxml)
- ("python-six" ,python-six)
- ("python-vobject" ,python-vobject)
- ("python-pyyaml" ,python-pyyaml)))
+ (list python-babel
+ python-beautifulsoup4
+ python-chardet
+ python-diff-match-patch
+ python-levenshtein
+ python-lxml
+ python-six
+ python-vobject
+ python-pyyaml))
(arguments
;; TODO: tests are not run, because they end with
;; TypeError: parse() missing 2 required positional arguments: 'tree' and
@@ -17845,35 +18510,32 @@ current test, while only declaring the test-specific fields")
(synopsis "Tools and API for translation and localization engineering")
(description
"Tools and API for translation and localization engineering. It contains
-several utilities, as well as an API for building localization tools.")
+ several utilities, as well as an API for building localization tools.")
(license license:gpl2+)))
+;; Required for virtaal, newer versions do not build with python2
(define-public python2-translate-toolkit
- (package-with-python2 python-translate-toolkit))
+ (package-with-python2
+ (package
+ (inherit python-translate-toolkit)
+ (version "2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "translate-toolkit" version ".tar.bz2"))
+ (sha256
+ (base32 "1vlkwrg83vb17jc36pmwh2b7jphwf390lz0jw8hakcg16qhwypvq")))))))
(define-public python-packaging
- (package
+ (package/inherit python-packaging-bootstrap
(name "python-packaging")
- (version "20.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "packaging" version))
- ;; XXX: The URL in the patch file is wrong, it should be
- ;; <https://github.com/pypa/packaging/pull/256>.
- (patches (search-patches "python-packaging-test-arch.patch"))
- (sha256
- (base32
- "1y2ip3a4ykkpgnwgn85j6hkspcl0cg3mzms97f40mk57vwqq67gy"))))
- (build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
- (invoke "py.test" "-vv")
- (format #t "test suite not run~%"))
- #t)))))
+ (invoke "pytest" "-vv")
+ (format #t "test suite not run~%")))))))
(native-inputs
`(("python-pretend" ,python-pretend)
("python-pytest" ,python-pytest)))
@@ -17883,8 +18545,8 @@ several utilities, as well as an API for building localization tools.")
(home-page "https://github.com/pypa/packaging")
(synopsis "Core utilities for Python packages")
(description "Packaging is a Python module for dealing with Python packages.
-It offers an interface for working with package versions, names, and dependency
-information.")
+ It offers an interface for working with package versions, names, and dependency
+ information.")
;; From 'LICENSE': This software is made available under the terms of
;; *either* of the licenses found in LICENSE.APACHE or LICENSE.BSD.
;; Contributions to this software is made under the terms of *both* these
@@ -17894,37 +18556,6 @@ information.")
(define-public python2-packaging
(package-with-python2 python-packaging))
-;; Variants with minimal dependencies, for bootstrapping Pytest.
-(define-public python-packaging-bootstrap
- (hidden-package
- (package/inherit
- python-packaging
- (name "python-packaging-bootstrap")
- (arguments
- (substitute-keyword-arguments (package-arguments python-packaging)
- ((#:phases phases)
- `(modify-phases ,phases
- (add-after 'unpack 'fix-dependencies
- (lambda* (#:key tests? #:allow-other-keys)
- (substitute* "setup.py" (("\"six\"") ""))))))
- ((#:tests? _ #f) #f)))
- (native-inputs '())
- (propagated-inputs
- `(("python-pyparsing" ,python-pyparsing))))))
-
-(define-public python2-packaging-bootstrap
- (hidden-package
- (package/inherit
- python2-packaging
- (name "python2-packaging-bootstrap")
- (native-inputs '())
- (propagated-inputs
- `(("python-pyparsing" ,python2-pyparsing)
- ("python-six" ,python2-six-bootstrap)))
- (arguments
- `(#:tests? #f
- ,@(package-arguments python2-packaging))))))
-
(define-public python-relatorio
(package
(name "python-relatorio")
@@ -17938,20 +18569,16 @@ information.")
"09nhrz80dfm60nssbvjgz4czzy4yzfa8gxczcdlzbgcnnvm914vb"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-lxml" ,python-lxml)
- ("python-genshi" ,python-genshi)))
+ (list python-lxml python-genshi))
(native-inputs
- `(("python-magic" ,python-magic)))
+ (list python-magic))
(home-page "https://relatorio.tryton.org/")
(synopsis "Templating library able to output ODT and PDF files")
(description "Relatorio is a templating library which provides a way to
-easily output ODT, ODS, PNG, SVG and several other kinds of files. Support
-for more filetypes can be easily added by creating plugins for them.")
+ easily output ODT, ODS, PNG, SVG and several other kinds of files. Support
+ for more filetypes can be easily added by creating plugins for them.")
(license license:gpl3+)))
-(define-public python2-relatorio
- (package-with-python2 python-relatorio))
-
(define-public python-radon
(package
(name "python-radon")
@@ -17977,22 +18604,19 @@ for more filetypes can be easily added by creating plugins for them.")
(lambda _
(invoke "python" "radon/tests/run.py"))))))
(propagated-inputs
- `(("python-colorama" ,python-colorama)
- ("python-flake8-polyfill" ,python-flake8-polyfill)
- ("python-mando" ,python-mando)))
+ (list python-colorama python-flake8-polyfill python-mando))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-mock" ,python-pytest-mock)))
+ (list python-pytest python-pytest-mock))
(home-page "https://radon.readthedocs.org/")
(synopsis "Code Metrics in Python")
(description "Radon is a Python tool which computes various code metrics.
-Supported metrics are:
-@itemize @bullet
-@item raw metrics: SLOC, comment lines, blank lines, &c.
-@item Cyclomatic Complexity (i.e. McCabe’s Complexity)
-@item Halstead metrics (all of them)
-@item the Maintainability Index (a Visual Studio metric)
-@end itemize")
+ Supported metrics are:
+ @itemize @bullet
+ @item raw metrics: SLOC, comment lines, blank lines, &c.
+ @item Cyclomatic Complexity (i.e. McCabe’s Complexity)
+ @item Halstead metrics (all of them)
+ @item the Maintainability Index (a Visual Studio metric)
+ @end itemize")
(properties `((python2-variant . ,(delay python2-radon))))
(license license:expat)))
@@ -18017,15 +18641,14 @@ Supported metrics are:
"1and0drq8w9iplsic22n2h7hkpyq03a1mbqk4sgcdqhqzdqm539w"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-mock" ,python-mock)
- ("python-six" ,python-six)))
+ (list python-mock python-six))
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(home-page "https://github.com/gabrielfalcao/sure")
(synopsis "Automated testing library in python for python")
(description
"Sure is a python library that leverages a DSL for writing assertions.
-Sure is heavily inspired by @code{RSpec Expectations} and @code{should.js}.")
+ Sure is heavily inspired by @code{RSpec Expectations} and @code{should.js}.")
(license license:gpl3+)))
(define-public python2-sure
@@ -18052,7 +18675,7 @@ Sure is heavily inspired by @code{RSpec Expectations} and @code{should.js}.")
"ANSI terminal tool for python, colored shell and other handy fancy features")
(description
"@code{Couleur} provides python programs a way to use the ANSI features in a unix
-terminal such as coloured output in the shell, overwriting output, indentation, etc.")
+ terminal such as coloured output in the shell, overwriting output, indentation, etc.")
;; README.md says ASL2.0, but all source code headers are LGPL3+.
;; https://github.com/gabrielfalcao/couleur/issues/11
(license license:lgpl3+)))
@@ -18077,13 +18700,13 @@ terminal such as coloured output in the shell, overwriting output, indentation,
;; for which it does not have the permission to write.
#:tests? #f))
(propagated-inputs
- `(("python-cffi" ,python-cffi)))
+ (list python-cffi))
(home-page "https://github.com/FSX/misaka")
(synopsis "Python binding for Hoedown")
(description
"@code{Misaka} is a CFFI-based binding for @code{Hoedown}, a fast markdown processing
-library written in C. It features a fast HTML renderer and functionality to make custom
-renderers (e.g. man pages or LaTeX).")
+ library written in C. It features a fast HTML renderer and functionality to make custom
+ renderers (e.g. man pages or LaTeX).")
(license license:expat)))
(define-public python2-misaka
@@ -18105,9 +18728,7 @@ renderers (e.g. man pages or LaTeX).")
"1640i9g8dycql3cc8j0bky0jkzj0q39blfbp4lsgpkprkfgcdk8v"))))
(build-system python-build-system)
(native-inputs
- `(("python-couleur" ,python2-couleur)
- ("python-sure" ,python2-sure)
- ("python-misaka" ,python2-misaka)))
+ (list python2-couleur python2-sure python2-misaka))
(arguments
`(#:python ,python-2
#:phases
@@ -18123,9 +18744,9 @@ renderers (e.g. man pages or LaTeX).")
(synopsis "Markdown-based test runner for python")
(description
"@code{Steadymark} allows documentation to be written in github-flavoured
-markdown. The documentation may contain snippets of code surrounded by python
-code blocks and @code{Steadymark} will find these snippets and run them, making
-sure that there are no old malfunctional examples in the documentation examples.")
+ markdown. The documentation may contain snippets of code surrounded by python
+ code blocks and @code{Steadymark} will find these snippets and run them, making
+ sure that there are no old malfunctional examples in the documentation examples.")
(license license:expat)))
(define-public python-jsonpointer
@@ -18143,7 +18764,7 @@ sure that there are no old malfunctional examples in the documentation examples.
(home-page "https://github.com/stefankoegl/python-json-pointer")
(synopsis "Identify specific nodes in a JSON document")
(description "@code{jsonpointer} allows you to access specific nodes
-by path in a JSON document (see RFC 6901).")
+ by path in a JSON document (see RFC 6901).")
(license license:bsd-3)))
(define-public python2-jsonpointer
@@ -18166,11 +18787,11 @@ by path in a JSON document (see RFC 6901).")
"0k9pff06lxama3nhsc7cdxbp83422bdy8ifs52i6xkas8hpyzfzr"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-jsonpointer" ,python-jsonpointer)))
+ (list python-jsonpointer))
(home-page "https://github.com/stefankoegl/python-json-patch")
(synopsis "Applying JSON Patches in Python 2.6+ and 3.x")
(description "@code{jsonpatch} is a library and program that allows
-applying JSON Patches according to RFC 6902.")
+ applying JSON Patches according to RFC 6902.")
(license license:bsd-3)))
(define-public python2-jsonpatch
@@ -18212,13 +18833,13 @@ applying JSON Patches according to RFC 6902.")
(lambda _
(invoke "pytest" "-v"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://rfc3986.readthedocs.io/")
(synopsis "Parse and validate URI references")
(description
"@code{rfc3986} is a Python implementation of RFC@tie{}3986 including
-validation and authority parsing. This module also supports RFC@tie{}6874
-which adds support for zone identifiers to IPv6 addresses.")
+ validation and authority parsing. This module also supports RFC@tie{}6874
+ which adds support for zone identifiers to IPv6 addresses.")
(license license:asl2.0)))
(define-public python2-rfc3986
@@ -18239,7 +18860,7 @@ which adds support for zone identifiers to IPv6 addresses.")
(home-page "https://pypi.org/project/rfc3987/")
(synopsis "Parsing and validation of URIs (RFC 3986) and IRIs (RFC 3987)")
(description "@code{rfc3987} provides routines for parsing and
-validation of URIs (see RFC 3986) and IRIs (see RFC 3987).")
+ validation of URIs (see RFC 3986) and IRIs (see RFC 3987).")
(license license:gpl3+)))
(define-public python2-rfc3987
@@ -18272,13 +18893,13 @@ validation of URIs (see RFC 3986) and IRIs (see RFC 3987).")
(invoke "pytest" "tests/test_ipv6.py")
#t))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://pypi.org/project/rfc6555/")
(synopsis "Python implementation of RFC 6555")
(description
"Python implementation of the Happy Eyeballs Algorithm described in RFC
-6555. Provided with a single file and dead-simple API to allow easy vendoring
-and integration into other projects.")
+ 6555. Provided with a single file and dead-simple API to allow easy vendoring
+ and integration into other projects.")
(license license:asl2.0))))
(define-public python-bagit
@@ -18294,14 +18915,12 @@ and integration into other projects.")
"1m6y04qmig0b5hzb35lnaw3d2yfydb7alyr1579yblvgs3da6j7j"))))
(build-system python-build-system)
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)
- ("python-coverage" ,python-coverage)
- ("python-mock" ,python-mock)))
+ (list python-setuptools-scm python-coverage python-mock))
(home-page "https://libraryofcongress.github.io/bagit-python/")
(synopsis "Create and validate BagIt packages")
(description "Bagit is a Python library and command line utility for working
-with BagIt style packages. BagIt is a minimalist packaging format for digital
-preservation.")
+ with BagIt style packages. BagIt is a minimalist packaging format for digital
+ preservation.")
(license license:cc0)))
(define-public python-prov
@@ -18317,19 +18936,15 @@ preservation.")
"1vi2fj31vygfcqrkimdmk52q2ldw08g9fn4v4zlgdfgcjlhqyhxn"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-dateutil" ,python-dateutil)
- ("python-lxml" ,python-lxml)
- ("python-networkx" ,python-networkx)
- ("python-rdflib" ,python-rdflib)))
+ (list python-dateutil python-lxml python-networkx python-rdflib))
(native-inputs
- `(("graphviz" ,graphviz)
- ("python-pydot" ,python-pydot)))
+ (list graphviz python-pydot))
(home-page "https://github.com/trungdong/prov")
(synopsis
"W3C Provenance Data Model supporting PROV-JSON, PROV-XML and PROV-O (RDF)")
(description
"This package provides a library for W3C Provenance Data Model supporting
-PROV-O (RDF), PROV-XML, PROV-JSON import/export.")
+ PROV-O (RDF), PROV-XML, PROV-JSON import/export.")
(license license:expat)))
(define-public python-arcp
@@ -18345,23 +18960,23 @@ PROV-O (RDF), PROV-XML, PROV-JSON import/export.")
"1p8mfyjssa6pbn5dp6pyzv9yy6kwm2rz5jn2kjbq5vy9f9wsq5sw"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "http://arcp.readthedocs.io/")
(synopsis
"Archive and Package URI parser and generator")
(description
"@acronym{arcp, Archive and Package} provides functions for creating
-@code{arcp_} URIs, which can be used for identifying or parsing hypermedia files
-packaged in an archive or package, like a ZIP file. arcp URIs can be used to
-consume or reference hypermedia resources bundled inside a file archive or an
-application package, as well as to resolve URIs for archive resources within a
-programmatic framework. This URI scheme provides mechanisms to generate a
-unique base URI to represent the root of the archive, so that relative URI
-references in a bundled resource can be resolved within the archive without
-having to extract the archive content on the local file system. An arcp URI can
-be used for purposes of isolation (e.g. when consuming multiple archives),
-security constraints (avoiding \"climb out\" from the archive), or for
-externally identiyfing sub-resources referenced by hypermedia formats.")
+ @code{arcp_} URIs, which can be used for identifying or parsing hypermedia files
+ packaged in an archive or package, like a ZIP file. arcp URIs can be used to
+ consume or reference hypermedia resources bundled inside a file archive or an
+ application package, as well as to resolve URIs for archive resources within a
+ programmatic framework. This URI scheme provides mechanisms to generate a
+ unique base URI to represent the root of the archive, so that relative URI
+ references in a bundled resource can be resolved within the archive without
+ having to extract the archive content on the local file system. An arcp URI can
+ be used for purposes of isolation (e.g. when consuming multiple archives),
+ security constraints (avoiding \"climb out\" from the archive), or for
+ externally identiyfing sub-resources referenced by hypermedia formats.")
(license license:asl2.0)))
(define-public python-shellescape
@@ -18389,15 +19004,15 @@ externally identiyfing sub-resources referenced by hypermedia formats.")
(invoke "python" "tests/test_shellescape.py"))
#t)))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/chrissimpkins/shellescape")
(synopsis
"Shell escape a string to safely use it as a token in a shell command")
(description
"The shellescape Python module defines the @code{shellescape.quote()}
-function that returns a shell-escaped version of a Python string. This is a
-backport of the @code{shlex.quote()} function from Python 3.8 that makes it
-accessible to users of Python 3 versions < 3.3 and all Python 2.x versions.")
+ function that returns a shell-escaped version of a Python string. This is a
+ backport of the @code{shlex.quote()} function from Python 3.8 that makes it
+ accessible to users of Python 3 versions < 3.3 and all Python 2.x versions.")
(license license:expat)))
(define-public python-validators
@@ -18417,24 +19032,18 @@ accessible to users of Python 3 versions < 3.3 and all Python 2.x versions.")
(lambda _
(invoke "pytest" "-vv"))))))
(propagated-inputs
- `(("python-decorator" ,python-decorator)
- ("python-six" ,python-six)))
+ (list python-decorator python-six))
(native-inputs
- `(("python-flake8" ,python-flake8)
- ("python-isort" ,python-isort)
- ("python-pytest" ,python-pytest)))
+ (list python-flake8 python-isort python-pytest))
(home-page "https://github.com/kvesteri/validators")
(synopsis "Data validation library")
(description
"This package contains validators for different things such as email
-addresses, IP addresses, URLs, hashes and more. It has been designed to
-be easy to use and not require defining a schema or form just to validate
-some input.")
+ addresses, IP addresses, URLs, hashes and more. It has been designed to
+ be easy to use and not require defining a schema or form just to validate
+ some input.")
(license license:expat)))
-(define-public python2-validators
- (package-with-python2 python-validators))
-
(define-public python-validate-email
(package
(name "python-validate-email")
@@ -18450,7 +19059,7 @@ some input.")
(home-page "https://github.com/syrusakbary/validate_email")
(synopsis "Verifies if an email address is valid and really exists")
(description "@code{validate_email} can be used to verify if an email
-address is valid and really exists.")
+ address is valid and really exists.")
(license license:lgpl3+)))
(define-public python2-validate-email
@@ -18469,14 +19078,14 @@ address is valid and really exists.")
"00pamnwla3khk8nyla7y28dq9jnh69swd7f4jfsl7sn1izs8n8zk"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-click" ,python-click)
- ("python-iso8601" ,python-iso8601)
- ("python-jsonpointer" ,python-jsonpointer)
- ("python-pyyaml" ,python-pyyaml)
- ("python-requests" ,python-requests)
- ("python-rfc3987" ,python-rfc3987)
- ("python-six" ,python-six)
- ("python-validate-email" ,python-validate-email)))
+ (list python-click
+ python-iso8601
+ python-jsonpointer
+ python-pyyaml
+ python-requests
+ python-rfc3987
+ python-six
+ python-validate-email))
(home-page "https://github.com/pipermerriam/flex")
(synopsis "Validates Swagger schemata")
(description "@code{flex} can be used to validate Swagger schemata.")
@@ -18498,16 +19107,55 @@ address is valid and really exists.")
"0kizhh3mnhpa08wfnsv1gagy22bpxzxszgbiylkhpz1d8qvwrykk"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-dateutil" ,python-dateutil)
- ("python-simplejson" ,python-simplejson)))
+ (list python-dateutil python-simplejson))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytz" ,python-pytz)))
+ (list python-pytest python-pytz))
(home-page "https://github.com/marshmallow-code/marshmallow")
(synopsis "Convert complex datatypes to and from native
-Python datatypes.")
+ Python datatypes")
(description "@code{marshmallow} provides a library for converting
-complex datatypes to and from native Python datatypes.")
+ complex datatypes to and from native Python datatypes.")
+ (license license:expat)))
+
+(define-public python-marshmallow-3.2
+ (package
+ (inherit python-marshmallow)
+ (version "3.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "marshmallow" version))
+ (sha256
+ (base32 "1w18klwj0z9bqxj252qpj1hz8l46nl27sbc89rkajc7mln73wbws"))))))
+
+(define-public python-marshmallow-jsonapi
+ (package
+ (name "python-marshmallow-jsonapi")
+ (version "0.24.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "marshmallow-jsonapi" version))
+ (sha256
+ (base32 "1d9pxcgmln4gls99vwj1h24qv0lz7fb2jqmqrsiv1pid1snc125x"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-marshmallow-3.2))
+ (native-inputs
+ (list python-faker
+ python-flake8
+ python-flake8-bugbear
+ python-flask
+ python-mock
+ python-pre-commit
+ python-pytest
+ python-tox))
+ (home-page "https://github.com/marshmallow-code/marshmallow-jsonapi")
+ (synopsis "JSON:API 1.0 formatting with Marshmallow")
+ (description
+ "The marshmallow-jsonapi package provides a simple way to produce
+ @uref{https://jsonapi.org, JSON:API}-compliant data in any Python Web framework.
+ It includes optional utilities to integrate with Flask.")
(license license:expat)))
(define-public python-apispec
@@ -18532,15 +19180,14 @@ complex datatypes to and from native Python datatypes.")
;; yet in Guix.
"-k" "not openapi_tools_validate"))))))
(propagated-inputs
- `(("python-pyyaml" ,python-pyyaml)))
+ (list python-pyyaml))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-marshmallow" ,python-marshmallow)))
+ (list python-pytest python-marshmallow))
(home-page "https://github.com/marshmallow-code/apispec")
(synopsis "Swagger/OpenAPI specification generator")
(description "@code{python-apispec} is a pluggable API specification
-generator. It currently supports the OpenAPI specification, formerly known
-as Swagger.")
+ generator. It currently supports the OpenAPI specification, formerly known
+ as Swagger.")
(license license:expat)))
(define-public python-flasgger
@@ -18567,24 +19214,21 @@ as Swagger.")
"flake8 flasgger --ignore=E731,F403"))
(invoke "py.test"))))))
(propagated-inputs
- `(("python-flask" ,python-flask)
- ("python-pyyaml" ,python-pyyaml)
- ("python-jsonschema" ,python-jsonschema)
- ("python-mistune" ,python-mistune)
- ("python-six" ,python-six)))
+ (list python-flask python-pyyaml python-jsonschema python-mistune
+ python-six))
(native-inputs
- `(("python-decorator" ,python-decorator)
- ("python-flake8" ,python-flake8)
- ("python-flask-restful" ,python-flask-restful)
- ("python-flex" ,python-flex)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-marshmallow" ,python-marshmallow)
- ("python-apispec" ,python-apispec)))
+ (list python-decorator
+ python-flake8
+ python-flask-restful
+ python-flex
+ python-pytest
+ python-pytest-cov
+ python-marshmallow
+ python-apispec))
(home-page "https://github.com/rochacbruno/flasgger/")
(synopsis "Extract Swagger specs from your Flask project")
(description "@code{python-flasgger} allows extracting Swagger specs
-from your Flask project. It is a fork of Flask-Swagger.")
+ from your Flask project. It is a fork of Flask-Swagger.")
(license license:expat)))
(define-public python-swagger-spec-validator
@@ -18600,19 +19244,14 @@ from your Flask project. It is a fork of Flask-Swagger.")
"11g627icrsqwazsncwi0sdvprcj6hwaayw5xk3xsj8d97bmrzqjp"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-jsonschema" ,python-jsonschema)
- ("python-pyyaml" ,python-pyyaml)
- ("python-six" ,python-six)))
+ (list python-jsonschema python-pyyaml python-six))
(home-page
"https://github.com/Yelp/swagger_spec_validator")
(synopsis "Validation of Swagger specifications")
(description "@code{swagger_spec_validator} provides a library for
-validating Swagger API specifications.")
+ validating Swagger API specifications.")
(license license:asl2.0)))
-(define-public python2-swagger-spec-validator
- (package-with-python2 python-swagger-spec-validator))
-
(define-public python-apache-libcloud
(package
(name "python-apache-libcloud")
@@ -18639,7 +19278,7 @@ validating Swagger API specifications.")
(substitute* "libcloud/test/compute/test_ssh_client.py"
(("class ShellOutSSHClientTests")
"@unittest.skip(\"Guix container doesn't have ssh service\")
-class ShellOutSSHClientTests"))
+ class ShellOutSSHClientTests"))
#t))
(add-before 'check 'copy-secret
(lambda _
@@ -18647,20 +19286,16 @@ class ShellOutSSHClientTests"))
"libcloud/test/secrets.py")
#t)))))
(inputs
- `(("openssh" ,openssh)))
+ (list openssh))
(propagated-inputs
- `(("python-paramiko" ,python-paramiko)
- ("python-requests" ,python-requests)))
+ (list python-paramiko python-requests))
(native-inputs
- `(("python-lockfile" ,python-lockfile)
- ("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)
- ("python-requests-mock" ,python-requests-mock)))
+ (list python-lockfile python-mock python-pytest python-pytest-runner
+ python-requests-mock))
(home-page "https://libcloud.apache.org/")
(synopsis "Unified Cloud API")
(description "@code{libcloud} is a Python library for interacting with
-many of the popular cloud service providers using a unified API.")
+ many of the popular cloud service providers using a unified API.")
(license license:asl2.0)))
(define-public python-smmap
@@ -18675,22 +19310,16 @@ many of the popular cloud service providers using a unified API.")
(base32 "0ijlnv60y8f41py1wnn5n1a1i81cxd9dfpdhr0k3cgkrcbz8850p"))))
(build-system python-build-system)
(native-inputs
- `(("python-nosexcover" ,python-nosexcover)))
+ (list python-nosexcover))
(home-page "https://github.com/Byron/smmap")
(synopsis "Python sliding window memory map manager")
(description "@code{smmap} is a pure Python implementation of a sliding
-window memory map manager.")
+ window memory map manager.")
(license license:bsd-3)))
-(define-public python-smmap2
- (deprecated-package "python-smmap2" python-smmap))
-
(define-public python2-smmap
(package-with-python2 python-smmap))
-(define-public python2-smmap2
- (deprecated-package "python2-smmap2" python2-smmap))
-
(define-public python-regex
(package
(name "python-regex")
@@ -18709,13 +19338,13 @@ window memory map manager.")
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(invoke "python" "-c"
- "from regex.test_regex import test_main; test_main()"))))))
- (home-page "https://bitbucket.org/mrabarnett/mrab-regex")
- (synopsis "Alternative regular expression module")
- (description "This regular expression implementation is backwards-
+ "from regex.test_regex import test_main ; test_main()"))))))
+ (home-page "https://bitbucket.org/mrabarnett/mrab-regex")
+ (synopsis "Alternative regular expression module")
+ (description "This regular expression implementation is backwards-
compatible with the standard @code{re} module, but offers additional
functionality like full case-folding for case-insensitive matches in Unicode.")
- (license license:psfl)))
+ (license license:psfl)))
(define-public python2-regex
(package-with-python2 python-regex))
@@ -18733,9 +19362,7 @@ functionality like full case-folding for case-insensitive matches in Unicode.")
"091lp9bpqi8yf1nmyg19xmvw611lrzq2q94cl1k5gnlh0c6vl1s1"))))
(build-system python-build-system)
(inputs
- `(("mesa" ,mesa)
- ("freeglut" ,freeglut)
- ("glu" ,glu)))
+ (list mesa freeglut glu))
(arguments
`(#:tests? #f ; Tests fail: AttributeError: 'GLXPlatform' object has no
;attribute 'OSMesa'
@@ -18779,8 +19406,7 @@ library.")
(base32
"01iggy5jwxv7lxnj51zbmlbhag9wcb7dvrbwgi97i90n0a5m3r8j"))))
(inputs
- `(("mesa" ,mesa)
- ("python-numpy" ,python-numpy))) ; for cython module
+ (list mesa python-numpy)) ; for cython module
; numpy_formathandler, thus not propagated
(arguments
`(#:tests? #f
@@ -18812,8 +19438,7 @@ library.")
(lambda _
(delete-file "rencode/t.py")
#t)))))
- (native-inputs `(("pkg-config" ,pkg-config)
- ("python-cython" ,python-cython)))
+ (native-inputs (list pkg-config python-cython))
(home-page "https://github.com/aresch/rencode")
(synopsis "Serialization of heterogeneous data structures")
(description
@@ -18841,11 +19466,8 @@ pure Python module.")
"0nv207ql2wmh9q62503np056c4vf1c1hlsi5cvv5p5kx574k6r2y"))))
(build-system python-build-system)
(native-inputs
- `(("python-pyyaml" ,python-pyyaml)
- ("python-radon" ,python-radon)
- ("python-requests" ,python-requests)
- ("python-flake8" ,python-flake8)
- ("python-tox" ,python-tox)))
+ (list python-pyyaml python-radon python-requests python-flake8
+ python-tox))
(arguments
`(#:tests? #f ;test suite not shipped with the PyPI archive
#:phases
@@ -18939,9 +19561,9 @@ ignoring formatting changes.")
#t))))))
(home-page "https://pydub.com")
(inputs
- `(("ffmpeg" ,ffmpeg)))
+ (list ffmpeg))
(propagated-inputs
- `(("python-scipy" ,python-scipy)))
+ (list python-scipy))
(synopsis "Manipulate audio with a high level interface in Python")
(description
"@code{pydub} makes it easy to manipulate audio in Python. It relies on
@@ -18966,11 +19588,8 @@ ignoring formatting changes.")
(lambda _
(invoke "pytest" "-vv" "-k" "not perf"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-asyncio" ,python-pytest-asyncio)
- ("python-pytest-timeout" ,python-pytest-timeout)
- ("python-setuptools-scm" ,python-setuptools-scm)
- ("python-toml" ,python-toml)))
+ (list python-pytest python-pytest-asyncio python-pytest-timeout
+ python-setuptools-scm python-toml))
(home-page "https://github.com/tqdm/tqdm")
(synopsis "Fast, extensible progress meter")
(description
@@ -19030,12 +19649,12 @@ created by running @code{python setup.py develop}).")
(base32 "11rpd653zcgzkq3sgwkzs3mpxl3r5rij59745ni84ikv8smjmlm3"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-tqdm" ,python-tqdm)
- ("python-packaging" ,python-packaging)
- ("python-pkginfo" ,python-pkginfo)
- ("python-readme-renderer" ,python-readme-renderer)
- ("python-requests" ,python-requests)
- ("python-requests-toolbelt" ,python-requests-toolbelt)))
+ (list python-tqdm
+ python-packaging
+ python-pkginfo
+ python-readme-renderer
+ python-requests
+ python-requests-toolbelt))
(home-page "https://github.com/pypa/twine")
(synopsis "Collection of utilities for interacting with PyPI")
(description
@@ -19094,8 +19713,7 @@ lines are read from a single file.")
(native-inputs
`(("python-pbr" ,python-pbr-minimal)))
(propagated-inputs
- `(("python-linecache2" ,python-linecache2)
- ("python-six" ,python-six)))
+ (list python-linecache2 python-six))
(home-page
"https://github.com/testing-cabal/traceback2")
(synopsis "Backports of the traceback module")
@@ -19196,10 +19814,20 @@ services.")
(base32
"1nii1sz5jq75ilf18bjnr11l9rz1lvdmyk66bxl7q90qan85yhjj"))))
(build-system python-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'dont-install-defunct-egginfo
+ (lambda _
+ ;; When a ".git" directory is missing, the setup.py
+ ;; script invokes setuptools.setup twice, once with
+ ;; "0" as the version. Prevent that.
+ (substitute* "setup.py"
+ (("if not isdir\\('\\.git'\\):")
+ "if False:")))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(propagated-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-setuptools-scm))
(home-page "https://github.com/Changaco/setuptools_scm_git_archive/")
(synopsis "Setuptools_scm plugin for git archives")
(description
@@ -19266,13 +19894,10 @@ Git.")
(with-directory-excursion "pyclipper"
(invoke "cython" "--cplus" "pyclipper.pyx")))))))
(propagated-inputs
- `(("python-setuptools-scm-git-archive" ,python-setuptools-scm-git-archive)))
+ (list python-setuptools-scm-git-archive))
(native-inputs
- `(("python-cython" ,python-cython)
- ("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)
- ("python-unittest2" ,python-unittest2)
- ("unzip" ,unzip)))
+ (list python-cython python-pytest python-pytest-runner
+ python-unittest2 unzip))
(home-page "https://github.com/greginvm/pyclipper")
(synopsis "Wrapper for Angus Johnson's Clipper library")
(description
@@ -19298,13 +19923,9 @@ Angus Johnson's polygon clipping Clipper library (ver. 6.4.2).")
(arguments
`(#:python ,python-2))
(native-inputs
- `(("unzip" ,unzip)
- ("python2-pytest" ,python2-pytest)
- ("python2-pytest-runner" ,python2-pytest-runner)))
+ (list unzip python2-pytest python2-pytest-runner))
(propagated-inputs
- `(("python-fonttools" ,python2-fonttools)
- ("python-pyclipper" ,python2-pyclipper)
- ("python-ufolib" ,python2-ufolib)))
+ (list python2-fonttools python2-pyclipper python2-ufolib))
(home-page "https://github.com/typemytype/booleanOperations")
(synopsis "Boolean operations on paths")
(description
@@ -19378,10 +19999,9 @@ particularly convenient for use in tests.")
(lambda (filename)
(string-suffix? ".py" filename)))))))))
(native-inputs
- `(("python-tempdir" ,python-tempdir)
- ("python-nose" ,python-nose)))
+ (list python-tempdir python-nose))
(propagated-inputs
- `(("python-h5py" ,python-h5py)))
+ (list python-h5py))
(home-page "https://www.activepapers.org/")
(synopsis "Executable papers for scientific computing")
(description
@@ -19427,7 +20047,7 @@ such as figshare or Zenodo.")
(delete-file "setup.cfg")
(invoke "py.test"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/k-bx/python-semver")
(synopsis "Python helper for Semantic Versioning")
(description "This package provides a Python library for
@@ -19451,11 +20071,9 @@ such as figshare or Zenodo.")
(arguments
'(#:tests? #f)) ;FIXME: Some tests require network access.
(native-inputs
- `(("python-cloudpickle" ,python-cloudpickle)
- ("python-dill" ,python-dill)
- ("python-msgpack" ,python-msgpack)))
+ (list python-cloudpickle python-dill python-msgpack))
(propagated-inputs
- `(("python-serpent" ,python-serpent)))
+ (list python-serpent))
(home-page "https://pyro4.readthedocs.io")
(synopsis "Distributed object middleware for Python")
(description
@@ -19509,10 +20127,9 @@ is the new Pyro version that is actively developed.")
"16l48aj9fps9r7jyk8gpxppwrv0fqvlc13sayxskz28r5s6sjwbl"))))
(build-system python-build-system)
(inputs
- `(("netcdf" ,netcdf)))
+ (list netcdf))
(propagated-inputs
- `(("python-numpy" ,python2-numpy-1.8)
- ("python-pyro" ,python2-pyro)))
+ (list python2-numpy-1.8 python2-pyro))
(arguments
;; ScientificPython is not compatible with Python 3
`(#:python ,python-2
@@ -19549,7 +20166,7 @@ not actively maintained and works only with Python 2 and NumPy < 1.9.")
"1fqwh3ba9jd42nigvn5shndgwb1zy7kh9520ncvqci7n8ffjr6p1"))))
(build-system python-build-system)
(native-inputs
- `(("netcdf" ,netcdf)))
+ (list netcdf))
(propagated-inputs
`(("python-scientific" ,python2-scientific)
("python-tkinter" ,python-2 "tk")))
@@ -19631,9 +20248,9 @@ queue.")
"05pd1hyhqvpw87rnbvl3vdyf619snpyccbswaxisdj17frwnjacf"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-heapdict" ,python-heapdict)))
+ (list python-heapdict))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://zict.readthedocs.io/en/latest/")
(synopsis "Composable mutable mapping tools")
(description "This package provides abstract @code{MutableMapping} classes
@@ -19682,9 +20299,8 @@ user's @file{~/Trash} directory.")
`(modify-phases ,phases
(add-before 'check 'setenv
(lambda _
- (setenv "PYTHONPATH"
- (string-append (getcwd) ":" (getenv "PYTHONPATH")))
- #t)))))))))
+ (setenv "GUIX_PYTHONPATH"
+ (string-append (getcwd) ":" (getenv "GUIX_PYTHONPATH"))))))))))))
(define-public python-pyfavicon
(package
@@ -19702,9 +20318,7 @@ user's @file{~/Trash} directory.")
;; repository require online data.
'(#:tests? #f))
(propagated-inputs
- `(("python-aiohttp" ,python-aiohttp)
- ("python-beautifulsoup4" ,python-beautifulsoup4)
- ("python-pillow" ,python-pillow)))
+ (list python-aiohttp python-beautifulsoup4 python-pillow))
(home-page "https://github.com/bilelmoussaoui/pyfavicon")
(synopsis "Async favicon fetcher")
(description
@@ -19723,9 +20337,7 @@ user's @file{~/Trash} directory.")
(base32 "090krlxj7az0d9yl8i20vjrqi66dfxx7y5xakjhxzsfp7qmldnc7"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pathspec" ,python-pathspec)
- ("python-pyyaml" ,python-pyyaml)
- ("python-setuptools" ,python-setuptools)))
+ (list python-pathspec python-pyyaml python-setuptools))
(home-page "https://github.com/adrienverge/yamllint")
(synopsis "Linter for YAML files")
(description
@@ -19782,14 +20394,9 @@ style guide, even if the original code didn't violate the style guide.")
"/bin/jq")))
#t)))))
(inputs
- `(("python-argcomplete" ,python-argcomplete)
- ("python-pyyaml" ,python-pyyaml)
- ("python-xmltodict" ,python-xmltodict)
- ("jq" ,jq)))
+ (list python-argcomplete python-pyyaml python-xmltodict jq))
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-flake8" ,python-flake8)
- ("python-wheel" ,python-wheel)))
+ (list python-coverage python-flake8 python-wheel))
(home-page "https://github.com/kislyuk/yq")
(synopsis "Command-line YAML/XML processor")
(description
@@ -19851,7 +20458,7 @@ files, and Makefiles.")
(lambda _
(invoke "py.test"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(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
@@ -19882,8 +20489,7 @@ functions by partial application of operators.")
(lambda _
(invoke "py.test"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-whatever" ,python-whatever)))
+ (list python-pytest python-whatever))
(home-page "https://github.com/Suor/funcy")
(synopsis "Functional tools")
(description "@code{funcy} is a library that provides functional tools.
@@ -19968,11 +20574,9 @@ Week instances stringify to this form.")
(string-append "'" libzbar "/lib/libzbar.so.0'")))
#t))))))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("python-numpy" ,python-numpy)
- ("python-pillow" ,python-pillow)))
+ (list pkg-config python-numpy python-pillow))
(inputs
- `(("zbar" ,zbar)))
+ (list zbar))
(home-page "https://github.com/NaturalHistoryMuseum/pyzbar/")
(synopsis "Read one-dimensional barcodes and QR codes")
(description
@@ -20022,7 +20626,7 @@ and @code{tokens_to_src} to roundtrip.")
"0ydxqz2dvns44g55p8ix2x18qkfk3aaz0m0dc70f3g6n8js35h47"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-tokenize-rt" ,python-tokenize-rt)))
+ (list python-tokenize-rt))
(home-page "https://github.com/asottile/future-fstrings")
(synopsis "Backport of fstrings to Python < 3.6")
(description
@@ -20052,7 +20656,7 @@ source bytes using the UTF-8 encoding and then rewrites Python 3.6 style
(replace 'check
(lambda _
(invoke "pytest"))))))
- (native-inputs `(("python-pytest" ,python-pytest)))
+ (native-inputs (list python-pytest))
(home-page "https://github.com/python/typed_ast")
(synopsis "Fork of Python @code{ast} modules with type comment support")
(description "This package provides a parser similar to the standard
@@ -20082,36 +20686,35 @@ based on the CPython 2.7 and 3.7 parsers.")
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-before 'check 'disable-failing-tests
+ ;; Unfortunately, this doesn't seem to be enough to fix these two
+ ;; tests, but we'll patch this anyway.
+ (add-after 'unpack 'patch-shell-reference
(lambda _
(substitute* "tests/test_completion/test_completion.py"
- (("def test_show_completion")
- "def _test_show_completion")
- (("def test_install_completion")
- "def _test_install_completion"))
- (substitute* "tests/test_completion/test_completion_install.py"
- (("def test_completion_install_bash")
- "def _test_completion_install_bash")
- (("def test_completion_install_zsh")
- "def _test_completion_install_zsh")
- (("def test_completion_install_fish")
- "def _test_completion_install_fish")
- (("def test_completion_install_powershell")
- "def _test_completion_install_powershell"))
- #t))
+ (("\"bash\"") (string-append "\"" (which "bash") "\""))
+ (("\"/bin/bash\"") (string-append "\"" (which "bash") "\"")))))
(replace 'check
- (lambda _
- (setenv "PYTHONPATH"
- (string-append (getcwd) ":"
- (getenv "PYTHONPATH")))
- (invoke "python" "-m" "pytest" "tests/")
- #t)))))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME" "/tmp") ; some tests need it
+
+ ;; This is for completion tests
+ (with-output-to-file "/tmp/.bashrc" (lambda _ (display "# dummy")))
+
+ (setenv "GUIX_PYTHONPATH"
+ (string-append (getcwd) ":"
+ (getenv "GUIX_PYTHONPATH")))
+ (let ((disabled-tests (list "test_show_completion"
+ "test_install_completion")))
+ (invoke "python" "-m" "pytest" "tests/"
+ "-k"
+ (string-append "not "
+ (string-join disabled-tests
+ " and not "))))))))))
(propagated-inputs
- `(("python-click" ,python-click)))
+ (list python-click))
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-pytest" ,python-pytest)
- ("python-shellingham" ,python-shellingham)))
+ (list python-coverage python-pytest python-shellingham))
(home-page "https://github.com/tiangolo/typer")
(synopsis
"Typer builds CLI based on Python type hints")
@@ -20212,22 +20815,19 @@ Included are implementations of:
'("bpython3" "bpython3-curses" "bpython3-urwid" "bpdb3")))
#t)))))
(propagated-inputs
- `(("python-pygments" ,python-pygments)
- ("python-requests" ,python-requests)
- ("python-curtsies" ,python-curtsies)
- ("python-greenlet" ,python-greenlet)
- ("python-six" ,python-six)
- ("python-cwcwidth" ,python-cwcwidth)
- ("python-pyxdg" ,python-pyxdg)
- ;; optional dependencies
- ("python-urwid" ,python-urwid) ; for bpython-urwid only
- ("python-watchdog" ,python-watchdog)
- ("python-jedi" ,python-jedi)))
+ (list python-pygments
+ python-requests
+ python-curtsies
+ python-greenlet
+ python-six
+ python-cwcwidth
+ python-pyxdg
+ ;; optional dependencies
+ python-urwid ; for bpython-urwid only
+ python-watchdog
+ python-jedi))
(native-inputs
- `(("python-sphinx" ,python-sphinx)
- ("python-mock" ,python-mock)
- ("python-tox" ,python-tox)
- ("python-wheel" ,python-wheel)))
+ (list python-sphinx python-mock python-tox python-wheel))
(home-page "https://bpython-interpreter.org/")
(synopsis "Fancy interface to the Python interpreter")
(description "Bpython is a fancy interface to the Python
@@ -20283,7 +20883,7 @@ file system events on Linux.")
"14gv8ll3ipqv4kyc2xiy891nrmjl4ic823zfyx8hassagyclyppw"))))
(build-system python-build-system)
(native-inputs
- `(("unzip" ,unzip)))
+ (list unzip))
(arguments
`(#:python ,python-2
#:tests? #f
@@ -20373,7 +20973,7 @@ working with iterables.")
(base32 "0wnp3yqcgx0rpy8dz51vh75lbp2qif67da19zi7m3ca98n887hgb"))))
(build-system python-build-system)
(inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(home-page "https://readthedocs.org/projects/latexcodec/")
(synopsis "Work with LaTeX code in Python")
(description "Lexer and codec to work with LaTeX code in Python.")
@@ -20391,11 +20991,9 @@ working with iterables.")
(base32 "070wfcmxrd7xg1si421mi9150gmx2qwx431nwf69sq3hhmgnx080"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(inputs
- `(("python-latexcodec" ,python-latexcodec)
- ("python-pyyaml" ,python-pyyaml)
- ("python-six" ,python-six)))
+ (list python-latexcodec python-pyyaml python-six))
(arguments
`(#:test-target "nosetests"))
(home-page "https://pybtex.org/")
@@ -20415,7 +21013,7 @@ in Python. You can simply type pybtex instead of bibtex.")
(sha256
(base32 "09vagxgbq78wvq4xbikmn2hpqqsa2i96kqsmphf7dqynfv0dlsd5"))))
(build-system python-build-system)
- (propagated-inputs `(("python-six" ,python-six)))
+ (propagated-inputs (list python-six))
(home-page "https://github.com/tadeck/onetimepass/")
(synopsis "One-time password library")
(description "Python one-time password library for HMAC-based (HOTP) and
@@ -20433,7 +21031,7 @@ time-based (TOTP) passwords.")
(sha256
(base32 "161k8771m7w60qakyvrwf9q62lvakmix7mpfylpy7713qs939f0j"))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ -20462,7 +21060,7 @@ Parso is also able to list multiple syntax errors in your Python file.")
"0i11f6z6lix8ixi3vsk6s76zvvpmgrw6zjrcwjm0m4hjdh83vfvf"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/python-trio/async_generator")
(synopsis "Async generators and context managers for Python 3.5+")
(description "@code{async_generator} back-ports Python 3.6's native async
@@ -20537,9 +21135,9 @@ Glob2 currently based on the glob code from Python 3.3.1.")
"0pd9by719qh882hqs6xpby61sn1x5h98hms5p2p8yqnycrf1s0h2"))))
(build-system python-build-system)
(native-inputs
- `(("unzip" ,unzip)))
+ (list unzip))
(propagated-inputs
- `(("python-gevent" ,python-gevent)))
+ (list python-gevent))
(home-page "https://gehrcke.de/gipc/")
(synopsis "Child process management in the context of gevent")
(description "Usage of Python's multiprocessing package in a
@@ -20561,7 +21159,7 @@ gevent-powered application.")
"0wwlbifcbpzy3wfv6yzsxncarsngzizmmxbn6cy5gazlcq7h4k5x"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-wcwidth" ,python-wcwidth)))
+ (list python-wcwidth))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -20635,14 +21233,13 @@ path components.")
(("setup\\(")
"setup(\n test_suite=\"test\",")))))))
(propagated-inputs
- `(("python-beautifultable" ,python-beautifultable)
- ("python-dateutil" ,python-dateutil)
- ("python-gitpython" ,python-gitpython)
- ("python-globber" ,python-globber)
- ("python-matplotlib" ,python-matplotlib)
- ("python-sqlalchemy" ,python-sqlalchemy)
- ("python-sqlalchemy-utils"
- ,python-sqlalchemy-utils)))
+ (list python-beautifultable
+ python-dateutil
+ python-gitpython
+ python-globber
+ python-matplotlib
+ python-sqlalchemy
+ python-sqlalchemy-utils))
(home-page "https://github.com/asharov/git-hammer")
(synopsis "Provide statistics for git repositories")
(description
@@ -20674,7 +21271,7 @@ commit, but it also includes some other useful statistics.")
(string-append "'" fuse "/lib/libfuse.so'")))
#t))))))
(propagated-inputs
- `(("fuse" ,fuse)))
+ (list fuse))
(home-page "https://github.com/fusepy/fusepy")
(synopsis "Simple ctypes bindings for FUSE")
(description "Python module that provides a simple interface to FUSE and
@@ -20707,9 +21304,9 @@ MacFUSE. The binding is created using the standard @code{ctypes} library.")
(string-append "\"" fuse "/lib/libfuse.so\""))))
#t)))))
(inputs
- `(("fuse" ,fuse)))
+ (list fuse))
(propagated-inputs
- `(("python-paramiko" ,python-paramiko)))
+ (list python-paramiko))
(home-page "https://github.com/rianhunter/fusepyng")
(synopsis "Simple ctypes bindings for FUSE")
(description "@code{fusepyng} is a Python module that provides a simple
@@ -20717,20 +21314,39 @@ interface to FUSE on various operating systems. It's just one file and is
implemented using @code{ctypes}.")
(license license:isc)))
+(define-public python-update-checker
+ (package
+ (name "python-update-checker")
+ (version "0.18.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "update-checker" version))
+ (sha256
+ (base32 "04yb5a9mi45ax50m2m0ih6gdvkk1j7gfmy83dd58i1f59axlabba"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-requests))
+ (native-inputs (list python-black python-flake8 python-pytest))
+ (home-page "https://github.com/bboe/update_checker")
+ (synopsis "Python module that will check for package updates")
+ (description "This package provides a Python module that will check for
+package updates.")
+ (license license:bsd-2)))
+
(define-public python-userspacefs
(package
(name "python-userspacefs")
- (version "2.0.3")
+ (version "2.0.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "userspacefs" version))
(sha256
(base32
- "1v6saf62ml3j63adalvlkj4iavxjbsbapl20b21mn73p7kvn4ayf"))))
+ "06f2gsiypas270nqfjir4wwjlpkjp097pm6zchc7k20ggg32gv1k"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-fusepyng" ,python-fusepyng)))
+ (list python-fusepyng))
(home-page "https://github.com/rianhunter/userspacefs")
(synopsis "User-space file systems for Python")
(description
@@ -20770,13 +21386,9 @@ user-space file systems in Python.")
(delete-file "test/test_python_gen.py")
(invoke "pytest")))))))
(propagated-inputs
- `(("python-ply" ,python-ply)
- ("python-six" ,python-six)))
+ (list python-ply python-six))
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-coverage python-mock python-pytest python-pytest-runner))
(home-page "https://github.com/dropbox/stone")
(synopsis "Official Api Spec Language for Dropbox")
(description
@@ -20846,9 +21458,7 @@ inferring type information using compile-time introspection.")
(arguments
`(#:tests? #f)) ;requires online data
(propagated-inputs
- `(("python-appdirs" ,python-appdirs)
- ("python-packaging" ,python-packaging)
- ("python-requests" ,python-requests)))
+ (list python-appdirs python-packaging python-requests))
(home-page "https://github.com/fatiando/pooch")
(synopsis "Manage your Python library's sample data files")
(description
@@ -20870,10 +21480,9 @@ and corruption checks.")
"1vzmz1xh38b84dv0f4hlp7arwmx8wjlih6lf964bpy8dnyk6s5rs"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-monotonic" ,python-monotonic)
- ("python-six" ,python-six)))
+ (list python-monotonic python-six))
(native-inputs
- `(("python-testtools" ,python-testtools)))
+ (list python-testtools))
(home-page "https://github.com/harlowja/fasteners")
(synopsis "Python package that provides useful locks")
(description
@@ -20900,8 +21509,7 @@ and corruption checks.")
"1yp2jaxg3v86pia0q512dg3hz6s9y5vzdivsgrba1kds05ial14g"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-requests" ,python-requests)
- ("python-six" ,python-six)))
+ (list python-requests python-six))
(home-page
"https://github.com/dashea/requests-file")
(synopsis "File transport adapter for Requests")
@@ -20938,10 +21546,9 @@ library to allow local file system access via @code{file://} URLs.")
(when tests?
(invoke "pytest" "-vv")))))))
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-pytest" ,python-pytest)))
+ (list python-coverage python-pytest))
(propagated-inputs
- `(("python-editdistance" ,python-editdistance)))
+ (list python-editdistance))
(home-page "https://github.com/chriskuehl/identify")
(synopsis "File identification library for Python")
(description
@@ -20963,12 +21570,9 @@ identifying what the file is.")
"1d5s8v6kpsgazyahflhji1cfdcf89rv7l7z55v774bhzvcjp2y99"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-responses" ,python-responses)))
+ (list python-pytest python-responses))
(propagated-inputs
- `(("python-idna" ,python-idna)
- ("python-requests" ,python-requests)
- ("python-requests-file" ,python-requests-file)))
+ (list python-idna python-requests python-requests-file))
(home-page
"https://github.com/john-kurkowski/tldextract")
(synopsis
@@ -21007,12 +21611,9 @@ Public Suffix List's private domains as well.")
;; This test fails. It tries to open a network socket.
(invoke "pytest" "-vv" "-k" "not test_error_message")))))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-pytest python-pytest-runner))
(inputs
- `(("python-argcomplete" ,python-argcomplete)
- ("python-colorama" ,python-colorama)
- ("python-termcolor" ,python-termcolor)))
+ (list python-argcomplete python-colorama python-termcolor))
(home-page "https://github.com/tldr-pages/tldr-python-client")
(synopsis "Python command-line client for tldr pages")
(description "This package provides the @code{tldr} command allowing users
@@ -21043,9 +21644,7 @@ effort to simplify the man pages with practical examples.")
;; This test fails. It tries to open a network socket.
(invoke "pytest" "-vv" "-k" "not test_smoke"))))))
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)))
+ (list python-coverage python-mock python-pytest))
(home-page "https://ekalinin.github.io/nodeenv/")
(synopsis "Create isolated node.js environments")
(description
@@ -21068,7 +21667,7 @@ environments.")
"0wkbwz208j8nfrsmzmclvxg22ymknn0mlz76wbdza9k2bx2zja6l"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-requests" ,python-requests)))
+ (list python-requests))
(home-page
"https://github.com/Bemmu/PyNamecheap")
(synopsis
@@ -21095,11 +21694,8 @@ environments.")
(arguments
`(#:tests? #f)) ;requires internet access
(propagated-inputs
- `(("python-future" ,python-future)
- ("python-pynamecheap" ,python-pynamecheap)
- ("python-requests" ,python-requests)
- ("python-tldextract" ,python-tldextract)
- ("python-urllib3" ,python-urllib3)))
+ (list python-future python-pynamecheap python-requests
+ python-tldextract python-urllib3))
(home-page "https://github.com/AnalogJ/lexicon")
(synopsis
"Manipulate DNS records on various DNS providers")
@@ -21135,9 +21731,7 @@ Let's Encrypt.")
(lambda _
(invoke "pytest" "-vv"))))))
(native-inputs
- `(("python-covdefaults" ,python-covdefaults)
- ("python-coverage" ,python-coverage)
- ("python-pytest" ,python-pytest)))
+ (list python-covdefaults python-coverage python-pytest))
(home-page "https://github.com/asottile/cfgv")
(synopsis "Configuration validation library")
(description
@@ -21170,14 +21764,14 @@ validation testing and application logic.")
(define-public python-numba
(package
(name "python-numba")
- (version "0.51.2")
+ (version "0.54.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "numba" version))
(sha256
(base32
- "0s0777m8kq4l96i88zj78np7283v1n4878qfc1gvzb8l45bmkg8n"))))
+ "0gzl2hz9azav9mny4mga19096rrnpw5816r1h4iwrvb4r01wipzr"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -21185,24 +21779,27 @@ validation testing and application logic.")
(add-after 'unpack 'disable-proprietary-features
(lambda _
(setenv "NUMBA_DISABLE_HSA" "1")
- (setenv "NUMBA_DISABLE_CUDA" "1")
- #t))
+ (setenv "NUMBA_DISABLE_CUDA" "1")))
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ ;; This one test fails because a deprecation warning is printed.
+ (substitute* "numba/tests/test_import.py"
+ (("def test_no_accidental_warnings")
+ "def disabled_test_no_accidental_warnings"))))
(replace 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (add-installed-pythonpath inputs outputs)
- ;; Something is wrong with the PYTHONPATH when running the
- ;; tests from the build directory, as it complains about not being
- ;; able to import certain modules.
- (with-directory-excursion "/tmp"
- (setenv "HOME" (getcwd))
- (invoke "python3" "-m" "numba.runtests" "-v" "-m")))))))
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ ;; Something is wrong with the PYTHONPATH when running the
+ ;; tests from the build directory, as it complains about not being
+ ;; able to import certain modules.
+ (with-directory-excursion "/tmp"
+ (setenv "HOME" (getcwd))
+ (invoke "python3" "-m" "numba.runtests" "-v" "-m"))))))))
(propagated-inputs
- `(("python-llvmlite" ,python-llvmlite)
- ("python-numpy" ,python-numpy)
- ("python-singledispatch" ,python-singledispatch)))
+ (list python-llvmlite python-numpy python-singledispatch))
(native-inputs ;for tests
- `(("python-jinja2" ,python-jinja2)
- ("python-pygments" ,python-pygments)))
+ (list python-jinja2 python-pygments))
(home-page "https://numba.pydata.org")
(synopsis "Compile Python code using LLVM")
(description "Numba gives you the power to speed up your applications with
@@ -21226,14 +21823,49 @@ tool).")
(uri (pypi-uri "numcodecs" version))
(sha256
(base32
- "0kbfr8pl3x9glsypbq8hzim003f16ml1b1cvgrh4w1sdvgal6j7g"))))
+ "0kbfr8pl3x9glsypbq8hzim003f16ml1b1cvgrh4w1sdvgal6j7g"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "c-blosc")
+ (for-each delete-file '("numcodecs/blosc.c"
+ "numcodecs/compat_ext.c"
+ "numcodecs/lz4.c"
+ "numcodecs/vlen.c"
+ "numcodecs/zstd.c"))))))
(build-system python-build-system)
+ (arguments
+ `(#:tests? #false ; TODO: unclear why numcodecs.* are not found
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-avx2
+ (lambda _
+ (setenv "DISABLE_NUMCODECS_AVX2" "1")))
+ (add-after 'unpack 'unbundle
+ (lambda _
+ (substitute* "setup.py"
+ (("sources=sources \\+ blosc_sources,")
+ "sources=sources,")
+ (("extra_compile_args=extra_compile_args")
+ "extra_compile_args=list(base_compile_args)")
+ (("'numcodecs.zstd',")
+ "'numcodecs.zstd', libraries=['zstd'], ")
+ (("'numcodecs.lz4',")
+ "'numcodecs.lz4', libraries=['lz4'], ")
+ (("'numcodecs.blosc',")
+ "'numcodecs.blosc', libraries=['blosc'], "))))
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "-vv")))))))
+ (inputs
+ (list c-blosc lz4 zlib
+ `(,zstd "lib")))
(propagated-inputs
- `(("python-numpy" ,python-numpy)
- ("python-msgpack" ,python-msgpack)))
+ (list python-numpy python-msgpack))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-cython python-pytest python-setuptools-scm))
(home-page "https://github.com/zarr-developers/numcodecs")
(synopsis "Buffer compression and transformation codecs")
(description
@@ -21284,13 +21916,10 @@ codecs for use in data storage and communication applications.")
(invoke "pytest" "-vv" "-k" "not lmdb")
#t)))))
(propagated-inputs
- `(("python-asciitree" ,python-asciitree)
- ("python-fasteners" ,python-fasteners)
- ("python-numcodecs" ,python-numcodecs)
- ("python-numpy" ,python-numpy)))
+ (list python-asciitree python-fasteners python-numcodecs
+ python-numpy))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-pytest python-setuptools-scm))
(home-page "https://github.com/zarr-developers/zarr-python")
(synopsis "Chunked, compressed, N-dimensional arrays for Python")
(description
@@ -21341,20 +21970,17 @@ N-dimensional arrays for Python.")
(find-files "dist" "\\.whl$")))
#t)))))
(propagated-inputs
- `(("python-h5py" ,python-h5py)
- ("python-importlib-metadata" ,python-importlib-metadata)
- ("python-natsort" ,python-natsort)
- ("python-numcodecs" ,python-numcodecs)
- ("python-packaging" ,python-packaging)
- ("python-pandas" ,python-pandas)
- ("python-scipy" ,python-scipy)
- ("python-zarr" ,python-zarr)))
+ (list python-h5py
+ python-importlib-metadata
+ python-natsort
+ python-numcodecs
+ python-packaging
+ python-pandas
+ python-scipy
+ python-zarr))
(native-inputs
- `(("python-joblib" ,python-joblib)
- ("python-pytest" ,python-pytest)
- ("python-toml" ,python-toml)
- ("python-flit" ,python-flit)
- ("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-joblib python-pytest python-toml python-flit
+ python-setuptools-scm))
(home-page "https://github.com/theislab/anndata")
(synopsis "Annotated data for data analysis pipelines")
(description "Anndata is a package for simple (functional) high-level APIs
@@ -21384,7 +22010,7 @@ object-oriented library such as @code{scikit-learn}.")
(invoke "nosetests" "-v"))
#t)))))
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(home-page "https://pypi.org/project/dill/")
(synopsis "Serialize all of Python")
(description "Dill extends Python's @code{pickle} module for serializing
@@ -21431,7 +22057,7 @@ the saved state of the original interpreter session.")
(invoke "python" "-m" "multiprocess.tests")
#t)))))
(propagated-inputs
- `(("python-dill" ,python-dill)))
+ (list python-dill))
(home-page "https://pypi.org/project/multiprocess/")
(synopsis "Multiprocessing and multithreading in Python")
(description
@@ -21443,14 +22069,14 @@ library's @code{threading} module.")
(define-public python-toolz
(package
(name "python-toolz")
- (version "0.11.1")
+ (version "0.11.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "toolz" version))
(sha256
(base32
- "1grz3zvw5ixwqqlbv0n7j11mlcxb66cirh5i9x9zw8kqy0hpk967"))))
+ "0cxwlh8dz8gq0l0bzchjnqqwhdp261nfd958ppqm518k2mg2scbb"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -21462,7 +22088,7 @@ library's @code{threading} module.")
(invoke "python" "-m" "pytest" "--doctest-modules"
"--pyargs" "toolz")))))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/pytoolz/toolz/")
(synopsis "List processing tools and functional utilities")
(description
@@ -21473,22 +22099,25 @@ functions, and dictionaries.")
(define-public python-cytoolz
(package
(name "python-cytoolz")
- (version "0.9.0.1")
+ (version "0.11.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cytoolz" version))
(sha256
(base32
- "1r80p88hm3f3r4zpixzr047y5hw4bzy41m4xywnhycda83x0dk44"))))
+ "1d12mgaippxxhn24w2hj0my3aqkx80fks5g4wzfdsvl0acqnc8za"))
+ (modules '((guix build utils)))
+ (snippet
+ '(for-each delete-file (find-files "cytoolz" "\\.c$")))))
(build-system python-build-system)
;; FIXME: tests fail with "module 'cytoolz.curried' has no attribute
;; 'exceptions'"
(arguments '(#:tests? #f))
(propagated-inputs
- `(("python-toolz" ,python-toolz)))
+ (list python-toolz))
(native-inputs
- `(("python-cython" ,python-cython)))
+ (list python-cython))
(home-page "https://github.com/pytoolz/cytoolz")
(synopsis "High performance functional utilities")
(description
@@ -21497,6 +22126,22 @@ main differences are that @code{cytoolz} is faster and cytoolz offers a C API
that is accessible to other projects developed in Cython.")
(license license:bsd-3)))
+;; python-cooler doesn't work with 0.11 yet
+(define-public python-cytoolz-for-cooler
+ (package
+ (inherit python-cytoolz)
+ (version "0.10.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cytoolz" version))
+ (sha256
+ (base32
+ "0p4a9nadsy1337gy2cnb5yanbn03j3zm6d9adyqad9bk3nlbpxc2"))
+ (modules '((guix build utils)))
+ (snippet
+ '(for-each delete-file (find-files "cytoolz" "\\.c$")))))))
+
(define-public python-sortedcollections
(package
(name "python-sortedcollections")
@@ -21510,7 +22155,7 @@ that is accessible to other projects developed in Cython.")
"1kfabpnjyjm5ml2zspry9jy3xq49aybchgaa4ahic2jqdjfn1sfq"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-sortedcontainers" ,python-sortedcontainers)))
+ (list python-sortedcontainers))
(arguments '(#:tests? #f)) ; Tests not included in release tarball.
(home-page "http://www.grantjenks.com/docs/sortedcollections/")
(synopsis "Python Sorted Collections")
@@ -21593,11 +22238,9 @@ data.")
(invoke "pytest" "-s" "-vv")
(format #t "test suite not run~%")))))))
(native-inputs
- `(;; For tests.
- ("python-cloudpickle-testpkg" ,python-cloudpickle-testpkg)
- ("python-psutil" ,python-psutil)
- ("python-pytest" ,python-pytest)
- ("python-tornado" ,python-tornado-6)))
+ (list ;; For tests.
+ python-cloudpickle-testpkg python-psutil python-pytest
+ python-tornado-6))
(home-page "https://github.com/cloudpipe/cloudpickle")
(synopsis "Extended pickling support for Python objects")
(description
@@ -21668,7 +22311,7 @@ they use the same path.")
;; TypeError: calling <function run at 0x7ffff2568d90> returned None, not a test
(arguments '(#:tests? #f))
(propagated-inputs
- `(("python-numpy" ,python-numpy)))
+ (list python-numpy))
(home-page "https://github.com/blosc/python-blosc")
(synopsis "Python wrapper for the Blosc data compressor library")
(description "Blosc is a high performance compressor optimized for binary
@@ -21699,12 +22342,12 @@ This Python package wraps the Blosc library.")
"1sy3vdfyyx3bc5590zb7gwpsmimqz8m992x9hsydq8nmhixqjrxa"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-blosc" ,python-blosc)
- ("python-locket" ,python-locket)
- ("python-numpy" ,python-numpy)
- ("python-pandas" ,python-pandas)
- ("python-pyzmq" ,python-pyzmq)
- ("python-toolz" ,python-toolz)))
+ (list python-blosc
+ python-locket
+ python-numpy
+ python-pandas
+ python-pyzmq
+ python-toolz))
(home-page "https://github.com/dask/partd/")
(synopsis "Appendable key-value storage")
(description "Partd stores key-value pairs. Values are raw bytes. We
@@ -21733,41 +22376,45 @@ behavior and not have to worry about the specific internal implementation
decisions with any given backend.")
(license license:bsd-3)))
+;; Note: Remember to update python-distributed when updating dask.
(define-public python-dask
(package
(name "python-dask")
- (version "2021.7.1")
+ (version "2021.11.2")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "dask" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dask/dask/")
+ (commit "5a8275dd53193b47457cdfadc0e2356ea3eb6ccd")))
+ (file-name (git-file-name name version))
(sha256
- (base32 "131c1bp193d7wp4gx09j6wark1c322c8sqjy22i0jaafl5rqfbz7"))))
+ (base32 "0h8w7c03mn6s2mmwbqd2sqay3k4vaqiwlsbvliziggw28042zfw2"))
+ (snippet
+ ;; Delete generated copy of python-versioneer. We recreate it below.
+ '(delete-file "versioneer.py"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'disable-broken-tests
+ (add-after 'unpack 'versioneer
(lambda _
- ;; This test is marked as xfail when pytest-xdist is used.
- (substitute* "dask/tests/test_threaded.py"
- (("def test_interrupt\\(\\)" m)
- (string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
- m)))))
+ (invoke "versioneer" "install")))
(replace 'check
- (lambda _ (invoke "pytest" "-vv"))))))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests? (invoke "pytest" "-vv")))))))
(propagated-inputs
- `(("python-cloudpickle" ,python-cloudpickle)
- ("python-fsspec" ,python-fsspec)
- ("python-numpy" ,python-numpy)
- ("python-packaging" ,python-packaging)
- ("python-pandas" ,python-pandas)
- ("python-partd" ,python-partd)
- ("python-toolz" ,python-toolz)
- ("python-pyyaml" ,python-pyyaml)))
+ (list python-cloudpickle
+ python-fsspec
+ python-numpy
+ python-packaging
+ python-pandas
+ python-partd
+ python-toolz
+ python-pyyaml))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-pytest python-pytest-runner python-pytest-rerunfailures
+ python-versioneer))
(home-page "https://github.com/dask/dask/")
(synopsis "Parallel computing with task scheduling")
(description
@@ -21791,8 +22438,8 @@ run on top of the dynamic task schedulers. ")
(base32
"0nrw4sr3afldrp7073hvc0rgdz282s0l819jdmj1i6nn05v33h0l"))))
(build-system python-build-system)
- (native-inputs `(("python-pytest" ,python-pytest)))
- (inputs `(("python" ,python)))
+ (native-inputs (list python-pytest))
+ (inputs (list python))
(home-page "https://github.com/luther9/ilinkedlist-py")
(synopsis "Immutable linked list library")
(description
@@ -21873,7 +22520,7 @@ on regular expressions.")
"1kqipkbdaw5s1xg0gi29awm03vp1x8dz24pjidgxagvkvrjpzhi7"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(home-page "https://github.com/rholder/retrying")
(synopsis "Library for adding retry behavior")
(description "Retrying is a general-purpose retrying library to simplify
@@ -21906,14 +22553,14 @@ Features:
;; attribute 'empty_template_setup'".
`(#:tests? #false))
(propagated-inputs
- `(("python-cfgv" ,python-cfgv)
- ("python-identify" ,python-identify)
- ("python-importlib-metadata" ,python-importlib-metadata)
- ("python-importlib-resources" ,python-importlib-resources)
- ("python-nodeenv" ,python-nodeenv)
- ("python-pyyaml" ,python-pyyaml)
- ("python-toml" ,python-toml)
- ("python-virtualenv" ,python-virtualenv)))
+ (list python-cfgv
+ python-identify
+ python-importlib-metadata
+ python-importlib-resources
+ python-nodeenv
+ python-pyyaml
+ python-toml
+ python-virtualenv))
(home-page "https://github.com/pre-commit/pre-commit")
(synopsis "Framework for managing multi-language pre-commit hooks")
(description
@@ -21924,14 +22571,14 @@ multi-language pre-commit hooks.")
(define-public python-precis-i18n
(package
(name "python-precis-i18n")
- (version "1.0.0")
+ (version "1.0.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "precis_i18n" version))
(sha256
(base32
- "0gjhvwd8aifx94rl1ag08vlmndyx2q3fkyqb0c4i46x3p2bc2yi2"))))
+ "1qfb78zpx565vqkg0xhx75pna9sc35m370vpcz82982c8ix3ypyz"))))
(build-system python-build-system)
(home-page "https://github.com/byllyfish/precis_i18n")
(synopsis "Implementation of the PRECIS framework")
@@ -21953,7 +22600,7 @@ RFC 8265 and RFC 8266.")
"1mp9lk0b2qa37b7y6ak4lvf6ifw2ylyy6bkf9ik77md3j4xrwlc7"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(home-page "https://github.com/abseil/abseil-py")
(synopsis "Abseil Python common libraries")
(description
@@ -21997,8 +22644,7 @@ source via the Abstract Syntax Tree.")
(build-system python-build-system)
(arguments '(#:tests? #f)) ; there are none
(propagated-inputs
- `(("python-six" ,python-six)
- ("python-wheel" ,python-wheel)))
+ (list python-six python-wheel))
(home-page "https://github.com/simonpercivall/astunparse")
(synopsis "AST unparser for Python")
(description "This package provides an AST unparser for Python. It is a
@@ -22018,7 +22664,7 @@ distribution.")
(base32 "1xv77kzghiqfm4fnvlv0p878ma152dvcfkly3jij89lqigxcw7zq"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-astunparse" ,python-astunparse)))
+ (list python-astunparse))
(home-page "https://pypi.org/project/gast/")
(synopsis "Generic Python AST that abstracts the underlying Python version")
(description
@@ -22040,7 +22686,7 @@ module.")
"08nlnydddfp1jj0cdmshvld1irzngbp3dij928wqsg9ziklm6mw9"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-babel" ,python-babel)))
+ (list python-babel))
(home-page "https://github.com/dahlia/wikidata")
(synopsis "Wikidata client library")
(description
@@ -22062,7 +22708,7 @@ module.")
"1m9aa4qnyj21lbq4sbvmv1vcz7zksss4rz37ddf2hxv4hk8b547w"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(home-page "https://github.com/gnublade/doctest-ignore-unicode")
(synopsis "Ignore Unicode literal prefixes in doctests")
(description
@@ -22103,10 +22749,7 @@ class in a @acronym{DRY, Don't Repeat Yourself} way.")
(arguments
`(#:tests? #f)) ; No tests exist.
(propagated-inputs
- `(("python-extras" ,python-extras)
- ("python-arrow" ,python-arrow)
- ("python-numpy" ,python-numpy)
- ("python-ruamel.yaml" ,python-ruamel.yaml)))
+ (list python-extras python-arrow python-numpy python-ruamel.yaml))
(home-page "https://construct.readthedocs.io")
(synopsis "Declarative and symmetrical parser and builder for binary data")
(description
@@ -22137,12 +22780,9 @@ make your work easier.")
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-vv"))))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-asyncio" ,python-pytest-asyncio)))
+ (list python-pytest python-pytest-cov python-pytest-asyncio))
(propagated-inputs
- `(("python-async-generator" ,python-async-generator)
- ("python-attrs" ,python-attrs)))
+ (list python-async-generator python-attrs))
(home-page "https://github.com/python-trio/outcome")
(synopsis "Capture the outcome of Python function calls")
(description
@@ -22154,13 +22794,13 @@ project.")
(define-public python-trio
(package
(name "python-trio")
- (version "0.17.0")
+ (version "0.19.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "trio" version))
(sha256
- (base32 "0zcxirpdvvl54pbfkgw7vz984879xwvdygqfpggnam24is2zjp78"))))
+ (base32 "1qgg4zhca81dxc1nlmcr5pl1bclmvdp3niqbyslwxs65bs732pl9"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -22171,39 +22811,43 @@ project.")
(setenv "HOME" "/tmp")
#t))
(replace 'check
- (lambda _
- (invoke "pytest" "-vv" "-k"
- (string-append
- ;; This test times out.
- "not test_ki_protection_works"
- ;; Assertion errors.
- " and not test_guest_mode_ki"
- " and not test_run_in_trio_thread_ki"
- ;; These try to raise KeyboardInterrupt which does not work
- ;; in the build environment.
- " and not test_ki_self"
- " and not test_ki_wakes_us_up"
- ;; Failure in name resolution.
- " and not test_getnameinfo"
- " and not test_SocketType_resolve"
- ;; OSError: protocol not found.
- " and not test_getprotobyname")))))))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv" "-k"
+ (string-append
+ ;; This test times out.
+ "not test_ki_protection_works"
+ ;; Assertion errors.
+ " and not test_guest_mode_ki"
+ " and not test_run_in_trio_thread_ki"
+ " and not test_simple_cancel_scope_usage_doesnt_create_cyclic_garbage"
+ " and not test_nursery_cancel_doesnt_create_cyclic_garbage"
+ " and not test_locals_destroyed_promptly_on_cancel"
+ ;; These try to raise KeyboardInterrupt which does not work
+ ;; in the build environment.
+ " and not test_ki_self"
+ " and not test_ki_wakes_us_up"
+ ;; Failure in name resolution.
+ " and not test_getnameinfo"
+ " and not test_SocketType_resolve"
+ ;; OSError: protocol not found.
+ " and not test_getprotobyname"))))))))
(native-inputs
- `(("python-astor" ,python-astor)
- ("python-ipython" ,python-ipython)
- ("python-jedi" ,python-jedi)
- ("python-pylint" ,python-pylint)
- ("python-pyopenssl" ,python-pyopenssl)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-trustme" ,python-trustme)))
+ (list python-astor
+ python-ipython
+ python-jedi
+ python-pylint
+ python-pyopenssl
+ python-pytest
+ python-pytest-cov
+ python-trustme))
(propagated-inputs
- `(("python-attrs" ,python-attrs)
- ("python-idna" ,python-idna)
- ("python-outcome" ,python-outcome)
- ("python-sniffio" ,python-sniffio)
- ("python-sortedcontainers"
- ,python-sortedcontainers)))
+ (list python-async-generator
+ python-attrs
+ python-idna
+ python-outcome
+ python-sniffio
+ python-sortedcontainers))
(home-page "https://github.com/python-trio/trio")
(synopsis "Friendly Python library for async concurrency and I/O")
(description
@@ -22231,15 +22875,10 @@ programs that do multiple things at the same time with parallelized I/O.")
(lambda _
(invoke "pytest" "-vv"))))))
(native-inputs
- `(("python-attrs" ,python-attrs)
- ("python-pytest" ,python-pytest)))
+ (list python-attrs python-pytest))
(propagated-inputs
- `(("python-mypy" ,python-mypy)
- ("python-mypy-extensions"
- ,python-mypy-extensions)
- ("python-trio" ,python-trio)
- ("python-typing-extensions"
- ,python-typing-extensions)))
+ (list python-mypy python-mypy-extensions python-trio
+ python-typing-extensions))
(home-page "https://github.com/python-trio/trio-typing")
(synopsis "Static type checking support for Trio and related projects")
(description
@@ -22295,8 +22934,7 @@ and dates in \"human readable\" forms. For example, it would display
"1zmpdph6zddgrnkkcykh6qk5s46l7s5mzfqrh82m4b5iffn61qv7"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-twisted" ,python-twisted)
- ("python-six" ,python-six)))
+ (list python-twisted python-six))
(home-page "https://github.com/crossbario/txaio")
(synopsis "Compatibility layer between Python asyncio and Twisted")
(description "Txaio provides a compatibility layer between the Python
@@ -22316,7 +22954,7 @@ and dates in \"human readable\" forms. For example, it would display
"14zvz51gzf9i1i3d1sj363ba4rksl6lcf4lz1arl8hpqgcbir8r3"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(home-page "https://github.com/brentp/toolshed/")
(synopsis "Collection of modules and functions for working with data")
(description "This is a collection of well-tested, simple modules and
@@ -22336,7 +22974,7 @@ functions that aim to reduce boilerplate when working with data.")
"1rxn6snn0r32r07g45hdjhh8aa1xzx6fjrm8g62d8vzp46z7rzrp"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(home-page "https://github.com/spotify/annoy/")
(synopsis "Approximate nearest neighbors library")
(description
@@ -22358,8 +22996,7 @@ processes may share the same data.")
"0r79cx4v2dw4hzr0annkkxxis46c8hivq61sr39z6p7lcjsbk1ki"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-dateutil" ,python-dateutil)
- ("python-natsort" ,python-natsort)))
+ (list python-dateutil python-natsort))
(home-page "https://github.com/kiorky/croniter")
(synopsis "Iterate datetime objects with cron-like syntax")
(description
@@ -22382,7 +23019,7 @@ format.")
;; Comptability tests fail so they are disabled.
`(#:tests? #f))
(inputs
- `(("python-dateutil" ,python-dateutil)))
+ (list python-dateutil))
(home-page "https://gitlab.com/doctormo/python-crontab/")
(synopsis "Module for reading and writing crontab files")
(description "This Python module can read, write crontab files, and
@@ -22428,7 +23065,7 @@ by Igor Pavlov.")
(replace 'check
(lambda _ (invoke "nosetests"))))))
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(home-page "https://github.com/pydron/ifaddr")
(synopsis "Network interface and IP address enumeration library")
(description "This package provides a network interface and IP address
@@ -22448,9 +23085,9 @@ enumeration library in Python.")
"0narq8haa3b375vfblbyil77n8bw0wxqnanl91pl0wwwm884mqjb"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(propagated-inputs
- `(("python-ifaddr" ,python-ifaddr)))
+ (list python-ifaddr))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -22516,7 +23153,7 @@ compatible).")
(base32 "00bqdsfx8jgmfz5bgkx10nlw5bfsw11a86f91zkl53snvk45xl3h"))))
(build-system python-build-system)
(inputs
- `(("bdb" ,bdb)))
+ (list bdb))
(arguments
'(#:phases
(modify-phases %standard-phases
@@ -22552,7 +23189,7 @@ Complete support for Berkeley DB Base Replication. Support for RPC.")
"0gdpwdzf1fngsi6jrdyj4qdf6cr7gnnr3zp80dpkzbgz0spskj07"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://dbfread.readthedocs.io")
(synopsis "Read DBF Files with Python")
(description
@@ -22586,7 +23223,7 @@ one-off scripts.")
" " m)))
#t)))))
(native-inputs
- `(("python-freezegun" ,python-freezegun)))
+ (list python-freezegun))
(home-page
"https://github.com/pydanny/cached-property")
(synopsis
@@ -22611,15 +23248,12 @@ time-or-computationally-expensive properties quick and easy and works in Python
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0yi5y9pfpbc4bc4ibr8cblif8ls1wf3k0zawyx86r2qwxxkkyd6k"))))
+ (base32 "1q05pzca3wfwgnbg03l3bagnhh348yx68w4aa91rg3g8zlviwjz1"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-branca" ,python-branca)
- ("python-jinja2" ,python-jinja2)
- ("python-numpy" ,python-numpy)
- ("python-requests" ,python-requests)))
+ (list python-branca python-jinja2 python-numpy python-requests))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/python-visualization/folium")
(synopsis "Make beautiful maps with Leaflet.js & Python")
(description "@code{folium} makes it easy to visualize data that’s been
@@ -22670,7 +23304,7 @@ for manual interpretation.")
"1hpbydpn2alyswiajfbvhzq4c7f36vdmvxy91hgv8l1lb2g2vfrj"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-dateutil" ,python-dateutil)))
+ (list python-dateutil))
(home-page "https://github.com/MKuranowski/pyroutelib3")
(synopsis "Library for simple routing on OSM data")
(description "Library for simple routing on OSM data")
@@ -22689,9 +23323,9 @@ for manual interpretation.")
"0zwhfkrzf3n5847dbnfng92k7ak199l9v6x6ax3dgdidfpm6d2fz"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pyparsing" ,python-pyparsing)))
+ (list python-pyparsing))
(native-inputs
- `(("python-future" ,python-future)))
+ (list python-future))
(home-page "https://github.com/sciunto-org/python-bibtexparser")
(synopsis "Python library to parse BibTeX files")
(description "BibtexParser is a Python library to parse BibTeX files.")
@@ -22700,17 +23334,17 @@ for manual interpretation.")
(define-public python-distro
(package
(name "python-distro")
- (version "1.4.0")
+ (version "1.6.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "distro" version))
(sha256
(base32
- "0mrg75w4ap7mdzyga75yaid9n8bgb345ih5mwjp3plj6v1jxwb9n"))))
+ "09441261dd3c8b2gv15vhw1cryzg60lmgpkk07v6hpwwkyhfbxc3"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/nir0s/distro")
(synopsis
"OS platform information API")
@@ -22741,15 +23375,10 @@ information in various formats.")
(replace 'check
(lambda _ (invoke "pytest"))))))
(propagated-inputs
- `(("python-cairocffi" ,python-cairocffi)
- ("python-cssselect2" ,python-cssselect2)
- ("python-defusedxml" ,python-defusedxml)
- ("python-pillow" ,python-pillow)
- ("python-tinycss2" ,python-tinycss2)))
+ (list python-cairocffi python-cssselect2 python-defusedxml
+ python-pillow python-tinycss2))
(native-inputs
- `(("python-pytest-flake8" ,python-pytest-flake8)
- ("python-pytest-isort" ,python-pytest-isort)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-pytest-flake8 python-pytest-isort python-pytest-runner))
(home-page "https://cairosvg.org/")
(synopsis "SVG to PDF/PS/PNG converter based on Cairo")
(description "CairoSVG is a SVG converter based on Cairo. It can export
@@ -22816,9 +23445,7 @@ converters and more, those based on the library itself.")
(build-system python-build-system)
(arguments '(#:tests? #f)) ;missing dependencies
(propagated-inputs
- `(("python-dateutil" ,python-dateutil)
- ("python-docopt" ,python-docopt)
- ("python-pyyaml" ,python-pyyaml)))
+ (list python-dateutil python-docopt python-pyyaml))
(home-page "https://github.com/grokzen/pykwalify")
(synopsis
"Python lib/cli for JSON/YAML schema validation")
@@ -22830,31 +23457,34 @@ for YAML and JSON.")
(define-public python-dbusmock
(package
(name "python-dbusmock")
- (version "0.18.3")
+ (version "0.24.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-dbusmock" version))
(sha256
(base32
- "0hp2kyac88nh9iv6l8hlmv7s1sa1s5f1a3wc2pmlmmxnd211fjlr"))))
+ "0kvjwn5sdp3rqcbclvxljkmk988l12dvppzfn3ldy3jxbyyn1mjn"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-shell-path
- (lambda _
+ (add-after 'unpack 'patch-paths
+ (lambda* (#:key inputs #:allow-other-keys)
(substitute* "tests/test_code.py"
(("/bin/bash") (which "bash")))
- #t)))))
+ (substitute* "dbusmock/testcase.py"
+ (("'dbus-daemon'")
+ (string-append "'" (assoc-ref inputs "dbus")
+ "/bin/dbus-daemon'"))))))))
(native-inputs
- `(;; For tests.
- ("dbus" ,dbus) ; for dbus-daemon
- ("python-nose" ,python-nose)
- ("which" ,which)))
+ (list ;; For tests.
+ dbus ; for dbus-daemon
+ python-nose which))
+ (inputs
+ (list dbus))
(propagated-inputs
- `(("python-dbus" ,python-dbus)
- ("python-pygobject" ,python-pygobject)))
+ (list python-dbus python-pygobject))
(home-page "https://github.com/martinpitt/python-dbusmock")
(synopsis "Python library for mock D-Bus objects")
(description "python-dbusmock allows for the easy creation of mock objects on
@@ -22879,9 +23509,7 @@ services to what you expect in your tests.")
;; XXX: No tests on PyPI, and the repository has no tags.
(arguments '(#:tests? #f))
(propagated-inputs
- `(("python-dateutil" ,python-dateutil)
- ("python-simplejson" ,python-simplejson)
- ("python-sortedcontainers" ,python-sortedcontainers)))
+ (list python-dateutil python-simplejson python-sortedcontainers))
(synopsis "Serialize Python types to/from JSON")
(description
"This package provides functionality to serialize arbitrary data types
@@ -22923,9 +23551,7 @@ register custom encoders and decoders.")
(add-installed-pythonpath inputs outputs)
(invoke "pytest"))))))
(native-inputs
- `(("double-conversion" ,double-conversion)
- ("python-setuptools-scm" ,python-setuptools-scm)
- ("python-pytest" ,python-pytest)))
+ (list double-conversion python-setuptools-scm python-pytest))
(home-page "https://github.com/ultrajson/ultrajson")
(synopsis "Ultra fast JSON encoder and decoder for Python")
(description
@@ -22961,10 +23587,7 @@ bindings for Python 3.")
(invoke "py.test" "-v" "tests")
#t)))))
(propagated-inputs
- `(("python-flexmock" ,python-flexmock)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-six" ,python-six)))
+ (list python-flexmock python-pytest python-pytest-cov python-six))
(home-page "https://github.com/oinume/iocapture")
(synopsis "Python capturing tool for stdout and stderr")
(description
@@ -23032,20 +23655,18 @@ standard error channel (stderr) in your program.")
" and not test_send_receive"
" and not test_socket_options"))))))))
(propagated-inputs
- `(("python-idna" ,python-idna)
- ("python-sniffio" ,python-sniffio)
- ("python-typing-extensions" ,python-typing-extensions)))
+ (list python-idna python-sniffio python-typing-extensions))
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-hypothesis" ,python-hypothesis)
- ("python-iniconfig" ,python-iniconfig)
- ("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest-6)
- ("python-pytest-mock" ,python-pytest-mock)
- ("python-pytest-trio" ,python-pytest-trio)
- ("python-setuptools-scm" ,python-setuptools-scm)
- ("python-trustme" ,python-trustme)
- ("python-uvloop" ,python-uvloop)))
+ (list python-coverage
+ python-hypothesis
+ python-iniconfig
+ python-mock
+ python-pytest-6
+ python-pytest-mock
+ python-pytest-trio
+ python-setuptools-scm
+ python-trustme
+ python-uvloop))
(home-page "https://github.com/agronholm/anyio")
(synopsis "Compatibility layer for multiple asynchronous event loops")
(description
@@ -23075,11 +23696,8 @@ itself.")
"1p5h3dnpbsjmqrvil96s71asc6i3gpinmbrabqmwnrsxprz7r3ns"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-iocapture" ,python-iocapture)
- ("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-xdist" ,python-pytest-xdist)))
+ (list python-iocapture python-mock python-pytest python-pytest-cov
+ python-pytest-xdist))
(home-page "https://github.com/neithere/argh/")
(synopsis "Argparse wrapper with natural syntax")
(description
@@ -23104,7 +23722,7 @@ including the native API of @code{python-argparse}.")
(build-system python-build-system)
(arguments '(#:tests? #f)) ; there are none
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(home-page "https://pypi.org/project/ppft/")
(synopsis "Fork of Parallel Python")
(description
@@ -23139,8 +23757,7 @@ load balancing.")
(invoke "py.test" "-vv")
#t)))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("which" ,which)))
+ (list python-pytest which))
(home-page "https://pypi.org/project/pox/")
(synopsis "Python utilities for file system exploration and automated builds")
(description
@@ -23172,12 +23789,9 @@ essential tools are located.")
(lambda _
(invoke "python" "./tests/__main__.py"))))))
(propagated-inputs
- `(("python-dill" ,python-dill)
- ("python-multiprocess" ,python-multiprocess)
- ("python-pox" ,python-pox)
- ("python-ppft" ,python-ppft)))
+ (list python-dill python-multiprocess python-pox python-ppft))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://pypi.org/project/pathos/")
(synopsis
"Parallel graph management and execution in heterogeneous computing")
@@ -23192,7 +23806,7 @@ the syntactic logic to configure and launch jobs in an execution environment.")
(define-public python-flit
(package
(name "python-flit")
- (version "3.2.0")
+ (version "3.3.0")
;; We fetch the sources via git because on pypi the package is split into
;; two parts: flit and flit_core; flit_core cannot be built without flit.
(source (origin
@@ -23203,7 +23817,7 @@ the syntactic logic to configure and launch jobs in an execution environment.")
(file-name (git-file-name name version))
(sha256
(base32
- "0fpqxpz5bv2xpv1akmc0c8yfss6sj09wdzxrlf3qw1lp1jhbzpyc"))))
+ "0mvyymw3zqsnip4x4ca6anr5rbx30hcmpqwrnhjwcm7s8mycd01x"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -23248,8 +23862,7 @@ the syntactic logic to configure and launch jobs in an execution environment.")
(find-files "dist" "\\.whl$")))))))
#:tests? #f)) ; XXX: Check requires network access.
(propagated-inputs
- `(("python-pytoml" ,python-pytoml)
- ("python-toml" ,python-toml)))
+ (list python-pytoml python-toml))
(native-inputs
`(("python-docutils" ,python-docutils)
("python-responses" ,python-responses)
@@ -23334,7 +23947,7 @@ scripts to load entry points more quickly.")
(base32
"07f9cgjr3h4j2m67fhwapn8fja87vazl58zsj4yppf9y3an2x6dp"))))
(native-inputs
- `(("python-tox" ,python-tox)))
+ (list python-tox))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -23365,7 +23978,7 @@ that take parsers as their arguments and return them as result values.")
(arguments
`(#:tests? #f)) ;FIXME: tests fail, not sure why
(native-inputs
- `(("unzip" ,unzip)))
+ (list unzip))
(build-system python-build-system)
(home-page "https://github.com/avakar/speg")
(synopsis "PEG-based parser interpreter with memoization")
@@ -23385,57 +23998,13 @@ memoization.")
(base32 "00cyvigg4npbph39ghkg77xbxisa6plf75vii24igxfizik0337f"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-speg" ,python-speg)))
+ (list python-speg))
(home-page "https://github.com/avakar/pycson")
(synopsis "Parser for Coffeescript Object Notation (CSON)")
(description "This package is a parser for Coffeescript Object
Notation (CSON).")
(license license:expat)))
-(define-public python-asynctest
- (package
- (name "python-asynctest")
- (version "0.13.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "asynctest" version))
- (sha256
- (base32
- "1b3zsy7p84gag6q8ai2ylyrhx213qdk2h2zb6im3xn0m5n264y62"))))
- (build-system python-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "python" "-X" "dev" "-m" "unittest" "-v" "test")))
- (add-after 'unpack 'disable-tests
- (lambda* _
- ;; XXX: 7 tests fail out of 220. Disable them for now.
- (substitute* (list "test/test_selector.py"
- "test/test_mock.py")
- (("def test_events_watched_outside_test_are_ignored")
- "@unittest.skip('disabled by guix')
- def test_events_watched_outside_test_are_ignored")
- (("def test_awaited_from_autospec_mock.*" line)
- (string-append line " return True\n"))
- (("def test_create_autospec_on_coroutine_and_using_assert_methods.*" line)
- (string-append line " return True\n"))
- (("def test_patch_coroutine_with_multiple_scopes.*" line)
- (string-append line " return True\n"))
- (("def test_multiple_patches_on_coroutine.*" line)
- (string-append line " return True\n"))
- (("def test_patch_coroutine_only_when_running.*" line)
- (string-append line " return True\n")))
- #t)))))
- (home-page "https://github.com/Martiusweb/asynctest")
- (synopsis "Extension of unittest for testing asyncio libraries")
- (description
- "The package asynctest is built on top of the standard unittest module
-and cuts down boilerplate code when testing libraries for asyncio.")
- (license license:asl2.0)))
-
(define-public python-aionotify
(package
(name "python-aionotify")
@@ -23480,8 +24049,7 @@ and cuts down boilerplate code when testing libraries for asyncio.")
(lambda _
(invoke "make" "SKIP_DEPS=1"))))))
(native-inputs
- `(("python-nose" ,python-nose)
- ("python-coverage" ,python-coverage)))
+ (list python-nose python-coverage))
(home-page "https://github.com/clarete/forbiddenfruit")
(synopsis "Patch python built-in objects")
(description "This project allows Python code to extend built-in types.")
@@ -23500,11 +24068,10 @@ and cuts down boilerplate code when testing libraries for asyncio.")
"1lqp3jgfngyhaxjgj3n230hn90wsylwilh120yjf62h7b1s02mh8"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-six" ,python-six)
- ;; `which`, `kadmin.local` binaries called inside library
- ("which" ,which)
- ("mit-krb5" ,mit-krb5)))
- (native-inputs `(("mit-krb5" ,mit-krb5)))
+ (list python-six
+ ;; `which`, `kadmin.local` binaries called inside library
+ which mit-krb5))
+ (native-inputs (list mit-krb5))
(arguments
'(#:phases
(modify-phases %standard-phases
@@ -23537,15 +24104,12 @@ tests.")
"1j2idrbrbczykzlb56q1bn0ivc9c0rjjljpk4yz86xn3gxfkpv8n"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-decorator" ,python-decorator)
- ("python-six" ,python-six)))
+ (list python-decorator python-six))
(inputs
- `(("mit-krb5" ,mit-krb5)))
+ (list mit-krb5))
;; for tests
(native-inputs
- `(("python-parameterized" ,python-parameterized)
- ("python-k5test" ,python-k5test)
- ("python-nose" ,python-nose)))
+ (list python-parameterized python-k5test python-nose))
(home-page "https://github.com/pythongssapi/python-gssapi")
(synopsis "Python GSSAPI Wrapper")
(description
@@ -23567,8 +24131,7 @@ also be usable with other GSSAPI mechanisms.")
"0lk45ifdv2cpkl6ayfyix7jwmnxa1rha7xvb0ih5999k115wzqs4"))))
(build-system python-build-system)
(native-inputs
- `(("python-mock" ,python-mock)
- ("git" ,git)))
+ (list python-mock git))
(home-page "https://github.com/mgedmin/check-manifest")
(synopsis "Check MANIFEST.in in a Python source package for completeness")
(description "Python package can include a MANIFEST.in file to help with
@@ -23620,12 +24183,9 @@ files. These files are used to translate strings in android apps.")
(delete-file "tests/test_snapshot_diff.py")
#t)))))
(propagated-inputs
- `(("python-argh" ,python-argh)
- ("python-pathtools" ,python-pathtools)
- ("python-pyyaml" ,python-pyyaml)))
+ (list python-argh python-pathtools python-pyyaml))
(native-inputs
- `(("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-timeout" ,python-pytest-timeout)))
+ (list python-pytest-cov python-pytest-timeout))
(home-page "https://github.com/gorakhargosh/watchdog")
(synopsis "File system events monitoring")
(description "This package provides a way to monitor file system events
@@ -23636,7 +24196,7 @@ but portable.")
(define-public python-watchgod
(package
(name "python-watchgod")
- (version "0.6")
+ (version "0.7")
(source
(origin
;; There are no tests in the PyPI tarball.
@@ -23646,7 +24206,7 @@ but portable.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1lqx44wkryakgpyqj3m0hsz61bqr07vc7smgzh188374hwvscp66"))))
+ (base32 "1w2xsidwp9n4giqhja0bzw7rwrh01db0kdxf2n54mv3dkx545jpq"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -23656,19 +24216,14 @@ but portable.")
(when tests?
(invoke "pytest" "-vv")))))))
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-docutils" ,python-docutils)
- ("python-flake8" ,python-flake8)
- ("python-isort" ,python-isort)
- ("python-pycodestyle" ,python-pycodestyle)
- ("python-pyflakes" ,python-pyflakes)
- ("python-pygments" ,python-pygments)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-aiohttp" ,python-pytest-aiohttp)
- ("python-pytest-mock" ,python-pytest-mock)
- ("python-pytest-sugar" ,python-pytest-sugar)
- ("python-pytest-toolbox" ,python-pytest-toolbox)))
+ (list python-coverage
+ python-pygments
+ python-pytest
+ python-pytest-asyncio
+ python-pytest-cov
+ python-pytest-mock
+ python-pytest-sugar
+ python-pytest-toolbox))
(home-page "https://github.com/samuelcolvin/watchgod")
(synopsis "Simple, modern file watching and code reload in Python")
(description
@@ -23689,7 +24244,7 @@ operating systems and an elegant approach to concurrency using threading.")
(base32
"0qb0y7ipby42m4m7h0ipazpdyc3bn9xi46lvifcwwl5albn31rim"))))
(build-system python-build-system)
- (native-inputs `(("unzip" ,unzip)))
+ (native-inputs (list unzip))
(home-page "https://bitbucket.org/techtonik/python-wget/")
(synopsis "Pure Python download utility")
(description "The python-wget library provides an API to download files
@@ -23715,21 +24270,21 @@ with features similar to the @command{wget} utility.")
;; No tests
`(#:tests? #f))
(propagated-inputs
- `(("python-android-stringslib" ,python-android-stringslib)
- ("python-dateutil" ,python-dateutil)
- ("python-gitlab" ,python-gitlab)
- ("python-lxml" ,python-lxml)
- ("python-polib" ,python-polib)
- ("python-pyenchant" ,python-pyenchant)
- ("python-pygit2" ,python-pygit2)
- ("python-pygithub" ,python-pygithub)
- ("python-pyqt" ,python-pyqt)
- ("python-requests" ,python-requests)
- ("python-ruamel.yaml" ,python-ruamel.yaml)
- ("python-translation-finder" ,python-translation-finder)
- ("python-watchdog" ,python-watchdog)))
+ (list python-android-stringslib
+ python-dateutil
+ python-gitlab
+ python-lxml
+ python-polib
+ python-pyenchant
+ python-pygit2
+ python-pygithub
+ python-pyqt
+ python-requests
+ python-ruamel.yaml
+ python-translation-finder
+ python-watchdog))
(native-inputs
- `(("qttools" ,qttools)))
+ (list qttools))
(home-page "https://framagit.org/tyreunom/offlate")
(synopsis "Offline translation interface for online translation tools")
(description "Offlate offers a unified interface for different translation
@@ -23753,7 +24308,7 @@ an upload option to send your work back to the platform.")
"0486i99wf8ssa7sgn81fn6fv6i4rhhq6n751bc740b3hzfbpmpl4"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(home-page "https://github.com/ppannuto/python-titlecase")
(synopsis "Capitalize strings similar to book titles")
(description
@@ -23805,11 +24360,9 @@ custom PNG processing.")
"1s00zn75y2dkxgnbw8kl8dw4p1mc77cv78fwfa4yb0274s96w0a5"))))
(build-system python-build-system)
(native-inputs
- `(("python-hypothesis" ,python-hypothesis)
- ("python-pycodestyle" ,python-pycodestyle)
- ("python-pytest" ,python-pytest)))
+ (list python-hypothesis python-pycodestyle python-pytest))
(propagated-inputs
- `(("python-levenshtein" ,python-levenshtein)))
+ (list python-levenshtein))
(home-page "https://github.com/seatgeek/fuzzywuzzy")
(synopsis "Fuzzy string matching in Python")
(description "Approximate string matching using
@@ -23854,8 +24407,7 @@ your process.")
"0gyady7x3v3l9fm1zan0idaggqqcm31y7g5vxk7h05p5h7f39bjs"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-lxml" ,python-lxml)
- ("python-jinja2" ,python-jinja2)))
+ (list python-lxml python-jinja2))
(home-page "https://gcovr.com/")
(synopsis "Utility for generating code coverage results")
(description
@@ -23903,13 +24455,13 @@ content models.")
;; Testing requires undocumented setup changes, and so testing is disabled here.
(arguments `(#:tests? #f))
(propagated-inputs
- `(("python-certifi" ,python-certifi)
- ("python-six" ,python-six)
- ("python-dateutil" ,python-dateutil)
- ("python-urllib3" ,python-urllib3)
- ("python-pyjwt" ,python-pyjwt)
- ("python-cryptography" ,python-cryptography)
- ("python-nose" ,python-nose)))
+ (list python-certifi
+ python-six
+ python-dateutil
+ python-urllib3
+ python-pyjwt
+ python-cryptography
+ python-nose))
(synopsis "DocuSign Python Client")
(description "The Official DocuSign Python Client Library used to interact
with the eSign REST API. Send, sign, and approve documents using this client.")
@@ -23929,7 +24481,7 @@ content models.")
"0i4xyiqbhjz2g16zbim17zjdbjkw79xsw8k59942vvq4is1cmfxh"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-cffi" ,python-cffi)))
+ (list python-cffi))
(home-page "https://github.com/xattr/xattr")
(synopsis
"Python wrapper for extended file system attributes")
@@ -23972,12 +24524,9 @@ we can stop writing custom parsers for syslog-type records.")
"1qmank3c217ddiig3xr8ps0mqaydcp0q5a62in9a9g4zf72zjnqd"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-json-logger" ,python-json-logger)))
+ (list python-json-logger))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)
- ("python-setuptools-scm" ,python-setuptools-scm)
- ("python-six" ,python-six)))
+ (list python-mock python-pytest python-setuptools-scm python-six))
(home-page "https://github.com/jd/daiquiri")
(synopsis
"Library to configure Python logging easily")
@@ -24005,20 +24554,17 @@ logging in Python. It also provides some custom formatters and handlers.")
(invoke "python" "setup.py" "testr" "--slowest"
"--testr-args=until-failure"))))))
(propagated-inputs
- `(("python-click" ,python-click)
- ("python-daiquiri" ,python-daiquiri)
- ("python-fixtures" ,python-fixtures)
- ("python-jinja2" ,python-jinja2)
- ("python-pbr" ,python-pbr)
- ("python-psutil" ,python-psutil)
- ("python-six" ,python-six)
- ("python-xattr" ,python-xattr)))
+ (list python-click
+ python-daiquiri
+ python-fixtures
+ python-jinja2
+ python-pbr
+ python-psutil
+ python-six
+ python-xattr))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-os-testr" ,python-os-testr)
- ("python-requests" ,python-requests)
- ("python-testrepository" ,python-testrepository)
- ("python-testtools" ,python-testtools)))
+ (list python-mock python-os-testr python-requests
+ python-testrepository python-testtools))
(home-page "https://github.com/jd/pifpaf")
(synopsis "Tools and fixtures to manage daemons for testing in Python")
(description "Pifpaf is a suite of fixtures and a command-line tool that
@@ -24041,14 +24587,14 @@ evolved from its precursor @code{overtest}.")
"12x3wmrdzm6wgk0vz02hb769h68nr49q47w5q1pj95pc89hsa34v"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-docutils" ,python-docutils)
- ("python-html5lib" ,python-html5lib)
- ("python-nbconvert" ,python-nbconvert)
- ("python-nbformat" ,python-nbformat)
- ("python-pytest" ,python-pytest)
- ("python-six" ,python-six)))
+ (list python-docutils
+ python-html5lib
+ python-nbconvert
+ python-nbformat
+ python-pytest
+ python-six))
(native-inputs
- `(("python-pbr-minimal" ,python-pbr-minimal)))
+ (list python-pbr-minimal))
(home-page "https://github.com/minrk/pytest-check-links")
(synopsis "Check links in files")
(description "This package provides a pytest plugin that checks URLs for
@@ -24101,19 +24647,40 @@ replacement for dictionaries where immutability is desired.")
(define-public python-unpaddedbase64
(package
(name "python-unpaddedbase64")
- (version "1.1.0")
+ (version "2.1.0")
(source
(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/matrix-org/python-unpaddedbase64")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
+ (method url-fetch)
+ (uri (pypi-uri "unpaddedbase64" version))
(sha256
- (base32
- "0if3fjfxga0bwdq47v77fs9hrcqpmwdxry2i2a7pdqsp95258nxd"))))
+ (base32 "01ghlmw63fgslwj8j74vkpf1kqvr7a4agm6nyn89vqwx106ccwvj"))))
(build-system python-build-system)
- (home-page "https://pypi.org/project/unpaddedbase64/")
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs tests? #:allow-other-keys)
+ (when tests?
+ (copy-recursively (string-append
+ (assoc-ref inputs "tests") "/tests")
+ "tests")
+ (invoke "python" "-m" "pytest" "-vv")))))))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("tests"
+ ;; The release on pypi comes without tests. We can't build from this
+ ;; checkout, though, because installation requires an invocation of
+ ;; poetry.
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/matrix-org/python-unpaddedbase64")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1n6har8pxv0mqb96lanzihp1xf76aa17jw3977drb1fgz947pnmz"))))))
+ (home-page "https://github.com/matrix-org/python-unpaddedbase64")
(synopsis "Encode and decode Base64 without “=” padding")
(description
"RFC 4648 specifies that Base64 should be padded to a multiple of 4 bytes
@@ -24152,9 +24719,7 @@ information for your operating system.")
(base32 "0c86g0vvzdcg3nrcsqnbzlfhpprc2i894p8i14hska56yl27d6w9"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-six" ,python-six)
- ("python-frozendict" ,python-frozendict)
- ("python-simplejson" ,python-simplejson)))
+ (list python-six python-frozendict python-simplejson))
(home-page "https://github.com/matrix-org/python-canonicaljson")
(synopsis "Canonical JSON")
(description
@@ -24184,13 +24749,10 @@ information for your operating system.")
(base32 "0280f8zyycsmd7iy65bs438flm7m8ffs1kcxfbvhi8hbazkqc19m"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-canonicaljson" ,python-canonicaljson)
- ("python-importlib-metadata" ,python-importlib-metadata)
- ("python-pynacl" ,python-pynacl)
- ("python-typing-extensions" ,python-typing-extensions)
- ("python-unpaddedbase64" ,python-unpaddedbase64)))
+ (list python-canonicaljson python-importlib-metadata python-pynacl
+ python-typing-extensions python-unpaddedbase64))
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)))
+ (list python-setuptools-scm))
(home-page "https://github.com/matrix-org/python-signedjson")
(synopsis "Sign JSON objects with ED25519 signatures")
(description
@@ -24234,8 +24796,7 @@ key.
(base32 "1f0357a6g1h96sk6wy030xmc1p4rd80a999qvxd28v7nlm1blsqy"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-six" ,python-six)
- ("python-pynacl" ,python-pynacl)))
+ (list python-six python-pynacl))
(home-page "https://github.com/ecordell/pymacaroons")
(synopsis "Python Macaroon Library")
(description
@@ -24272,10 +24833,9 @@ enforcement of that policy.")
(invoke "nosetests" "-s" "test"))
#t)))))
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(propagated-inputs
- `(("python-gssapi" ,python-gssapi)
- ("python-pyasn1" ,python-pyasn1)))
+ (list python-gssapi python-pyasn1))
(synopsis "Python LDAP client")
(description
"LDAP3 is a strictly RFC 4510 conforming LDAP V3 pure Python client
@@ -24316,13 +24876,13 @@ tbutils
(define-public python-eliot
(package
(name "python-eliot")
- (version "1.12.0")
+ (version "1.13.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "eliot" version))
(sha256
- (base32 "0wabv7hk63l12881f4zw02mmj06583qsx2im0yywdjlj8f56vqdn"))))
+ (base32 "1xzzhsjrrw430dc84vamf683bwp9i0nr86xf2iav6yla615ijq2p"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -24338,25 +24898,33 @@ tbutils
;; be installed and these tests should pass.
(lambda _
(delete-file "eliot/tests/test_prettyprint.py")
+ #t))
+ (add-after 'remove-eliot-prettyprint-tests 'remove-failing-tests
+ (lambda _
+ ;; These tests started to fail after updating python-pandas to
+ ;; 1.3.3 and python-dask to 2021.9.1.
+ (substitute* "eliot/tests/test_validation.py"
+ (("test_omitLoggerFromActionType")
+ "_test_omitLoggerFromActionType")
+ (("test_logCallsDefaultLoggerWrite")
+ "_test_logCallsDefaultLoggerWrite"))
#t)))))
(propagated-inputs
- `(("python-boltons" ,python-boltons)
- ("python-pyrsistent" ,python-pyrsistent)
- ("python-six" ,python-six)
- ("python-zope-interface" ,python-zope-interface)))
+ (list python-boltons python-pyrsistent python-six
+ python-zope-interface))
(native-inputs
- `(("python-black" ,python-black)
- ("python-coverage" ,python-coverage)
- ("python-dask" ,python-dask)
- ("python-flake8" ,python-flake8)
- ("python-hypothesis" ,python-hypothesis)
- ("python-pytest" ,python-pytest)
- ("python-setuptools" ,python-setuptools)
- ("python-sphinx" ,python-sphinx)
- ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)
- ("python-testtools" ,python-testtools)
- ("python-twine" ,python-twine)
- ("python-twisted" ,python-twisted)))
+ (list python-black
+ python-coverage
+ python-dask
+ python-flake8
+ python-hypothesis
+ python-pytest
+ python-setuptools
+ python-sphinx
+ python-sphinx-rtd-theme
+ python-testtools
+ python-twine
+ python-twisted))
(home-page "https://github.com/itamarst/eliot/")
(synopsis "Eliot: the logging system that tells you why it happened")
(description
@@ -24379,13 +24947,13 @@ happened, and what caused it.")
"1xh88ss279fprxnzd10dczmqwjhppbyvljm33zrg2mgybwd66qr7"))))
(build-system python-build-system)
(native-inputs
- `(("python-certifi" ,python-certifi)
- ("python-coverage" ,python-coverage)
- ("python-pretend" ,python-pretend)
- ("python-pyopenssl" ,python-pyopenssl)
- ("python-pytest" ,python-pytest)
- ("python-sphinx" ,python-sphinx)
- ("python-twisted" ,python-twisted)))
+ (list python-certifi
+ python-coverage
+ python-pretend
+ python-pyopenssl
+ python-pytest
+ python-sphinx
+ python-twisted))
(home-page "https://pem.readthedocs.io/")
(synopsis "Easy PEM file parsing in Python")
(description
@@ -24411,9 +24979,7 @@ happened, and what caused it.")
"0imfxx4yjj1lbq0n5ad45al3wvv4qv96sivnc1r51i66mxi658z8"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pyopenssl" ,python-pyopenssl)
- ("python-service-identity" ,python-service-identity)
- ("python-twisted" ,python-twisted)))
+ (list python-pyopenssl python-service-identity python-twisted))
(synopsis "Run TLS servers with Twisted")
(description
"This package provides an easy-to-use SNI endpoint for use
@@ -24432,23 +24998,22 @@ with the Twisted web framework.")
(base32 "1cplx4llq7i508w6fgwjdv9di7rsz9k9irfmzdfbiz6q6a0ykf1d"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-acme" ,python-acme)
- ("python-attrs" ,python-attrs)
- ("python-eliot" ,python-eliot)
- ("python-josepy" ,python-josepy)
- ("python-pem" ,python-pem)
- ("python-treq" ,python-treq)
- ("python-twisted" ,python-twisted)
- ("python-txsni" ,python-txsni)))
+ (list python-acme
+ python-attrs
+ python-eliot
+ python-josepy
+ python-pem
+ python-treq
+ python-twisted
+ python-txsni))
(native-inputs
- `(("python-fixtures" ,python-fixtures)
- ("python-hypothesis" ,python-hypothesis)
- ("python-mock" ,python-mock)
- ("python-service-identity"
- ,python-service-identity)
- ("python-testrepository" ,python-testrepository)
- ("python-testscenarios" ,python-testscenarios)
- ("python-testtools" ,python-testtools)))
+ (list python-fixtures
+ python-hypothesis
+ python-mock
+ python-service-identity
+ python-testrepository
+ python-testscenarios
+ python-testtools))
(home-page "https://github.com/twisted/txacme")
(synopsis "Twisted implexmentation of the ACME protocol")
(description
@@ -24474,16 +25039,15 @@ networking engine for Python.")
"1xk2x0slz1f8cqv7vn77qx99xfd1mshhswiwrljk9m72w2m9iivd"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-cryptography" ,python-cryptography)
- ("python-dateutil" ,python-dateutil)
- ("python-defusedxml" ,python-defusedxml)
- ("python-importlib-resources"
- ,python-importlib-resources)
- ("python-pyopenssl" ,python-pyopenssl)
- ("python-pytz" ,python-pytz)
- ("python-requests" ,python-requests)
- ("python-six" ,python-six)
- ("python-xmlschema" ,python-xmlschema)))
+ (list python-cryptography
+ python-dateutil
+ python-defusedxml
+ python-importlib-resources
+ python-pyopenssl
+ python-pytz
+ python-requests
+ python-six
+ python-xmlschema))
(home-page "https://idpy.org")
(synopsis "Python implementation of SAML Version 2 Standard")
(description
@@ -24507,9 +25071,9 @@ there are extensions that allow you to use it with other frameworks.")
(base32 "0jr6bxj67vg988vkm6nz8jj98v9lg46bn49lkhak3n598jbrkas6"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(propagated-inputs
- `(("python-click" ,python-click)))
+ (list python-click))
(synopsis "Extension for Click to register external CLI commands")
(description "This package provides n extension module for Click to
register external CLI commands via setuptools entry-points.")
@@ -24529,9 +25093,7 @@ register external CLI commands via setuptools entry-points.")
"0klb0ysybzlh2wihvir82hgq62v0jjmlcqklwajyms7c0p529yby"))))
(build-system python-build-system)
(native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-coverage python-pytest python-pytest-runner))
(home-page "https://github.com/ulif/diceware/")
(synopsis "Generates memorable passphrases")
(description "This package generates passphrases by concatenating words
@@ -24552,18 +25114,18 @@ cryptographically signed ones).")
"1lk3qmy1hkaphk4n7ayfk0wl6m2yvd6r7qkam6yncqfzgkbc1phs"))))
(build-system python-build-system)
(native-inputs
- `(("python-check-manifest" ,python-check-manifest)
- ("python-coverage" ,python-coverage)
- ("python-isort" ,python-isort)
- ("python-mock" ,python-mock)
- ("python-pydoctstyle" ,python-pydocstyle)
- ("python-pytest-cache" ,python-pytest-cache)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-pep8" ,python-pytest-pep8)
- ("python-pytest-runner" ,python-pytest-runner)
- ("python-pytest" ,python-pytest)
- ("python-setuptools-scm" ,python-setuptools-scm)
- ("python-tox" ,python-tox)))
+ (list python-check-manifest
+ python-coverage
+ python-isort
+ python-mock
+ python-pydocstyle
+ python-pytest-cache
+ python-pytest-cov
+ python-pytest-pep8
+ python-pytest-runner
+ python-pytest
+ python-setuptools-scm
+ python-tox))
(home-page "https://github.com/inveniosoftware/dictdiffer")
(synopsis "Diff and patch Python dictionary objects")
(description
@@ -24574,13 +25136,13 @@ dictionaries.")
(define-public pyzo
(package
(name "pyzo")
- (version "4.11.2")
+ (version "4.11.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyzo" version))
(sha256
- (base32 "1jk5f79lj09vnsdk9h01w21p9h49z2hhf8xhkx8471pjbg9vrlzr"))))
+ (base32 "1qa007nw464r7jw8y8fqf17jx473q55p5ay5bh8kq55v0zyi27yn"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -24588,13 +25150,12 @@ dictionaries.")
(add-before 'check 'fix-home-directory
(lambda _
;; Tests fail with "Permission denied: '/homeless-shelter'".
- (setenv "HOME" "/tmp")
- #t)))
+ (setenv "HOME" "/tmp"))))
;; Tests fail with "Uncaught Python exception: python: undefined
;; symbol: objc_getClass".
#:tests? #f))
(propagated-inputs
- `(("python-pyqt" ,python-pyqt)))
+ (list python-pyqt))
(home-page "https://pyzo.org")
(synopsis
"Python IDE for scientific computing")
@@ -24642,7 +25203,7 @@ Open Sound Control 1.0} specification.")
"0mplkcpb5d8wjf8vk195fys4y6a3wbibiyf708imw33lphfk9g1a"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(home-page "https://github.com/alecthomas/voluptuous")
(synopsis "Python data validation library")
(description
@@ -24663,27 +25224,24 @@ intended for validating data coming into Python as JSON, YAML, etc.")
"1f18plbc9yyvhn0js3d2bii9yld8zfl775gxsaw9jza5pmlg9ss2"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-attrs" ,python-attrs)
- ("python-colorama" ,python-colorama)
- ("python-pyperclip" ,python-pyperclip)
- ("python-wcwidth" ,python-wcwidth)))
+ (list python-attrs python-colorama python-pyperclip python-wcwidth))
(native-inputs
- `(("python-codecov" ,python-codecov)
- ("python-coverage" ,python-coverage)
- ("python-doc8" ,python-doc8)
- ("python-flake8" ,python-flake8)
- ("python-invoke" ,python-invoke)
- ("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-mock" ,python-pytest-mock)
- ("python-setuptools-scm" ,python-setuptools-scm)
- ("python-sphinx" ,python-sphinx)
- ("python-sphinx-autobuild" ,python-sphinx-autobuild)
- ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)
- ("python-tox" ,python-tox)
- ("python-twine" ,python-twine)
- ("which" ,which)))
+ (list python-codecov
+ python-coverage
+ python-doc8
+ python-flake8
+ python-invoke
+ python-mock
+ python-pytest
+ python-pytest-cov
+ python-pytest-mock
+ python-setuptools-scm
+ python-sphinx
+ python-sphinx-autobuild
+ python-sphinx-rtd-theme
+ python-tox
+ python-twine
+ which))
(home-page "https://github.com/python-cmd2/cmd2")
(synopsis "Tool for building interactive command line applications")
(description
@@ -24717,7 +25275,7 @@ be necessary when using @code{cmd}.")
(("ctypes\\.util\\.find_library\\('tidy'\\)")
(format #f "'~a'" libtidy)))
#t))))))
- (inputs `(("tidy" ,tidy)))
+ (inputs (list tidy))
(home-page "https://github.com/countergram/pytidylib")
(synopsis "Python wrapper for HTML Tidy library")
(description
@@ -24805,7 +25363,7 @@ For the most part it's transliterated from C, the major differences are:
#t))))
#:tests? #f)) ; _curses.error: setupterm: could not find terminal
(native-inputs
- `(("ncurses" ,ncurses)))
+ (list ncurses))
(home-page "https://github.com/Rockhopper-Technologies/jinxed")
(synopsis "Jinxed Terminal Library")
(description
@@ -24825,7 +25383,7 @@ For the most part it's transliterated from C, the major differences are:
"0lz0w2ajdvwd269a7ppnzawmx8px0116j0nx8xvhlihxrd28zx4y"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-lxml" ,python-lxml)))
+ (list python-lxml))
(home-page "https://svgutils.readthedocs.io")
(synopsis "Python SVG editor")
(description "This is an utility package that helps with editing and
@@ -24852,12 +25410,9 @@ placement and scaling of SVG figures and adding markers, such as labels.")
(delete-file "blessed/win_terminal.py") #t))))
(build-system python-build-system)
(propagated-inputs
- `(("python-jinxed" ,python-jinxed)
- ("python-six" ,python-six)
- ("python-wcwidth" ,python-wcwidth)))
+ (list python-jinxed python-six python-wcwidth))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)))
+ (list python-mock python-pytest))
(home-page "https://github.com/jquast/blessed")
(synopsis "Wrapper around terminal capabilities")
(description
@@ -24878,13 +25433,9 @@ positioning, and keyboard input.")
"13fnrv7z3y0yfafzcjbl55cqxncvbxadr72ql4l29pgyvrqxpsfb"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-bleach" ,python-bleach)
- ("python-docutils" ,python-docutils)
- ("python-pygments" ,python-pygments)
- ("python-six" ,python-six)))
+ (list python-bleach python-docutils python-pygments python-six))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)))
+ (list python-mock python-pytest))
(home-page "https://github.com/pypa/readme_renderer")
(synopsis "Render README files in Warehouse")
(description
@@ -24913,9 +25464,9 @@ and plain text.")
(lambda _
(invoke "python" "setup.py" "nosetests"))))))
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(propagated-inputs
- `(("python-zope-interface" ,python-zope-interface)))
+ (list python-zope-interface))
(home-page "https://launchpad.net/lazr.delegates")
(synopsis "Easily write objects that delegate behavior")
(description
@@ -24928,14 +25479,14 @@ and delegating behavior.")
(define-public python-lazr-config
(package
(name "python-lazr-config")
- (version "2.2.2")
+ (version "2.2.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "lazr.config" version))
(sha256
(base32
- "11xpddgyhyj7sf27wbmrq5lnqk21wnprx3ajycgwlxjamh6sgffd"))))
+ "1qdbrzl61q7cjhbnxvw9y3frcr935y7diwy15xrwcv9ynvw76jmp"))))
(build-system python-build-system)
(arguments
'(#:phases
@@ -24944,10 +25495,9 @@ and delegating behavior.")
(lambda _
(invoke "python" "-s" "-m" "nose" "-P" "lazr"))))))
(native-inputs
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(propagated-inputs
- `(("python-lazr-delegates" ,python-lazr-delegates)
- ("python-zope-interface" ,python-zope-interface)))
+ (list python-lazr-delegates python-zope-interface))
(home-page "https://launchpad.net/lazr.config")
(synopsis "Create configuration schemas and process and validate configurations")
(description
@@ -24972,10 +25522,9 @@ validation.")
"01lg1b0jpf8605mzaz9miq3nray6s7a7gc8n4wzg5nsxl8fglcp4"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-atpublic" ,python-atpublic)
- ("python-zope-interface" ,python-zope-interface)))
+ (list python-atpublic python-zope-interface))
(native-inputs
- `(("python-nose2" ,python-nose2)))
+ (list python-nose2))
(home-page "https://fluflbounce.readthedocs.io/en/latest/")
(synopsis "Email bounce detectors")
(description "The @code{flufl.bounce} library provides a set of heuristics
@@ -24998,7 +25547,7 @@ RFC 3464.")
"1flwpn1xhgc957zj3zxw92dhdjh0lsy0hdvzq32dzqpsajfsvq1r"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-atpublic" ,python-atpublic)))
+ (list python-atpublic))
(home-page "https://flufli18n.readthedocs.io")
(synopsis "API for Python internationalization")
(description
@@ -25024,8 +25573,7 @@ different tasks.")
"055941zyma3wfx25jhm8wcsghpv3jc3iwi1gdrdjhzcnfhn62lxq"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-atpublic" ,python-atpublic)
- ("python-psutil" ,python-psutil)))
+ (list python-atpublic python-psutil))
(home-page "https://flufllock.readthedocs.io")
(synopsis "NFS-safe file locking with timeouts for POSIX systems")
(description
@@ -25049,7 +25597,7 @@ and have a maximum lifetime built-in.")
"1nkm95mhcfhl4x5jgs6y97ikszaxsfh07nyawsih6cxxm6l62641"))))
(build-system python-build-system)
(native-inputs
- `(("python-nose2" ,python-nose2)))
+ (list python-nose2))
(home-page "https://gitlab.com/warsaw/flufl.testing")
(synopsis "Collection of test tool plugins")
(description
@@ -25072,10 +25620,9 @@ and have a maximum lifetime built-in.")
(base32 "15zczdcm90wl54c68f1qjb05nkd5bjsc9xjl3lk4frs7k7wkmrvp"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-mock" ,python-pytest-mock)))
+ (list python-pytest python-pytest-mock))
(propagated-inputs
- `(("python-pygments" ,python-pygments)))
+ (list python-pygments))
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'check
@@ -25102,15 +25649,10 @@ It adds a simple and readable way to print stuff during development.")
"1ypbyqxlk7n6zibk90js3ybz37xmin3kk0i35g8c51bwqpcfyxg8"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-dateutil" ,python-dateutil)
- ("python-pytz" ,python-pytz)
- ("python-regex" ,python-regex)
- ("python-ruamel.yaml" ,python-ruamel.yaml)
- ("python-tzlocal" ,python-tzlocal)))
+ (list python-dateutil python-pytz python-regex python-ruamel.yaml
+ python-tzlocal))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-parameterized" ,python-parameterized)
- ("tzdata" ,tzdata-for-tests)))
+ (list python-mock python-parameterized tzdata-for-tests))
(arguments
`(;; TODO: Of 23320 tests, 6 fail and 53 error.
#:tests? #f
@@ -25143,11 +25685,9 @@ dates in almost any string formats commonly found on web pages.")
"0rzkg3nymsbwdjc0ms2bsajkda02jipwyp3xk97qj71f21lz3dd1"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(propagated-inputs
- `(("python-packaging" ,python-packaging)
- ("python-pyyaml" ,python-pyyaml)
- ("python-toml" ,python-toml)))
+ (list python-packaging python-pyyaml python-toml))
(home-page "https://github.com/pyupio/dparse")
(synopsis "Parser for Python dependency files")
(description "This package provides a parser for Python dependency files.")
@@ -25166,9 +25706,7 @@ dates in almost any string formats commonly found on web pages.")
"1ymi9ssk7i0mx3mviplf4csfvzibdd6wyj4qzj6s487n9xgnp85y"))))
(build-system python-build-system)
(native-inputs
- `(("python-hypothesis" ,python-hypothesis)
- ("python-mock" ,python-mock)
- ("python-nose" ,python-nose)))
+ (list python-hypothesis python-mock python-nose))
(arguments
'(#:phases
(modify-phases %standard-phases
@@ -25211,10 +25749,7 @@ facility for filtering those results.")
(("def test_check_live") "def _test_check_live"))
#t)))))
(propagated-inputs
- `(("python-click" ,python-click)
- ("python-dparse" ,python-dparse)
- ("python-packaging" ,python-packaging)
- ("python-requests" ,python-requests)))
+ (list python-click python-dparse python-packaging python-requests))
(home-page "https://github.com/pyupio/safety")
(synopsis "Check installed dependencies for known vulnerabilities")
(description "Safety checks installed dependencies for known vulnerabilities.
@@ -25224,23 +25759,23 @@ By default it uses the open Python vulnerability database Safety DB.")
(define-public python-pypandoc
(package
(name "python-pypandoc")
- (version "1.5")
+ (version "1.6.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pypandoc" version))
(sha256
(base32
- "1zvn9764cf7kkjkmr9gw6wc8adpk06qxr1rhxwa9pg0zmdvrk90l"))))
+ "149basv4pvzg9zm74cjz68x8s2n5fykyj7prgysb0qfmja73r83f"))))
(build-system python-build-system)
(inputs
- `(("pandoc" ,pandoc)
- ("pandoc-citeproc" ,pandoc-citeproc)))
+ (list pandoc))
(propagated-inputs
`(("wheel" ,python-wheel)))
(native-inputs
`(("texlive" ,(texlive-updmap.cfg (list texlive-amsfonts
texlive-fonts-ec
+ texlive-generic-iftex
texlive-hyperref
texlive-oberdiek
texlive-lm
@@ -25274,7 +25809,7 @@ and pandoc-citeproc.")
"1kmp3iwxxyzjsd47j2sprd47ihhkwhb3yydih3af5bbfq0ibh1w8"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-rply" ,python-rply)))
+ (list python-rply))
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'check
@@ -25311,12 +25846,9 @@ equivalent schemata in the XML-based default RELAX NG syntax.")
(invoke "py.test" "-v"))
#t)))))
(propagated-inputs
- `(("python-rsa" ,python-rsa)
- ("python-pyaes" ,python-pyaes)))
+ (list python-rsa python-pyaes))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-asyncio" ,python-pytest-asyncio)
- ("python-pytest-trio" ,python-pytest-trio)))
+ (list python-pytest python-pytest-asyncio python-pytest-trio))
(home-page "https://docs.telethon.dev")
(synopsis "Full-featured Telegram client library for Python 3")
(description "This library is designed to make it easy to write Python
@@ -25336,8 +25868,7 @@ programs that can interact with Telegram.")
"00aaff50jy4j0nakdzq9258z1gzrac9baarli2ymgspj88jg5968"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-lxml" ,python-lxml)
- ("python-rnc2rng" ,python-rnc2rng)))
+ (list python-lxml python-rnc2rng))
(home-page
"https://github.com/brechtm/citeproc-py")
(synopsis "Citations and bibliography formatter")
@@ -25363,12 +25894,9 @@ are plain text, reStructuredText and HTML.")
(arguments
`(#:tests? #f)) ; PyPI tarball lacks tests
(native-inputs
- `(("python-hypothesis" ,python-hypothesis)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-hypothesis python-pytest-cov python-pytest-runner))
(propagated-inputs
- `(("python-arrow" ,python-arrow)
- ("python-six" ,python-six)))
+ (list python-arrow python-six))
(home-page "https://inform.readthedocs.io")
(synopsis "Print & logging utilities for communicating with user")
(description
@@ -25392,7 +25920,7 @@ cleanly print different types of messages.")
(arguments
`(#:tests? #f)) ; PyPI tarball lacks tests
(propagated-inputs
- `(("python-inform" ,python-inform)))
+ (list python-inform))
(home-page "https://nestedtext.org")
(synopsis "Human readable and writable data interchange format")
(description
@@ -25453,9 +25981,7 @@ module patches @code{asyncio} to allow nested use of @code{asyncio.run} and
(invoke "pytest" "--maxfail" "3" "--verbose"))
#t)))))
(native-inputs
- `(("python-aiohttp" ,python-aiohttp)
- ("python-pytest" ,python-pytest)
- ("python-pytest-asyncio" ,python-pytest-asyncio)))
+ (list python-aiohttp python-pytest python-pytest-asyncio))
(home-page "https://github.com/yuvipanda/simpervisor")
(synopsis "Simple async process supervisor")
(description
@@ -25476,7 +26002,7 @@ module patches @code{asyncio} to allow nested use of @code{asyncio.run} and
(base32
"1mzk4yabxj6r149fswhis18hd8dnag5sj8i4wb06450zq3pi8dh7"))))
(native-inputs
- `(("unzip" ,unzip)))
+ (list unzip))
(build-system python-build-system)
(arguments '(#:tests? #f)) ; No test suite.
(home-page "https://www.parallelpython.com")
@@ -25504,12 +26030,9 @@ applications with variable CPU loads).")
(base32 "089smpq29ll0z37lnq26r2f72d31i33xm9fw9pc6hlcsm6nbjbiv"))))
(build-system python-build-system)
(native-inputs
- `(("ghostscript" ,ghostscript)
- ("pkg-config" ,pkg-config)
- ("python-nose" ,python-nose)))
+ (list ghostscript pkg-config python-nose))
(inputs
- `(("djvulibre" ,djvulibre)
- ("python-cython" ,python-cython)))
+ (list djvulibre python-cython))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -25530,14 +26053,15 @@ applications with variable CPU loads).")
(define-public python-versioneer
(package
(name "python-versioneer")
- (version "0.19")
+ (version "0.21")
(source
(origin
(method url-fetch)
(uri (pypi-uri "versioneer" version))
(sha256
(base32
- "1bmg8y78am371rd9b4clf11b8g1h7xvq8q58z03jvgdwpsdx7zm4"))))
+ "084fglxafbzvf1vbkzfajvs9qwnvjwwn8pxql9nrlpyipv5xpwk4"))
+ (patches (search-patches "python-versioneer-guix-support.patch"))))
(build-system python-build-system)
(home-page
"https://github.com/python-versioneer/python-versioneer")
@@ -25571,9 +26095,7 @@ process.")
"src/zlib-1.2.8"))))))
(build-system python-build-system)
(inputs
- `(("libpng" ,libpng)
- ("libtiff" ,libtiff)
- ("zlib" ,zlib)))
+ (list libpng libtiff zlib))
(arguments
`(#:python ,python-2
#:phases
@@ -25602,7 +26124,7 @@ process.")
"17n3w8c20kgkgc6khaafdhhlcdj4bzman4paxqsl7harma59137k"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-immutables" ,python-immutables)))
+ (list python-immutables))
(home-page
"https://github.com/MagicStack/contextvars")
(synopsis "PEP 567 Backport")
@@ -25641,9 +26163,7 @@ disk files in asyncio applications.")
"0c5cbbqrfyjwakdh3kbwxis6mbrbwky1z1fqslgszgpcj4g43q30"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-typing-extensions"
- ,python-typing-extensions)
- ("python-typing-inspect" ,python-typing-inspect)))
+ (list python-typing-extensions python-typing-inspect))
(home-page "https://pyre-check.org")
(synopsis
"Type system extensions for use with @code{python-pyre}")
@@ -25716,9 +26236,9 @@ query Watchman to discover file changes.")
(invoke "pytest" "tests"))
#t)))))
(propagated-inputs
- `(("python-importlib-metadata" ,python-importlib-metadata)))
+ (list python-importlib-metadata))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://gitlab.com/dpizetta/helpdev")
(synopsis
"Extract information about the Python environment easily")
@@ -25760,10 +26280,9 @@ older versions of Python and so are packaged here.")
"1d2j64wgbggzv5rhvil10zndp2w78wa5np5w0psj122ws9qr9wsa"))))
(build-system python-build-system)
(native-inputs
- `(("python-mock" ,python-mock)))
+ (list python-mock))
(propagated-inputs
- `(("python-logutils" ,python-logutils)
- ("python-pyyaml" ,python-pyyaml)))
+ (list python-logutils python-pyyaml))
(home-page "https://github.com/gmr/helper")
(synopsis "Library for writing configurable applications and daemons")
(description
@@ -25796,11 +26315,9 @@ applications and daemons.")
(for-each make-file-writable (find-files "."))
#t)))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-pytest python-pytest-cov python-pytest-runner))
(propagated-inputs
- `(("python-libsass" ,python-libsass)))
+ (list python-libsass))
(home-page "https://github.com/spyder-ide/qtsass")
(synopsis "Compile SCSS files to valid Qt stylesheets")
(description
@@ -25829,8 +26346,7 @@ handling those variations.")
;; added as native-inputs.
#:tests? #f))
(propagated-inputs
- `(("python-helpdev" ,python-helpdev)
- ("python-qtpy" ,python-qtpy)))
+ (list python-helpdev python-qtpy))
(home-page
"https://github.com/ColinDuquesnoy/QDarkStyleSheet")
(synopsis
@@ -25862,7 +26378,7 @@ Qt applications.")
(invoke "pytest")))
#t)))))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(home-page "https://github.com/scott-griffiths/bitstring")
(synopsis
"Simple construction, analysis and modification of binary data")
@@ -25884,7 +26400,7 @@ Qt applications.")
"0bh2kyj8wd7h9gg4nsvrbykl5ly0f70f0wi3fbm204b1f0fcmywj"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-pyyaml" ,python-pyyaml)))
+ (list python-pyyaml))
(home-page "https://github.com/beetbox/confuse")
(synopsis "Painless YAML configuration")
(description "Confuse is a configuration library for Python that uses
@@ -25907,10 +26423,9 @@ integration, human-readable errors, and standard OS-specific locations.")
(arguments
`(#:tests? #false)) ; almost all tests want to run mkfs.btrfs
(propagated-inputs
- `(("python-cffi" ,python-cffi)))
+ (list python-cffi))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-runner" ,python-pytest-runner)))
+ (list python-pytest python-pytest-runner))
(home-page "https://gitlab.com/rubdos/pyreflink")
(synopsis "Python wrapper around reflink system call")
(description
@@ -25945,16 +26460,15 @@ implementations.")
"${Coin_INCLUDE_DIR};${SoQt_INCLUDE_DIRS}"))
#t)))))
(native-inputs
- `(("cmake" ,cmake)
- ("swig" ,swig)))
+ (list cmake swig))
(inputs
- `(("python-wrapper" ,python-wrapper)
- ("qtbase" ,qtbase-5)
- ("libxi" ,libxi)
- ("libice" ,libice)
- ("soqt" ,soqt)
- ("glew" ,glew)
- ("coin3D" ,coin3D-4)))
+ (list python-wrapper
+ qtbase-5
+ libxi
+ libice
+ soqt
+ glew
+ coin3D-4))
(home-page "https://github.com/coin3d/pivy")
(synopsis "Python bindings to Coin3D")
(description
@@ -25975,7 +26489,7 @@ Application Programming Interface based on the Open Inventor 2.1 API.")
"0gw106k4b6y8mw7pp52awxyplj2bwvwk315k4sywzwh0g1abfcxx"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-colorama" ,python-colorama)))
+ (list python-colorama))
(home-page "https://github.com/MasterOdin/crayons")
(synopsis "TextUI colors for Python")
(description "This package gives you colored strings for the terminal.
@@ -25996,9 +26510,9 @@ restores the original state after the string is printed.")
"1pi597z94n2mkd821ln52fq0g727n2jxfskf280ip3kf7jw8w294"))))
(build-system python-build-system)
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ (list python-pytest))
(inputs
- `(("sane-backends" ,sane-backends)))
+ (list sane-backends))
(home-page "https://github.com/python-pillow/Sane")
(synopsis "Python interface to the SANE scanner")
(description "This package provides Python interface to the SANE scanner
@@ -26040,25 +26554,25 @@ and frame grabber interface.")
(lambda* (#:key outputs #:allow-other-keys)
(wrap-program
(string-append (assoc-ref outputs "out") "/bin/screenkey")
- `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
+ `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))
`("GI_TYPELIB_PATH"
- ":" prefix (,(getenv "GI_TYPELIB_PATH"))))
- #t)))))
+ ":" prefix (,(getenv "GI_TYPELIB_PATH")))))))))
(inputs
- `(("python-distutils-extra" ,python-distutils-extra)
- ("python-tokenize-rt" ,python-tokenize-rt)
- ("libx11" ,libx11)
- ("libxtst" ,libxtst)
- ("gtk+" ,gtk+)
- ("python-pygobject" ,python-pygobject)
- ("python-pycairo" ,python-pycairo)
- ("python-setuptools-git" ,python-setuptools-git)
- ("python-babel" ,python-babel)))
+ (list python-distutils-extra
+ python-tokenize-rt
+ libx11
+ libxtst
+ gtk+
+ python-pygobject
+ python-pycairo
+ python-setuptools-git
+ python-babel))
(home-page "https://www.thregr.org/~wavexx/software/screenkey/")
(synopsis
"Screencast tool to display pressed keys")
(description
- "A screencast tool to display your keys inspired by Screenflick.")
+ "Screenkey is a screencast tool to display your keys inspired by
+Screenflick.")
(license license:gpl3+)))
(define-public python-jinja2-cli
@@ -26074,11 +26588,9 @@ and frame grabber interface.")
"0vikx7v6fbvww6kfrv0k5a24jyv3ak7nindg60906pdd1m9qvkcw"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-jinja2" ,python-jinja2)))
+ (list python-jinja2))
(native-inputs
- `(("python-flake8" ,python-flake8)
- ("python-jinja2" ,python-jinja2)
- ("python-pytest" ,python-pytest)))
+ (list python-flake8 python-jinja2 python-pytest))
(home-page "https://github.com/mattrobenolt/jinja2-cli")
(synopsis "Command-line interface to Jinja2")
(description
@@ -26156,9 +26668,7 @@ iGoogle subscription lists.")
(invoke "nosetests" "-v" "--exclude=^load_tests$"))))))
(native-inputs
;; For tests.
- `(("python-docutils" ,python-docutils)
- ("python-nose" ,python-nose)
- ("python-pygments" ,python-pygments)))
+ (list python-docutils python-nose python-pygments))
(home-page "https://github.com/leohemsted/smartypants.py")
(synopsis "Translate punctuation characters into smart quotes")
(description
@@ -26190,10 +26700,10 @@ entities
(lambda _
(invoke "nosetests" "-v"))))))
(propagated-inputs
- `(("python-smartypants" ,python-smartypants)))
+ (list python-smartypants))
(native-inputs
;; For tests.
- `(("python-nose" ,python-nose)))
+ (list python-nose))
(home-page "https://github.com/mintchaos/typogrify")
(synopsis "Filters to transform text into typographically-improved HTML")
(description
@@ -26216,7 +26726,7 @@ Django template systems, the filters can be used in any environment.")
"1k4ydp5rgkv4985v459kcl06i1igjm1ywvh2vkbi9ck1zyyri1z5"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-six" ,python-six)))
+ (list python-six))
(home-page "https://github.com/nir0s/ld")
(synopsis "OS platform information API")
(description
@@ -26255,8 +26765,7 @@ runs on, such as a reliable machine-readable ID, or version information.")
(invoke "pytest"))
#t)))))
(native-inputs
- `(("python-cython" ,python-cython)
- ("python-pytest" ,python-pytest)))
+ (list python-cython python-pytest))
(home-page "https://github.com/scoder/quicktions")
(synopsis "Fast fractions data type for rational numbers")
(description
@@ -26281,10 +26790,7 @@ is the cythonized version of @code{fractions.Fraction}.")
;; pathvalidate tests depend on pytest-md-report, which
;; depends on pathvalidate.
(native-inputs
- `(("python-allpairspy" ,python-allpairspy)
- ("python-click" ,python-click)
- ("python-faker" ,python-faker)
- ("python-pytest" ,python-pytest)))
+ (list python-allpairspy python-click python-faker python-pytest))
(home-page "https://github.com/thombashi/pathvalidate")
(synopsis "Sanitize strings representing paths")
(description
@@ -26325,9 +26831,7 @@ result.")
"0rvdd2ikdr0yg6cx6594fdzn53cmdc0g0i6qsbcdq8i2kxjdpd5x"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-commonmark" ,python-commonmark)
- ("python-docutils" ,python-docutils)
- ("python-sphinx" ,python-sphinx)))
+ (list python-commonmark python-docutils python-sphinx))
(arguments
'(#:phases (modify-phases %standard-phases
(add-after 'unpack 'delete-test-sphinx
@@ -26337,8 +26841,8 @@ result.")
(home-page "https://github.com/readthedocs/recommonmark")
(synopsis "Docutils-compatibility bridge to CommonMark")
(description
- "This packages provides a docutils-compatibility bridge to CommonMark,
-enabling you to write CommonMark inside of Docutils & Sphinx projects.")
+ "This package provides a docutils-compatibility bridge to CommonMark that
+lets you write CommonMark inside of Docutils & Sphinx projects.")
(license license:expat)))
(define-public python-pyhull
@@ -26354,7 +26858,7 @@ enabling you to write CommonMark inside of Docutils & Sphinx projects.")
"091sph52c4yk1jlm5w8xidxpzbia9r7s42bnb23q4m4b56ihmzyj"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-numpy" ,python-numpy)))
+ (list python-numpy))
(home-page "https://github.com/materialsvirtuallab/pyhull")
(synopsis "Python wrapper to Qhull")
(description
@@ -26411,7 +26915,8 @@ and BMI2).")
(file-name (git-file-name name version))
(sha256
(base32
- "1yy62k3cjr6556nbp651w6v4hzl7kz4y75wy2dfqgndgbnixskx2"))))
+ "1yy62k3cjr6556nbp651w6v4hzl7kz4y75wy2dfqgndgbnixskx2"))
+ (patches (search-patches "python-peachpy-determinism.patch"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@@ -26420,11 +26925,9 @@ and BMI2).")
(when tests?
(invoke "python" "setup.py" "nosetests")))))))
(native-inputs
- `(("python-nose" ,python-nose)
- ("python-rednose" ,python-rednose)))
+ (list python-nose python-rednose))
(propagated-inputs
- `(("python-six" ,python-six)
- ("python-opcodes" ,python-opcodes)))
+ (list python-six python-opcodes))
(synopsis "Efficient assembly code generation in Python")
(description
"PeachPy is a Python framework for writing high-performance assembly kernels.
@@ -26457,8 +26960,9 @@ supports x86_64 instructions up to AVX-512 and SHA.")
(build-system python-build-system)
(home-page "https://github.com/hsoft/sgmllib")
(synopsis "Python 3 port of sgmllib")
- (description "This package is a port of sgmllib that is no longer part
-of Python 3.")
+ (description "This packages provides an unmaintained port of sgmllib to
+Python 3. It is used to parse text files formatted in @acronym{SGML,Standard
+Generalized Mark-up Language}.")
(license license:bsd-3))))
(define-public python-cwcwidth
@@ -26474,11 +26978,8 @@ of Python 3.")
"1azrphpkcyggg38xvkfb9dpc4xmmm90p02kf8dkqd4d6j5w96aj8"))))
(build-system python-build-system)
(native-inputs
- `(("python-cython" ,python-cython)
- ("python-pytest" ,python-pytest)
- ("python-setuptools-scm" ,python-setuptools-scm)
- ("python-toml" ,python-toml)
- ("python-wheel" ,python-wheel)))
+ (list python-cython python-pytest python-setuptools-scm python-toml
+ python-wheel))
(home-page
"https://github.com/sebastinas/cwcwidth")
(synopsis "Python bindings for wc(s)width")
@@ -26515,11 +27016,9 @@ functions defined in POSIX.1-2001 and POSIX.1-2008.")
(string-append (getcwd) ":" (getenv "GUIX_PYTHONPATH")))
(invoke "pytest")))))))
(native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-pytest-cov" ,python-pytest-cov)
- ("python-wheel" ,python-wheel)))
+ (list python-pytest python-pytest-cov python-wheel))
(propagated-inputs
- `(("python-jinja2" ,python-jinja2)))
+ (list python-jinja2))
(home-page "https://github.com/Technologicat/pyan")
(synopsis "Offline call graph generator for Python 3")
(description "Pyan takes one or more Python source files, performs
@@ -26528,6 +27027,176 @@ objects in the combined source, and how they define or use each other. The
graph can be output for rendering by GraphViz or yEd.")
(license license:gpl2)))
+(define-public python-multipledispatch
+ (package
+ (name "python-multipledispatch")
+ (version "0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "multipledispatch" version))
+ (sha256
+ (base32
+ "1slblghfjg9fdi9zpd7gmrkvfbv20nrdgnrymcnbky8bzm8i9ax7"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-six))
+ (home-page "https://github.com/mrocklin/multipledispatch/")
+ (synopsis "Multiple dispatch for Python based on pattern matching")
+ (description "This library provides an efficient mechanism for overloading
+function implementations based on the types of the arguments.")
+ (license license:bsd-3)))
+
+(define-public python-logical-unification
+ (package
+ (name "python-logical-unification")
+ (version "0.4.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "logical-unification" version))
+ (sha256
+ (base32
+ "0j57953hi7kg2rl0163vzjzsvzdyjimnklhx6idf5vaqqf1d3p1j"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-multipledispatch python-toolz))
+ (home-page "https://github.com/pythological/unification/")
+ (synopsis "Logical unification in Python for solving symbolic expressions")
+ (description "This library provides algorithms and data types for solving
+symbolic expressions in pure Python using the technique of logical unification.")
+ (license license:bsd-3)))
+
+(define-public python-cons
+ (package
+ (name "python-cons")
+ (version "0.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cons" version))
+ (sha256
+ (base32
+ "0w9giq196wps7mbm47c4shdzs5yvwvqajqzkim2p92i51sm5qgvm"))))
+ (build-system python-build-system)
+ (native-inputs
+ (list python-pytest-6 python-toml))
+ (propagated-inputs
+ (list python-logical-unification))
+ (home-page "https://github.com/pythological/python-cons")
+ (synopsis "Cons cell data structures and related algorithms for Python")
+ (description
+ "This library implements algorithms and data structures for Lisp-style
+cons cells in Python.")
+ (license license:lgpl3+)))
+
+(define-public python-etuples
+ (package
+ (name "python-etuples")
+ (version "0.3.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "etuples" version))
+ (sha256
+ (base32
+ "0jhfyp177v37rl0i7wqfx7q6s5qkz027hl283d1x8d0vm3w0zqc8"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-cons python-multipledispatch))
+ (home-page "https://github.com/pythological/etuples")
+ (synopsis "S-expressions in Python")
+ (description
+ "This library implements eval'able S-expression in Python using tuple-like objects.")
+ (license license:asl2.0)))
+
+(define-public python-minikanren
+ (package
+ (name "python-minikanren")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pythological/kanren")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0g7wfj5hxalwz7k1301nsjqhjpzsif1bj6wjm2x2kavlm2ypv9jc"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "-m" "pytest" "-v" "tests/" "kanren/"))
+ #t)))))
+ (native-inputs
+ (list python-coveralls
+ python-pydocstyle
+ python-pytest
+ python-pytest-cov
+ python-pylint
+ python-black
+ python-sympy
+ python-versioneer
+ python-coverage
+ python-pre-commit))
+ (propagated-inputs
+ (list python-toolz python-cons python-multipledispatch
+ python-etuples python-logical-unification))
+ (home-page "https://github.com/pythological/kanren")
+ (synopsis "Relational logic programming in pure Python")
+ (description
+ "The minikanren library provides an algorithmic core for computer algebra
+systems in Python.")
+ (license license:bsd-3)))
+
+(define-public python-dotenv
+ (package
+ (name "python-dotenv")
+ (version "0.19.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "python-dotenv" version))
+ (sha256
+ (base32 "0pv5ygpr6syc6zkw21in4ysqs3k7qaxk9m1g5pzlafwm3silkpm5"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (setenv "PATH" (string-append (getenv "PATH") ":"
+ (assoc-ref outputs "out") "/bin"))
+ ;; Skip the ipython tests.
+ (delete-file "tests/test_ipython.py")
+ (invoke "python" "-m" "pytest")))))))
+ (propagated-inputs
+ (list python-click))
+ (native-inputs
+ (list python-mock python-pytest python-sh))
+ (home-page "https://github.com/theskumar/python-dotenv")
+ (synopsis "Setup environment variables according to .env files")
+ (description
+ "This package provides the @code{python-dotenv} Python module to read
+key-value pairs from a @code{.env} file and set them as environment variables.")
+ (license license:bsd-3)))
+
+(define-public python-dotenv-0.13.0
+ (package (inherit python-dotenv)
+ (name "python-dotenv")
+ (version "0.13.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "python-dotenv" version))
+ (sha256
+ (base32
+ "0x5dagmfn31phrbxlwacw3s4w5vibv8fxqc62nqcdvdhjsy0k69v"))))))
+
(define-public date2name
(let ((commit "6c8f37277e8ec82aa50f90b8921422be30c4e798")
(revision "1"))
@@ -26563,3 +27232,553 @@ files and directories and adds a datestamp in standard ISO 8601+ format
YYYY-MM-DD at the beginning of the file or directory name.")
(home-page "https://github.com/novoid/date2name")
(license license:gpl3+))))
+
+(define-public python-braintree
+ (package
+ (name "python-braintree")
+ (version "4.12.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "braintree" version))
+ (sha256
+ (base32 "19kli85q18p80nsn8fm4ql6axpr7bllfqg5chv2ywhr8zr8bssll"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-requests))
+ (home-page
+ "https://developers.braintreepayments.com/python/sdk/server/overview")
+ (synopsis "Braintree Python Library")
+ (description "The Braintree Python SDK provides integration access to the
+Braintree Gateway. Braintree is a US-based payments service provider.")
+ (license license:expat)))
+
+(define-public python-markuppy
+ (package
+ (name "python-markuppy")
+ (version "1.14")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "MarkupPy" version))
+ (sha256
+ (base32 "0pqdmpxbr8iq22b4css2gz5z6s01ddpzyj25x27kgbs2lp0f5phs"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/tylerbakke/MarkupPy")
+ (synopsis "A pythonic HTML/XML generator")
+ (description "This Python module attempts to make it easier to generate
+HTML/XML from a Python program in an intuitive, lightweight, customizable and
+pythonic way.")
+ (license license:expat)))
+
+(define-public python-tablib
+ (package
+ (name "python-tablib")
+ (version "3.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tablib" version))
+ (sha256
+ (base32 "03f1z6jq6rf67gwhbm9ma4rydm8h447a5nh5lcs5l8jg8l4aqg7q"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "GUIX_PYTHONPATH"
+ (string-append (getcwd) "/build/lib:"
+ (getenv "GUIX_PYTHONPATH")))
+ (invoke "pytest")))))))
+ (native-inputs
+ (list python-pandas ;; required for test-suite
+ python-pytest python-pytest-cov python-setuptools-scm))
+ (propagated-inputs
+ (list python-markuppy
+ python-odfpy
+ python-openpyxl
+ python-pyyaml
+ python-tabulate
+ python-xlrd
+ python-xlwt))
+ (home-page "https://tablib.readthedocs.io")
+ (synopsis "Format agnostic tabular data library")
+ (description "@code{tablib} is a format-agnostic tabular dataset library,
+written in Python. Supported output formats are Excel (Sets + Books),
+JSON (Sets + Books), YAML (Sets + Books), HTML (Sets), Jira (Sets),
+TSV (Sets), ODS (Sets), CSV (Sets), and DBF (Sets).
+
+@code{tablib} also supports Pandas DataFrames (Sets). Anyhow, since pandas is
+quite huge, this Guix package doesn't depend on pandas. In case, just also
+install @code{python-pandas}.")
+ (license license:expat)))
+
+(define-public python-csb43
+ (package
+ (name "python-csb43")
+ (version "0.9.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "csb43" version))
+ (sha256
+ (base32 "0r0csl9npncnkfafg3rg6xr38d1qr0sxvq7wn7mg9bq41hvvh1si"))))
+ (build-system python-build-system)
+ (native-inputs
+ (list python-lxml))
+ (propagated-inputs
+ (list python-pycountry python-pyyaml python-tablib))
+ (home-page "https://bitbucket.org/wmj/csb43")
+ (synopsis "Tools for converting from the Spanish banks' format CSB norm
+43 (CSB43)")
+ (description "This package provides tools to convert files in the format
+used by multiple Spanish banks (standard 43 of the Spanish Banking Council
+[CSB43] / Spanish Banking Association [AEB43]) to other formats.
+
+Supported output formats are: OFX, HomeBank CSV, HTML, JSON, ODS (OpenDocument
+spreadsheet), CSV, TSV, XLS, XLSX (Microsoft Excel spreadsheet), and YAML.")
+ (license license:lgpl3)))
+
+(define-public python-febelfin-coda
+ (package
+ (name "python-febelfin-coda")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "febelfin-coda" version))
+ (sha256
+ (base32 "10nf4hdwldqgdmh4g613vx55sbsw1x1yzpvs3crwlggbp75fjjfi"))))
+ (build-system python-build-system)
+ (home-page "https://coda.b2ck.com/")
+ (synopsis "A module to parse Belgian CODA files")
+ (description "This package provides a module to parse Coded statement of
+account (CODA) files as defined be the Belgian Febelfin bank standard.")
+ (license license:bsd-3)))
+
+(define-public python-ofxparse
+ (package
+ (name "python-ofxparse")
+ (version "0.21")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ofxparse" version))
+ (sha256
+ (base32 "19y4sp5l9jqiqzzlbqdfiab42qx7d84n4xm4s7jfq397666vcyh5"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "nosetests" "-v")))))))
+ (native-inputs
+ (list python-nose))
+ (propagated-inputs
+ (list python-beautifulsoup4 python-lxml python-six))
+ (home-page "http://sites.google.com/site/ofxparse")
+ (synopsis "Tools for working with the OFX (Open Financial Exchange) file
+format")
+ (description "@code{ofxparse} is a parser for Open Financial
+Exchange (.ofx) format files. OFX files are available from almost any online
+banking site, so they work well if you want to pull together your finances
+from multiple sources. Online trading accounts also often provide account
+statements in OFX files.")
+ (license license:expat)))
+
+(define-public python-stripe
+ (package
+ (name "python-stripe")
+ (version "2.60.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "stripe" version))
+ (sha256
+ (base32 "0258lzh4qikhinfggnlfh5aklcvg7lrvl8giqrh0yf0l61wvfrl9"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ;; tests require network
+ (propagated-inputs
+ (list python-requests))
+ (home-page "https://github.com/stripe/stripe-python")
+ (synopsis "Python bindings for the Stripe financial services' API")
+ (description "This package provides access to the Stripe financial
+services' API. It includes a pre-defined set of classes for API resources
+that initialize themselves dynamically from API responses which makes it
+compatible with a wide range of versions of the Stripe API.")
+ (license license:expat)))
+
+(define-public python-platformdirs
+ (package
+ (name "python-platformdirs")
+ (version "2.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "platformdirs" version))
+ (sha256
+ (base32 "07hq5qrp7pqj63iczg01wbf5ii6f0ncd0dq5mzkdhsslmg9slbb3"))))
+ (build-system python-build-system)
+ (native-inputs
+ (list python-appdirs python-pytest python-pytest-cov
+ python-pytest-mock))
+ (home-page "https://github.com/platformdirs/platformdirs")
+ (synopsis "Determine the appropriate platform-specific directories")
+ (description "When writing applications, finding the right location to
+store user data and configuration varies per platform. Even for
+single-platform apps, there may by plenty of nuances in figuring out the right
+location. This small Python module determines the appropriate
+platform-specific directories, e.g. the ``user data dir''.")
+ (license license:expat)))
+
+(define-public python-json2html
+ (package
+ (name "python-json2html")
+ (version "1.3.0")
+ (source
+ ;; There are no tests in the PyPI tarball.
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/softvar/json2html")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ncypljnl5y8lsxy6ibcqy412kx3mzxl4ajg67568hvq98kv1sb3"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "python" "test/run_tests.py")))))))
+ (home-page "https://github.com/softvar/json2html")
+ (synopsis "Convert JSON to HTML table")
+ (description "@code{python-json2html} is a python module to convert JSON
+into a human readable HTML table representation.")
+ (license license:expat)))
+
+(define-public python-face
+ (package
+ (name "python-face")
+ (version "20.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "face" version))
+ (sha256
+ (base32 "0gpd9f0rmbv3rd2szi2na37l29fabkwazikjrxc6wca1lddwlnbx"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ ;; Make installed package available for running the tests.
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "-v")))))))
+ (native-inputs
+ (list python-pytest))
+ (propagated-inputs
+ (list python-boltons))
+ (home-page "https://github.com/mahmoud/face")
+ (synopsis "CLI parsing and dispatching microframework")
+ (description "@code{python-face} is a Pythonic microframework for building
+command-line applications.
+
+@itemize
+@item First-class subcommand support
+@item Powerful middleware architecture
+@item Separate parser layer
+@item Built-in flagfile support
+@item Handy testing utilities
+@item Themeable help display
+@end itemize")
+ (license license:bsd-3)))
+
+(define-public python-glom
+ (package
+ (name "python-glom")
+ (version "20.11.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "glom" version))
+ (sha256
+ (base32 "04pba09vdr3qjvqvy14g60fscdsi35chbbyqpczdp76cpir101al"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ ;; Make installed executable available for running the tests.
+ (setenv "PATH"
+ (string-append (assoc-ref outputs "out") "/bin"
+ ":" (getenv "PATH")))
+ (invoke "pytest" "-v")))))))
+ (native-inputs
+ (list python-pytest python-pyyaml))
+ (propagated-inputs
+ (list python-attrs python-boltons python-face))
+ (home-page "https://github.com/mahmoud/glom")
+ (synopsis "Declaratively restructure data")
+ (description "Real applications have real data, and real data
+nests---objects inside of objects inside of lists of objects. glom is a new
+and powerful way to handle real-world data, featuring:
+
+@itemize
+@item Path-based access to nested data structures
+@item Readable, meaningful error messages
+@item Declarative data transformation, using lightweight, Pythonic specifications
+@item Built-in data exploration and debugging features
+@end itemize")
+ (license license:bsd-3)))
+
+(define-public python-box
+ (package
+ (name "python-box")
+ (version "5.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "python-box" version))
+ (sha256
+ (base32
+ "0jhrdif57khx2hsw1q6a9x42knwcvq8ijgqyq1jmll6y6ifyzm2f"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-msgpack python-ruamel.yaml python-toml))
+ (home-page "https://github.com/cdgriffith/Box")
+ (synopsis "Advanced Python dictionaries with dot notation access")
+ (description
+ "This package provides the @code{python-box} Python module.
+It implements advanced Python dictionaries with dot notation access.")
+ (license license:expat)))
+
+(define-public python-fields
+ (package
+ (name "python-fields")
+ (version "5.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "fields" version))
+ (sha256
+ (base32 "09sppvhhkhkv9zc9g994m53z15v92csxwcf42ggkaknlv01smm1i"))))
+ (build-system python-build-system)
+ (home-page "https://python-fields.readthedocs.io/")
+ (synopsis "Python container class boilerplate killer")
+ (description "Avoid repetetive boilerplate code in Python classes.")
+ (license license:bsd-3)))
+
+(define-public python-aspectlib
+ (package
+ (name "python-aspectlib")
+ (version "1.5.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "aspectlib" version))
+ (sha256
+ (base32 "1am4ycf292zbmgz791z393v63w7qrynf8q5p9db2wwf2qj1fqxfj"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-fields))
+ (home-page "https://github.com/ionelmc/python-aspectlib")
+ (synopsis
+ "Python monkey-patching and decorators")
+ (description
+ "This package provides an aspect-oriented programming, monkey-patch
+and decorators library. It is useful when changing behavior in existing
+code is desired. It includes tools for debugging and testing:
+simple mock/record and a complete capture/replay framework.")
+ (license license:bsd-2)))
+
+(define-public python-ijson
+ (package
+ (name "python-ijson")
+ (version "3.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ijson" version))
+ (sha256
+ (base32 "1sp463ywj4jv5cp6hsv2qwiima30d09xsabxb2dyq5b17jp0640x"))))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; the tests run by the default setup.py require yajl 1.x,
+ ;; but we have 2.x. yajl 1.x support is going to be removed
+ ;; anyway, so use pytest to avoid running the yajl1-related
+ ;; tests. See: https://github.com/ICRAR/ijson/issues/55
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv")))))))
+ (inputs
+ ;; libyajl is optional, but compiling with it makes faster
+ ;; backends available to ijson:
+ (list libyajl))
+ (native-inputs
+ (list python-pytest))
+ (build-system python-build-system)
+ (home-page "https://github.com/ICRAR/ijson")
+ (synopsis "Iterative JSON parser with Python iterator interfaces")
+ (description
+ "Ijson is an iterative JSON parser with standard Python iterator
+interfaces.")
+ (license license:bsd-3)))
+
+(define-public python-orgparse
+ (package
+ (name "python-orgparse")
+ (version "0.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "orgparse" version))
+ (sha256
+ (base32 "14iv4pg3rma9560plg0w943x04mr2cmrssda43y2d1x9acrd2n71"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv" "orgparse/tests")))))))
+ (native-inputs
+ (list python-pytest python-setuptools-scm))
+ (home-page "https://github.com/karlicoss/orgparse")
+ (synopsis "Emacs Org mode parser in Python")
+ (description
+ "This package is a Python module for reading Emacs Org mode files.")
+ (license license:bsd-3)))
+
+(define-public dynaconf
+ (package
+ (name "dynaconf")
+ (version "3.1.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/rochacbruno/dynaconf")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0pjyjsdzairpn5vq8nzddhxwxmr18grn272nj31wcy2ipwdl3c3h"))
+ (patches (search-patches "dynaconf-unvendor-deps.patch"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; Remove vendored dependencies
+ (let ((unvendor '("click" "dotenv" "ruamel" "toml")))
+ (with-directory-excursion "dynaconf/vendor"
+ (for-each delete-file-recursively unvendor))
+ (with-directory-excursion "dynaconf/vendor_src"
+ (for-each delete-file-recursively unvendor)))))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? outputs #:allow-other-keys)
+ (when tests?
+ (setenv "PATH"
+ (string-append (assoc-ref outputs "out") "/bin:"
+ (getenv "PATH")))
+ ;; These tests depend on hvac and a live Vault process.
+ (delete-file "tests/test_vault.py")
+ (invoke "make" "test_only")))))))
+ (propagated-inputs
+ (list python-click python-configobj python-dotenv-0.13.0
+ python-ruamel.yaml python-toml))
+ (native-inputs
+ (list python-django python-flask python-pytest-6 python-pytest-cov
+ python-pytest-mock))
+ (home-page "https://www.dynaconf.com/")
+ (synopsis "The dynamic configurator for your Python project")
+ (description
+ "This package provides @code{dynaconf} the dynamic configurator manager for
+your Python project. It provides features such as:
+
+@itemize
+@item Inspired by the @url{https://12factor.net/config, 12-factor application guide};
+@item Settings management (default values, validation, parsing, templating);
+@item Protection of sensitive information (passwords/tokens);
+@item Multiple file formats @code{toml|yaml|json|ini|py} and also customizable
+loaders;
+@item Full support for environment variables to override existing settings
+(dotenv support included);
+@item Optional layered system for multiple environments @code{[default,
+development, testing, production]};
+@item Built-in support for Hashicorp Vault and Redis as settings and secrets storage;
+@item Built-in extensions for Django and Flask web frameworks;
+@item CLI for common operations such as @code{init, list, write, validate, export}.
+@end itemize")
+ (license license:expat)))
+
+(define-public pudb
+ (package
+ (name "pudb")
+ (version "2021.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pudb" version))
+ (sha256
+ (base32 "0p16pvzfa3w02ybg3n0iy5rs23z4rz4a42lb8wh3mcq62y9ik2w7"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-read-only-home
+ (lambda _
+ (setenv "HOME" "/tmp")))
+ (replace 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest")))))))
+ (native-inputs
+ (list python-numpy python-pytest python-pytest-mock))
+ (propagated-inputs
+ (list python-jedi python-pygments python-urwid python-urwid-readline))
+ (home-page "https://documen.tician.de/pudb/")
+ (synopsis "Console-based Python debugger")
+ (description
+ "@command{pudb} is a full-screen, console-based Python debugger providing
+all the niceties of modern GUI-based debuggers in a more lightweight and
+keyboard-friendly package.")
+ (license license:expat)))
+
+(define-public python-iwlib
+ (package
+ (name "python-iwlib")
+ (version "1.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "iwlib" version))
+ (sha256
+ (base32 "18bd35wn7zclalpqbry42pf7bjrdggxkkw58mc0k1vkhg9czc1d8"))))
+ (build-system python-build-system)
+ (inputs
+ (list wireless-tools))
+ (propagated-inputs (list python-cffi))
+ (home-page "https://github.com/nhoad/python-iwlib")
+ (synopsis "Python module to interface with iwlib")
+ (description
+ "This package provides a Python interface to iw wireless tools.")
+ (license license:gpl2)))