;;; 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 © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Omar Radwan <toxemicsquire4@gmail.com>
;;; Copyright © 2015 Pierre-Antoine Rault <par@rigelk.eu>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
;;; 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, 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 © 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 © 2018, 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com>
;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org>
;;; 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 Riku Viitanen <riku.viitanen@protonmail.com>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
+;;; Copyright © 2020 sirgazil <sirgazil@zoho.com>
;;;
;;; 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)
(propagated-inputs `(("numpy" ,python-numpy)))
(inputs
`(("hdf4" ,hdf4)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("zlib" ,zlib)))
(arguments
`(#:phases
(define-public python-h5py
(package
(name "python-h5py")
- (version "2.8.0")
+ (version "2.10.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "h5py" version))
(sha256
(base32
- "0mdr6wrq02ac93m1aqx9kad0ppfzmm4imlxqgyy1x4l7hmdcc9p6"))))
+ "0baipzv8n93m0dq0riyi8rfhzrjrfrfh8zqhszzp1j2xjac2fhc4"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; no test target
`(("python-six" ,python-six)
("python-numpy" ,python-numpy)))
(inputs
- `(("hdf5" ,hdf5)))
+ `(("hdf5" ,hdf5-1.10)))
(native-inputs
`(("python-cython" ,python-cython)
- ("python-pkgconfig" ,python-pkgconfig)))
- (home-page "http://www.h5py.org/")
+ ("python-pkgconfig" ,python-pkgconfig)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://www.h5py.org/")
(synopsis "Read and write HDF5 files from Python")
(description
"The h5py package provides both a high- and low-level interface to the
(define-public python2-lockfile
(package-with-python2 python-lockfile))
+(define-public python-filelock
+ (package
+ (name "python-filelock")
+ (version "3.0.12")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "filelock" version))
+ (sha256
+ (base32
+ "0ngzlvb5j8gqs2nxlp2b0jhzii792h66wsn694qm8kqixr225n0q"))))
+ (build-system python-build-system)
+ (home-page
+ "https://github.com/benediktschmitt/py-filelock")
+ (synopsis "Platform independent file lock")
+ (description "@code{filelock} contains a single module implementing
+a platform independent file lock in Python, which provides a simple way of
+inter-process communication.")
+ (license license:unlicense)))
+
(define-public python-semantic-version
(package
(name "python-semantic-version")
;; One could bootstrap with an internal untested setuptools.
(arguments
`(#:tests? #f))
- (home-page "https://pypi.python.org/pypi/setuptools")
+ (home-page "https://pypi.org/project/setuptools/")
(synopsis
"Library designed to facilitate packaging Python projects")
(description
(define-public python-six
(package
(name "python-six")
- (version "1.12.0")
+ (version "1.14.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "six" version))
(sha256
(base32
- "0wxs1q74v07ssjywbbm7x6h5v9qx209ld2yfsif4060sxi0h2sni"))))
+ "02lw67hprv57hyg3cfy02y3ixjk3nzwc0dx3c4ynlvkfwkfdnsr3"))))
(build-system python-build-system)
(arguments
`(#:phases
(lambda _
(invoke "py.test" "-v"))))))
(native-inputs
- `(("python-py" ,python-py)
- ("python-pytest" ,python-pytest-bootstrap)))
- (home-page "https://pypi.python.org/pypi/six/")
+ `(("python-pytest" ,python-pytest-bootstrap)))
+ (home-page "https://pypi.org/project/six/")
(synopsis "Python 2 and 3 compatibility utilities")
(description
"Six is a Python 2 and 3 compatibility library. It provides utility
(arguments `(#:python ,python-2
#:tests? #f)) ; invalid command "test"
;; Currently no offical homepage.
- (home-page "https://pypi.python.org/pypi/dogtail/")
+ (home-page "https://pypi.org/project/dogtail/")
(synopsis "GUI test tool and automation framework written in Python")
(description
"Dogtail is a GUI test tool and automation framework written in Python.
(build-system python-build-system)
(arguments
`(#:python ,python-2))
- (home-page "http://pypi.python.org/pypi/enum/")
+ (home-page "https://pypi.org/project/enum/")
(synopsis "Robust enumerated type support in Python")
(description
"This provides a module for robust enumerations in Python. It has
(base32
"1cgm5ng2gcfrkrm3hc22brl6chdmv67b9zvva9sfs7gn7dwc9n4a"))))
(build-system python-build-system)
- (home-page "https://pypi.python.org/pypi/enum34")
+ (home-page "https://pypi.org/project/enum34/")
(synopsis "Backported Python 3.4 Enum")
(description
"Enum34 is the new Python stdlib enum module available in Python 3.4
(invoke "python" "bootstrap.py" "build/scons" "DEVELOPER=guix")
(chdir "build/scons")
#t)))))
- (home-page "http://scons.org/")
+ (home-page "https://scons.org/")
(synopsis "Software construction tool written in Python")
(description
"SCons is a software construction tool. Think of SCons as an improved,
(define-public python-py
(package
(name "python-py")
- (version "1.8.0")
+ (version "1.8.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "py" version))
(sha256
(base32
- "0lsy1gajva083pzc7csj1cvbmminb7b4l6a0prdzyb3fd829nqyw"))))
+ "1ajjazg3913n0sp3vjyva9c2qh5anx8ziryng935f89604a0h9sy"))))
(build-system python-build-system)
(arguments
;; FIXME: "ImportError: 'test' module incorrectly imported from
(build-system python-build-system)
(arguments
`(#:tests? #f))
- (home-page "http://docs.openstack.org/developer/pbr/")
+ (home-page "https://docs.openstack.org/pbr/latest/")
(synopsis "Minimal build of python-pbr used for bootstrapping")
(description
"Used only for bootstrapping python2-pbr, you should not need this.")
(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")
(base32
"1s6cp2lv4m0f00hjckjz8p6m7d3n3v16jvg353llf5ia1iqsnsib"))))
(build-system python-build-system)
- (home-page "https://pypi.python.org/pypi/Unidecode")
+ (home-page "https://pypi.org/project/Unidecode/")
(synopsis "ASCII transliterations of Unicode text")
(description
"Unidecode provides ASCII transliterations of Unicode text. Unidecode is
(define-public python-pyyaml
(package
(name "python-pyyaml")
- (version "3.13")
+ (version "5.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "PyYAML" version))
(sha256
(base32
- "1gx603g484z46cb74j9rzr6sjlh2vndxayicvlyhxdz98lhhkwry"))))
+ "058nd4p8f25wwzy2aiwh18wcrdm6663cqbfdkgjp8y9cp7ampx79"))))
(build-system python-build-system)
(inputs
`(("libyaml" ,libyaml)))
- (home-page "http://pyyaml.org/wiki/PyYAML")
+ (home-page "https://pyyaml.org")
(synopsis "YAML parser and emitter for Python")
(description
"PyYAML is a YAML parser and emitter for Python. PyYAML features a
(define-public python-virtualenv
(package
(name "python-virtualenv")
- (version "16.1.0")
+ (version "20.0.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "virtualenv" version))
(sha256
(base32
- "0242cg3hdq3qdvx5flyrki8lpwlgwf5k45c21ks5049fv7ygm6gq"))))
+ "096r7g5cv85vxymg9iqbn5z749613snlvd6p3rf1nxnrd386j0qz"))))
(build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'disable-failing-test
- (lambda _
- ;; Disable failing test. See upstream bug report
- ;; https://github.com/pypa/virtualenv/issues/957
- (substitute* "tests/test_virtualenv.py"
- (("skipif.*") "skipif(True, reason=\"Guix\")\n"))
- #t)))))
(native-inputs
`(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)))
+ ("python-pytest" ,python-pytest)
+ ;; NOTE: guix lint remarks that "python-setuptools should probably not
+ ;; be an input at all". However, removing the input makes the build error:
+ ;; File "setup.py", line 4, in <module>
+ ;; raise RuntimeError("setuptools >= 41 required to build")
+ ("python-setuptools" ,python-setuptools)
+ ("python-setuptools-scm" ,python-setuptools-scm)))
+ (propagated-inputs
+ `(("python-appdirs" ,python-appdirs)
+ ("python-distlib" ,python-distlib)
+ ("python-filelock" ,python-filelock)
+ ("python-six" ,python-six)
+ ("python-importlib-metadata" ,python-importlib-metadata)))
(home-page "https://virtualenv.pypa.io/")
(synopsis "Virtual Python environment builder")
(description
@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.6")
+ (version "0.31.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-language-server" version))
(sha256
(base32
- "0cqrffd5272p2hifa35rf1h1g6dss741jmjkwa43jninifmbz0df"))))
+ "0f8rljff4h2ay9m2n9ang7axai37nzd39zd7m6c90rci5wh8cmxh"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pluggy" ,python-pluggy)
feature-set for programming Python effectively.")
(license license:expat)))
+(define-public python-pathspec
+ (package
+ (name "python-pathspec")
+ (version "0.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pathspec" version))
+ (sha256
+ (base32
+ "15lvs4awlg8xzl0l4gk9y53xx4yqmqvsv44pglv39m70y85afajn"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/cpburnz/python-path-specification")
+ (synopsis "Utility library for gitignore style pattern matching of file paths")
+ (description
+ "This package provides a utility library for gitignore style pattern
+matching of file paths.")
+ (license license:mpl2.0)))
+
(define-public python-black
(package
(name "python-black")
- (version "18.6b4")
+ (version "19.10b0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "black" version))
(sha256
(base32
- "0i4sfqgz6w15vd50kbhi7g7rifgqlf8yfr8y78rypd56q64qn592"))))
+ "0f8mr0yzj78q1dx7v6ggbgfir2wv0n5z2shfbbvfdq7910xbgvf2"))))
(build-system python-build-system)
(arguments
`(#:phases
(let ((python3 (which "python3")))
(substitute* '("tests/data/fmtonoff.py"
"tests/data/string_prefixes.py"
- "tests/data/function.py")
+ "tests/data/function.py"
+ "tests/data/python37.py")
(("#!/usr/bin/env python3(\\.[0-9]+)?" _ minor-version)
(string-append "#!" python3 (if (string? minor-version)
minor-version
- ""))))))))))
+ "")))))
+ #t))
+ (add-after 'unpack 'disable-broken-tests
+ (lambda _
+ ;; These tests are supposed to be skipped when the blackd
+ ;; dependencies are missing, but this doesn't quite work.
+ (substitute* "tests/test_black.py"
+ (("( *)class BlackDTestCase.*" match indent)
+ (string-append indent "@unittest.skip(\"no blackd deps\")\n"
+ indent "class BlackDTestCase(unittest.TestCase):\n"))
+ (("web.Application") "False")
+ (("@unittest_run_loop") ""))
+
+ ;; Patching the above file breaks the self test
+ (substitute* "tests/test_black.py"
+ (("( *)def test_self" match indent)
+ (string-append indent "@unittest.skip(\"guix\")\n" match)))
+ #t)))))
(propagated-inputs
`(("python-click" ,python-click)
("python-attrs" ,python-attrs)
("python-appdirs" ,python-appdirs)
- ("python-toml" ,python-toml)))
+ ("python-pathspec" ,python-pathspec)
+ ("python-regex" ,python-regex)
+ ("python-toml" ,python-toml)
+ ("python-typed-ast" ,python-typed-ast)))
+ (native-inputs
+ `(("python-setuptools-scm" ,python-setuptools-scm)))
(home-page "https://github.com/ambv/black")
(synopsis "The uncompromising code formatter")
(description "Black is the uncompromising Python code formatter.")
(base32
"1dpq0vb01p36jjwbhhd08ylvrnyvcc82yxx3mwjx6awrycjyw6j7"))))
(build-system python-build-system)
- (home-page "http://pythonhosted.org/blinker/")
+ (home-page "https://pythonhosted.org/blinker/")
(synopsis "Fast, simple object-to-object and broadcast signaling")
(description
"Blinker provides a fast dispatching system that allows any number of
(with-directory-excursion "/tmp"
(invoke "python" "-c"
"import numpy; numpy.test(verbose=2)")))))))
- (home-page "http://www.numpy.org/")
+ (home-page "https://numpy.org")
(synopsis "Fundamental package for scientific computing with Python")
(description "NumPy is the fundamental package for scientific computing
with Python. It contains among other things: a powerful N-dimensional array
(define-public python-pygit2
(package
(name "python-pygit2")
- (version "0.28.2")
+ (version "1.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pygit2" version))
(sha256
- (base32 "11kzj5mjkspvplnpdb6bj8dcj6rgmkk986k8hjcklyg5yaxkz32d"))))
+ (base32 "1hs0pqqzn1yjxqk86nq7p0lvsklwnlyi5xwyzr7d5nrs19dmsjbg"))))
(build-system python-build-system)
(arguments
'(#:tests? #f)) ; tests don't run correctly in our environment
(propagated-inputs
- `(("python-six" ,python-six)
+ `(("python-cached-property" ,python-cached-property)
("python-cffi" ,python-cffi)
- ("libgit2" ,libgit2)
- ("python-tox" ,python-tox)))
+ ("libgit2" ,libgit2)))
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://github.com/libgit2/pygit2")
;; GPL2.0 only, with linking exception.
(license license:gpl2)))
-(define-public python2-pygit2
- (package-with-python2 python-pygit2))
-
(define-public python-pyparsing
(package
(name "python-pyparsing")
- (version "2.3.1")
+ (version "2.4.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyparsing" version))
(sha256
- (base32 "0yk6xl885b91dmlhlsap7x78hk2rdr879fln9anbq6k4ca42djb6"))))
+ (base32 "17wn5zlijc9m9zj26gy3f541y7smpj8rfhl51d025c2gm210b0sc"))))
(build-system python-build-system)
(outputs '("out" "doc"))
(arguments
`(("python-sphinx" ,python-sphinx)))
(native-inputs
`(("python-nose" ,python-nose)))
- (home-page "https://pypi.python.org/pypi/numpydoc")
+ (home-page "https://pypi.org/project/numpydoc/")
(synopsis
"Numpy's Sphinx extensions")
(description
(define-public python2-autopep8
(package-with-python2 python-autopep8))
+(define-public python-distlib
+ (package
+ (name "python-distlib")
+ (version "0.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "distlib" version ".zip"))
+ (sha256
+ (base32
+ "08fyi2r246733vharl2yckw20rilci28r91mzrnnvcr638inw5if"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'no-/bin/sh
+ (lambda _
+ (substitute* '("distlib/scripts.py" "tests/test_scripts.py")
+ (("/bin/sh") (which "sh")))
+ #t))
+ (add-before 'check 'prepare-test-env
+ (lambda _
+ (setenv "HOME" "/tmp")
+ ;; NOTE: Any value works, the variable just has to be present.
+ (setenv "SKIP_ONLINE" "1")
+ #t)))))
+ (native-inputs `(("unzip" ,unzip)))
+ (home-page "https://bitbucket.org/pypa/distlib")
+ (synopsis "Distribution utilities")
+ (description "Distlib is a library which implements low-level functions that
+relate to packaging and distribution of Python software. It is intended to be
+used as the basis for third-party packaging tools.")
+ (license license:psfl)))
+
(define-public python-distutils-extra
(package
(name "python-distutils-extra")
(inputs
`(("freetype" ,freetype)
("lcms" ,lcms)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libtiff" ,libtiff)
("libwebp" ,libwebp)
("openjpeg" ,openjpeg)
(sha256
(base32 "0308djallnh00v112y5b7nadl657ysmkp6vc8xn51d6yzc9zm7n3"))))
(build-system python-build-system)
- (home-page "https://pypi.python.org/pypi/decorator/")
+ (home-page "https://pypi.org/project/decorator/")
(synopsis "Python module to simplify usage of decorators")
(description
"The aim of the decorator module is to simplify the usage of decorators
(arguments '(#:tests? #f))
(native-inputs
`(("python-nose" ,python-nose)))
- (home-page "https://pypi.python.org/pypi/drmaa")
+ (home-page "https://pypi.org/project/drmaa/")
(synopsis "Python bindings for the DRMAA library")
(description
"A Python package for Distributed Resource Management (DRM) job
(define-public python-setuptools-scm
(package
(name "python-setuptools-scm")
- (version "3.2.0")
+ (version "3.4.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "setuptools_scm" version))
(sha256
(base32
- "0n3knn3p1sqlx31k2lahn7z9bacvlv8nhlfidj77vz50bxqlgasj"))))
+ "083k93wi7mrmp1cn28hcbnr6sivbgls0y7zz2m5qzn1wg04a3f16"))))
(build-system python-build-system)
(home-page "https://github.com/pypa/setuptools_scm/")
(synopsis "Manage Python package versions in SCM metadata")
them as the version argument or in a SCM managed file.")
(license license:expat)))
-;; Needed by python-lazy-object-proxy, remove on next update cycle.
-(define-public python-setuptools-scm-3.3
- (package
- (inherit python-setuptools-scm)
- (version "3.3.3")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "setuptools_scm" version))
- (sha256
- (base32
- "19cyndx23xmpbhz4qrwmfwsmnnaczd0dw7qg977ksq2dbvxy29dx"))))))
-
(define-public python2-setuptools-scm
(package-with-python2 python-setuptools-scm))
(propagated-inputs
`(("python-scandir" ,python-scandir)
("python-six" ,python-six)))
- (home-page "https://pypi.python.org/pypi/pathlib2/")
+ (home-page "https://pypi.org/project/pathlib2/")
(synopsis "Object-oriented file system paths")
(description "The goal of pathlib2 is to provide a backport of the
standard @code{pathlib} module which tracks the standard library module, so
"0y3hg12iby1qyaspnbisz4s4vxax7syikk3skznwqizqyv89y9yk"))))
(build-system python-build-system)
(arguments
- `(#:python ,python-2))
- (native-inputs
- `(("python-wheel" ,python2-wheel)))
+ `(#:python ,python-2
+ #:phases (modify-phases %standard-phases
+ ;; The build system tests for python-wheel, but it is
+ ;; not required for Guix nor the test suite. Just drop
+ ;; it to make bootstrapping pytest easier.
+ (add-after 'unpack 'drop-wheel-dependency
+ (lambda _
+ (substitute* "setup.cfg"
+ (("^[[:blank:]]+wheel")
+ ""))
+ #t)))))
(propagated-inputs
`(("python-pathlib2" ,python2-pathlib2)
("python-typing" ,python2-typing)))
for older versions of Python.")
(license license:asl2.0)))
+;; For importlib-metadata-bootstrap below.
+(define-public python2-importlib-resources-bootstrap
+ (hidden-package
+ (package/inherit
+ python2-importlib-resources
+ (name "python2-importlib-resources-bootstrap")
+ (propagated-inputs
+ `(("python-pathlib2-bootstrap" ,python2-pathlib2-bootstrap)
+ ("python-typing" ,python2-typing))))))
+
(define-public python-importlib-metadata
(package
(name "python-importlib-metadata")
- (version "1.4.0")
+ (version "1.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "importlib_metadata" version))
(sha256
- (base32 "1n76444v7zn910xrhh8954jdn4byxbn9f1jck6b85a716mbh2z7i"))))
+ (base32
+ "00ikdj4gjhankdljnz7g5ggak4k9lql2926x0x117ir9j2lv7x86"))))
(build-system python-build-system)
(propagated-inputs
`(("python-zipp" ,python-zipp)))
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)
+ ("python-pyfakefs" ,python-pyfakefs)
("python-packaging" ,python-packaging)))
(home-page "https://importlib-metadata.readthedocs.io/")
(synopsis "Read metadata from Python packages")
(package/inherit
base
(name "python2-importlib-metadata")
+ (native-inputs
+ `(("python-setuptools-scm" ,python2-setuptools-scm)
+ ("python-pyfakefs" ,python2-pyfakefs-bootstrap)
+ ("python-packaging" ,python2-packaging-bootstrap)))
(propagated-inputs
`(("python-configparser" ,python2-configparser)
("python-contextlib2" ,python2-contextlib2)
("python-pathlib2" ,python2-pathlib2)
,@(package-propagated-inputs base))))))
+;; This package is used by python2-pytest, and thus must not depend on it.
+(define-public python2-importlib-metadata-bootstrap
+ (hidden-package
+ (package/inherit
+ python2-importlib-metadata
+ (name "python2-importlib-metadata-bootstrap")
+ (arguments
+ `(#:tests? #f
+ ,@(package-arguments python2-importlib-metadata)))
+ (propagated-inputs
+ `(("python-zipp" ,python2-zipp-bootstrap)
+ ("python-pathlib2" ,python2-pathlib2-bootstrap)
+ ("python-configparser" ,python2-configparser)
+ ("python-contextlib2" ,python2-contextlib2-bootstrap)
+ ("python-importlib-resources" ,python2-importlib-resources-bootstrap))))))
+
(define-public python-jaraco-packaging
(package
(name "python-jaraco-packaging")
(native-inputs
`(("python-pytest" ,python-pytest)
("xorg-server" ,xorg-server-for-tests)))
- (home-page "http://stanford.edu/~mwaskom/software/seaborn/")
+ (home-page "https://seaborn.pydata.org/")
(synopsis "Statistical data visualization")
(description
"Seaborn is a library for making attractive and informative statistical
#t)))))
(propagated-inputs
`(("python-mpmath" ,python-mpmath)))
- (home-page "http://www.sympy.org/")
+ (home-page "https://www.sympy.org/")
(synopsis "Python library for symbolic mathematics")
(description
"SymPy is a Python library for symbolic mathematics. It aims to become a
(native-inputs
`(("python-six" ,python-six))) ; required for conversion, not at run-time
(home-page
- "http://docs.python.org/3/library/functools.html#functools.singledispatch")
+ "https://docs.python.org/3/library/functools.html#functools.singledispatch")
(synopsis "Backport of singledispatch feature from Python 3.4")
(description
"This library brings functools.singledispatch from Python 3.4 to Python
(define-public python-flake8
(package
(name "python-flake8")
- (version "3.7.7")
+ (version "3.7.9")
(source (origin
(method url-fetch)
(uri (pypi-uri "flake8" version))
(sha256
(base32
- "0qg6zggqigrd4k3gv88shd1a27d0cwgfql8vfiq2c7rl7w3rd6c5"))))
+ "1yscj6avirm6m12bjh4fn2lfgxaamqsjh9pirdqfi0fcgq8ils25"))))
(build-system python-build-system)
(arguments
`(#:phases
("python-mccabe" ,python-mccabe)))
(native-inputs
`(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest-bootstrap)
- ("python-pytest-runner" ,python-pytest-runner)))
+ ("python-pytest" ,python-pytest-bootstrap)))
(home-page "https://gitlab.com/pycqa/flake8")
(synopsis
"The modular source code checker: pep8, pyflakes and co")
(propagated-inputs
`(("python2-configparser" ,python2-configparser)
("python2-enum34" ,python2-enum34)
+ ("python2-functools32" ,python2-functools32)
("python2-typing" ,python2-typing)
,@(package-propagated-inputs base))))))
(define-public python-markdown
(package
(name "python-markdown")
- (version "3.1.1")
+ (version "3.2.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Markdown" version))
(sha256
(base32
- "0yhylk4ffqqs7x086fav4pnfsl1021v7lghznzkififprmmqfl1f"))))
+ "00k91gwhxnm8jdnm2v5xjz9irj6dbi7afywz2hpakqdbxs1ydzlh"))))
(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-fonttools
(package
(name "python-fonttools")
- (version "3.38.0")
+ (version "4.2.4")
(source (origin
(method url-fetch)
(uri (pypi-uri "fonttools" version ".zip"))
(sha256
(base32
- "12ripk3s7skgxr1bs9r8n13r94ym3s8iir7ivfixls9fa4dabmlh"))))
+ "0rz2fn707x8ri507bb5k5y3di851dwchn0886f77g5bgiflmnpwm"))))
(build-system python-build-system)
(native-inputs
`(("unzip" ,unzip)
from an XML-based format.")
(license license:expat)))
+;; Fonttools 4.x dropped support for Python 2, so stick with 3.x here.
(define-public python2-fonttools
- (package-with-python2 python-fonttools))
+ (let ((base (package-with-python2 (strip-python2-variant python-fonttools))))
+ (package/inherit
+ base
+ (version "3.44.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "fonttools" version ".zip"))
+ (sha256
+ (base32
+ "0v6399g755f2hn1ry62i5b6gdinf2fpx2966v3bxh6bjw1accb5p")))))))
(define-public python-ly
(package
(description "This package provides a Python library to parse, manipulate
or create documents in LilyPond format. A command line program ly is also
provided that can be used to do various manipulations with LilyPond files.")
- (home-page "https://pypi.python.org/pypi/python-ly")
+ (home-page "https://pypi.org/project/python-ly/")
(license license:gpl2+)))
(define-public python-appdirs
(description "MessagePack is a fast, compact binary serialization format,
suitable for similar data to JSON. This package provides CPython bindings for
reading and writing MessagePack data.")
- (home-page "https://pypi.python.org/pypi/msgpack/")
+ (home-page "https://pypi.org/project/msgpack/")
(license license:asl2.0)))
;; This msgpack library's name changed from "python-msgpack" to "msgpack" with
(base32
"0diwsicwmiq2cpzpxri7cyl5fmsvicafw6nfqf6p6p322dji2g45"))))
(build-system python-build-system)
- (home-page "http://code.google.com/p/prettytable/")
+ (home-page "https://code.google.com/archive/p/prettytable/")
(synopsis "Display tabular data in an ASCII table format")
(description
"A library designed to represent tabular data in visually appealing ASCII
"linker_exe='gcc',"
"linker_so='gcc -shared')")))
#t))
+ (add-after 'unpack 'disable-tuning
+ (lambda _
+ (substitute* "setup.py"
+ (("cpu_flags = .*")
+ "cpu_flags = ['sse2']\n"))
+ #t))
(replace 'build
(lambda* (#:key inputs #:allow-other-keys)
(invoke "python" "setup.py" "build"
`(("python-cython" ,python-cython)
("pkg-config" ,pkg-config)))
(inputs
- `(("hdf5" ,hdf5)
+ `(("hdf5" ,hdf5-1.10)
("bzip2" ,bzip2)
("zlib" ,zlib)))
(home-page "http://www.pytables.org/")
(define-public python2-tables
(package-with-python2 python-tables))
+(define-public python-pytest-black
+ (package
+ (name "python-pytest-black")
+ (version "0.3.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-black" version))
+ (sha256
+ (base32
+ "04lppqydxm0f3f3x0l8hj7v0j6d8syj34jc37yzqwqcyqsnaga81"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-black" ,python-black)
+ ("python-toml" ,python-toml)))
+ (native-inputs
+ `(("python-setuptools-scm" ,python-setuptools-scm)))
+ (home-page "https://github.com/shopkeep/pytest-black")
+ (synopsis "Pytest plugin to enable format checking with black")
+ (description
+ "This package provides a pytest plugin to enable format checking with the
+Python code formatter \"black\".")
+ (license license:expat)))
+
+(define-public python-get-version
+ (package
+ (name "python-get-version")
+ (version "2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "get_version" version))
+ (sha256
+ (base32
+ "1g15jyx33vkxavv9hwv275cs4g9bp2i1y942raw3fxamq8kbaml1"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pygments" ,python-pygments)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-black" ,python-pytest-black)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-setuptools" ,python-setuptools)
+ ("python-testpath" ,python-testpath)))
+ (home-page "https://github.com/flying-sheep/get_version")
+ (synopsis "Version helper in the spirit of versioneer")
+ (description
+ "This package provides a version helper that lets you automatically use
+the latest @code{vX.X.X} Git tag as the version in your Python package. It
+also supports getting the version from Python source distributions or, once
+your package is installed, via @code{pkg_resources} (part of
+@code{setuptools}).")
+ (license license:gpl3+)))
+
+(define-public python-legacy-api-wrap
+ (package
+ (name "python-legacy-api-wrap")
+ (version "1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "legacy-api-wrap" version))
+ (sha256
+ (base32
+ "06qhp0g543dy98vpa41hwdalvdbsjfc3ldk474yr9sd75mhl8jh3"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-get-version" ,python-get-version)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-black" ,python-pytest-black)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-setuptools" ,python-setuptools)))
+ (home-page "https://github.com/flying-sheep/legacy-api-wrap")
+ (synopsis "Legacy API wrapper")
+ (description "This module defines a decorator to wrap legacy APIs. The
+primary use case is APIs defined before keyword-only parameters existed.")
+ (license license:gpl3+)))
+
(define-public python-pyasn1
(package
(name "python-pyasn1")
(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.
(arguments
;; There are no tests.
`(#:tests? #f))
- (home-page "https://pypi.python.org/pypi/termcolor")
+ (home-page "https://pypi.org/project/termcolor/")
(synopsis "ANSII Color formatting for terminal output")
(description
"This package provides ANSII Color formatting for output in terminals.")
(define-public python-libarchive-c
(package
(name "python-libarchive-c")
- (version "2.8")
+ (version "2.9")
(source (origin
(method url-fetch)
(uri (pypi-uri "libarchive-c" version))
(sha256
(base32
- "0qg0v1s9c1xdk9philhnv8k6c6nicvnvfwlc0j9srg90jmdlvm06"))))
+ "0q7g6a97110bk0j5x81555kajyxh4sybaabab6v5sgr0xi6386cr"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(define-public python-bleach
(package
(name "python-bleach")
- (version "3.1.0")
+ (version "3.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "bleach" version))
(sha256
(base32
- "1yhrgrhkln8bd6gn3imj69g1h4xqah9gaz9q26crqr6gmmvpzprz"))))
+ "0j4xlnw99m1xy0s7wxz9fk5f3c1n8r296fh75jn5p5j61w6qg2xa"))))
(build-system python-build-system)
(propagated-inputs
`(("python-webencodings" ,python-webencodings)
(base32
"0j6ad6lwwyc9kv71skj098v5l7x5biyj2hs4lc5x1kcixqcr97sh"))))
(build-system python-build-system)
- (home-page "http://contextlib2.readthedocs.org/")
+ (home-page "https://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
(native-inputs
`(("python2-unittest2" ,python2-unittest2))))))
+;; This package is used by python2-pytest via python2-importlib-metadata,
+;; and thus can not depend on python-unittest2 (which depends on pytest).
+(define-public python2-contextlib2-bootstrap
+ (hidden-package
+ (package/inherit
+ python2-contextlib2
+ (name "python2-contextlib2-bootstrap")
+ (arguments
+ `(#:tests? #f
+ ,@(package-arguments python2-contextlib2)))
+ (native-inputs '()))))
+
(define-public python-texttable
(package
(name "python-texttable")
- (version "0.9.1")
+ (version "1.6.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "texttable" version))
(sha256
(base32
- "0yawv64c0zbawwv6zz84whb32fnb2n9jylwjcfsrcdgh7xvl340i"))))
+ "1x5l77akfc20x52jma9573qp8l8r07q103pm4l0pbizvh4vp1wzg"))))
(build-system python-build-system)
- (arguments '(#:tests? #f)) ; no tests
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _ (invoke "pytest" "tests.py"))))))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
(home-page "https://github.com/foutaise/texttable/")
(synopsis "Python module for creating simple ASCII tables")
(description "Texttable is a Python module for creating simple ASCII
tables.")
- (license license:lgpl2.1+)))
+ (license license:expat)))
(define-public python2-texttable
(package-with-python2 python-texttable))
@item write and deploy hybrid multi-process applications
@item write scripts to administer multiple environments
@end enumerate")
- (home-page "http://codespeak.net/execnet/")
+ (home-page "https://codespeak.net/execnet/")
(license license:expat)))
(define-public python2-execnet
(define-public python-colorama
(package
(name "python-colorama")
- (version "0.3.9")
+ (version "0.4.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "colorama" version))
(sha256
(base32
- "1wd1szk0z3073ghx26ynw43gnc140ibln1safgsis6s6z3s25ss8"))))
+ "189n8hpijy14jfan4ha9f5n06mnl33cxz7ay92wjqgkr639s0vg9"))))
(build-system python-build-system)
(synopsis "Colored terminal text rendering for Python")
(description "Colorama is a Python library for rendering colored terminal
text.")
- (home-page "https://pypi.python.org/pypi/colorama")
+ (home-page "https://pypi.org/project/colorama/")
(license license:bsd-3)))
(define-public python2-colorama
(define-public python-pluggy
(package
(name "python-pluggy")
- (version "0.11.0")
+ (version "0.13.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pluggy" version))
(sha256
(base32
- "10511a54dvafw1jrk75mrhml53c7b7w4yaw7241696lc2hfvr895"))))
+ "1c35qyhvy27q9ih9n899f3h4sdnpgq027dbiilly2qb5cvgarchm"))))
(build-system python-build-system)
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)))
(synopsis "Plugin and hook calling mechanism for Python")
(description "Pluggy is an extraction of the plugin manager as used by
Pytest but stripped of Pytest specific details.")
- (home-page "https://pypi.python.org/pypi/pluggy")
+ (home-page "https://pypi.org/project/pluggy/")
+ (properties `((python2-variant . ,(delay python2-pluggy))))
(license license:expat)))
(define-public python2-pluggy
- (package-with-python2 python-pluggy))
+ (let ((base (package-with-python2 (strip-python2-variant
+ python-pluggy))))
+ (package/inherit
+ base
+ (propagated-inputs
+ `(("python-importlib-metadata" ,python2-importlib-metadata))))))
+
+;; This package requires python2-importlib-metadata, but that package
+;; ends up needing python2-pluggy via python2-pytest, so we need this
+;; variant to solve the circular dependency.
+(define-public python2-pluggy-bootstrap
+ (hidden-package
+ (package/inherit
+ python2-pluggy
+ (name "python2-pluggy-bootstrap")
+ (arguments
+ `(#:tests? #f
+ ,@(package-arguments python2-pluggy)))
+ (propagated-inputs
+ `(("python-importlib-metadata" ,python2-importlib-metadata-bootstrap))))))
(define-public python-tox
(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
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'check
- (lambda _
- (invoke "pytest" "-vv"))))))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (invoke "nosetests" "-v")
+ (format #t "test suite not run~%"))
+ #t)))))
(propagated-inputs
`(("python-markupsafe" ,python-markupsafe)))
(native-inputs
`(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)))
+ ("python-nose" ,python-nose)))
(home-page "https://www.makotemplates.org/")
(synopsis "Templating language for Python")
(description "Mako is a templating language for Python that compiles
are supported and well tested. vCard 3.0 files are supported, and all data
should be imported, but only a few components are understood in a sophisticated
way.")
- (home-page "http://eventable.github.io/vobject/")
+ (home-page "https://eventable.github.io/vobject/")
(license license:asl2.0)))
(define-public python2-vobject
(build-system python-build-system)
(arguments
'(#:tests? #f)) ; no test suite
- (home-page "http://software.clapper.org/munkres/")
+ (home-page "https://software.clapper.org/munkres/")
(synopsis "Implementation of the Munkres algorithm")
(description "The Munkres module provides an implementation of the Munkres
algorithm (also called the Hungarian algorithm or the Kuhn-Munkres algorithm),
(define-public python2-pathlib2
(package
(name "python2-pathlib2")
- (version "2.3.3")
+ (version "2.3.5")
(source (origin
(method url-fetch)
(uri (pypi-uri "pathlib2" version))
(sha256
(base32
- "0hpp92vqqgcd8h92msm9slv161b1q160igjwnkf2ag6cx0c96695"))))
+ "0s4qa8c082fdkb17izh4mfgwrjd1n5pya18wvrbwqdvvb5xs9nbc"))))
(build-system python-build-system)
;; We only need the the Python 2 variant, since for Python 3 our minimum
;; version is 3.4 which already includes this package as part of the
(propagated-inputs
`(("python2-scandir" ,python2-scandir)
("python2-six" ,python2-six)))
- (home-page "https://pypi.python.org/pypi/pathlib2/")
+ (home-page "https://pypi.org/project/pathlib2/")
(synopsis "Object-oriented file system paths - backport of standard
pathlib module")
(description "The goal of pathlib2 is to provide a backport of standard
(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)
(base32
"1w1aaay424ciz8fz3fkzxb0pxzfxn184f2whpyn4fx72bn50x47k"))))
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm-3.3)))
+ `(("python-setuptools-scm" ,python-setuptools-scm)))
(build-system python-build-system)
(home-page "https://github.com/ionelmc/python-lazy-object-proxy")
(synopsis "Lazy object proxy for python")
,@(package-propagated-inputs base))))))
(define-public python-binwalk
- (let ((commit "64201acfb5b0a9cdd9faa58c40a36dcff8612e29")
- (revision "0"))
- (package
- (name "python-binwalk")
- (version (git-version "2.1.1" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ReFirmLabs/binwalk")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1z7ca6rfp887hw5jc3sb45mm4fa0xid4lsp2z8g4r590dr7k7w15"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'check 'set-pythonpath
- (lambda _
- (setenv "PYTHONPATH"
- (string-append
- (getcwd) "/src/"
- ":" (getenv "PYTHONPATH")))
- (setenv "HOME" "")
- #t)))))
- (native-inputs
- `(("python-coverage" ,python-coverage)
- ("python-nose" ,python-nose)))
- (home-page "https://github.com/ReFirmLabs/binwalk")
- (synopsis "Firmware analysis tool")
- (description "Binwalk is a tool for analyzing, reverse engineering, and extracting firmware images")
- (license license:expat))))
+ (package
+ (name "python-binwalk")
+ (version "2.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ReFirmLabs/binwalk")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1bxgj569fzwv6jhcbl864nmlsi9x1k1r20aywjxc8b9b1zgqrlvc"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'set-pythonpath
+ (lambda _
+ (setenv "PYTHONPATH"
+ (string-append
+ (getcwd) "/src/"
+ ":" (getenv "PYTHONPATH")))
+ (setenv "HOME" "")
+ #t)))))
+ (native-inputs
+ `(("python-coverage" ,python-coverage)
+ ("python-nose" ,python-nose)))
+ (home-page "https://github.com/ReFirmLabs/binwalk")
+ (synopsis "Firmware analysis tool")
+ (description "Binwalk is a tool for analyzing, reverse engineering, and
+extracting firmware images")
+ (license license:expat)))
(define-public python-nltk
(package
("python-six" ,python-six)))
(arguments
`(#:tests? #f)) ; no tests/ in the PyPI tarball
- (home-page "http://graphene-python.org/")
+ (home-page "https://graphene-python.org/")
(synopsis "GraphQL Framework for Python")
(description
"Graphene is a Python library for building GraphQL schemas/types.
(define-public python-invoke
(package
(name "python-invoke")
- (home-page "http://www.pyinvoke.org/")
+ (home-page "https://www.pyinvoke.org/")
(version "1.3.0")
(source (origin
(method url-fetch)
(define-public python-attrs
(package
(name "python-attrs")
- (version "19.1.0")
+ (version "19.3.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "attrs" version))
(sha256
(base32
- "16g33zr5f449lqc5wgvzpknxryfzrfsxcr6kpgxwn7l5fkv71f7h"))))
+ "0wky4h28n7xnr6xv69p9z6kv8bzn50d10c3drmd9ds8gawbcxdzp"))))
(build-system python-build-system)
(arguments
`(#:modules ((guix build utils)
(define-public python-configparser
(package
(name "python-configparser")
- (version "3.7.1")
+ (version "4.0.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "configparser" version))
(sha256
(base32
- "0cnz213il9lhgda6x70fw7mfqr8da43s3wm343lwzhqx94mgmmav"))))
+ "1priacxym85yjcf68hh38w55nqswaxp71ryjyfdk222kg9l85ln7"))))
+ (native-inputs
+ `(("python-setuptools_scm" ,python-setuptools-scm)))
(build-system python-build-system)
(home-page "https://github.com/jaraco/configparser/")
(synopsis "Backport of configparser from python 3.5")
(define-public python-scandir
(package
(name "python-scandir")
- (version "1.9.0")
+ (version "1.10.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "scandir" version))
(sha256
- (base32 "0r3hvf1a9jm1rkqgx40gxkmccknkaiqjavs8lccgq9s8khh5x5s4"))))
+ (base32 "1bkqwmf056pkchf05ywbnf659wqlp6lljcdb0y88wr9f0vv32ijd"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'check
- (lambda _ (invoke "py.test" "-vv"))))))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (invoke "py.test" "-vv")
+ (format #t "test suite not run~%"))
+ #t)))))
(native-inputs
`(("python-pretend" ,python-pretend)
("python-pytest" ,python-pytest)))
(define-public python2-packaging
(package-with-python2 python-packaging))
+;; Variants with minimal dependencies, for bootstrapping Pytest.
+(define-public python-packaging-bootstrap
+ (hidden-package
+ (package/inherit
+ python-packaging
+ (name "python-packaging-bootstrap")
+ (native-inputs '())
+ (propagated-inputs
+ `(("python-pyparsing" ,python-pyparsing)))
+ (arguments '(#:tests? #f)))))
+
+(define-public python2-packaging-bootstrap
+ (hidden-package
+ (package/inherit
+ python2-packaging
+ (name "python2-packaging-bootstrap")
+ (native-inputs '())
+ (propagated-inputs
+ `(("python-pyparsing" ,python2-pyparsing)))
+ (arguments
+ `(#:tests? #f
+ ,@(package-arguments python2-packaging))))))
+
(define-public python-relatorio
(package
(name "python-relatorio")
(define-public python-radon
(package
(name "python-radon")
- (version "2.2.0")
+ (version "4.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "radon" version))
(sha256
(base32
- "07gq5hq4nrffxnlnksws9hrx7fd001gam63j62i82gyfr23gvdym"))))
+ "0vfxxzbnz5lxfvp0yxp35g6c8qqnnbhi4dm7shkm1d3d4192q22n"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(base32
"192pclzs2y0yaywqkrlvd0x73740q310kvqvm6jldhi619mq59wi"))))
(build-system python-build-system)
- (home-page "https://pypi.python.org/pypi/rfc3987")
+ (home-page "https://pypi.org/project/rfc3987/")
(synopsis "Parsing and validation of URIs (RFC 3986) and IRIs (RFC 3987)")
(description "@code{rfc3987} provides routines for parsing and
validation of URIs (see RFC 3986) and IRIs (see RFC 3987).")
(define-public python2-apache-libcloud
(package-with-python2 python-apache-libcloud))
-(define-public python-smmap2
+(define-public python-smmap
(package
- (name "python-smmap2")
- (version "2.0.5")
+ (name "python-smmap")
+ (version "3.0.1")
(source
(origin
(method url-fetch)
- (uri (pypi-uri "smmap2" version))
+ (uri (pypi-uri "smmap" version))
(sha256
- (base32 "16k03pcnxd3lgzwgbd7nl4jwzm1wmahirvd09kljnzvy96hgza99"))))
+ (base32 "0ijlnv60y8f41py1wnn5n1a1i81cxd9dfpdhr0k3cgkrcbz8850p"))))
(build-system python-build-system)
(native-inputs
`(("python-nosexcover" ,python-nosexcover)))
(home-page "https://github.com/Byron/smmap")
(synopsis "Python sliding window memory map manager")
- (description "@code{smmap2} is a pure Python implementation of a sliding
+ (description "@code{smmap} is a pure Python implementation of a sliding
window memory map manager.")
(license license:bsd-3)))
+(define-public python-smmap2
+ (deprecated-package "python-smmap2" python-smmap))
+
+(define-public python2-smmap
+ (package-with-python2 python-smmap))
+
(define-public python2-smmap2
- (package-with-python2 python-smmap2))
+ (deprecated-package "python2-smmap2" python2-smmap))
(define-public python-regex
(package
(define-public python-xenon
(package
(name "python-xenon")
- (version "0.5.4")
+ (version "0.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xenon" version))
(sha256
(base32
- "029cbhysg2vr5n4jz8gpg2793f8wkwnqpr1qgv6c1dn685vy31mc"))))
+ "0nv207ql2wmh9q62503np056c4vf1c1hlsi5cvv5p5kx574k6r2y"))))
(build-system python-build-system)
(native-inputs
`(("python-pyyaml" ,python-pyyaml)
("python-flake8" ,python-flake8)
("python-tox" ,python-tox)))
(arguments
- `(#:phases
+ `(#:tests? #f ;test suite not shipped with the PyPI archive
+ #:phases
(modify-phases %standard-phases
(add-before 'build 'patch-test-requirements
(lambda _
("python-nose" ,python-nose)))
(propagated-inputs
`(("python-h5py" ,python-h5py)))
- (home-page "http://www.activepapers.org/")
+ (home-page "https://www.activepapers.org/")
(synopsis "Executable papers for scientific computing")
(description
"ActivePapers is a tool for working with executable papers, which
"183kg1rhzz3hqizvphkd8hlbf1zxfx8737zhfkmqzxi71jmdw7pd"))))
(build-system python-build-system)
(native-inputs
- `(("python-tox" ,python-tox)
+ `(("python-appdirs" ,python-appdirs)
+ ("python-distlib" ,python-distlib)
+ ("python-importlib-metadata" ,python-importlib-metadata)
+ ("python-filelock" ,python-filelock)
+ ("python-six" ,python-six)
+ ("python-tox" ,python-tox)
("python-virtualenv" ,python-virtualenv)))
(home-page "https://github.com/k-bx/python-semver")
(synopsis "Python helper for Semantic Versioning")
(define-public python-typing
(package
(name "python-typing")
- (version "3.6.6")
+ (version "3.7.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "typing" version))
(sha256
(base32
- "0ba9acs4awx15bf9v3nrs781msbd2nx826906nj6fqks2bvca9s0"))))
+ "08xs7s5pyq99hbrzw23inczmidz90krvpv9q5p1qrvh6yzrydpwi"))))
(build-system python-build-system)
(home-page "https://docs.python.org/3/library/typing.html")
(synopsis "Type hints for Python")
(define-public python-more-itertools
(package
(name "python-more-itertools")
- (version "7.1.0")
+ (version "8.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "more-itertools" version))
(sha256
(base32
- "16phg2f2dvm6ci5wr49ncha5lmc0m2in3bsl33c61vzca4gkvd4b"))))
+ "01x5nwm1zxmnd06cllbdd095xxc2nd25ing1a726m2kd30rbkpdi"))))
(build-system python-build-system)
(home-page "https://github.com/erikrose/more-itertools")
(synopsis "More routines for operating on iterables, beyond itertools")
(base32
"1r12cm6mcdwdzz7d47a6g4l437xsvapdlgyhqay3i2nrlv03da9q"))))
(arguments
- `(#:python ,python2-minimal))
+ `(#:python ,python-2))
(propagated-inputs
`(("python2-six" ,python2-six-bootstrap)))))
`(("unzip" ,unzip)))
(propagated-inputs
`(("python-gevent" ,python-gevent)))
- (home-page "http://gehrcke.de/gipc")
+ (home-page "https://gehrcke.de/gipc/")
(synopsis "Child process management in the context of gevent")
(description "Usage of Python's multiprocessing package in a
gevent-powered application may raise problems. With @code{gipc},
(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
tool).")
(license license:bsd-3)))
+(define-public python-numcodecs
+ (package
+ (name "python-numcodecs")
+ (version "0.6.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "numcodecs" version))
+ (sha256
+ (base32
+ "0kbfr8pl3x9glsypbq8hzim003f16ml1b1cvgrh4w1sdvgal6j7g"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-numpy" ,python-numpy)
+ ("python-msgpack" ,python-msgpack)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-setuptools-scm" ,python-setuptools-scm)))
+ (home-page "https://github.com/zarr-developers/numcodecs")
+ (synopsis "Buffer compression and transformation codecs")
+ (description
+ "This Python package provides buffer compression and transformation
+codecs for use in data storage and communication applications.")
+ (license license:expat)))
+
+(define-public python-asciitree
+ (package
+ (name "python-asciitree")
+ (version "0.3.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "asciitree" version))
+ (sha256
+ (base32
+ "0vhgri2m2xlnibhz4xwn4hpbc7xacisxjqrk6k5kyppq96vbk92a"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/mbr/asciitree")
+ (synopsis "Draws ASCII trees")
+ (description "This package draws tree structures using characters.")
+ (license license:expat)))
+
+(define-public python-zarr
+ (package
+ (name "python-zarr")
+ (version "2.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "zarr" version))
+ (sha256
+ (base32
+ "026n3sjzjv2gmwx6y72b8ij0hk42bc8zdbvfj5gdqzd4i6wj3ajk"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-service-tests
+ (lambda _
+ (setenv "ZARR_TEST_ABS" "0")
+ (setenv "ZARR_TEST_MONGO" "0")
+ (setenv "ZARR_TEST_REDIS" "0")
+ #t))
+ (replace 'check
+ (lambda _
+ (invoke "pytest" "-vv" "-k" "not lmdb")
+ #t)))))
+ (propagated-inputs
+ `(("python-asciitree" ,python-asciitree)
+ ("python-fasteners" ,python-fasteners)
+ ("python-numcodecs" ,python-numcodecs)
+ ("python-numpy" ,python-numpy)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-setuptools-scm" ,python-setuptools-scm)))
+ (home-page "https://github.com/zarr-developers/zarr-python")
+ (synopsis "Chunked, compressed, N-dimensional arrays for Python")
+ (description
+ "This package provides an implementation of chunked, compressed,
+N-dimensional arrays for Python.")
+ (license license:expat)))
+
(define-public python-anndata
(package
(name "python-anndata")
- (version "0.6.18")
+ (version "0.7.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "anndata" version))
(sha256
(base32
- "03x83yjaccbqszj7x4fwwmpil0ai59yx64d1zmf2691za3j03w73"))))
+ "0rnfbpr55j1a1bi2kd4mz444741hrn74kz90h5rnjr59jmpfnh09"))))
(build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'delete-inconvenient-tests
+ (lambda _
+ ;; This test depends on python-scikit-learn.
+ (delete-file "anndata/tests/test_inplace_subset.py")
+ #t))
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "-vv"))))))
(propagated-inputs
`(("python-h5py" ,python-h5py)
+ ("python-importlib-metadata" ,python-importlib-metadata)
("python-natsort" ,python-natsort)
+ ("python-numcodecs" ,python-numcodecs)
+ ("python-packaging" ,python-packaging)
("python-pandas" ,python-pandas)
- ("python-scipy" ,python-scipy)))
+ ("python-scipy" ,python-scipy)
+ ("python-zarr" ,python-zarr)))
+ (native-inputs
+ `(("python-joblib" ,python-joblib)
+ ("python-pytest" ,python-pytest)
+ ("python-setuptools-scm" ,python-setuptools-scm)))
(home-page "https://github.com/theislab/anndata")
(synopsis "Annotated data for data analysis pipelines")
(description "Anndata is a package for simple (functional) high-level APIs
(base32
"0fm0w5id2yhqld95hg2m636vjgkz377rvgdfqaxc25vbylr9lklp"))))
(build-system python-build-system)
- (native-inputs
- `(("python-tox" ,python-tox)))
+ (arguments
+ ;; FIXME: Tests require many extra dependencies, and would introduce
+ ;; a circular dependency on hypothesis, which uses this package.
+ '(#:tests? #f))
(home-page "http://www.grantjenks.com/docs/sortedcontainers/")
(synopsis "Sorted List, Sorted Dict, Sorted Set")
(description
pure-Python.")
(license license:asl2.0)))
+(define-public python2-sortedcontainers
+ (package-with-python2 python-sortedcontainers))
+
(define-public python-cloudpickle
(package
(name "python-cloudpickle")
(define-public python-construct
(package
(name "python-construct")
- (version "2.9.45")
+ (version "2.10.56")
(source
(origin
(method url-fetch)
(uri (pypi-uri "construct" version))
(sha256
(base32
- "130iy05awzigm2xah2yvlmb08mac5bi4gzr5m3g7k1krs3ps0w92"))))
+ "0q86jjzsvy835h3c8pjj4619vbp7ihfg8njmyw86ym4qrpni7flp"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; No tests exist.
("python-arrow" ,python-arrow)
("python-numpy" ,python-numpy)
("python-ruamel.yaml" ,python-ruamel.yaml)))
- (home-page "http://construct.readthedocs.io")
+ (home-page "https://construct.readthedocs.io")
(synopsis "Declarative and symmetrical parser and builder for binary data")
(description
"This package provides both simple, atomic constructs (such as
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-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))