;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
-;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org>
;;; Copyright © 2016, 2017, 2019 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2016, 2017, 2018 Julien Lepiller <julien@lepiller.eu>
-;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017, 2018, 2020 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com>
;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
;;; Copyright © 2016, 2018 Tomáš Čech <sleep_walker@gnu.org>
-;;; Copyright © 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2018, 2019, 2020 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 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2019 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
#: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 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)
(define-public python-babel
(package
(name "python-babel")
- (version "2.7.0")
+ (version "2.8.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Babel" version))
(sha256
(base32
- "0a7wawx8vsg7igvz6p3x909fskhg4b2y1910xk4f4c8y22p3aqg8"))))
+ "0f0f2vvs1mpdpz2c0mg1mnc3sih8bizmc1h9m67kdsnqs3i2mb0s"))))
(build-system python-build-system)
(native-inputs
`(("python-freezegun" ,python-freezegun)
(define-public python-wheel
(package
(name "python-wheel")
- (version "0.32.3")
+ (version "0.33.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "wheel" version))
(sha256
(base32
- "1dhxl1bf18bx9szmqcnxbg6204hp3im8089q3hkwh5jfa6zh75q2"))))
+ "0ii6f34rvpjg3nmw4bc2h7fhdsy38y1h93hghncfs5akfrldmj8h"))))
(build-system python-build-system)
- (native-inputs
- `(("python-jsonschema" ,python-jsonschema)
- ("python-pytest-cov" ,python-pytest-cov)))
+ (arguments
+ ;; FIXME: The test suite runs "python setup.py bdist_wheel", which in turn
+ ;; fails to find the newly-built bdist_wheel library, even though it is
+ ;; available on PYTHONPATH. What search path is consulted by setup.py?
+ '(#:tests? #f))
(home-page "https://bitbucket.org/pypa/wheel/")
(synopsis "Format for built Python packages")
(description
unpacked archive preserves enough information to @code{Spread} (copy data and
scripts to their final locations) at any later time. Wheel files can be
installed with a newer @code{pip} or with wheel's own command line utility.")
- (license license:expat)
- (properties `((python2-variant . ,(delay python2-wheel))))))
+ (license license:expat)))
(define-public python2-wheel
- (let ((wheel (package-with-python2
- (strip-python2-variant python-wheel))))
- (package (inherit wheel)
- (native-inputs `(("python2-functools32" ,python2-functools32)
- ,@(package-native-inputs wheel))))))
+ (package-with-python2 python-wheel))
(define-public python-vcversioner
(package
(define-public python2-jdcal
(package-with-python2 python-jdcal))
+(define-public python-jsondiff
+ (package
+ (name "python-jsondiff")
+ (version "1.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "jsondiff" version))
+ (sha256
+ (base32
+ "00v3689175aqzdscrxpffm712ylp8jvcpqdg51ca22ni6721p51l"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-nose" ,python-nose)
+ ("python-nose-random" ,python-nose-random)))
+ (home-page
+ "https://github.com/fzumstein/jsondiff")
+ (synopsis "Compare JSON and JSON-like structures in Python")
+ (description "@code{jsondiff} is a Python library which lets you
+compare, diff, and patch JSON and JSON-like structures in Python.")
+ (license license:expat)))
+
(define-public python-jsonschema
(package
(name "python-jsonschema")
(package
(name "python-pympler")
(home-page "https://pythonhosted.org/Pympler/")
- (version "0.7")
+ (version "0.8")
(source (origin
(method url-fetch)
(uri (pypi-uri "Pympler" version))
(sha256
(base32
- "0ki7bqp1h9l1xc2k1h4vjyzsgs20i8ingvcdhszyi72s28wyf4bs"))))
+ "08mrpnb6cv2nvfncvr8a9a8bpwhnasa924anapnjvnaw5jcd4k7p"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
;; Only setup.py is gpl3+, everything else is apache 2.0 licensed.
(license (list license:asl2.0 license:gpl3+))))
+(define-public python-anytree
+ (package
+ (name "python-anytree")
+ (version "2.8.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "anytree" version))
+ (sha256
+ (base32
+ "1aycpc387wqz7h9w2p53qxn43qsh3m6by6ak4kkc66x9aprr63rz"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-six" ,python-six)))
+ (native-inputs
+ `(;; For tests.
+ ("graphviz" ,graphviz) ;for 'dot'
+ ("python-nose" ,python-nose)))
+ (home-page "https://github.com/c0fec0de/anytree")
+ (synopsis "Lightweight tree data library")
+ (description
+ "@code{anytree} is a simple, lightweight, and extensible tree data
+structure for Python.")
+ (license license:asl2.0)))
+
(define-public python-docutils
(package
(name "python-docutils")
(define-public python-pygments
(package
(name "python-pygments")
- (version "2.4.2")
+ (version "2.5.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Pygments" version))
(sha256
(base32
- "15v2sqm5g12bqa0c7wikfh9ck2nl97ayizy1hpqhmws5gqalq748"))))
+ "1zmhnswy0wxfn0xprs9aqsvx2c3kmzfn2wx14q8cv3vpkxdamj4q"))))
(build-system python-build-system)
(arguments
;; FIXME: Tests require sphinx, which depends on this.
'(#:tests? #f))
- (home-page "http://pygments.org/")
+ (home-page "https://pygments.org/")
(synopsis "Syntax highlighting")
(description
"Pygments is a syntax highlighting package written in Python.")
@end itemize")
(license license:asl2.0)))
+(define-public python-rstr
+ (package
+ (name "python-rstr")
+ (version "2.2.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "rstr" version))
+ (sha256
+ (base32
+ "197dw8mbq0pjjz1l6h1ksi62vgn7x55d373ch74y06744qiq5sjx"))))
+ (build-system python-build-system)
+ (home-page
+ "http://bitbucket.org/leapfrogdevelopment/rstr/overview")
+ (synopsis "Generate random strings in Python")
+ (description "This package provides a python module for generating
+random strings of various types. It could be useful for fuzz testing,
+generating dummy data, or other applications. It has no dependencies
+outside the standard library.")
+ (license license:bsd-3)))
+
(define-public python-scp
(package
(name "python-scp")
(define-public python-language-server
(package
(name "python-language-server")
- (version "0.31.4")
+ (version "0.31.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-language-server" version))
(sha256
(base32
- "1nrs56jpx7dvghaas0kc5k9lxas5vr3awj3k87p4akki43nsblb8"))))
+ "0f8rljff4h2ay9m2n9ang7axai37nzd39zd7m6c90rci5wh8cmxh"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pluggy" ,python-pluggy)
(define-public python-cython
(package
(name "python-cython")
- (version "0.29.13")
+ (version "0.29.15")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Cython" version))
(sha256
(base32
- "13k37lrcgagwwnzr5bzririsscb793vndj234d475x1h9ad0d7f2"))))
+ "0c5cjyxfvba6c0vih1fvhywp8bpz30vwvbjqdm1q1k55xzhmkn30"))))
(build-system python-build-system)
;; we need the full python package and not just the python-wrapper
;; because we need libpython3.3m.so
(add-before 'check 'set-HOME
;; some tests require access to "$HOME/.cython"
(lambda _ (setenv "HOME" "/tmp") #t))
-
- ;; FIXME: These tests started failing on armhf after the 0.28 update
- ;; (commit c69d11c5930), both with an error such as this:
- ;; compiling (cpp) and running dictcomp ...
- ;; === C/C++ compiler error output: ===
- ;; ‘
- ;; dictcomp.cpp:5221: confused by earlier errors, bailing out
- ;; See <https://hydra.gnu.org/build/2948724> for logs.
- ,@(if (target-arm32?)
- `((add-before 'check 'disable-failing-tests
- (lambda _
- (let ((disabled-tests (open-file "tests/bugs.txt" "a")))
- (for-each (lambda (test)
- (format disabled-tests "~a\n" test))
- '("memslice" "dictcomp"))
- (close-port disabled-tests)))))
- '())
-
(replace 'check
(lambda _
;; Disable compiler optimizations to greatly reduce the running
older Python versions.")
(license license:expat)))
+(define-public python2-importlib-resources
+ (package
+ (name "python2-importlib-resources")
+ (version "1.0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "importlib_resources" version))
+ (sha256
+ (base32
+ "0y3hg12iby1qyaspnbisz4s4vxax7syikk3skznwqizqyv89y9yk"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:python ,python-2))
+ (native-inputs
+ `(("python-wheel" ,python2-wheel)))
+ (propagated-inputs
+ `(("python-pathlib2" ,python2-pathlib2)
+ ("python-typing" ,python2-typing)))
+ (home-page "https://gitlab.com/python-devs/importlib_resources")
+ (synopsis "Backport of @code{importlib.resources} from Python 3.7")
+ (description
+ "This package provides an implementation of @code{importlib.resources}
+for older versions of Python.")
+ (license license:asl2.0)))
+
(define-public python-importlib-metadata
(package
(name "python-importlib-metadata")
- (version "0.23")
+ (version "1.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "importlib_metadata" version))
(sha256
- (base32 "09mdqdfv5rdrwz80jh9m379gxmvk2vhjfz0fg53hid00icvxf65a"))))
+ (base32 "1n76444v7zn910xrhh8954jdn4byxbn9f1jck6b85a716mbh2z7i"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-configparser" ,python-configparser)
- ("python-contextlib2" ,python-contextlib2)
- ("python-docutils" ,python-docutils)
- ("python-pathlib2" ,python-pathlib2)
- ("python-rst.linker" ,python-rst.linker)
- ("python-zipp" ,python-zipp)))
+ `(("python-zipp" ,python-zipp)))
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)
- ("python-sphinx" ,python-sphinx)))
+ ("python-packaging" ,python-packaging)))
(home-page "https://importlib-metadata.readthedocs.io/")
(synopsis "Read metadata from Python packages")
(description
@code{pkg_resources} entry point API and metadata API. Along with
@code{importlib.resources} in Python 3.7 and newer, this can eliminate the
need to use the older and less efficient @code{pkg_resources} package.")
+ (properties `((python2-variant . ,(delay python2-importlib-metadata))))
(license license:asl2.0)))
+(define-public python2-importlib-metadata
+ (let ((base (package-with-python2 (strip-python2-variant
+ python-importlib-metadata))))
+ (package/inherit
+ base
+ (name "python2-importlib-metadata")
+ (propagated-inputs
+ `(("python-configparser" ,python2-configparser)
+ ("python-contextlib2" ,python2-contextlib2)
+ ("python-importlib-resources" ,python2-importlib-resources)
+ ("python-pathlib2" ,python2-pathlib2)
+ ,@(package-propagated-inputs base))))))
+
(define-public python-jaraco-packaging
(package
(name "python-jaraco-packaging")
(define-public python2-notify2
(package-with-python2 python-notify2))
-(define-public python-lxml
- (package
- (name "python-lxml")
- (version "4.4.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "lxml" version))
- (sha256
- (base32
- "14jnpfcpgqr9sx8ppd286jzcbk0b36hbqsvd8jkvffipzw5v8768"))))
- (build-system python-build-system)
- (arguments
- `(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "make" "test"))))))
- (inputs
- `(("libxml2" ,libxml2)
- ("libxslt" ,libxslt)))
- (home-page "http://lxml.de/")
- (synopsis
- "Python XML processing library")
- (description
- "The lxml XML toolkit is a Pythonic binding for the C libraries
-libxml2 and libxslt.")
- (license license:bsd-3))) ; and a few more, see LICENSES.txt
-
-(define-public python2-lxml
- (package-with-python2 python-lxml))
-
;; beautifulsoup4 has a totally different namespace than 3.x,
;; and pypi seems to put it under its own name, so I guess we should too
(define-public python-beautifulsoup4
(define-public python-markdown
(package
(name "python-markdown")
- (version "3.1.1")
+ (version "3.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Markdown" version))
(sha256
(base32
- "0yhylk4ffqqs7x086fav4pnfsl1021v7lghznzkififprmmqfl1f"))))
+ "1gwqrhrp0n9xllgmjc8n1p260968kr0dd2jncjkj4r617q61imss"))))
(build-system python-build-system)
(native-inputs
`(("python-nose" ,python-nose)
Markdown. The library features international input, various Markdown
extensions, and several HTML output formats. A command line wrapper
markdown_py is also provided to convert Markdown files to HTML.")
+ (properties `((python2-variant . ,(delay python2-markdown))))
(license license:bsd-3)))
+;; Markdown 3.2 dropped support for Python 2.
(define-public python2-markdown
- (package-with-python2 python-markdown))
+ (let ((base (package-with-python2 (strip-python2-variant python-markdown))))
+ (package/inherit
+ base
+ (version "3.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "Markdown" version))
+ (sha256
+ (base32
+ "0yhylk4ffqqs7x086fav4pnfsl1021v7lghznzkififprmmqfl1f")))))))
(define-public python-ptyprocess
(package
(define-public python-pip
(package
(name "python-pip")
- (version "19.2.1")
+ (version "20.0.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pip" version))
(sha256
(base32
- "100sd12ss4mbdj5lf3wawad29cm573b27765mq098x6xhcj71395"))))
+ "0zwnlsjn6mb742cr995zfbk9v56ygxp8w3k49601r9by9kmcic3x"))))
(build-system python-build-system)
(arguments
'(#:tests? #f)) ; there are no tests in the pypi archive.
;; Modules are either GPLv2+ or GPLv3+.
(license license:gpl3+)))
-(define-public python2-debian
- (package-with-python2 python-debian))
-
(define-public python-nbformat
(package
(name "python-nbformat")
provides utilities for common tasks involving decorators and context
managers. It also contains additional features that are not part of
the standard library.")
+ (properties `((python2-variant . ,(delay python2-contextlib2))))
(license license:psfl)))
(define-public python2-contextlib2
- (package
- (name "python2-contextlib2")
- (version "0.5.5")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "contextlib2" version))
- (sha256
- (base32
- "0j6ad6lwwyc9kv71skj098v5l7x5biyj2hs4lc5x1kcixqcr97sh"))))
- (build-system python-build-system)
- (arguments
- `(#:python ,python-2
- #:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _ (invoke "python" "test_contextlib2.py" "-v"))))))
- (native-inputs
- `(("python2-unittest2" ,python2-unittest2)))
- (home-page "http://contextlib2.readthedocs.org/")
- (synopsis "Tools for decorators and context managers")
- (description "This module is primarily a backport of the Python
-3.2 contextlib to earlier Python versions. Like contextlib, it
-provides utilities for common tasks involving decorators and context
-managers. It also contains additional features that are not part of
-the standard library.")
- (license license:psfl)))
+ (let ((base (package-with-python2
+ (strip-python2-variant python-contextlib2))))
+ (package
+ (inherit base)
+ (arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'check
+ (lambda _ (invoke "python" "test_contextlib2.py" "-v")))))))
+ (native-inputs
+ `(("python2-unittest2" ,python2-unittest2))))))
(define-public python-texttable
(package
`(; FIXME: Missing: ("python-pytest-timeout" ,python-pytest-timeout)
("python-pytest" ,python-pytest) ; >= 2.3.5
("python-setuptools-scm" ,python-setuptools-scm)))
- (home-page "http://tox.testrun.org/")
+ (home-page "https://tox.readthedocs.io")
(synopsis "Virtualenv-based automation of test activities")
(description "Tox is a generic virtualenv management and test command line
tool. It can be used to check that a package installs correctly with
(define-public python-mako
(package
(name "python-mako")
- (version "1.1.0")
+ (version "1.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Mako" version))
(sha256
(base32
- "0jqa3qfpykyn4fmkn0kh6043sfls7br8i2bsdbccazcvk9cijsd3"))))
+ "193mds7lv91pphnvn6c1n55rhjkgq94asdzgrsb2fiqx7rrsd119"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(lambda* (#:key inputs #:allow-other-keys)
(let ((file-path (assoc-ref inputs "file")))
(substitute* "py3status/parse_config.py"
- (("\\['file', '-b'")
+ (("\\[\"file\", \"-b\"")
(string-append "['" file-path "/bin/file', '-b'")))
#t))))
#:tests? #f)) ; TODO: Requires many libraries not in Guix.
(define-public python-objgraph
(package
(name "python-objgraph")
- (version "3.4.0")
+ (version "3.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "objgraph" version))
(sha256
(base32
- "184m09am5gpbqfaiy7l0hwh476mczbrly1dffs0rw2p1d1i2q32a"))))
+ "19qmqsh984zq1rzzjy4vqnmviaqnymcyl8h7z99pnicbgwnm2adz"))))
(build-system python-build-system)
(propagated-inputs
`(("python-graphviz" ,python-graphviz)))
graphviz.")
(license license:expat)))
+(define-public python2-objgraph
+ (package-with-python2 python-objgraph))
+
(define-public python-gevent
(package
(name "python-gevent")
(package-with-python2 python-pykafka))
(define-public python-wcwidth
- (package
- (name "python-wcwidth")
- (version "0.1.7")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "wcwidth" version))
- (sha256
- (base32
- "0pn6dflzm609m4r3i8ik5ni9ijjbb5fa3vg1n7hn6vkd49r77wrx"))))
- (build-system python-build-system)
- (home-page "https://github.com/jquast/wcwidth")
- (synopsis "Measure number of terminal column cells of wide-character codes")
- (description "Wcwidth measures the number of terminal column cells of
+ (package
+ (name "python-wcwidth")
+ (version "0.1.8")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "wcwidth" version))
+ (sha256
+ (base32
+ "1a1pzds3xzfylm5mnc5f6c1p8kiig0daqjc9gygd9rc3cj53x2zj"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/jquast/wcwidth")
+ (synopsis "Measure number of terminal column cells of wide-character codes")
+ (description "Wcwidth measures the number of terminal column cells of
wide-character codes. It is useful for those implementing a terminal emulator,
or programs that carefully produce output to be interpreted by one. It is a
Python implementation of the @code{wcwidth} and @code{wcswidth} C functions
specified in POSIX.1-2001 and POSIX.1-2008.")
- (license license:expat)))
+ (license license:expat)))
(define-public python2-wcwidth
(package-with-python2 python-wcwidth))
(define-public python-cleo
(package
(name "python-cleo")
- (version "0.6.8")
+ (version "0.7.6")
(source (origin
(method url-fetch)
(uri (pypi-uri "cleo" version))
(sha256
(base32
- "06zp695hq835rkaq6irr1ds1dp2qfzyf32v60vxpd8rcnxv319l5"))))
+ "02dlc0rn43zgvw0s5v4j80bca9n1jfpwy3r78gn9qjgk0qj39kwr"))))
(build-system python-build-system)
(native-inputs
`( ;; For testing
("python-pytest" ,python-pytest)))
(propagated-inputs
`(("python-backpack" ,python-backpack)
+ ("python-clikit" ,python-clikit)
("python-pastel" ,python-pastel)
("python-pylev" ,python-pylev)))
(home-page "https://github.com/sdispater/cleo")
(define-public python-tomlkit
(package
(name "python-tomlkit")
- (version "0.5.7")
+ (version "0.5.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tomlkit" version))
(sha256
(base32
- "18820ga5z3if1w8dvykxrfm000akracq01ic402xrbljgbn5grn4"))))
+ "0sf2a4q61kf344hjbw8kb6za1hlccl89j9lzqw0l2zpddp0hrh9j"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)))
(define-public python-clikit
(package
(name "python-clikit")
- (version "0.2.4")
+ (version "0.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "clikit" version))
(sha256
(base32
- "0dc8czib5f4j9px1ivcpqnmivnx2zjpc0xb00ldrhsqylks7r06n"))))
+ "10gab65pq0jdf589n33sj2513pxal2lisl4xwf1ijysdjxmpdr4a"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pastel" ,python-pastel)
("python-html5lib" ,python-html5lib)
("python-jsonschema" ,python-jsonschema)
("python-msgpack" ,python-msgpack)
- ("python-pathlib2" ,python-pathlib2)
("python-pkginfo" ,python-pkginfo)
("python-pyparsing" ,python-pyparsing)
("python-pyrsistent" ,python-pyrsistent)
(define-public python-glances
(package
(name "python-glances")
- (version "3.1.1")
+ (version "3.1.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Glances" version))
(sha256
- (base32
- "07j1ggzsqiskyz1i4mrnyr9i95v0dqi0i0hibnv1l188km8shmi8"))
+ (base32 "15384pbvw9wj4sb8zgvd9v1812vrypbyjg0acicjf1hdb3p30fkk"))
(modules '((guix build utils)))
(snippet
'(begin
(propagated-inputs
`(("python-future" ,python-future)
("python-psutil" ,python-psutil)))
- (home-page
- "https://github.com/nicolargo/glances")
+ (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.
(define-public python-snowballstemmer
(package
(name "python-snowballstemmer")
- (version "1.2.1")
+ (version "2.0.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "snowballstemmer" version))
(sha256
(base32
- "0a0idq4y5frv7qsg2x62jd7rd272749xk4x99misf5rcifk2d7wi"))))
+ "0ligk61idlz8kkgd5hpip5whm172riwglb6xydii7h62yhysqfyz"))))
(build-system python-build-system)
(arguments
`(;; No tests exist
(define-public python-packaging
(package
(name "python-packaging")
- (version "19.2")
+ (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
- "0izwlz9h0bw171a1chr311g2y7n657zjaf4mq4rgm8pp9lbj9f98"))))
+ "1y2ip3a4ykkpgnwgn85j6hkspcl0cg3mzms97f40mk57vwqq67gy"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(define-public python-smmap2
(package
(name "python-smmap2")
- (version "2.0.3")
+ (version "2.0.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "smmap2" version))
(sha256
- (base32
- "1hvn28p3zvxa98sbi9lrqvv2ps4q284j4jq9a619zw0m7yv0sly7"))))
+ (base32 "16k03pcnxd3lgzwgbd7nl4jwzm1wmahirvd09kljnzvy96hgza99"))))
(build-system python-build-system)
(native-inputs
`(("python-nosexcover" ,python-nosexcover)))
(define-public python-parso
(package
(name "python-parso")
- (version "0.5.1")
+ (version "0.5.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "parso" version))
(sha256
(base32
- "171a9ivhxwsd52h1cgsz40zgzpgzscn7yqb7sdjhy8m1lzj0wsv6"))))
+ "1qgvrkpma7vylrk047mxxvqd66nwqk978n3ig2w8iz9m3bgjbksm"))))
(native-inputs
`(("python-pytest" ,python-pytest)))
(build-system python-build-system)
(define-public pybind11
(package
(name "pybind11")
- (version "2.3.0")
+ (version "2.4.3")
(source (origin
(method git-fetch)
(uri (git-reference
(commit (string-append "v" version))))
(sha256
(base32
- "11b6dniri8m05spfd2a19irz82shf4sdca73566bniggrf3zclnf"))
+ "0k89w4bsfbpzw963ykg1cyszi3h3nk393qd31m6y46pcfxkqh4rd"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(native-inputs
- `(("python" ,python)
- ("python-pytest" ,python-pytest)))
+ `(("python" ,python-wrapper)
+
+ ;; The following dependencies are used for tests.
+ ("python-pytest" ,python-pytest)
+ ("catch" ,catch-framework2-1)
+ ("eigen" ,eigen)))
(arguments
- `(#:test-target "check"))
+ `(#:configure-flags
+ (list (string-append "-DCATCH_INCLUDE_DIR="
+ (assoc-ref %build-inputs "catch")
+ "/include/catch"))
+
+ #:phases (modify-phases %standard-phases
+ (add-after 'install 'install-python
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (with-directory-excursion "../source"
+ (setenv "PYBIND11_USE_CMAKE" "yes")
+ (invoke "python" "setup.py" "install"
+ "--single-version-externally-managed"
+ "--root=/"
+ (string-append "--prefix=" out)))))))
+
+ #:test-target "check"))
(home-page "https://github.com/pybind/pybind11/")
(synopsis "Seamless operability between C++11 and Python")
- (description "pybind11 is a lightweight header-only library that exposes
-C++ types in Python and vice versa, mainly to create Python bindings of
-existing C++ code. Its goals and syntax are similar to the excellent
-Boost.Python library by David Abrahams: to minimize boilerplate code in
-traditional extension modules by inferring type information using compile-time
-introspection.")
- (license license:expat)))
+ (description
+ "@code{pybind11} is a lightweight header-only library that exposes C++
+types in Python and vice versa, mainly to create Python bindings of existing
+C++ code. Its goals and syntax are similar to the @code{Boost.Python}
+library: to minimize boilerplate code in traditional extension modules by
+inferring type information using compile-time introspection.")
+ (license license:bsd-3)))
(define-public python-fasteners
(package
(define-public python-sortedcontainers
(package
(name "python-sortedcontainers")
- (version "2.0.4")
+ (version "2.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sortedcontainers" version))
(sha256
(base32
- "10hrk2k0hbf9x78vd3f0lj277m1yzfhzzxr0hja718liwb398wk0"))))
+ "0fm0w5id2yhqld95hg2m636vjgkz377rvgdfqaxc25vbylr9lklp"))))
(build-system python-build-system)
(native-inputs
`(("python-tox" ,python-tox)))
(description "Library for simple routing on OSM data")
(license license:gpl3+)))
-(define-public python-elementpath
- (package
- (name "python-elementpath")
- (version "1.2.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "elementpath" version))
- (sha256
- (base32
- "1syn2z543brab23dskh3fjd9pqvz6npqbcicrs2d88dbg26xl08p"))))
- (build-system python-build-system)
- (home-page
- "https://github.com/sissaschool/elementpath")
- (synopsis
- "XPath 1.0/2.0 parsers and selectors for ElementTree and lxml")
- (description
- "The proposal of this package is to provide XPath 1.0 and 2.0 selectors
-for Python's ElementTree XML data structures, both for the standard
-ElementTree library and for the @uref{http://lxml.de, lxml.etree} library.
-
-For lxml.etree this package can be useful for providing XPath 2.0 selectors,
-because lxml.etree already has it's own implementation of XPath 1.0.")
- (license license:expat)))
-
(define-public python-bibtexparser
(package
(name "python-bibtexparser")
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"))))
+ (build-system python-build-system)
+ (native-inputs `(("python-asynctest" ,python-asynctest)))
+ (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"))))
+ (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.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "gssapi" version))
+ (sha256
+ (base32
+ "1gymg4asvwrz7y13qpwp2s5g8qwq179d72gkj09q6bfcgs82l5wr"))))
+ (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 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-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)))