2212 lines
78 KiB
Scheme
2212 lines
78 KiB
Scheme
;;; Copyright © 2020 Collin J. Doering <collin@rekahsoft.ca>
|
|
;;;
|
|
;;; This file is part of the GNU Guix channel rekahsoft-guix
|
|
;;;
|
|
;;; The rekahsoft-guix channel for GNU Guix is free software; you can
|
|
;;; redistribute it and/or modify it under the terms of the GNU General Public
|
|
;;; License as published by the Free Software Foundation; either version 3 of
|
|
;;; the License, or (at your option) any later version.
|
|
;;;
|
|
;;; The rekahsoft-guix channel for GNU Guix is distributed in the hope that it
|
|
;;; will be useful, but WITHOUT ANY WARRANTY; without even the implied
|
|
;;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
;;; GNU General Public License for more details.
|
|
;;;
|
|
;;; You should have received a copy of the GNU General Public License along
|
|
;;; with the rekahsoft-guix channel for GNU Guix. If not, see
|
|
;;; <http://www.gnu.org/licenses/>.
|
|
|
|
(define-module (rekahsoft-gnu packages python-xyz)
|
|
#:use-module ((guix licenses) #:prefix license:)
|
|
#:use-module (gnu packages)
|
|
#:use-module (gnu packages algebra)
|
|
#:use-module (gnu packages adns)
|
|
#:use-module (gnu packages attr)
|
|
#:use-module (gnu packages backup)
|
|
#:use-module (gnu packages bash)
|
|
#:use-module (gnu packages check)
|
|
#:use-module (gnu packages cmake)
|
|
#:use-module (gnu packages compression)
|
|
#:use-module (gnu packages crypto)
|
|
#:use-module (gnu packages databases)
|
|
#:use-module (gnu packages dbm)
|
|
#:use-module (gnu packages enchant)
|
|
#:use-module (gnu packages file)
|
|
#:use-module (gnu packages fontutils)
|
|
#:use-module (gnu packages gcc)
|
|
#:use-module (gnu packages geo)
|
|
#:use-module (gnu packages ghostscript)
|
|
#:use-module (gnu packages gl)
|
|
#:use-module (gnu packages glib)
|
|
#:use-module (gnu packages gnome)
|
|
#:use-module (gnu packages graphviz)
|
|
#:use-module (gnu packages graphics)
|
|
#:use-module (gnu packages gsasl)
|
|
#:use-module (gnu packages gstreamer)
|
|
#:use-module (gnu packages gtk)
|
|
#:use-module (gnu packages icu4c)
|
|
#:use-module (gnu packages image)
|
|
#:use-module (gnu packages imagemagick)
|
|
#:use-module (gnu packages kerberos)
|
|
#:use-module (gnu packages libevent)
|
|
#:use-module (gnu packages libffi)
|
|
#:use-module (gnu packages linux)
|
|
#:use-module (gnu packages llvm)
|
|
#:use-module (gnu packages man)
|
|
#:use-module (gnu packages maths)
|
|
#:use-module (gnu packages monitoring)
|
|
#:use-module (gnu packages multiprecision)
|
|
#:use-module (gnu packages networking)
|
|
#:use-module (gnu packages ncurses)
|
|
#:use-module (gnu packages openstack)
|
|
#:use-module (gnu packages pcre)
|
|
#:use-module (gnu packages perl)
|
|
#:use-module (gnu packages photo)
|
|
#:use-module (gnu packages pkg-config)
|
|
#:use-module (gnu packages python)
|
|
#:use-module (gnu packages python-check)
|
|
#:use-module (gnu packages python-compression)
|
|
#:use-module (gnu packages python-crypto)
|
|
#:use-module (gnu packages python-science)
|
|
#:use-module (gnu packages python-web)
|
|
#:use-module (gnu packages python-xyz)
|
|
#:use-module (gnu packages qt)
|
|
#:use-module (gnu packages readline)
|
|
#:use-module (gnu packages sdl)
|
|
#:use-module (gnu packages search)
|
|
#:use-module (gnu packages shells)
|
|
#:use-module (gnu packages sphinx)
|
|
#:use-module (gnu packages ssh)
|
|
#:use-module (gnu packages terminals)
|
|
#:use-module (gnu packages tex)
|
|
#:use-module (gnu packages texinfo)
|
|
#:use-module (gnu packages textutils)
|
|
#:use-module (gnu packages time)
|
|
#:use-module (gnu packages tls)
|
|
#:use-module (gnu packages version-control)
|
|
#:use-module (gnu packages video)
|
|
#:use-module (gnu packages web)
|
|
#:use-module (gnu packages base)
|
|
#:use-module (gnu packages xml)
|
|
#:use-module (gnu packages xorg)
|
|
#:use-module (gnu packages xdisorg)
|
|
#:use-module (gnu packages tcl)
|
|
#:use-module (gnu packages bdw-gc)
|
|
#:use-module (gnu packages serialization)
|
|
#:use-module (guix packages)
|
|
#:use-module (guix download)
|
|
#:use-module (guix git-download)
|
|
#:use-module (guix hg-download)
|
|
#:use-module (guix utils)
|
|
#:use-module (guix build-system gnu)
|
|
#:use-module (guix build-system cmake)
|
|
#:use-module (guix build-system python)
|
|
#:use-module (guix build-system trivial)
|
|
#:use-module (srfi srfi-1)
|
|
#:use-module (srfi srfi-26))
|
|
|
|
(define-public python-virtualenv-clone
|
|
(package
|
|
(name "python-virtualenv-clone")
|
|
(version "0.5.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "virtualenv-clone" version))
|
|
(sha256
|
|
(base32
|
|
"0absh96fsxk9di7ir76f5djyfm2c214wnyk53avrhjy8akflhpk6"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-pytest" ,python-pytest)
|
|
("python-tox" ,python-tox)))
|
|
(home-page
|
|
"https://github.com/edwardgeorge/virtualenv-clone")
|
|
(synopsis "script to clone virtualenvs.")
|
|
(description "script to clone virtualenvs.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-arpeggio
|
|
(package
|
|
(name "python-arpeggio")
|
|
(version "1.9.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "Arpeggio" version))
|
|
(sha256
|
|
(base32
|
|
"0aq2pmhfyq7vhbhyq8jgxiphncy1s79rmrsggz4p52m4cdhy134l"))))
|
|
(build-system python-build-system)
|
|
(home-page
|
|
"https://github.com/textX/Arpeggio")
|
|
(synopsis "Packrat parser interpreter")
|
|
(description "Packrat parser interpreter")
|
|
(license license:expat)))
|
|
|
|
(define-public python-ordereddict
|
|
(package
|
|
(name "python-ordereddict")
|
|
(version "1.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "ordereddict" version))
|
|
(sha256
|
|
(base32
|
|
"07qvy11nvgxpzarrni3wrww3vpc9yafgi2bch4j2vvvc42nb8d8w"))))
|
|
(build-system python-build-system)
|
|
(home-page "UNKNOWN")
|
|
(synopsis
|
|
"A drop-in substitute for Py2.7's new collections.OrderedDict that works in Python 2.4-2.6.")
|
|
(description
|
|
"A drop-in substitute for Py2.7's new collections.OrderedDict that works in Python 2.4-2.6.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-parver
|
|
(package
|
|
(name "python-parver")
|
|
(version "0.3.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "parver" version))
|
|
(sha256
|
|
(base32
|
|
"0a6jp17c1ag6b9yp5xgy9wvznk3g0v2f8gpwkcwxpyc9ygk98zdm"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-six" ,python-six)
|
|
("python-attrs" ,python-attrs)
|
|
("python-arpeggio" ,python-arpeggio)
|
|
("python-pytest" ,python-pytest)
|
|
("python-hypothesis" ,python-hypothesis)
|
|
("python-pretend" ,python-pretend)))
|
|
(home-page "https://github.com/RazerM/parver")
|
|
(synopsis
|
|
"Parse and manipulate version numbers")
|
|
(description
|
|
"Parse and manipulate version numbers.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-pipenv
|
|
(package
|
|
(name "python-pipenv")
|
|
(version "2018.11.26")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pipenv" version))
|
|
(sha256
|
|
(base32
|
|
"0ip8zsrwmhrankrix0shig9g8q2knmr7b63sh7lqa8a5x03fcwx6"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-pytest" ,python-pytest)
|
|
("python-arpeggio" ,python-arpeggio)))
|
|
(propagated-inputs
|
|
`(("python-certifi" ,python-certifi)
|
|
("python-invoke" ,python-invoke)
|
|
("python-parver" ,python-parver)
|
|
("python-ordereddict" ,python-ordereddict)
|
|
("python-requests" ,python-requests)
|
|
("python-virtualenv" ,python-virtualenv)
|
|
("python-virtualenv-clone" ,python-virtualenv-clone)))
|
|
(arguments
|
|
;; FIXME: Tests currently fail due to an issue with python-typing and the
|
|
;; built in typing in pythong 3.7
|
|
'(#:tests? #f))
|
|
(home-page "https://github.com/pypa/pipenv")
|
|
(synopsis
|
|
"Python Development Workflow for Humans")
|
|
(description
|
|
"Python Development Workflow for Humans.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-dbusmock
|
|
(package
|
|
(name "python-dbusmock")
|
|
(version "0.19")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "python-dbusmock" version))
|
|
(sha256
|
|
(base32
|
|
"1hl6zk3blc561csjp5sfpbglpbwr9qp65f9k4smdxmgwsbp30zs9"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'unpack 'patch-shell-path
|
|
(lambda _
|
|
(substitute* "tests/test_code.py"
|
|
(("/bin/bash") (which "bash")))
|
|
#t)))))
|
|
(native-inputs
|
|
`(;; For tests.
|
|
("dbus" ,dbus) ; for dbus-daemon
|
|
("python-nose" ,python-nose)
|
|
("which" ,which)))
|
|
(propagated-inputs
|
|
`(("python-dbus" ,python-dbus)
|
|
("python-pygobject" ,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
|
|
D-Bus. This is useful for writing tests for software which talks to D-Bus
|
|
services such as upower, systemd, logind, gnome-session or others, and it is
|
|
hard (or impossible without root privileges) to set the state of the real
|
|
services to what you expect in your tests.")
|
|
(license license:lgpl3+)))
|
|
|
|
(define-public python-ujson
|
|
(package
|
|
(name "python-ujson")
|
|
(version "2.0.3")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "ujson" version))
|
|
(sha256
|
|
(base32
|
|
"18z9gb9ggy1r464b9q1gqs078mqgrkj6dys5a47529rqk3yfybdx"))
|
|
(modules '((guix build utils)))
|
|
(snippet
|
|
'(begin (delete-file-recursively "deps") #t))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'unpack 'link-to-system-double-conversion
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
(let ((d-c (assoc-ref inputs "double-conversion")))
|
|
(substitute* "setup.py"
|
|
(("./deps/double-conversion/double-conversion\"")
|
|
(string-append d-c "/include/double-conversion\""))
|
|
(("-lstdc++" stdc)
|
|
(string-append "-L" d-c "/lib\","
|
|
" \"-ldouble-conversion\","
|
|
" \"" stdc)))
|
|
#t)))
|
|
(replace 'check
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
(add-installed-pythonpath inputs outputs)
|
|
(invoke "pytest"))))))
|
|
(native-inputs
|
|
`(("double-conversion" ,double-conversion)
|
|
("python-setuptools-scm" ,python-setuptools-scm)
|
|
("python-pytest" ,python-pytest)))
|
|
(home-page "https://github.com/ultrajson/ultrajson")
|
|
(synopsis "Ultra fast JSON encoder and decoder for Python")
|
|
(description
|
|
"UltraJSON is an ultra fast JSON encoder and decoder written in pure C with
|
|
bindings for Python 3.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python-ujson-1
|
|
(package
|
|
(inherit python-ujson)
|
|
(version "1.35")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "ujson" version))
|
|
(sha256
|
|
(base32
|
|
"11jz5wi7mbgqcsz52iqhpyykiaasila4lq8cmc2d54bfa3jp6q7n"))))
|
|
(arguments
|
|
'(#:phases %standard-phases))
|
|
(native-inputs '())
|
|
(home-page "http://www.esn.me")
|
|
(description
|
|
"UltraJSON is an ultra fast JSON encoder and decoder written in pure C with
|
|
bindings for Python 2.5+ and 3.")))
|
|
|
|
(define-public python2-ujson-1
|
|
(package-with-python2 python-ujson-1))
|
|
|
|
(define-public python-iocapture
|
|
;; The latest release is more than a year older than this commit.
|
|
(let ((commit "fdc021c431d0840303908dfc3ca8769db383595c")
|
|
(revision "1"))
|
|
(package
|
|
(name "python-iocapture")
|
|
(version "0.1.2")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/oinume/iocapture")
|
|
(commit commit)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"1mkbhqibxvgwg0p7slr8dfraa3g2s6bsayladhax2jccwj4kcndz"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(delete 'check)
|
|
(add-after 'install 'check
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
(add-installed-pythonpath inputs outputs)
|
|
(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)))
|
|
(home-page "https://github.com/oinume/iocapture")
|
|
(synopsis "Python capturing tool for stdout and stderr")
|
|
(description
|
|
"This package helps you to capture the standard out (stdout) and the
|
|
standard error channel (stderr) in your program.")
|
|
(license license:expat))))
|
|
|
|
(define-public python-argh
|
|
;; There are 21 commits since the latest release containing important
|
|
;; improvements.
|
|
(let ((commit "dcd3253f2994400a6a58a700c118c53765bc50a4")
|
|
(revision "1"))
|
|
(package
|
|
(name "python-argh")
|
|
(version (git-version "0.26.2" revision commit))
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/neithere/argh")
|
|
(commit commit)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"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)
|
|
("python-tox" ,python-tox)))
|
|
(home-page "https://github.com/neithere/argh/")
|
|
(synopsis "Argparse wrapper with natural syntax")
|
|
(description
|
|
"python-argh is a small library that provides several layers of
|
|
abstraction on top of @code{python-argparse}. The layers can be mixed. It is
|
|
always possible to declare a command with the highest possible (and least
|
|
flexible) layer and then tune the behaviour with any of the lower layers
|
|
including the native API of @code{python-argparse}.")
|
|
(license license:lgpl3+))))
|
|
|
|
(define-public python-ppft
|
|
(package
|
|
(name "python-ppft")
|
|
(version "1.6.6.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "ppft" version))
|
|
(sha256
|
|
(base32
|
|
"1z1invkhszc5d2mvgr221v7cszzifcc77mz0pv3wjp6x5q2768cy"))))
|
|
(build-system python-build-system)
|
|
(arguments '(#:tests? #f)) ; there are none
|
|
(propagated-inputs
|
|
`(("python-six" ,python-six)))
|
|
(home-page "https://pypi.org/project/ppft/")
|
|
(synopsis "Fork of Parallel Python")
|
|
(description
|
|
"This package is a fork of Parallel Python. The Parallel Python
|
|
module (@code{pp}) provides an easy and efficient way to create
|
|
parallel-enabled applications for @dfn{symmetric multiprocessing} (SMP)
|
|
computers and clusters. It features cross-platform portability and dynamic
|
|
load balancing.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python-pox
|
|
(package
|
|
(name "python-pox")
|
|
(version "0.2.7")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pox" version))
|
|
(sha256
|
|
(base32
|
|
"0y17ckc2p6i6709s279sjdj4q459mpcc38ymg9zv9y6vl6jf3bq6"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'check
|
|
(lambda _
|
|
(mkdir-p "/tmp/guix")
|
|
(setenv "SHELL" "bash")
|
|
(setenv "USERNAME" "guix")
|
|
(setenv "HOME" "/tmp/guix") ; must end on USERNAME...
|
|
(invoke "py.test" "-vv")
|
|
#t)))))
|
|
(native-inputs
|
|
`(("python-pytest" ,python-pytest)
|
|
("which" ,which)))
|
|
(home-page "https://pypi.org/project/pox/")
|
|
(synopsis "Python utilities for filesystem exploration and automated builds")
|
|
(description
|
|
"Pox provides a collection of utilities for navigating and manipulating
|
|
filesystems. This module is designed to facilitate some of the low level
|
|
operating system interactions that are useful when exploring a filesystem on a
|
|
remote host. Pox provides Python equivalents of several shell commands such
|
|
as @command{which} and @command{find}. These commands allow automated
|
|
discovery of what has been installed on an operating system, and where the
|
|
essential tools are located.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python-pathos
|
|
(package
|
|
(name "python-pathos")
|
|
(version "0.2.5")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pathos" version))
|
|
(sha256
|
|
(base32
|
|
"0in8hxdz7k081ijn6q94gr39ycy7363sx4zysmbwyvd7snqjrbi1"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'check
|
|
(lambda _
|
|
(setenv "PYTHONPATH"
|
|
(string-append (getcwd) ":" (getenv "PYTHONPATH")))
|
|
(invoke "python" "./tests/__main__.py"))))))
|
|
(propagated-inputs
|
|
`(("python-dill" ,python-dill)
|
|
("python-multiprocess" ,python-multiprocess)
|
|
("python-pox" ,python-pox)
|
|
("python-ppft" ,python-ppft)))
|
|
(native-inputs
|
|
`(("python-pytest" ,python-pytest)))
|
|
(home-page "https://pypi.org/project/pathos/")
|
|
(synopsis
|
|
"Parallel graph management and execution in heterogeneous computing")
|
|
(description
|
|
"Python-pathos is a framework for heterogeneous computing. It provides a
|
|
consistent high-level interface for configuring and launching parallel
|
|
computations across heterogeneous resources. Python-pathos provides configurable
|
|
launchers for parallel and distributed computing, where each launcher contains
|
|
the syntactic logic to configure and launch jobs in an execution environment.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python-flit
|
|
(package
|
|
(name "python-flit")
|
|
(version "2.1.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "flit" version))
|
|
(sha256
|
|
(base32
|
|
"0h5vvmqinqzn97mr3ix7zx53af9ad4fimjjwqpx88yp8qhz4r5bc"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:tests? #f)) ; XXX: Check requires network access.
|
|
(home-page "https://flit.readthedocs.io/")
|
|
(synopsis
|
|
"Simple packaging tool for simple packages")
|
|
(description
|
|
"Flit is a simple way to put Python packages and modules on PyPI. Flit
|
|
packages a single importable module or package at a time, using the import
|
|
name as the name on PyPI. All subpackages and data files within a package
|
|
are included automatically.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python-pathtools
|
|
(package
|
|
(name "python-pathtools")
|
|
(version "0.1.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pathtools" version))
|
|
(sha256
|
|
(base32
|
|
"1h7iam33vwxk8bvslfj4qlsdprdnwf8bvzhqh3jq5frr391cadbw"))))
|
|
(build-system python-build-system)
|
|
(home-page
|
|
"https://github.com/gorakhargosh/pathtools")
|
|
(synopsis "Path utilities for Python")
|
|
(description "Pattern matching and various utilities for file systems
|
|
paths.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-fastentrypoints
|
|
(package
|
|
(name "python-fastentrypoints")
|
|
(version "0.12")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "fastentrypoints" version))
|
|
(sha256
|
|
(base32
|
|
"02s1j8i2dzbpbwgq2a3fiqwm3cnmhii2qzc0k42l0rdxd4a4ya7z"))))
|
|
(build-system python-build-system)
|
|
(home-page
|
|
"https://github.com/ninjaaron/fast-entry_points")
|
|
(synopsis
|
|
"Makes entry_points specified in setup.py load more quickly")
|
|
(description
|
|
"Using entry_points in your setup.py makes scripts that start really
|
|
slowly because it imports pkg_resources. This package allows such setup
|
|
scripts to load entry points more quickly.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python-funcparserlib
|
|
(package
|
|
(name "python-funcparserlib")
|
|
(version "0.3.6")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "funcparserlib" version))
|
|
(sha256
|
|
(base32
|
|
"07f9cgjr3h4j2m67fhwapn8fja87vazl58zsj4yppf9y3an2x6dp"))))
|
|
(native-inputs
|
|
`(("python-tox" ,python-tox)))
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'check
|
|
(lambda _
|
|
(invoke "tox"))))))
|
|
(build-system python-build-system)
|
|
(home-page
|
|
"https://github.com/vlasovskikh/funcparserlib")
|
|
(synopsis
|
|
"Recursive descent parsing library based on functional combinators")
|
|
(description
|
|
"This package is a recursive descent parsing library for Python based on
|
|
functional combinators. Parser combinators are just higher-order functions
|
|
that take parsers as their arguments and return them as result values.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-speg
|
|
(package
|
|
(name "python-speg")
|
|
(version "0.3")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "speg" version ".zip"))
|
|
(sha256
|
|
(base32 "0w9y4jf4787dzhy6rvhwi0mpl0r8qkqmqmyv2hpwdpv8w53yzjqh"))))
|
|
(arguments
|
|
`(#:tests? #f)) ;FIXME: tests fail, not sure why
|
|
(native-inputs
|
|
`(("unzip" ,unzip)))
|
|
(build-system python-build-system)
|
|
(home-page "https://github.com/avakar/speg")
|
|
(synopsis "PEG-based parser interpreter with memoization")
|
|
(description "This package is a PEG-based parser and interpreter with
|
|
memoization.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-cson
|
|
(package
|
|
(name "python-cson")
|
|
(version "0.8")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "cson" version))
|
|
(sha256
|
|
(base32 "00cyvigg4npbph39ghkg77xbxisa6plf75vii24igxfizik0337f"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-speg" ,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* _
|
|
(substitute* "test/test_selector.py"
|
|
;; XXX: This test fails for unknown reason inside the build
|
|
;; environment.
|
|
(("def test_events_watched_outside_test_are_ignored")
|
|
"@unittest.skip('disabled by guix')
|
|
def test_events_watched_outside_test_are_ignored")))))))
|
|
(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")
|
|
(version "0.2.0")
|
|
(source
|
|
(origin
|
|
;; Source tarball on PyPi lacks tests
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/rbarrois/aionotify")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "1sk9i8czxgsbrswsf1nlb4c82vgnlzi8zrvrxdip92w2z8hqh43y"))
|
|
(patches (search-patches "python-aionotify-0.2.0-py3.8.patch"))))
|
|
(build-system python-build-system)
|
|
(home-page "https://github.com/rbarrois/aionotify")
|
|
(synopsis "Asyncio-powered inotify library")
|
|
(description
|
|
"@code{aionotify} is a simple, asyncio-based inotify library.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python-forbiddenfruit
|
|
(package
|
|
(name "python-forbiddenfruit")
|
|
(version "0.1.3")
|
|
(source
|
|
(origin
|
|
;; Source tarball on PyPi lacks Makefile that builds and runs tests
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/clarete/forbiddenfruit")
|
|
(commit version)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "1fp2xvdqpi910j9r3q68x38phpxbm700gjdi2m2j5gs91xdnyyh2"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'check
|
|
(lambda _
|
|
(invoke "make" "SKIP_DEPS=1"))))))
|
|
(native-inputs
|
|
`(("python-nose" ,python-nose)
|
|
("python-coverage" ,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.")
|
|
(license (list license:gpl3+ license:expat))))
|
|
|
|
(define-public python-shouldbe
|
|
(package
|
|
(name "python-shouldbe")
|
|
(version "0.1.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "shouldbe" version))
|
|
(sha256
|
|
(base32
|
|
"16zbvjxf71dl4yfbgcr6idyim3mdrfvix1dv8b95p0s9z07372pj"))
|
|
(patches (search-patches "python-shouldbe-0.1.2-cpy3.8.patch"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-forbiddenfruit" ,python-forbiddenfruit)))
|
|
(native-inputs
|
|
`(("python-nose" ,python-nose)))
|
|
(home-page "https://github.com/directxman12/should_be")
|
|
(synopsis "Python Assertion Helpers inspired by Shouldly")
|
|
(description
|
|
"Python Assertion Helpers inspired by Shouldly.")
|
|
(license license:isc)))
|
|
|
|
(define-public python-k5test
|
|
(package
|
|
(name "python-k5test")
|
|
(version "0.9.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "k5test" version))
|
|
(sha256
|
|
(base32
|
|
"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)))
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'unpack 'patch-paths
|
|
(lambda* _
|
|
(substitute* "k5test/realm.py"
|
|
(("'kadmin_local'") "'kadmin.local'")))))))
|
|
(home-page "https://github.com/pythongssapi/k5test")
|
|
(synopsis "Library for setting up self-contained Kerberos 5 environments")
|
|
(description
|
|
"@code{k5test} is a library for setting up self-contained Kerberos 5
|
|
environments, and running Python unit tests inside those environments. It is
|
|
based on the file of the same name found alongside the MIT Kerberos 5 unit
|
|
tests.")
|
|
(license license:isc)))
|
|
|
|
(define-public python-gssapi
|
|
(package
|
|
(name "python-gssapi")
|
|
(version "1.6.5")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "gssapi" version))
|
|
(sha256
|
|
(base32
|
|
"02i5s7998dg5kcr4m0xwamd8vjqk1816xbzldyp68l91f6bynwcr"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-decorator" ,python-decorator)
|
|
("python-six" ,python-six)))
|
|
(inputs
|
|
`(("mit-krb5" ,mit-krb5)))
|
|
;; for tests
|
|
(native-inputs
|
|
`(("python-shouldbe" ,python-shouldbe)
|
|
("python-parameterized" ,python-parameterized)
|
|
("python-k5test" ,python-k5test)
|
|
("python-nose" ,python-nose)))
|
|
(home-page "https://github.com/pythongssapi/python-gssapi")
|
|
(synopsis "Python GSSAPI Wrapper")
|
|
(description
|
|
"Python-GSSAPI provides both low-level and high level wrappers around the
|
|
GSSAPI C libraries. While it focuses on the Kerberos mechanism, it should
|
|
also be useable with other GSSAPI mechanisms.")
|
|
(license license:isc)))
|
|
|
|
(define-public python-check-manifest
|
|
(package
|
|
(name "python-check-manifest")
|
|
(version "0.37")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "check-manifest" version))
|
|
(sha256
|
|
(base32
|
|
"0lk45ifdv2cpkl6ayfyix7jwmnxa1rha7xvb0ih5999k115wzqs4"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-mock" ,python-mock)
|
|
("git" ,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
|
|
sending package files to the Python Package Index. This package checks that
|
|
file to ensure it completely and accurately describes your project.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-android-stringslib
|
|
(package
|
|
(name "python-android-stringslib")
|
|
(version "0.1.2")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://framagit.org/tyreunom/python-android-strings-lib")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"0gij55qzzq1h83kfpvhai1vf78kkhyvxa6l17m2nl24454lhfin4"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:tests? #f))
|
|
(home-page "https://framagit.org/tyreunom/python-android-strings-lib")
|
|
(synopsis "Android strings.xml support")
|
|
(description "Android Strings Lib provides support for android's strings.xml
|
|
files. These files are used to translate strings in android apps.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-watchdog
|
|
(package
|
|
(name "python-watchdog")
|
|
(version "0.9.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "watchdog" version))
|
|
(sha256
|
|
(base32
|
|
"07cnvvlpif7a6cg4rav39zq8fxa5pfqawchr46433pij0y6napwn"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-before 'check 'remove-failing
|
|
(lambda _
|
|
(delete-file "tests/test_inotify_buffer.py")
|
|
(delete-file "tests/test_snapshot_diff.py")
|
|
#t)))))
|
|
(propagated-inputs
|
|
`(("python-argh" ,python-argh)
|
|
("python-pathtools" ,python-pathtools)
|
|
("python-pyyaml" ,python-pyyaml)))
|
|
(native-inputs
|
|
`(("python-pytest-cov" ,python-pytest-cov)
|
|
("python-pytest-timeout" ,python-pytest-timeout)))
|
|
(home-page "https://github.com/gorakhargosh/watchdog")
|
|
(synopsis "Filesystem events monitoring")
|
|
(description "This package provides a way to monitor filesystem events
|
|
such as a file modification and trigger an action. This is similar to inotify,
|
|
but portable.")
|
|
(license license:asl2.0)))
|
|
|
|
(define-public python-wget
|
|
(package
|
|
(name "python-wget")
|
|
(version "3.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "wget" version ".zip"))
|
|
(sha256
|
|
(base32
|
|
"0qb0y7ipby42m4m7h0ipazpdyc3bn9xi46lvifcwwl5albn31rim"))))
|
|
(build-system python-build-system)
|
|
(native-inputs `(("unzip" ,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
|
|
with features similar to the @command{wget} utility.")
|
|
(license license:unlicense)))
|
|
|
|
(define-public offlate
|
|
(package
|
|
(name "offlate")
|
|
(version "0.5")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://framagit.org/tyreunom/offlate")
|
|
(commit version)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"13pqnbl05wcyldfvl75fp89vjgwsvxyc69vhnb17kkha2rc2k1h7"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
;; 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)))
|
|
(native-inputs
|
|
`(("qttools" ,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
|
|
file formats, as well as many different online translation platforms. You can
|
|
use it to get work from online platforms, specialized such as the Translation
|
|
Project, or not such a gitlab instance when your upstream doesn't use any
|
|
dedicated platform. The tool proposes a unified interface for any format and
|
|
an upload option to send your work back to the platform.")
|
|
(license license:gpl3+)))
|
|
|
|
(define-public python-titlecase
|
|
(package
|
|
(name "python-titlecase")
|
|
(version "0.12.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "titlecase" version))
|
|
(sha256
|
|
(base32
|
|
"0486i99wf8ssa7sgn81fn6fv6i4rhhq6n751bc740b3hzfbpmpl4"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-nose" ,python-nose)))
|
|
(home-page "https://github.com/ppannuto/python-titlecase")
|
|
(synopsis "Capitalize strings similar to book titles")
|
|
(description
|
|
"Python-Titlecase is a Python port of John Gruber's titlecase.pl.
|
|
It capitalizes (predominantly English) strings in a way that is similar to
|
|
book titles, using the New York Times Manual of Style to leave certain words
|
|
lowercase.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-pypng
|
|
(package
|
|
(name "python-pypng")
|
|
(version "0.0.20")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pypng" version))
|
|
(sha256
|
|
(base32 "02qpa22ls41vwsrzw9r9qhj1nhq05p03hb5473pay6y980s86chh"))))
|
|
(build-system python-build-system)
|
|
(home-page "https://github.com/drj11/pypng")
|
|
(synopsis "Pure Python PNG image encoder/decoder")
|
|
(description
|
|
"The PyPNG module implements support for PNG images. It reads and writes
|
|
PNG files with all allowable bit depths (1/2/4/8/16/24/32/48/64 bits per
|
|
pixel) and colour combinations: greyscale (1/2/4/8/16 bit); RGB, RGBA,
|
|
LA (greyscale with alpha) with 8/16 bits per channel; colour mapped
|
|
images (1/2/4/8 bit). Adam7 interlacing is supported for reading and writing.
|
|
A number of optional chunks can be specified (when writing) and
|
|
understood (when reading): tRNS, bKGD, gAMA.
|
|
|
|
PyPNG is not a high level toolkit for image processing (like PIL) and does not
|
|
aim at being a replacement or competitor. Its strength lies in fine-grained
|
|
extensive support of PNG features. It can also read and write Netpbm PAM
|
|
files, with a focus on its use as an intermediate format for implementing
|
|
custom PNG processing.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-fuzzywuzzy
|
|
(package
|
|
(name "python-fuzzywuzzy")
|
|
(version "0.18.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "fuzzywuzzy" version))
|
|
(sha256
|
|
(base32
|
|
"1s00zn75y2dkxgnbw8kl8dw4p1mc77cv78fwfa4yb0274s96w0a5"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-hypothesis" ,python-hypothesis)
|
|
("python-pycodestyle" ,python-pycodestyle)
|
|
("python-pytest" ,python-pytest)))
|
|
(propagated-inputs
|
|
`(("python-levenshtein" ,python-levenshtein)))
|
|
(home-page "https://github.com/seatgeek/fuzzywuzzy")
|
|
(synopsis "Fuzzy string matching in Python")
|
|
(description "Approximate string matching using
|
|
@emph{Levenshtein Distance} to calculate the differences between
|
|
sequences.")
|
|
(license license:gpl2)))
|
|
|
|
(define-public python2-fuzzywuzzy
|
|
(package-with-python2 python-fuzzywuzzy))
|
|
|
|
(define-public python-block-tracing
|
|
(package
|
|
(name "python-block-tracing")
|
|
(version "1.0.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "block_tracing" version))
|
|
(sha256
|
|
(base32
|
|
"0s2y729qr5rs7n506qfh8cssk8m2bi6k2y5vbrh2z3raf2d01alz"))))
|
|
(build-system python-build-system)
|
|
(arguments '(#:tests? #f)) ; no tests
|
|
(home-page "https://github.com/rianhunter/block_tracing")
|
|
(synopsis "Protect process memory")
|
|
(description
|
|
"@code{block_tracing} is a tiny Python library that can be used to
|
|
prevent debuggers and other applications from inspecting the memory within
|
|
your process.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-gcovr
|
|
(package
|
|
(name "python-gcovr")
|
|
(version "4.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "gcovr" version))
|
|
(sha256
|
|
(base32
|
|
"0gyady7x3v3l9fm1zan0idaggqqcm31y7g5vxk7h05p5h7f39bjs"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-lxml" ,python-lxml)
|
|
("python-jinja2" ,python-jinja2)))
|
|
(home-page "https://gcovr.com/")
|
|
(synopsis "Utility for generating code coverage results")
|
|
(description
|
|
"Gcovr provides a utility for managing the use of the GNU gcov
|
|
utility and generating summarized code coverage results. It is inspired
|
|
by the Python coverage.py package, which provides a similar utility for
|
|
Python.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python-owslib
|
|
(package
|
|
(name "python-owslib")
|
|
(version "0.19.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "OWSLib" version))
|
|
(sha256
|
|
(base32 "0v8vg0naa9rywvd31cpq65ljbdclpsrx09788v4xj7lg10np8nk0"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
'(#:tests? #f)) ; TODO: package dependencies required for tests.
|
|
(synopsis "Interface for Open Geospatial Consortium web service")
|
|
(description
|
|
"OWSLib is a Python package for client programming with Open Geospatial
|
|
Consortium (OGC) web service (hence OWS) interface standards, and their related
|
|
content models.")
|
|
(home-page "https://geopython.github.io/OWSLib/")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python-docusign-esign
|
|
(package
|
|
(name "python-docusign-esign")
|
|
(version "3.1.0")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "docusign_esign" version))
|
|
(sha256
|
|
(base32
|
|
"01f3h03vc97syjlmqyl7xa5j90pzgmwpspc5a0gra9saynnbkx37"))))
|
|
(build-system python-build-system)
|
|
;; 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)))
|
|
(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.")
|
|
(home-page "https://www.docusign.com/devcenter")
|
|
(license license:expat)))
|
|
|
|
(define-public python-xattr
|
|
(package
|
|
(name "python-xattr")
|
|
(version "0.9.7")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "xattr" version))
|
|
(sha256
|
|
(base32
|
|
"0i4xyiqbhjz2g16zbim17zjdbjkw79xsw8k59942vvq4is1cmfxh"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-cffi" ,python-cffi)))
|
|
(home-page "https://github.com/xattr/xattr")
|
|
(synopsis
|
|
"Python wrapper for extended filesystem attributes")
|
|
(description "This package provides a Python wrapper for using extended
|
|
filesystem attributes. Extended attributes extend the basic attributes of files
|
|
and directories in the file system. They are stored as name:data pairs
|
|
associated with file system objects (files, directories, symlinks, etc).")
|
|
(license license:expat)))
|
|
|
|
(define-public python-json-logger
|
|
(package
|
|
(name "python-json-logger")
|
|
(version "0.1.11")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "python-json-logger" version))
|
|
(sha256
|
|
(base32
|
|
"10g2ya6nsvn5vxzvq2wb8q4d43i3d7756i5rxyjna6d0y9i138xp"))))
|
|
(build-system python-build-system)
|
|
(home-page
|
|
"https://github.com/madzak/python-json-logger")
|
|
(synopsis "JSON log formatter in Python")
|
|
(description "This library allows standard Python logging to output log data
|
|
as JSON objects. With JSON we can make our logs more readable by machines and
|
|
we can stop writing custom parsers for syslog-type records.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python-daiquiri
|
|
(package
|
|
(name "python-daiquiri")
|
|
(version "2.1.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "daiquiri" version))
|
|
(sha256
|
|
(base32
|
|
"1qmank3c217ddiig3xr8ps0mqaydcp0q5a62in9a9g4zf72zjnqd"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-json-logger" ,python-json-logger)))
|
|
(native-inputs
|
|
`(("python-mock" ,python-mock)
|
|
("python-pytest" ,python-pytest)
|
|
("python-setuptools-scm" ,python-setuptools-scm)
|
|
("python-six" ,python-six)))
|
|
(home-page "https://github.com/jd/daiquiri")
|
|
(synopsis
|
|
"Library to configure Python logging easily")
|
|
(description "The daiquiri library provides an easy way to configure
|
|
logging in Python. It also provides some custom formatters and handlers.")
|
|
(license license:asl2.0)))
|
|
|
|
(define-public python-pifpaf
|
|
(package
|
|
(name "python-pifpaf")
|
|
(version "2.5.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pifpaf" version))
|
|
(sha256
|
|
(base32
|
|
"1gy9p4nqf70fh38wn4icyfm7i9wrvx22wnjpg71g89wxbz27igaa"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'check
|
|
(lambda _
|
|
(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)))
|
|
(native-inputs
|
|
`(("python-mock" ,python-mock)
|
|
("python-os-testr" ,python-os-testr)
|
|
("python-requests" ,python-requests)
|
|
("python-testrepository" ,python-testrepository)
|
|
("python-testtools" ,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
|
|
starts and stops daemons for a quick throw-away usage. This is typically
|
|
useful when needing these daemons to run integration testing. It originally
|
|
evolved from its precursor @code{overtest}.")
|
|
(license license:asl2.0)))
|
|
|
|
(define-public python-pytest-check-links
|
|
(package
|
|
(name "python-pytest-check-links")
|
|
(version "0.3.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
;; URI uses underscores
|
|
(uri (pypi-uri "pytest_check_links" version))
|
|
(sha256
|
|
(base32
|
|
"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)))
|
|
(native-inputs
|
|
`(("python-pbr-minimal" ,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
|
|
HTML-containing files.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python-json5
|
|
(package
|
|
(name "python-json5")
|
|
(version "0.8.5")
|
|
(source
|
|
(origin
|
|
;; sample.json5 is missing from PyPi source tarball
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/dpranke/pyjson5")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "0nyngj18jlkgvm1177lc3cj47wm4yh3dqigygvcvw7xkyryafsqn"))))
|
|
(build-system python-build-system)
|
|
(home-page "https://github.com/dpranke/pyjson5")
|
|
(synopsis
|
|
"Python implementation of the JSON5 data format")
|
|
(description
|
|
"JSON5 extends the JSON data interchange format to make it slightly more
|
|
usable as a configuration language. This Python package implements parsing and
|
|
dumping of JSON5 data structures.")
|
|
(license license:asl2.0)))
|
|
|
|
(define-public python-frozendict
|
|
(package
|
|
(name "python-frozendict")
|
|
(version "1.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "frozendict" version))
|
|
(sha256
|
|
(base32 "0ibf1wipidz57giy53dh7mh68f2hz38x8f4wdq88mvxj5pr7jhbp"))))
|
|
(build-system python-build-system)
|
|
(home-page "https://github.com/slezica/python-frozendict")
|
|
(synopsis "Simple immutable mapping for Python")
|
|
(description
|
|
"@dfn{frozendict} is an immutable wrapper around dictionaries that
|
|
implements the complete mapping interface. It can be used as a drop-in
|
|
replacement for dictionaries where immutability is desired.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-unpaddedbase64
|
|
(package
|
|
(name "python-unpaddedbase64")
|
|
(version "1.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))
|
|
(sha256
|
|
(base32
|
|
"0if3fjfxga0bwdq47v77fs9hrcqpmwdxry2i2a7pdqsp95258nxd"))))
|
|
(build-system python-build-system)
|
|
(home-page "https://pypi.org/project/unpaddedbase64/")
|
|
(synopsis "Encode and decode Base64 without “=” padding")
|
|
(description
|
|
"RFC 4648 specifies that Base64 should be padded to a multiple of 4 bytes
|
|
using “=” characters. However this conveys no benefit so many protocols
|
|
choose to use Base64 without the “=” padding.")
|
|
(license license:asl2.0)))
|
|
|
|
(define-public python-py-cpuinfo
|
|
(package
|
|
(name "python-py-cpuinfo")
|
|
(version "5.0.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "py-cpuinfo" version))
|
|
(sha256
|
|
(base32
|
|
"0045y6832gqjg63jmw0qj2jwyypgjwr7sfdq3lfv49b6fxpl5xic"))))
|
|
(build-system python-build-system)
|
|
(home-page "https://github.com/workhorsy/py-cpuinfo")
|
|
(synopsis "Get CPU info with Python")
|
|
(description
|
|
"This Python module returns the CPU info by using the best sources of
|
|
information for your operating system.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-canonicaljson
|
|
(package
|
|
(name "python-canonicaljson")
|
|
(version "1.1.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "canonicaljson" version))
|
|
(sha256
|
|
(base32 "09cpacc8yvcc74i63pdmlfaahh77dnvbyw9zf29wml2zzwqfbg25"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-six" ,python-six)
|
|
("python-frozendict" ,python-frozendict)
|
|
("python-simplejson" ,python-simplejson)))
|
|
(home-page "https://github.com/matrix-org/python-canonicaljson")
|
|
(synopsis "Canonical JSON")
|
|
(description
|
|
"Deterministically encode JSON.
|
|
|
|
@itemize
|
|
@item Encodes objects and arrays as RFC 7159 JSON.
|
|
@item Sorts object keys so that you get the same result each time.
|
|
@item Has no insignificant whitespace to make the output as small as possible.
|
|
@item Escapes only the characters that must be escaped, U+0000 to
|
|
U+0019 / U+0022 / U+0056, to keep the output as small as possible.
|
|
@item Uses the shortest escape sequence for each escaped character.
|
|
@item Encodes the JSON as UTF-8.
|
|
@item Can encode frozendict immutable dictionaries.
|
|
@end itemize")
|
|
(license license:asl2.0)))
|
|
|
|
(define-public python-signedjson
|
|
(package
|
|
(name "python-signedjson")
|
|
(version "1.1.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "signedjson" version))
|
|
(sha256
|
|
(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)))
|
|
(native-inputs
|
|
`(("python-setuptools-scm" ,python-setuptools-scm)))
|
|
(home-page "https://github.com/matrix-org/python-signedjson")
|
|
(synopsis "Sign JSON objects with ED25519 signatures")
|
|
(description
|
|
"Sign JSON objects with ED25519 signatures.
|
|
|
|
@itemize
|
|
@item More than one entity can sign the same object.
|
|
@item Each entity can sign the object with more than one key making it easier to
|
|
rotate keys
|
|
@item ED25519 can be replaced with a different algorithm.
|
|
@item Unprotected data can be added to the object under the @dfn{\"unsigned\"}
|
|
key.
|
|
@end itemize")
|
|
(license license:asl2.0)))
|
|
|
|
(define-public python-daemonize
|
|
(package
|
|
(name "python-daemonize")
|
|
(version "2.5.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "daemonize" version))
|
|
(sha256
|
|
(base32 "1hwbl3gf9fdds9sc14zgjyjisjvxidrvqc11xlbb0b6jz17nw0nx"))))
|
|
(build-system python-build-system)
|
|
(home-page "https://github.com/thesharp/daemonize")
|
|
(synopsis "Library for writing system daemons in Python")
|
|
(description "Daemonize is a library for writing system daemons in Python.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-pymacaroons
|
|
(package
|
|
(name "python-pymacaroons")
|
|
(version "0.13.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pymacaroons" version))
|
|
(sha256
|
|
(base32 "1f0357a6g1h96sk6wy030xmc1p4rd80a999qvxd28v7nlm1blsqy"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-six" ,python-six)
|
|
("python-pynacl" ,python-pynacl)))
|
|
(home-page "https://github.com/ecordell/pymacaroons")
|
|
(synopsis "Python Macaroon Library")
|
|
(description
|
|
"Macaroons, like cookies, are a form of bearer credential. Unlike opaque
|
|
tokens, macaroons embed caveats that define specific authorization
|
|
requirements for the target service, the service that issued the root macaroon
|
|
and which is capable of verifying the integrity of macaroons it receives.
|
|
|
|
Macaroons allow for delegation and attenuation of authorization. They are
|
|
simple and fast to verify, and decouple authorization policy from the
|
|
enforcement of that policy.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-ldap3
|
|
(package
|
|
(name "python-ldap3")
|
|
(version "2.7")
|
|
(home-page "https://github.com/cannatag/ldap3")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference (url home-page)
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "0xw9fkqld21xsvdpaqir8ccc2l805xnn9gxahsnl70xzp3mwl0xv"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
'(#:tests? #f ;TODO: Tests need a real LDAP server to run
|
|
#:phases (modify-phases %standard-phases
|
|
(replace 'check
|
|
(lambda* (#:key tests? #:allow-other-keys)
|
|
(when tests?
|
|
(invoke "nosetests" "-s" "test"))
|
|
#t)))))
|
|
(native-inputs
|
|
`(("python-nose" ,python-nose)))
|
|
(propagated-inputs
|
|
`(("python-gssapi" ,python-gssapi)
|
|
("python-pyasn1" ,python-pyasn1)))
|
|
(synopsis "Python LDAP client")
|
|
(description
|
|
"LDAP3 is a strictly RFC 4510 conforming LDAP V3 pure Python client
|
|
library.")
|
|
(license license:lgpl3+)))
|
|
|
|
(define-public python-boltons
|
|
(package
|
|
(name "python-boltons")
|
|
(version "20.0.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "boltons" version))
|
|
(sha256
|
|
(base32
|
|
"0lrr40qqj3ch8xarvyzbnbjs79pz5aywklllq53l347h1b8xnkg4"))))
|
|
(build-system python-build-system)
|
|
(home-page "https://github.com/mahmoud/boltons")
|
|
(synopsis "Extensions to the Python standard library")
|
|
(description
|
|
"Boltons is a set of over 230 pure-Python utilities in the same spirit
|
|
as — and yet conspicuously missing from — the standard library, including:
|
|
|
|
@itemize
|
|
@item Atomic file saving, bolted on with fileutils
|
|
@item A highly-optimized OrderedMultiDict, in dictutils
|
|
@item Two types of PriorityQueue, in queueutils
|
|
@item Chunked and windowed iteration, in iterutils
|
|
@item Recursive data structure iteration and merging, with iterutils.remap
|
|
@item Exponential backoff functionality, including jitter, through
|
|
iterutils.backoff
|
|
@item A full-featured TracebackInfo type, for representing stack traces, in
|
|
tbutils
|
|
@end itemize")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python-eliot
|
|
(package
|
|
(name "python-eliot")
|
|
(version "1.12.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "eliot" version))
|
|
(sha256
|
|
(base32 "0wabv7hk63l12881f4zw02mmj06583qsx2im0yywdjlj8f56vqdn"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'unpack 'remove-journald-support
|
|
(lambda _
|
|
(for-each delete-file
|
|
'("eliot/tests/test_journald.py"
|
|
"eliot/journald.py"))
|
|
#t))
|
|
(add-after 'remove-journald-support 'remove-eliot-prettyprint-tests
|
|
;; remove command-line tool's tests. TODO eliot-prettyprint should
|
|
;; be installed and these tests should pass.
|
|
(lambda _
|
|
(delete-file "eliot/tests/test_prettyprint.py")
|
|
#t)))))
|
|
(propagated-inputs
|
|
`(("python-boltons" ,python-boltons)
|
|
("python-pyrsistent" ,python-pyrsistent)
|
|
("python-six" ,python-six)
|
|
("python-zope-interface" ,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)))
|
|
(home-page "https://github.com/itamarst/eliot/")
|
|
(synopsis "Eliot: the logging system that tells you why it happened")
|
|
(description
|
|
"@dfn{eliot} is a Python logging system that outputs causal chains of
|
|
actions: actions can spawn other actions, and eventually they either succeed
|
|
or fail. The resulting logs tell you the story of what your software did: what
|
|
happened, and what caused it.")
|
|
(license license:asl2.0)))
|
|
|
|
(define-public python-pem
|
|
(package
|
|
(name "python-pem")
|
|
(version "20.1.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pem" version))
|
|
(sha256
|
|
(base32
|
|
"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)))
|
|
(home-page "https://pem.readthedocs.io/")
|
|
(synopsis "Easy PEM file parsing in Python")
|
|
(description
|
|
"This package provides a Python module for parsing and splitting PEM files.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-txsni
|
|
;; We need a few commits on top of 0.1.9 for compatibility with newer
|
|
;; Python and OpenSSL.
|
|
(let ((commit "5014c141a7acef63e20fcf6c36fa07f0cd754ce1")
|
|
(revision "0"))
|
|
(package
|
|
(name "python-txsni")
|
|
(version (git-version "0.1.9" revision commit))
|
|
(home-page "https://github.com/glyph/txsni")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference (url home-page) (commit commit)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"0imfxx4yjj1lbq0n5ad45al3wvv4qv96sivnc1r51i66mxi658z8"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-pyopenssl" ,python-pyopenssl)
|
|
("python-service-identity" ,python-service-identity)
|
|
("python-twisted" ,python-twisted)))
|
|
(synopsis "Run TLS servers with Twisted")
|
|
(description
|
|
"This package provides an easy-to-use SNI endpoint for use
|
|
with the Twisted web framework.")
|
|
(license license:expat))))
|
|
|
|
(define-public python-txacme
|
|
(package
|
|
(name "python-txacme")
|
|
(version "0.9.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "txacme" version))
|
|
(sha256
|
|
(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)))
|
|
(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)))
|
|
(home-page "https://github.com/twisted/txacme")
|
|
(synopsis "Twisted implexmentation of the ACME protocol")
|
|
(description
|
|
"ACME is Automatic Certificate Management Environment, a protocol that
|
|
allows clients and certificate authorities to automate verification and
|
|
certificate issuance. The ACME protocol is used by the free Let's Encrypt
|
|
Certificate Authority.
|
|
|
|
txacme is an implementation of the protocol for Twisted, the event-driven
|
|
networking engine for Python.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-pysaml2
|
|
(package
|
|
(name "python-pysaml2")
|
|
(version "5.0.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pysaml2" version))
|
|
(sha256
|
|
(base32
|
|
"1h8cmxh9cvxhrdfmkh92wg6zpxmhi2fixq1cy4hxismmaar7bsny"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-cryptography" ,python-cryptography)
|
|
("python-dateutil" ,python-dateutil)
|
|
("python-defusedxml" ,python-defusedxml)
|
|
("python-pyopenssl" ,python-pyopenssl)
|
|
("python-pytz" ,python-pytz)
|
|
("python-requests" ,python-requests)
|
|
("python-six" ,python-six)))
|
|
(home-page "https://idpy.org")
|
|
(synopsis "Python implementation of SAML Version 2 Standard")
|
|
(description
|
|
"PySAML2 is a pure python implementation of SAML Version 2 Standard.
|
|
It contains all necessary pieces for building a SAML2 service provider or
|
|
an identity provider. The distribution contains examples of both.
|
|
|
|
This package was originally written to work in a WSGI environment, but
|
|
there are extensions that allow you to use it with other frameworks.")
|
|
(license license:asl2.0)))
|
|
|
|
(define-public python-click-plugins
|
|
(package
|
|
(name "python-click-plugins")
|
|
(version "1.1.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "click-plugins" version))
|
|
(sha256
|
|
(base32 "0jr6bxj67vg988vkm6nz8jj98v9lg46bn49lkhak3n598jbrkas6"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-pytest" ,python-pytest)))
|
|
(propagated-inputs
|
|
`(("python-click" ,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.")
|
|
(home-page "https://github.com/click-contrib/click-plugins")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python-diceware
|
|
(package
|
|
(name "python-diceware")
|
|
(version "0.9.6")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "diceware" version))
|
|
(sha256
|
|
(base32
|
|
"0klb0ysybzlh2wihvir82hgq62v0jjmlcqklwajyms7c0p529yby"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-coverage" ,python-coverage)
|
|
("python-pytest" ,python-pytest)
|
|
("python-pytest-runner" ,python-pytest-runner)))
|
|
(home-page "https://github.com/ulif/diceware/")
|
|
(synopsis "Generates memorable passphrases")
|
|
(description "This package generates passphrases by concatenating words
|
|
randomly picked from wordlists. It supports several sources of
|
|
randomness (including real life dice) and different wordlists (including
|
|
cryptographically signed ones).")
|
|
(license license:gpl3+)))
|
|
|
|
(define-public pyzo
|
|
(package
|
|
(name "pyzo")
|
|
(version "4.10.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pyzo" version))
|
|
(sha256
|
|
(base32 "1zplxcb78qy8qibifmnsx5i9gnlfmw9n6nr4yflsabpxw57mx4m1"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-before 'check 'fix-home-directory
|
|
(lambda _
|
|
;; Tests fail with "Permission denied: '/homeless-shelter'".
|
|
(setenv "HOME" "/tmp")
|
|
#t)))
|
|
;; Tests fail with "Uncaught Python exception: invalid literal for
|
|
;; int() with base 10: 'test'".
|
|
#:tests? #f))
|
|
(propagated-inputs
|
|
`(("python-pyqt" ,python-pyqt)))
|
|
(home-page "https://pyzo.org")
|
|
(synopsis
|
|
"Python IDE for scientific computing")
|
|
(description
|
|
"Pyzo is a Python IDE focused on interactivity and introspection,
|
|
which makes it very suitable for scientific computing. Its practical
|
|
design is aimed at simplicity and efficiency.
|
|
|
|
It consists of two main components, the editor and the shell, and uses
|
|
a set of pluggable tools to help the programmer in various ways. Some
|
|
example tools are source structure, project manager, interactive help,
|
|
workspace...")
|
|
(license license:bsd-2)))
|
|
|
|
(define-public python-osc
|
|
(package
|
|
(name "python-osc")
|
|
(version "1.7.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "python-osc" version))
|
|
(sha256
|
|
(base32
|
|
"0cnh0z5lnng7fh48nmfaqqn8j25k13gkd4rhxd3m6sjqiix9s3vn"))))
|
|
(build-system python-build-system)
|
|
(home-page "https://github.com/attwad/python-osc")
|
|
(synopsis "Open Sound Control server and client implementations")
|
|
(description
|
|
"@code{python-osc} is a pure Python library with no external
|
|
dependencies. It implements the @uref{http://opensoundcontrol.org/spec-1_0,
|
|
Open Sound Control 1.0} specification.")
|
|
(license license:unlicense)))
|
|
|
|
(define-public python-voluptuous
|
|
(package
|
|
(name "python-voluptuous")
|
|
(version "0.11.7")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "voluptuous" version))
|
|
(sha256
|
|
(base32
|
|
"0mplkcpb5d8wjf8vk195fys4y6a3wbibiyf708imw33lphfk9g1a"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-nose" ,python-nose)))
|
|
(home-page "https://github.com/alecthomas/voluptuous")
|
|
(synopsis "Python data validation library")
|
|
(description
|
|
"Voluptuous is a Python data validation library. It is primarily
|
|
intended for validating data coming into Python as JSON, YAML, etc.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python-cmd2
|
|
(package
|
|
(name "python-cmd2")
|
|
(version "1.0.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "cmd2" version))
|
|
(sha256
|
|
(base32
|
|
"1f18plbc9yyvhn0js3d2bii9yld8zfl775gxsaw9jza5pmlg9ss2"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-attrs" ,python-attrs)
|
|
("python-colorama" ,python-colorama)
|
|
("python-pyperclip" ,python-pyperclip)
|
|
("python-wcwidth" ,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)))
|
|
(home-page "https://github.com/python-cmd2/cmd2")
|
|
(synopsis "Tool for building interactive command line applications")
|
|
(description
|
|
"Cmd2 is a tool for building interactive command line applications in
|
|
Python. Its goal is to make it quick and easy for developers to build
|
|
feature-rich and user-friendly interactive command line applications. It
|
|
provides a simple API which is an extension of Python's built-in @code{cmd}
|
|
module. @code{cmd2} provides a wealth of features on top of @code{cmd} to
|
|
make your life easier and eliminates much of the boilerplate code which would
|
|
be necessary when using @code{cmd}.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-pytidylib
|
|
(package
|
|
(name "python-pytidylib")
|
|
(version "0.3.2")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pytidylib" version))
|
|
(sha256
|
|
(base32
|
|
"1wqa9dv5d7swka14rnky862hc7dgk2g3dhlrz57hdn3hb7bwic92"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-before 'build 'qualify-libtidy
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
(let ((libtidy (string-append (assoc-ref inputs "tidy")
|
|
"/lib/libtidy.so")))
|
|
(substitute* "tidylib/tidy.py"
|
|
(("ctypes\\.util\\.find_library\\('tidy'\\)")
|
|
(format #f "'~a'" libtidy)))
|
|
#t))))))
|
|
(inputs `(("tidy" ,tidy)))
|
|
(home-page "https://github.com/countergram/pytidylib")
|
|
(synopsis "Python wrapper for HTML Tidy library")
|
|
(description
|
|
"PyTidyLib is a Python package that wraps the HTML Tidy library. This
|
|
allows you, from Python code, to “fix” invalid (X)HTML markup.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-pytidylib
|
|
(package-with-python2 python-pytidylib))
|
|
|
|
(define-public python-mujson
|
|
(package
|
|
(name "python-mujson")
|
|
(version "1.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "mujson" version))
|
|
(sha256
|
|
(base32
|
|
"0wbj6r8yzsdx2b0kbldlkznr1a9nn33za2q9x3g0hbg420dwzn97"))))
|
|
(build-system python-build-system)
|
|
(home-page "https://github.com/mattgiles/mujson")
|
|
(synopsis "Use the fastest JSON functions available at import time")
|
|
(description "This packages selects the fastest JSON functions available
|
|
at import time.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-bashlex
|
|
(package
|
|
(name "python-bashlex")
|
|
(version "0.14")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "bashlex" version))
|
|
(sha256
|
|
(base32
|
|
"1z9g96fgsfpdwawp4sb5x6hbdhmda7kgmcrqlf9xx4bs1f8f14js"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-before 'build 'pregenerate-yacc-tables
|
|
(lambda _
|
|
;; parser.py caches tables, which attempts to write to site lib
|
|
;; see https://github.com/idank/bashlex/issues/51
|
|
(invoke "python" "-c" "import bashlex"))))))
|
|
(home-page
|
|
"https://github.com/idank/bashlex")
|
|
(synopsis "Python parser for bash")
|
|
(description "@code{bashlex} is a Python port of the parser used
|
|
internally by GNU bash.
|
|
|
|
For the most part it's transliterated from C, the major differences are:
|
|
|
|
@itemize
|
|
@item it does not execute anything
|
|
@item it is reentrant
|
|
@item it generates a complete AST
|
|
@end itemize
|
|
")
|
|
(license license:gpl3+)))
|
|
|
|
(define-public python-jinxed
|
|
(package
|
|
(name "python-jinxed")
|
|
(version "1.0.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "jinxed" version))
|
|
(sha256
|
|
(base32
|
|
"1n7vl03rhjd0xhjgbjlh8x9f8yfbhamcwkgvs4jg7g5qj8f0wk89"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-before 'check 'set-environment-variables
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
(let ((ncurses (assoc-ref inputs "ncurses")))
|
|
(setenv "TERM" "LINUX")
|
|
(setenv "TERMINFO" (string-append ncurses "/share/terminfo"))
|
|
#t))))
|
|
#:tests? #f)) ; _curses.error: setupterm: could not find terminal
|
|
(native-inputs
|
|
`(("ncurses" ,ncurses)))
|
|
(home-page "https://github.com/Rockhopper-Technologies/jinxed")
|
|
(synopsis "Jinxed Terminal Library")
|
|
(description
|
|
"Jinxed is an implementation of a subset of the Python curses library.")
|
|
(license license:mpl2.0)))
|
|
|
|
(define-public python-blessed
|
|
(package
|
|
(name "python-blessed")
|
|
(version "1.17.8")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "blessed" version))
|
|
(sha256
|
|
(base32
|
|
"1wdj342sk22hfrg0n91x2qnqsbzbiyq9y009v3pxnvfzn9bx0wbn"))
|
|
(modules '((guix build utils)))
|
|
(snippet
|
|
'(begin
|
|
;; Don't get hung up on Windows test failures.
|
|
(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)))
|
|
(native-inputs
|
|
`(("python-mock" ,python-mock)
|
|
("python-pytest" ,python-pytest)))
|
|
(home-page "https://github.com/jquast/blessed")
|
|
(synopsis "Wrapper around terminal capabilities")
|
|
(description
|
|
"Blessed is a thin, practical wrapper around terminal styling, screen
|
|
positioning, and keyboard input.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-readme-renderer
|
|
(package
|
|
(name "python-readme-renderer")
|
|
(version "26.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "readme_renderer" version))
|
|
(sha256
|
|
(base32
|
|
"13fnrv7z3y0yfafzcjbl55cqxncvbxadr72ql4l29pgyvrqxpsfb"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-bleach" ,python-bleach)
|
|
("python-docutils" ,python-docutils)
|
|
("python-pygments" ,python-pygments)
|
|
("python-six" ,python-six)))
|
|
(native-inputs
|
|
`(("python-mock" ,python-mock)
|
|
("python-pytest" ,python-pytest)))
|
|
(home-page "https://github.com/pypa/readme_renderer")
|
|
(synopsis "Render README files in Warehouse")
|
|
(description
|
|
"Readme Renderer is a library that will safely render arbitrary README
|
|
files into HTML. It is designed to be used in Warehouse to render the
|
|
@code{long_description} for packages. It can handle Markdown, reStructuredText,
|
|
and plain text.")
|
|
(license license:asl2.0)))
|
|
|
|
(define-public python-lazr-delegates
|
|
(package
|
|
(name "python-lazr-delegates")
|
|
(version "2.0.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "lazr.delegates" version))
|
|
(sha256
|
|
(base32
|
|
"1rdnl85j9ayp8n85l0ciip621j9dcziz5qnmv2m7krgwgcn31vfx"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'check
|
|
(lambda _
|
|
(invoke "python" "setup.py" "nosetests"))))))
|
|
(native-inputs
|
|
`(("python-nose" ,python-nose)))
|
|
(propagated-inputs
|
|
`(("python-zope-interface" ,python-zope-interface)))
|
|
(home-page "https://launchpad.net/lazr.delegates")
|
|
(synopsis "Easily write objects that delegate behavior")
|
|
(description
|
|
"The @code{lazr.delegates} package makes it easy to write objects that
|
|
delegate behavior to another object. The new object adds some property or
|
|
behavior on to the other object, while still providing the underlying interface,
|
|
and delegating behavior.")
|
|
(license license:lgpl3)))
|
|
|
|
(define-public python-lazr-config
|
|
(package
|
|
(name "python-lazr-config")
|
|
(version "2.2.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "lazr.config" version))
|
|
(sha256
|
|
(base32
|
|
"11xpddgyhyj7sf27wbmrq5lnqk21wnprx3ajycgwlxjamh6sgffd"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'check
|
|
(lambda _
|
|
(invoke "python" "-s" "-m" "nose" "-P" "lazr"))))))
|
|
(native-inputs
|
|
`(("python-nose" ,python-nose)))
|
|
(propagated-inputs
|
|
`(("python-lazr-delegates" ,python-lazr-delegates)
|
|
("python-zope-interface" ,python-zope-interface)))
|
|
(home-page "https://launchpad.net/lazr.config")
|
|
(synopsis "Create configuration schemas and process and validate configurations")
|
|
(description
|
|
"The LAZR config system is typically used to manage process configuration.
|
|
Process configuration is for saying how things change when we run systems on
|
|
different machines, or under different circumstances. This system uses ini-like
|
|
file format of section, keys, and values. The config file supports inheritance
|
|
to minimize duplication of information across files. The format supports schema
|
|
validation.")
|
|
(license license:lgpl3)))
|
|
|
|
(define-public python-flufl-bounce
|
|
(package
|
|
(name "python-flufl-bounce")
|
|
(version "3.0.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "flufl.bounce" version))
|
|
(sha256
|
|
(base32
|
|
"01lg1b0jpf8605mzaz9miq3nray6s7a7gc8n4wzg5nsxl8fglcp4"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-atpublic" ,python-atpublic)
|
|
("python-zope-interface" ,python-zope-interface)))
|
|
(native-inputs
|
|
`(("python-nose2" ,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
|
|
and an API for detecting the original bouncing email addresses from a bounce
|
|
message. Many formats found in the wild are supported, as are VERP and
|
|
RFC 3464.")
|
|
(license (list license:asl2.0
|
|
license:lgpl3)))) ; only for setup_headers.py
|
|
|
|
(define-public python-flufl-i18n
|
|
(package
|
|
(name "python-flufl-i18n")
|
|
(version "3.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "flufl.i18n" version))
|
|
(sha256
|
|
(base32
|
|
"1flwpn1xhgc957zj3zxw92dhdjh0lsy0hdvzq32dzqpsajfsvq1r"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-atpublic" ,python-atpublic)))
|
|
(home-page "https://flufli18n.readthedocs.io")
|
|
(synopsis "API for Python internationalization")
|
|
(description
|
|
"This package provides a high level, convenient API for managing
|
|
internationalization translation contexts in Python application. There is a
|
|
simple API for single-context applications, such as command line scripts which
|
|
only need to translate into one language during the entire course of thei
|
|
execution. There is a more flexible, but still convenient API for multi-context
|
|
applications, such as servers, which may need to switch language contexts for
|
|
different tasks.")
|
|
(license license:asl2.0)))
|
|
|
|
(define-public python-flufl-lock
|
|
(package
|
|
(name "python-flufl-lock")
|
|
(version "4.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "flufl.lock" version))
|
|
(sha256
|
|
(base32
|
|
"055941zyma3wfx25jhm8wcsghpv3jc3iwi1gdrdjhzcnfhn62lxq"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-atpublic" ,python-atpublic)
|
|
("python-psutil" ,python-psutil)))
|
|
(home-page "https://flufllock.readthedocs.io")
|
|
(synopsis "NFS-safe file locking with timeouts for POSIX systems")
|
|
(description
|
|
"The @dfn{flufl.lock} package provides NFS-safe file locking with
|
|
timeouts for POSIX systems. It is similar to the @code{O_EXCL} option of the
|
|
@code{open} system call but uses a lockfile. Lock objects support lock-breaking
|
|
and have a maximum lifetime built-in.")
|
|
(license (list license:asl2.0
|
|
license:lgpl3)))) ; only for setup_helpers.py
|
|
|
|
(define-public python-flufl-testing
|
|
(package
|
|
(name "python-flufl-testing")
|
|
(version "0.8")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "flufl.testing" version))
|
|
(sha256
|
|
(base32
|
|
"1nkm95mhcfhl4x5jgs6y97ikszaxsfh07nyawsih6cxxm6l62641"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-nose2" ,python-nose2)))
|
|
(home-page "https://gitlab.com/warsaw/flufl.testing")
|
|
(synopsis "Collection of test tool plugins")
|
|
(description
|
|
"This package contains a small collection of test tool plugins for
|
|
@code{nose2} and @code{flake8}.")
|
|
(license license:asl2.0)))
|