You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
14882 lines
533 KiB
14882 lines
533 KiB
;;; 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 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 Christopher Allan Webber <cwebber@dustycloud.org>
|
|
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
|
|
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
|
|
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
|
|
;;; Copyright © 2015, 2017 Ben Woodcroft <donttrustben@gmail.com>
|
|
;;; Copyright © 2015, 2016 Erik Edrosa <erik.edrosa@gmail.com>
|
|
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
|
;;; Copyright © 2015, 2017 Kyle Meyer <kyle@kyleam.com>
|
|
;;; Copyright © 2015, 2016 Chris Marusich <cmmarusich@gmail.com>
|
|
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
|
|
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
|
|
;;; Copyright © 2016, 2018 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
|
;;; Copyright © 2016 Daniel Pimentel <d4n1@d4n1.org>
|
|
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
|
|
;;; Copyright © 2016, 2017 Troy Sankey <sankeytms@gmail.com>
|
|
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
|
|
;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org>
|
|
;;; Copyright © 2016 David Craven <david@craven.ch>
|
|
;;; Copyright © 2016, 2017, 2018 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 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 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 © 2017, 2018 Adriano Peluso <catonano@gmail.com>
|
|
;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au>
|
|
;;; Copyright © 2017, 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
|
;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.org>
|
|
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
|
|
;;; Copyright © 2017, 2018 Kei Kebreau <kkebreau@posteo.net>
|
|
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
|
;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
|
|
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
|
|
;;; Copyright © 2018 Ethan R. Jones <ethanrjones97@gmail.com
|
|
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
|
|
;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@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 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
|
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
|
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
|
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
|
;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com>
|
|
;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
|
|
;;;
|
|
;;; This file is part of GNU Guix.
|
|
;;;
|
|
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
|
;;; under the terms of the GNU General Public License as published by
|
|
;;; the Free Software Foundation; either version 3 of the License, or (at
|
|
;;; your option) any later version.
|
|
;;;
|
|
;;; GNU Guix is distributed in the hope that it will be useful, but
|
|
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
;;; GNU General Public License for more details.
|
|
;;;
|
|
;;; You should have received a copy of the GNU General Public License
|
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
(define-module (gnu packages python-xyz)
|
|
#:use-module ((guix licenses) #:prefix license:)
|
|
#:use-module (gnu packages)
|
|
#:use-module (gnu packages algebra)
|
|
#:use-module (gnu packages adns)
|
|
#:use-module (gnu packages attr)
|
|
#:use-module (gnu packages backup)
|
|
#:use-module (gnu packages bash)
|
|
#:use-module (gnu packages check)
|
|
#:use-module (gnu packages compression)
|
|
#:use-module (gnu packages crypto)
|
|
#:use-module (gnu packages databases)
|
|
#:use-module (gnu packages file)
|
|
#:use-module (gnu packages fontutils)
|
|
#:use-module (gnu packages gcc)
|
|
#:use-module (gnu packages geo)
|
|
#:use-module (gnu packages ghostscript)
|
|
#:use-module (gnu packages gl)
|
|
#:use-module (gnu packages glib)
|
|
#:use-module (gnu packages graphviz)
|
|
#:use-module (gnu packages graphics)
|
|
#:use-module (gnu packages gstreamer)
|
|
#:use-module (gnu packages gtk)
|
|
#:use-module (gnu packages icu4c)
|
|
#:use-module (gnu packages image)
|
|
#:use-module (gnu packages imagemagick)
|
|
#:use-module (gnu packages libevent)
|
|
#:use-module (gnu packages libffi)
|
|
#:use-module (gnu packages linux)
|
|
#:use-module (gnu packages llvm)
|
|
#:use-module (gnu packages man)
|
|
#:use-module (gnu packages maths)
|
|
#:use-module (gnu packages multiprecision)
|
|
#:use-module (gnu packages networking)
|
|
#:use-module (gnu packages ncurses)
|
|
#:use-module (gnu packages openstack)
|
|
#:use-module (gnu packages pcre)
|
|
#:use-module (gnu packages perl)
|
|
#:use-module (gnu packages pkg-config)
|
|
#:use-module (gnu packages python)
|
|
#:use-module (gnu packages python-check)
|
|
#:use-module (gnu packages python-crypto)
|
|
#:use-module (gnu packages python-web)
|
|
#:use-module (gnu packages qt)
|
|
#:use-module (gnu packages readline)
|
|
#:use-module (gnu packages sdl)
|
|
#:use-module (gnu packages search)
|
|
#:use-module (gnu packages shells)
|
|
#:use-module (gnu packages ssh)
|
|
#:use-module (gnu packages terminals)
|
|
#:use-module (gnu packages tex)
|
|
#:use-module (gnu packages texinfo)
|
|
#:use-module (gnu packages time)
|
|
#:use-module (gnu packages tls)
|
|
#:use-module (gnu packages version-control)
|
|
#:use-module (gnu packages video)
|
|
#:use-module (gnu packages web)
|
|
#:use-module (gnu packages base)
|
|
#:use-module (gnu packages xml)
|
|
#:use-module (gnu packages xorg)
|
|
#:use-module (gnu packages xdisorg)
|
|
#:use-module (gnu packages tcl)
|
|
#:use-module (gnu packages bdw-gc)
|
|
#:use-module (guix packages)
|
|
#:use-module (guix download)
|
|
#:use-module (guix git-download)
|
|
#:use-module (guix utils)
|
|
#:use-module (guix build-system gnu)
|
|
#:use-module (guix build-system cmake)
|
|
#:use-module (guix build-system python)
|
|
#:use-module (guix build-system trivial)
|
|
#:use-module (srfi srfi-1)
|
|
#:use-module (srfi srfi-26))
|
|
|
|
(define-public python-psutil
|
|
(package
|
|
(name "python-psutil")
|
|
(version "5.4.3")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "psutil" version))
|
|
(sha256
|
|
(base32
|
|
"063v69x7spyclyaxrd3gmzj3p16q5ayg97xqhwb1kyn22a9pwip2"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
;; FIXME: some tests does not return and times out.
|
|
'(#:tests? #f))
|
|
(home-page "https://www.github.com/giampaolo/psutil")
|
|
(synopsis "Library for retrieving information on running processes")
|
|
(description
|
|
"psutil (Python system and process utilities) is a library for retrieving
|
|
information on running processes and system utilization (CPU, memory, disks,
|
|
network) in Python. It is useful mainly for system monitoring, profiling and
|
|
limiting process resources and management of running processes. It implements
|
|
many functionalities offered by command line tools such as: ps, top, lsof,
|
|
netstat, ifconfig, who, df, kill, free, nice, ionice, iostat, iotop, uptime,
|
|
pidof, tty, taskset, pmap.")
|
|
(properties `((python2-variant . ,(delay python2-psutil))))
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python2-psutil
|
|
(let ((base (package-with-python2 (strip-python2-variant python-psutil))))
|
|
(package
|
|
(inherit base)
|
|
(propagated-inputs
|
|
`(("python2-enum34" ,python2-enum34) ;optional
|
|
,@(package-propagated-inputs base))))))
|
|
|
|
(define-public python-shapely
|
|
(package
|
|
(name "python-shapely")
|
|
(version "1.6.3")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "Shapely" version))
|
|
(sha256
|
|
(base32
|
|
"0svc58dzcw9gj92b4sgq35sdxkf85z0qwlzxarkzq4bp3h8jy58l"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-cython" ,python-cython)
|
|
("python-matplotlib" ,python-matplotlib)
|
|
("python-pytest" ,python-pytest)
|
|
("python-pytest-cov" ,python-pytest-cov)))
|
|
(inputs
|
|
`(("geos" ,geos)))
|
|
(propagated-inputs
|
|
`(("python-numpy" ,python-numpy)))
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'unpack 'patch-geos-path
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
(let ((geos (assoc-ref inputs "geos"))
|
|
(glibc (assoc-ref inputs ,(if (%current-target-system)
|
|
"cross-libc" "libc"))))
|
|
(substitute* "shapely/geos.py"
|
|
(("_lgeos = load_dll\\('geos_c', fallbacks=.*\\)")
|
|
(string-append "_lgeos = load_dll('geos_c', fallbacks=['"
|
|
geos "/lib/libgeos_c.so'])"))
|
|
(("free = load_dll\\('c'\\)\\.free")
|
|
(string-append "free = load_dll('c', fallbacks=['"
|
|
glibc "/lib/libc.so.6']).free"))))
|
|
#t)))))
|
|
(home-page "https://github.com/Toblerity/Shapely")
|
|
(synopsis "Library for the manipulation and analysis of geometric objects")
|
|
(description "Shapely is a Python package for manipulation and analysis of
|
|
planar geometric objects. It is based on the @code{GEOS} library.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python-logwrap
|
|
(package
|
|
(name "python-logwrap")
|
|
(version "3.2.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "logwrap" version ".zip"))
|
|
(sha256
|
|
(base32
|
|
"1d2k0hvpbi51vl410y8fbs5m0nxnlh2k7gr2nrh3k81ibhzscsra"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-six" ,python-six)
|
|
("python-typing" ,python-typing)))
|
|
(native-inputs
|
|
`(("unzip" ,unzip)
|
|
("python-cython" ,python-cython)
|
|
("python-pytest" ,python-pytest)
|
|
("python-pytest-cov" ,python-pytest-cov)
|
|
("python-pytest-runner" ,python-pytest-runner)))
|
|
(home-page "https://github.com/penguinolog/logwrap")
|
|
(synopsis "Decorator for logging function arguments")
|
|
(description "This package provides a decorator to log function arguments
|
|
and function call return values in a human-readable way.")
|
|
(license license:asl2.0)))
|
|
|
|
(define-public python2-shapely
|
|
(package-with-python2 python-shapely))
|
|
|
|
(define-public python-clyent
|
|
(package
|
|
(name "python-clyent")
|
|
(version "1.2.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "clyent" version))
|
|
(sha256
|
|
(base32
|
|
"1r9987qmy1pz3hq54160bapqsywpq14waw4w9x3ly8hmq7kpgfbj"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-mock" ,python-mock)))
|
|
(home-page "https://github.com/binstar/clyent")
|
|
(synopsis "Command line client library")
|
|
(description "Clyent is a Python command line utiliy library. It is used
|
|
by @code{binstar}, @code{binstar-build} and @code{chalmers}.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python2-clyent
|
|
(package-with-python2 python-clyent))
|
|
|
|
(define-public python-babel
|
|
(package
|
|
(name "python-babel")
|
|
(version "2.6.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "Babel" version))
|
|
(sha256
|
|
(base32
|
|
"08rxmbx2s4irp0w0gmn498vns5xy0fagm0fg33xa772jiks51flc"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-freezegun" ,python-freezegun)
|
|
("python-pytest" ,python-pytest)))
|
|
(propagated-inputs
|
|
`(("python-pytz" ,python-pytz)))
|
|
(arguments
|
|
`(#:phases (modify-phases %standard-phases
|
|
(replace 'check
|
|
(lambda _ (invoke "pytest" "-vv"))))))
|
|
(home-page "http://babel.pocoo.org/")
|
|
(synopsis
|
|
"Tools for internationalizing Python applications")
|
|
(description
|
|
"Babel is composed of two major parts:
|
|
- tools to build and work with gettext message catalogs
|
|
- a Python interface to the CLDR (Common Locale Data Repository), providing
|
|
access to various locale display names, localized number and date formatting,
|
|
etc. ")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python2-babel
|
|
(package-with-python2 python-babel))
|
|
|
|
(define-public python2-backport-ssl-match-hostname
|
|
(package
|
|
(name "python2-backport-ssl-match-hostname")
|
|
(version "3.5.0.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/b/"
|
|
"backports.ssl_match_hostname/backports.ssl_match_hostname-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1wndipik52cyqy0677zdgp90i435pmvwd89cz98lm7ri0y3xjajh"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:python ,python-2
|
|
#:tests? #f)) ; no test target
|
|
(home-page "https://bitbucket.org/brandon/backports.ssl_match_hostname")
|
|
(synopsis "Backport of ssl.match_hostname() function from Python 3.5")
|
|
(description
|
|
"This backport brings the ssl.match_hostname() function to users of
|
|
earlier versions of Python. The function checks the hostname in the
|
|
certificate returned by the server to which a connection has been established,
|
|
and verifies that it matches the intended target hostname.")
|
|
(license license:psfl)))
|
|
|
|
(define-public python-hdf4
|
|
(package
|
|
(name "python-hdf4")
|
|
(version "0.9")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri name version))
|
|
(sha256
|
|
(base32
|
|
"1hjiyrxvxk9817qyqky3nar4y3fs4z8wxz0n884zzb5wi6skrjks"))))
|
|
(build-system python-build-system)
|
|
(native-inputs `(("nose" ,python-nose)))
|
|
(propagated-inputs `(("numpy" ,python-numpy)))
|
|
(inputs
|
|
`(("hdf4" ,hdf4)
|
|
("libjpeg" ,libjpeg)
|
|
("zlib" ,zlib)))
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'check
|
|
(lambda _
|
|
;; The 'runexamples' script sets PYTHONPATH to CWD, then goes
|
|
;; on to import numpy. Somehow this works on their CI system.
|
|
;; Let's just manage PYTHONPATH here instead.
|
|
(substitute* "runexamples.sh"
|
|
(("export PYTHONPATH=.*") ""))
|
|
(setenv "PYTHONPATH"
|
|
(string-append (getcwd) ":"
|
|
(getenv "PYTHONPATH")))
|
|
(invoke "./runexamples.sh")
|
|
(invoke "nosetests" "-v"))))))
|
|
(home-page "https://github.com/fhs/python-hdf4")
|
|
(synopsis "Python interface to the NCSA HDF4 library")
|
|
(description
|
|
"Python-HDF4 is a python wrapper around the NCSA HDF version 4 library,
|
|
which implements the SD (Scientific Dataset), VS (Vdata) and V (Vgroup) API’s.
|
|
NetCDF files can also be read and modified. Python-HDF4 is a fork of
|
|
@url{http://hdfeos.org/software/pyhdf.php,pyhdf}.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-hdf4
|
|
(package-with-python2 python-hdf4))
|
|
|
|
(define-public python-h5py
|
|
(package
|
|
(name "python-h5py")
|
|
(version "2.8.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "h5py" version))
|
|
(sha256
|
|
(base32
|
|
"0mdr6wrq02ac93m1aqx9kad0ppfzmm4imlxqgyy1x4l7hmdcc9p6"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:tests? #f ; no test target
|
|
#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'unpack 'fix-hdf5-paths
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
(let ((prefix (assoc-ref inputs "hdf5")))
|
|
(substitute* "setup_build.py"
|
|
(("\\['/opt/local/lib', '/usr/local/lib'\\]")
|
|
(string-append "['" prefix "/lib" "']"))
|
|
(("'/opt/local/include', '/usr/local/include'")
|
|
(string-append "'" prefix "/include" "'")))
|
|
(substitute* "setup_configure.py"
|
|
(("\\['/usr/local/lib', '/opt/local/lib'\\]")
|
|
(string-append "['" prefix "/lib" "']")))
|
|
#t))))))
|
|
(propagated-inputs
|
|
`(("python-six" ,python-six)
|
|
("python-numpy" ,python-numpy)))
|
|
(inputs
|
|
`(("hdf5" ,hdf5)))
|
|
(native-inputs
|
|
`(("python-cython" ,python-cython)
|
|
("python-pkgconfig" ,python-pkgconfig)))
|
|
(home-page "http://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
|
|
HDF5 library from Python. The low-level interface is intended to be a
|
|
complete wrapping of the HDF5 API, while the high-level component supports
|
|
access to HDF5 files, datasets and groups using established Python and NumPy
|
|
concepts.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python2-h5py
|
|
(package-with-python2 python-h5py))
|
|
|
|
(define-public python-sh
|
|
(package
|
|
(name "python-sh")
|
|
(version "1.12.14")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "sh" version))
|
|
(sha256
|
|
(base32
|
|
"1z2hx357xp3v4cv44xmqp7lli3frndqpyfmpbxf7n76h7s1zaaxm"))))
|
|
(build-system python-build-system)
|
|
(home-page "https://github.com/amoffat/sh")
|
|
(synopsis "Python subprocess replacement")
|
|
(description "This package provides a replacement for Python's
|
|
@code{subprocess} feature.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-cftime
|
|
(package
|
|
(name "python-cftime")
|
|
(version "1.0.3.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "cftime" version))
|
|
(sha256
|
|
(base32
|
|
"0362dhxbzk593walyjz30dll6y2y79wialik647cbwdsf3ad0x6x"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-numpy" ,python-numpy)))
|
|
(native-inputs
|
|
`(("python-coveralls" ,python-coveralls)
|
|
("python-cython" ,python-cython)
|
|
("python-pytest-cov" ,python-pytest-cov)))
|
|
(home-page "https://github.com/Unidata/cftime")
|
|
(synopsis "Library for time handling")
|
|
(description
|
|
"This package provides time-handling functionality that used to be part
|
|
of the netcdf4 package before.")
|
|
;; This package claims to include code under the GPLv3 but is released
|
|
;; under ISC.
|
|
(license (list license:isc license:gpl3+))))
|
|
|
|
(define-public python-netcdf4
|
|
(package
|
|
(name "python-netcdf4")
|
|
(version "1.4.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "netCDF4" version))
|
|
(sha256
|
|
(base32
|
|
"0c0sklgrmv15ygliin8qq0hp7vanmbi74m6zpi0r1ksr0hssyd5r"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'unpack 'configure-locations
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
(setenv "HDF5_DIR" (assoc-ref inputs "hdf5"))
|
|
#t)))))
|
|
(native-inputs
|
|
`(("python-cython" ,python-cython)))
|
|
(propagated-inputs
|
|
`(("python-numpy" ,python-numpy)
|
|
("python-cftime" ,python-cftime)))
|
|
(inputs
|
|
`(("netcdf" ,netcdf)
|
|
("hdf4" ,hdf4)
|
|
("hdf5" ,hdf5)))
|
|
(home-page "https://github.com/Unidata/netcdf4-python")
|
|
(synopsis "Python/numpy interface to the netCDF library")
|
|
(description "Netcdf4-python is a Python interface to the netCDF C
|
|
library. netCDF version 4 has many features not found in earlier
|
|
versions of the library and is implemented on top of HDF5. This module
|
|
can read and write files in both the new netCDF 4 and the old netCDF 3
|
|
format, and can create files that are readable by HDF5 clients. The
|
|
API is modelled after @code{Scientific.IO.NetCDF}, and should be familiar
|
|
to users of that module.")
|
|
;; The software is mainly ISC, but includes some files covered
|
|
;; by the Expat license.
|
|
(license (list license:isc license:expat))))
|
|
|
|
(define-public python2-netcdf4
|
|
(package-with-python2 python-netcdf4))
|
|
|
|
(define-public python-lockfile
|
|
(package
|
|
(name "python-lockfile")
|
|
(version "0.12.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://pypi.python.org/packages/source/l/lockfile/"
|
|
"lockfile-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"16gpx5hm73ah5n1079ng0vy381hl802v606npkx4x8nb0gg05vba"))))
|
|
(build-system python-build-system)
|
|
(arguments '(#:test-target "check"))
|
|
(native-inputs
|
|
`(("python-pbr" ,python-pbr)))
|
|
(home-page "https://launchpad.net/pylockfile")
|
|
(synopsis "Platform-independent file locking module")
|
|
(description
|
|
"The lockfile package exports a LockFile class which provides a simple
|
|
API for locking files.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-lockfile
|
|
(package-with-python2 python-lockfile))
|
|
|
|
(define-public python-semantic-version
|
|
(package
|
|
(name "python-semantic-version")
|
|
(version "2.6.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "semantic_version" version))
|
|
(sha256
|
|
(base32
|
|
"1h2l9xyg1zzsda6kjcmfcgycbvrafwci283vcr1v5sbk01l2hhra"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:tests? #f)) ; PyPI tarball lacks tests
|
|
(home-page "https://github.com/rbarrois/python-semanticversion")
|
|
(synopsis "Semantic versioning module for Python")
|
|
(description
|
|
"The @code{semantic_version} class is a small library for handling
|
|
@uref{https://semver.org/, semantic versioning} (@dfn{SemVer}) in Python.
|
|
|
|
It can compare versions, generate a new version that represents a bump in one of
|
|
the version levels, and check whether any given string is a proper semantic
|
|
version identifier.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python2-semantic-version
|
|
(package-with-python2 python-semantic-version))
|
|
|
|
(define-public python-serpent
|
|
(package
|
|
(name "python-serpent")
|
|
(version "1.27")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "serpent" version))
|
|
(sha256
|
|
(base32
|
|
"04p9dsrm5pv8vhk3flvih55kgvlzpi38hlaykdiakddmgwqw93bg"))))
|
|
(build-system python-build-system)
|
|
(home-page "https://github.com/irmen/Serpent")
|
|
(synopsis "Serializer for literal Python expressions")
|
|
(description
|
|
"Serpent provides ast.literal_eval() compatible object tree
|
|
serialization. It serializes an object tree into bytes (utf-8 encoded string)
|
|
that can be decoded and then passed as-is to ast.literal_eval() to rebuild it
|
|
as the original object tree. As such it is safe to send serpent data to other
|
|
machines over the network for instance (because only safe literals are
|
|
encoded).")
|
|
(license license:expat)))
|
|
|
|
(define-public python-setuptools
|
|
(package
|
|
(name "python-setuptools")
|
|
(version "40.0.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "setuptools" version ".zip"))
|
|
(sha256
|
|
(base32
|
|
"0pq116lr14gnc62v76nk0npkm6krb2mpp7p9ab369zgv4n7dnah1"))
|
|
(modules '((guix build utils)))
|
|
(snippet
|
|
'(begin
|
|
;; Remove included binaries which are used to build self-extracting
|
|
;; installers for Windows.
|
|
;; TODO: Find some way to build them ourself so we can include them.
|
|
(for-each delete-file (find-files "setuptools" "^(cli|gui).*\\.exe$"))
|
|
#t))))
|
|
(build-system python-build-system)
|
|
;; FIXME: Tests require pytest, which itself relies on setuptools.
|
|
;; One could bootstrap with an internal untested setuptools.
|
|
(arguments
|
|
`(#:tests? #f))
|
|
(home-page "https://pypi.python.org/pypi/setuptools")
|
|
(synopsis
|
|
"Library designed to facilitate packaging Python projects")
|
|
(description
|
|
"Setuptools is a fully-featured, stable library designed to facilitate
|
|
packaging Python projects, where packaging includes:
|
|
Python package and module definitions,
|
|
distribution package metadata,
|
|
test hooks,
|
|
project installation,
|
|
platform-specific details,
|
|
Python 3 support.")
|
|
;; TODO: setuptools now bundles the following libraries:
|
|
;; packaging, pyparsing, six and appdirs. How to unbundle?
|
|
(license (list license:psfl ; setuptools itself
|
|
license:expat ; six, appdirs, pyparsing
|
|
license:asl2.0 ; packaging is dual ASL2/BSD-2
|
|
license:bsd-2))))
|
|
|
|
(define-public python2-setuptools
|
|
(package-with-python2 python-setuptools))
|
|
|
|
(define-public python-uniseg
|
|
(package
|
|
(name "python-uniseg")
|
|
(version "0.7.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "uniseg" version ".zip"))
|
|
(sha256
|
|
(base32
|
|
"05jsazvz6nbmh6l3v1rph5ydkqn1hzx1pyggdyvgp2qgmgrnmiz2"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
'(#:tests? #f)) ; The test suite requires network access.
|
|
(native-inputs
|
|
`(("unzip" ,unzip)))
|
|
(home-page
|
|
"https://bitbucket.org/emptypage/uniseg-python")
|
|
(synopsis
|
|
"Python library to determine Unicode text segmentations")
|
|
(description
|
|
"Uniseg is a Python package used to determine Unicode text segmentations.
|
|
Supported segmentations include:
|
|
@enumerate
|
|
@item @dfn{Code point} (any value in the Unicode codespace)
|
|
@item @dfn{Grapheme cluster} (user-perceived character made of a single or
|
|
multiple Unicode code points, e.g. \"G\" + acute-accent)
|
|
@item Word break
|
|
@item Sentence break
|
|
@item Line break
|
|
@end enumerate")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-uniseg
|
|
(package-with-python2 python-uniseg))
|
|
|
|
(define-public python-humanfriendly
|
|
(package
|
|
(name "python-humanfriendly")
|
|
(version "4.4.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "humanfriendly" version))
|
|
(sha256
|
|
(base32
|
|
"0pisgizjql86785jchfjv217g0lsgk114g2lja5j4y3lsc3b9szi"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(;; XXX: Tests depend on coloredlogs, which in turn depends on humanfriendly.
|
|
#:tests? #f))
|
|
(propagated-inputs
|
|
`(("python-monotonic" ,python-monotonic)))
|
|
(home-page "https://humanfriendly.readthedocs.io")
|
|
(synopsis "Human-friendly input and output in Python")
|
|
(description
|
|
"The functions and classes in @code{humanfriendly} can be used to make
|
|
text interfaces more user-friendly. It includes tools to parse and format
|
|
numbers, file sizes, and timespans, timers for long-running operations, menus
|
|
to allow the user to choose from a list of options, and terminal interaction
|
|
helpers.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-humanfriendly
|
|
(package-with-python2 python-humanfriendly))
|
|
|
|
(define-public python-capturer
|
|
(package
|
|
(name "python-capturer")
|
|
(version "2.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "capturer" version))
|
|
(sha256
|
|
(base32
|
|
"05d6ji4j8ipiq0br7bwam38qc6hd9l1djmfxlzrxx19ziyjl4089"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:tests? #f))
|
|
(propagated-inputs
|
|
`(("python-humanfriendly" ,python-humanfriendly)))
|
|
(home-page "https://capturer.readthedocs.io")
|
|
(synopsis "Capture stdout and stderr streams of the current process")
|
|
(description
|
|
"The capturer package makes it easy to capture the stdout and stderr
|
|
streams of the current process and subprocesses. Output can be relayed
|
|
to the terminal in real time but is also available to the Python program
|
|
for additional processing.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-capturer
|
|
(package-with-python2 python-capturer))
|
|
|
|
(define-public python-case
|
|
(package
|
|
(name "python-case")
|
|
(version "1.5.3")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "case" version))
|
|
(sha256
|
|
(base32
|
|
"1cagg06vfph864s6l5jb0zqliwxh647bki8j6lf4a4qrv40jnhs8"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-mock" ,python-mock)
|
|
("python-nose" ,python-nose)
|
|
("python-six" ,python-six)
|
|
("python-unittest2" ,python-unittest2)))
|
|
(native-inputs
|
|
`(("python-coverage" ,python-coverage)))
|
|
(home-page "https://github.com/celery/case")
|
|
(synopsis "Unittest utilities and convenience methods")
|
|
(description
|
|
"The @code{case} package provides utilities on top of unittest, including
|
|
some helpful Python 2 compatibility convenience methods.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python-verboselogs
|
|
(package
|
|
(name "python-verboselogs")
|
|
(version "1.7")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "verboselogs" version))
|
|
(sha256
|
|
(base32
|
|
"09z4d1jiasn7k1hs5af2ckmnrd0i1d1m04bhfjhv7z6svzfdwgg3"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-mock" ,python-mock)
|
|
("python-astroid" ,python-astroid)
|
|
("python-pylint" ,python-pylint)))
|
|
(home-page "https://verboselogs.readthedocs.io")
|
|
(synopsis "Verbose logging level for Python's logging module")
|
|
(description
|
|
"The @code{verboselogs} package extends Python's @code{logging} module to
|
|
add the log levels NOTICE, SPAM, SUCCESS and VERBOSE.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-verboselogs
|
|
(package-with-python2 python-verboselogs))
|
|
|
|
(define-public python-coloredlogs
|
|
(package
|
|
(name "python-coloredlogs")
|
|
(version "7.3")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "coloredlogs" version))
|
|
(sha256
|
|
(base32
|
|
"1blcann6dyg5dhps9pg12rn0q0rjrlajpmmil0gy0j4cbvnl2il9"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(;Tests require some updated modules
|
|
#:tests? #f))
|
|
(propagated-inputs
|
|
`(("python-capturer" ,python-capturer)))
|
|
(home-page "https://coloredlogs.readthedocs.io")
|
|
(synopsis "Colored stream handler for Python's logging module")
|
|
(description
|
|
"The @code{coloredlogs} package enables colored terminal output for
|
|
Python's logging module. The @code{ColoredFormatter} class inherits from
|
|
@code{logging.Formatter} and uses ANSI escape sequences to render your logging
|
|
messages in color.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-coloredlogs
|
|
(package-with-python2 python-coloredlogs))
|
|
|
|
(define-public python-eventlet
|
|
(package
|
|
(name "python-eventlet")
|
|
(version "0.20.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "eventlet" version))
|
|
(sha256
|
|
(base32
|
|
"0f3q55mq4n021wb7qa53pz3ix6i2py64sap66vsaqm2scjw83m9s"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-greenlet" ,python-greenlet)))
|
|
(arguments
|
|
;; TODO: Requires unpackaged 'enum-compat'.
|
|
'(#:tests? #f))
|
|
(home-page "http://eventlet.net")
|
|
(synopsis "Concurrent networking library for Python")
|
|
(description
|
|
"Eventlet is a concurrent networking library for Python that
|
|
allows you to change how you run your code, not how you write it.
|
|
It uses @code{epoll} or @code{libevent} for highly scalable non-blocking I/O.
|
|
Coroutines ensure that the developer uses a blocking style of programming
|
|
that is similar to threading, but provide the benefits of non-blocking I/O.
|
|
The event dispatch is implicit, which means you can easily use @code{Eventlet}
|
|
from the Python interpreter, or as a small part of a larger application.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-eventlet
|
|
(let ((base (package-with-python2
|
|
(strip-python2-variant python-eventlet))))
|
|
(package (inherit base)
|
|
(propagated-inputs
|
|
`(("python2-enum34" ,python2-enum34)
|
|
,@(package-propagated-inputs base))))))
|
|
|
|
(define-public python-six
|
|
(package
|
|
(name "python-six")
|
|
(version "1.11.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "six" version))
|
|
(sha256
|
|
(base32
|
|
"1scqzwc51c875z23phj48gircqjgnn3af8zy2izjwmnlxrxsgs3h"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'check
|
|
(lambda _
|
|
(invoke "py.test" "-v"))))))
|
|
(native-inputs
|
|
`(("python-py" ,python-py)
|
|
("python-pytest" ,python-pytest-bootstrap)))
|
|
(home-page "https://pypi.python.org/pypi/six/")
|
|
(synopsis "Python 2 and 3 compatibility utilities")
|
|
(description
|
|
"Six is a Python 2 and 3 compatibility library. It provides utility
|
|
functions for smoothing over the differences between the Python versions with
|
|
the goal of writing Python code that is compatible on both Python versions.
|
|
Six supports every Python version since 2.5. It is contained in only one
|
|
Python file, so it can be easily copied into your project.")
|
|
(license license:x11)))
|
|
|
|
(define-public python2-six
|
|
(package-with-python2 python-six))
|
|
|
|
(define-public python-six-bootstrap
|
|
(package
|
|
(inherit python-six)
|
|
(name "python-six-bootstrap")
|
|
(native-inputs `())
|
|
(arguments `(#:tests? #f))))
|
|
|
|
(define-public python2-six-bootstrap
|
|
(package-with-python2 python-six-bootstrap))
|
|
|
|
(define-public python-schedule
|
|
(package
|
|
(name "python-schedule")
|
|
(version "0.4.3")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "schedule" version))
|
|
(sha256
|
|
(base32
|
|
"0vplyjcbfrq50sphlwya749z8p2pcyi2nycw3518i0qpd9a6189i"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-pytest" ,python-pytest)
|
|
("python-mock" ,python-mock)))
|
|
(home-page "https://github.com/dbader/schedule")
|
|
(synopsis "Schedule periodic function calls in Python")
|
|
(description
|
|
"Schedule is an in-process scheduler for periodic jobs that uses the
|
|
builder pattern for configuration. Schedule lets you run Python functions (or
|
|
any other callable) periodically at pre-determined intervals using a simple,
|
|
human-friendly syntax.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-schedule
|
|
(package-with-python2 python-schedule))
|
|
|
|
(define-public python-pandas
|
|
(package
|
|
(name "python-pandas")
|
|
(version "0.23.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pandas" version))
|
|
(sha256
|
|
(base32 "1x54pd7hr3y7qahx6b5bf2wzj54xvl8r3s1h4pl254pnmi3wl92v"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:modules ((guix build utils)
|
|
(guix build python-build-system)
|
|
(ice-9 ftw)
|
|
(srfi srfi-26))
|
|
#:phases (modify-phases %standard-phases
|
|
(replace 'check
|
|
(lambda _
|
|
(let ((build-directory
|
|
(string-append
|
|
(getcwd) "/build/"
|
|
(car (scandir "build"
|
|
(cut string-prefix? "lib." <>))))))
|
|
;; Disable the "strict data files" option which causes
|
|
;; the build to error out if required data files are not
|
|
;; available (as is the case with PyPI archives).
|
|
(substitute* "setup.cfg"
|
|
(("addopts = --strict-data-files") "addopts = "))
|
|
(with-directory-excursion build-directory
|
|
;; Delete tests that require "moto" which is not yet in Guix.
|
|
(for-each delete-file
|
|
'("pandas/tests/io/conftest.py"
|
|
"pandas/tests/io/json/test_compression.py"
|
|
"pandas/tests/io/parser/test_network.py"
|
|
"pandas/tests/io/test_excel.py"
|
|
"pandas/tests/io/test_parquet.py"))
|
|
(invoke "pytest" "-vv" "pandas" "--skip-slow"
|
|
"--skip-network" "-k"
|
|
;; XXX: Due to the deleted tests above.
|
|
"not test_read_s3_jsonl"))))))))
|
|
(propagated-inputs
|
|
`(("python-numpy" ,python-numpy)
|
|
("python-pytz" ,python-pytz)
|
|
("python-dateutil" ,python-dateutil)))
|
|
(native-inputs
|
|
`(("python-cython" ,python-cython)
|
|
("python-beautifulsoup4" ,python-beautifulsoup4)
|
|
("python-lxml" ,python-lxml)
|
|
("python-html5lib" ,python-html5lib)
|
|
("python-nose" ,python-nose)
|
|
("python-pytest" ,python-pytest)))
|
|
(home-page "https://pandas.pydata.org")
|
|
(synopsis "Data structures for data analysis, time series, and statistics")
|
|
(description
|
|
"Pandas is a Python package providing fast, flexible, and expressive data
|
|
structures designed to make working with structured (tabular,
|
|
multidimensional, potentially heterogeneous) and time series data both easy
|
|
and intuitive. It aims to be the fundamental high-level building block for
|
|
doing practical, real world data analysis in Python.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python2-pandas
|
|
(package-with-python2 python-pandas))
|
|
|
|
(define-public python2-mechanize
|
|
(package
|
|
(name "python2-mechanize")
|
|
(version "0.2.5")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://pypi.python.org/packages/source/m/mechanize/mechanize-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0rj7r166i1dyrq0ihm5rijfmvhs8a04im28lv05c0c3v206v4rrf"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:python ,python-2 ; apparently incompatible with Python 3
|
|
#:tests? #f))
|
|
;; test fails with message
|
|
;; AttributeError: 'module' object has no attribute 'test_pullparser'
|
|
;; (python-3.3.2) or
|
|
;; AttributeError: 'module' object has no attribute 'test_urllib2_localnet'
|
|
;; (python-2.7.5).
|
|
;; The source code is from March 2011 and probably not up-to-date
|
|
;; with respect to python unit tests.
|
|
(home-page "http://wwwsearch.sourceforge.net/mechanize/")
|
|
(synopsis
|
|
"Stateful programmatic web browsing in Python")
|
|
(description
|
|
"Mechanize implements stateful programmatic web browsing in Python,
|
|
after Andy Lester’s Perl module WWW::Mechanize.")
|
|
(license (license:non-copyleft
|
|
"file://COPYING"
|
|
"See COPYING in the distribution."))))
|
|
|
|
|
|
(define-public python-simplejson
|
|
(package
|
|
(name "python-simplejson")
|
|
(version "3.14.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "simplejson" version))
|
|
(sha256
|
|
(base32
|
|
"1lkv3xlf7ryzi69zqfdbkvpxdfy1rg1rq2yzcnxgf4km5m6difqy"))))
|
|
(build-system python-build-system)
|
|
(home-page "http://simplejson.readthedocs.org/en/latest/")
|
|
(synopsis
|
|
"Json library for Python")
|
|
(description
|
|
"JSON (JavaScript Object Notation) is a subset of JavaScript
|
|
syntax (ECMA-262 3rd edition) used as a lightweight data interchange
|
|
format.
|
|
|
|
Simplejson exposes an API familiar to users of the standard library marshal
|
|
and pickle modules. It is the externally maintained version of the json
|
|
library contained in Python 2.6, but maintains compatibility with Python 2.5
|
|
and (currently) has significant performance advantages, even without using
|
|
the optional C extension for speedups. Simplejson is also supported on
|
|
Python 3.3+.")
|
|
(license license:x11)))
|
|
|
|
(define-public python2-simplejson
|
|
(package-with-python2 python-simplejson))
|
|
|
|
|
|
(define-public python-pyicu
|
|
(package
|
|
(name "python-pyicu")
|
|
(version "2.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "PyICU" version))
|
|
(sha256
|
|
(base32
|
|
"0wq9y5fi1ighgf5aws9nr87vi1w44p7q1k83rx2y3qj5d2xyhspa"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("icu4c" ,icu4c)))
|
|
(native-inputs
|
|
`(("python-pytest" ,python-pytest)
|
|
("python-six" ,python-six)))
|
|
(home-page "https://github.com/ovalhub/pyicu")
|
|
(synopsis "Python extension wrapping the ICU C++ API")
|
|
(description
|
|
"PyICU is a python extension wrapping the ICU C++ API.")
|
|
(properties `((python2-variant . ,(delay python2-pyicu))))
|
|
(license license:x11)))
|
|
|
|
(define-public python2-pyicu
|
|
(let ((base (package-with-python2
|
|
(strip-python2-variant python-pyicu))))
|
|
(package
|
|
(inherit base)
|
|
(arguments
|
|
`(,@(package-arguments base)
|
|
#:phases
|
|
(modify-phases %standard-phases
|
|
(add-before 'check 'delete-failing-test
|
|
(λ _
|
|
;; XXX: This fails due to Unicode issues unique to Python 2,
|
|
;; it seems: <https://github.com/ovalhub/pyicu/issues/61>.
|
|
(delete-file "test/test_Script.py")
|
|
#t))))))))
|
|
|
|
(define-public python2-dogtail
|
|
;; Python 2 only, as it leads to "TabError: inconsistent use of tabs and
|
|
;; spaces in indentation" with Python 3.
|
|
(package
|
|
(name "python2-dogtail")
|
|
(version "0.9.9")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "dogtail" version))
|
|
(sha256
|
|
(base32
|
|
"0p5wfssvzr9w0bvhllzbbd8fnp4cca2qxcpcsc33dchrmh5n552x"))))
|
|
(build-system python-build-system)
|
|
(arguments `(#:python ,python-2
|
|
#:tests? #f)) ; invalid command "test"
|
|
;; Currently no offical homepage.
|
|
(home-page "https://pypi.python.org/pypi/dogtail/")
|
|
(synopsis "GUI test tool and automation framework written in Python")
|
|
(description
|
|
"Dogtail is a GUI test tool and automation framework written in Python.
|
|
It uses Accessibility (a11y) technologies to communicate with desktop
|
|
applications. dogtail scripts are written in Python and executed like any
|
|
other Python program.")
|
|
(license license:gpl2+)))
|
|
|
|
(define-public python-empy
|
|
(package
|
|
(name "python-empy")
|
|
(version "3.3")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "http://www.alcyone.com/software/empy/empy-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"01g8mmkfnvjdmlhsihwyx56lrg7r5m5d2fg6mnxsvy6g0dnl69f6"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:tests? #f)) ;python2 only
|
|
(home-page "http://www.alcyone.com/software/empy/")
|
|
(synopsis "Templating system for Python")
|
|
(description
|
|
"EmPy is a system for embedding Python expressions and statements in
|
|
template text; it takes an EmPy source file, processes it, and produces
|
|
output. This is accomplished via expansions, which are special signals to the
|
|
EmPy system and are set off by a special prefix (by default the at sign, @@).
|
|
EmPy can expand arbitrary Python expressions and statements in this way, as
|
|
well as a variety of special forms. Textual data not explicitly delimited in
|
|
this way is sent unaffected to the output, allowing Python to be used in
|
|
effect as a markup language. Also supported are callbacks via hooks,
|
|
recording and playback via diversions, and dynamic, chainable filters. The
|
|
system is highly configurable via command line options and embedded
|
|
commands.")
|
|
(license license:lgpl2.1+)))
|
|
|
|
(define-public python2-empy
|
|
(package-with-python2 python-empy))
|
|
|
|
(define-public python2-element-tree
|
|
(package
|
|
(name "python2-element-tree")
|
|
(version "1.2.6")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"http://effbot.org/media/downloads/elementtree-"
|
|
version "-20050316.tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"016bphqnlg0l4vslahhw4r0aanw95bpypy65r1i1acyb2wj5z7dj"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:python ,python-2 ; seems to be part of Python 3
|
|
#:tests? #f)) ; no 'test' sub-command
|
|
(synopsis "Toolkit for XML processing in Python")
|
|
(description
|
|
"ElementTree is a Python library supporting lightweight XML processing.")
|
|
(home-page "http://effbot.org/zone/element-index.htm")
|
|
(license (license:x11-style
|
|
"http://docs.python.org/2/license.html"
|
|
"Like \"CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2\"."))))
|
|
|
|
(define-public python2-pybugz
|
|
(package
|
|
(name "python2-pybugz")
|
|
(version "0.6.11")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"http://bits.liquidx.net/projects/pybugz/pybugz-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"17ni00p08gp5lkxlrrcnvi3x09fmajnlbz4da03qcgl9q21ym4jd"))
|
|
(patches (search-patches "pybugz-stty.patch"
|
|
"pybugz-encode-error.patch"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:python ,python-2 ; SyntaxError with Python 3
|
|
#:tests? #f)) ; no 'test' sub-command
|
|
(propagated-inputs
|
|
`(("element-tree" ,python2-element-tree)))
|
|
(synopsis "Python and command-line interface to Bugzilla")
|
|
(description
|
|
"PyBugz is a Python library and command-line tool to query the Bugzilla
|
|
bug tracking system. It is meant as an aid to speed up interaction with the
|
|
bug tracker.")
|
|
(home-page "http://www.liquidx.net/pybugz/")
|
|
(license license:gpl2)))
|
|
|
|
(define-public python2-enum
|
|
(package
|
|
(name "python2-enum")
|
|
(version "0.4.6")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "enum" version))
|
|
(sha256
|
|
(base32
|
|
"13lk3yrwj42vl30kw3c194f739nrfrdg64s6i0v2p636n4k8brsl"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:python ,python-2))
|
|
(home-page "http://pypi.python.org/pypi/enum/")
|
|
(synopsis "Robust enumerated type support in Python")
|
|
(description
|
|
"This provides a module for robust enumerations in Python. It has
|
|
been superseded by the Python standard library and is provided only for
|
|
compatibility.")
|
|
;; Choice of either license.
|
|
(license (list license:gpl3+ license:psfl))))
|
|
|
|
(define-public python-enum34
|
|
(package
|
|
(name "python-enum34")
|
|
(version "1.1.6")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "enum34" version))
|
|
(sha256
|
|
(base32
|
|
"1cgm5ng2gcfrkrm3hc22brl6chdmv67b9zvva9sfs7gn7dwc9n4a"))))
|
|
(build-system python-build-system)
|
|
(home-page "https://pypi.python.org/pypi/enum34")
|
|
(synopsis "Backported Python 3.4 Enum")
|
|
(description
|
|
"Enum34 is the new Python stdlib enum module available in Python 3.4
|
|
backported for previous versions of Python from 2.4 to 3.3.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python2-enum34
|
|
(package-with-python2 python-enum34))
|
|
|
|
(define-public python-parse-type
|
|
(package
|
|
(name "python-parse-type")
|
|
(version "0.4.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "parse_type" version))
|
|
(sha256
|
|
(base32
|
|
"0g3b6gsdwnm8dpkh2vn34q6dzxm9gl908ggyzcv31n9xbp3vv5pm"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-six" ,python-six)
|
|
("python-parse" ,python-parse)))
|
|
(native-inputs
|
|
`(("python-pytest" ,python-pytest)
|
|
("python-pytest-runner" ,python-pytest-runner)))
|
|
(home-page "https://github.com/jenisys/parse_type")
|
|
(synopsis "Extended parse module")
|
|
(description
|
|
"Parse_type extends the python parse module.")
|
|
(properties
|
|
`((python2-variant . ,(delay python2-parse-type))))
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python2-parse-type
|
|
(let ((base (package-with-python2
|
|
(strip-python2-variant python-parse-type))))
|
|
(package (inherit base)
|
|
(propagated-inputs
|
|
`(("python2-enum34" ,python2-enum34)
|
|
,@(package-propagated-inputs base))))))
|
|
|
|
(define-public python-parse
|
|
(package
|
|
(name "python-parse")
|
|
(version "1.8.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "parse" version))
|
|
(sha256
|
|
(base32
|
|
"0f8997xr8nq2nq35iiviq8ningd1zvy59fg503xfpbi2dwhgdkf3"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'check
|
|
(lambda _ (invoke "python" "test_parse.py"))))))
|
|
(home-page "https://github.com/r1chardj0n3s/parse")
|
|
(synopsis "Parse strings")
|
|
(description
|
|
"Parse strings using a specification based on the Python @code{format()}
|
|
syntax.")
|
|
(license license:x11)))
|
|
|
|
(define-public python-polib
|
|
(package
|
|
(name "python-polib")
|
|
(version "1.0.8")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "polib" version))
|
|
(sha256
|
|
(base32
|
|
"1pq2hbm3m2q0cjdszk8mc4qa1vl3wcblh5nfyirlfnzb2pcy7zss"))))
|
|
(build-system python-build-system)
|
|
(home-page "https://bitbucket.org/izi/polib/wiki/Home")
|
|
(synopsis "Manipulate, create and modify gettext files")
|
|
(description "Polib can manipulate any gettext format (po, pot and mo)
|
|
files. It can be used to create po files from scratch or to modify
|
|
existing ones.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-polib
|
|
(let ((base (package-with-python2 (strip-python2-variant python-polib))))
|
|
(package
|
|
(inherit base)
|
|
(arguments `(,@(package-arguments base)
|
|
;; Tests don't work with python2.
|
|
#:tests? #f)))))
|
|
|
|
(define-public scons
|
|
(package
|
|
(name "scons")
|
|
(version "3.0.1")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://sourceforge/scons/scons/" version
|
|
"/scons-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0wzid419mlwqw9llrg8gsx4nkzhqy16m4m40r0xnh6cwscw5wir4"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:use-setuptools? #f ; still relies on distutils
|
|
#:tests? #f)) ; no 'python setup.py test' command
|
|
(home-page "http://scons.org/")
|
|
(synopsis "Software construction tool written in Python")
|
|
(description
|
|
"SCons is a software construction tool. Think of SCons as an improved,
|
|
cross-platform substitute for the classic Make utility with integrated
|
|
functionality similar to autoconf/automake and compiler caches such as ccache.
|
|
In short, SCons is an easier, more reliable and faster way to build
|
|
software.")
|
|
(license license:x11)))
|
|
|
|
(define-public scons-python2
|
|
(package
|
|
(inherit (package-with-python2 scons))
|
|
(name "scons-python2")))
|
|
|
|
(define-public python-extras
|
|
(package
|
|
(name "python-extras")
|
|
(version "1.0.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "extras" version))
|
|
(sha256
|
|
(base32
|
|
"0khvm08rcwm62wc47j8niyl6h13f8w51c8669ifivjdr23g3cbhk"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
;; FIXME: Circular dependency on testtools.
|
|
'(#:tests? #f))
|
|
(home-page "https://github.com/testing-cabal/extras")
|
|
(synopsis "Useful extensions to the Python standard library")
|
|
(description
|
|
"Extras is a set of extensions to the Python standard library.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-extras
|
|
(package-with-python2 python-extras))
|
|
|
|
(define-public python-mimeparse
|
|
(package
|
|
(name "python-mimeparse")
|
|
(version "1.6.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/p/python-mimeparse/python-mimeparse-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0y2g6cl660bpz11srgqyvvm8gmywpgyx8g0xfvbiyr0af0yv1r3n"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'check
|
|
(lambda _
|
|
(invoke "./mimeparse_test.py"))))))
|
|
(home-page
|
|
"https://github.com/dbtsai/python-mimeparse")
|
|
(synopsis "Python library for parsing MIME types")
|
|
(description
|
|
"Mimeparse provides basic functions for parsing MIME type names and
|
|
matching them against a list of media-ranges.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-mimeparse
|
|
(package-with-python2 python-mimeparse))
|
|
|
|
(define-public python-miniboa
|
|
(package
|
|
(name "python-miniboa")
|
|
(version "1.0.7")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "miniboa" version))
|
|
(sha256
|
|
(base32
|
|
"09jh3pn4rh7kh7jayanf8jzy6gp03791b5a193w6148cf3i6k9m3"))))
|
|
(build-system python-build-system)
|
|
(home-page "https://github.com/shmup/miniboa")
|
|
(synopsis "Simple, single-threaded Telnet server")
|
|
(description
|
|
"Miniboa is a simple, asynchronous, single-threaded, poll-based Telnet
|
|
server.")
|
|
(license license:asl2.0)))
|
|
|
|
(define-public python2-miniboa
|
|
(package-with-python2 python-miniboa))
|
|
|
|
(define-public python-pafy
|
|
(package
|
|
(name "python-pafy")
|
|
(version "0.5.3.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pafy" version))
|
|
(sha256
|
|
(base32
|
|
"1a7dxi95m1043rxx1r5x3ngb66nwlq6aqcasyqqjzmmmjps4zrim"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:tests? #f)) ; Currently pafy can not find itself in the tests
|
|
(propagated-inputs
|
|
;; Youtube-dl is a python package which is imported in the file
|
|
;; "backend_youtube_dl.py", therefore it needs to be propagated.
|
|
`(("youtube-dl" ,youtube-dl)))
|
|
(home-page "https://np1.github.io/pafy/")
|
|
(synopsis "Retrieve YouTube content and metadata")
|
|
(description
|
|
"@code{pafy} is a python library to retrieve YouTube content and metadata.")
|
|
(license license:lgpl3+)))
|
|
|
|
(define-public python2-funcsigs
|
|
(package
|
|
(name "python2-funcsigs")
|
|
(version "1.0.2")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "funcsigs" version))
|
|
(sha256
|
|
(base32
|
|
"0l4g5818ffyfmfs1a924811azhjj8ax9xd1cffr1mzd3ycn0zfx7"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:python ,python-2))
|
|
(native-inputs
|
|
`(("python2-unittest2" ,python2-unittest2)))
|
|
(home-page "http://funcsigs.readthedocs.org")
|
|
(synopsis "Python function signatures from PEP362")
|
|
(description
|
|
"Backport of @code{funcsigs} which was introduced in Python 3.3.")
|
|
(license license:asl2.0)))
|
|
|
|
(define-public python2-funcsigs-bootstrap
|
|
(package
|
|
(inherit python2-funcsigs)
|
|
(name "python2-funcsigs-bootstrap")
|
|
(native-inputs `())
|
|
(arguments
|
|
`(#:tests? #f
|
|
,@(package-arguments python2-funcsigs)))))
|
|
|
|
(define-public python-py
|
|
(package
|
|
(name "python-py")
|
|
(version "1.5.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "py" version))
|
|
(sha256
|
|
(base32
|
|
"1xxvwfn82457djf55f5n2c94699rfqnk43br8fif2r2q8gvrmm9z"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
;; FIXME: "ImportError: 'test' module incorrectly imported from
|
|
;; '/gnu/store/...-python-pytest-mimimal-3.0.5/lib/python3.5/site-packages'.
|
|
;; Expected '/tmp/guix-build-python-py-1.4.31.drv-0/py-1.4.31/py'.
|
|
;; Is this module globally installed?"
|
|
'(#:tests? #f))
|
|
(native-inputs
|
|
`(("python-setuptools-scm" ,python-setuptools-scm)))
|
|
(home-page "https://github.com/pytest-dev/py")
|
|
(synopsis "Python library for parsing, I/O, instrospection, and logging")
|
|
(description
|
|
"Py is a Python library for file name parsing, .ini file parsing, I/O,
|
|
code introspection, and logging.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-py
|
|
(package-with-python2 python-py))
|
|
|
|
;; Recent versions of python-fixtures and python-testrepository need
|
|
;; python-pbr for packaging, which itself needs these two packages for
|
|
;; testing.
|
|
;; To fix this circular dependency, we use a build of python-pbr, based on the
|
|
;; same source, just without any test dependencies and with tests disabled.
|
|
;; python-pbr-minmal is then used to package python-fixtures and
|
|
;; python-testrepository.
|
|
;; Strictly speaking we currently could remove the test-requirements from the
|
|
;; normal python-pbr package (and save this package) since test are disabled
|
|
;; there anyway. But this may change in future.
|
|
(define-public python-pbr-minimal
|
|
(package
|
|
(name "python-pbr-minimal")
|
|
(version "3.0.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pbr" version))
|
|
(sha256
|
|
(base32
|
|
"14fs5acnalnb3h62s7q7av239j541fk0n0z0lawh4h09b1s93s6p"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:tests? #f))
|
|
(home-page "http://docs.openstack.org/developer/pbr/")
|
|
(synopsis "Minimal build of python-pbr used for bootstrapping")
|
|
(description
|
|
"Used only for bootstrapping python2-pbr, you should not need this.")
|
|
(license license:asl2.0)))
|
|
|
|
(define-public python2-pbr-minimal
|
|
(package-with-python2 python-pbr-minimal))
|
|
|
|
(define-public python-pbr
|
|
(package
|
|
(inherit python-pbr-minimal)
|
|
(name "python-pbr")
|
|
(arguments
|
|
`(#:tests? #f)) ;; Most tests seem to use the Internet.
|
|
(propagated-inputs
|
|
`(("git" ,git))) ;; pbr actually uses the "git" binary.
|
|
(native-inputs
|
|
`(("python-fixtures" ,python-fixtures-bootstrap)
|
|
;; discover, coverage, hacking, subunit
|
|
("python-mock" ,python-mock)
|
|
("python-six" ,python-six)
|
|
("python-sphinx" ,python-sphinx)
|
|
("python-testrepository" ,python-testrepository-bootstrap)
|
|
("python-testresources" ,python-testresources-bootstrap)
|
|
("python-testscenarios" ,python-testscenarios-bootstrap)
|
|
("python-testtools" ,python-testtools-bootstrap)
|
|
("python-virtualenv" ,python-virtualenv)))
|
|
(synopsis "Enhance the default behavior of Python’s setuptools")
|
|
(description
|
|
"Python Build Reasonableness (PBR) is a library that injects some useful
|
|
and sensible default behaviors into your setuptools run. It will set
|
|
versions, process requirements files and generate AUTHORS and ChangeLog file
|
|
from git information.
|
|
")))
|
|
|
|
(define-public python2-pbr
|
|
(package-with-python2 python-pbr))
|
|
|
|
(define-public python-exif-read
|
|
(package
|
|
(name "python-exif-read")
|
|
(version "2.1.2")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "ExifRead" version))
|
|
(sha256
|
|
(base32
|
|
"1b90jf6m9vxh9nanhpyvqdq7hmfx5iggw1l8kq10jrs6xgr49qkr"))))
|
|
(build-system python-build-system)
|
|
(arguments `(#:tests? #f)) ; no tests
|
|
(home-page "https://github.com/ianare/exif-py")
|
|
(synopsis "Python library to extract EXIF data from image files")
|
|
(description
|
|
"ExifRead is a Python library to extract EXIF data from tiff and jpeg
|
|
files.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python2-exif-read
|
|
(package-with-python2 python-exif-read))
|
|
|
|
(define-public python-pyld
|
|
(package
|
|
(name "python-pyld")
|
|
(version "1.0.3")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "PyLD" version))
|
|
(sha256
|
|
(base32
|
|
"12i2g6xdj30k7xxcibg3sc5y76snwq8l6n8fy9lyi577kgy0h2pm"))))
|
|
(build-system python-build-system)
|
|
(home-page "https://github.com/digitalbazaar/pyld")
|
|
(synopsis "Python implementation of the JSON-LD specification")
|
|
(description
|
|
"PyLD is an implementation of the JSON-LD specification.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python2-pyld
|
|
(package-with-python2 python-pyld))
|
|
|
|
(define-public python-click
|
|
(package
|
|
(name "python-click")
|
|
(version "6.7")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "click" version))
|
|
(sha256
|
|
(base32
|
|
"02qkfpykbq35id8glfgwc38yc430427yd05z1wc5cnld8zgicmgi"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(;; The tests are fragile, depending on a specific version of pytest:
|
|
;; <https://github.com/pallets/click/issues/823>
|
|
#:tests? #f
|
|
#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'unpack 'fix-paths
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
(let ((glibc (assoc-ref inputs ,(if (%current-target-system)
|
|
"cross-libc" "libc"))))
|
|
(substitute* "click/_unicodefun.py"
|
|
(("'locale'")
|
|
(string-append "'" glibc "/bin/locale'"))))
|
|
#t)))))
|
|
(native-inputs
|
|
`(("python-pytest" ,python-pytest)))
|
|
(home-page "http://click.pocoo.org")
|
|
(synopsis "Command line library for Python")
|
|
(description
|
|
"Click is a Python package for creating command line interfaces in a
|
|
composable way with as little code as necessary. Its name stands for
|
|
\"Command Line Interface Creation Kit\". It's highly configurable but comes
|
|
with sensible defaults out of the box.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python2-click
|
|
(package-with-python2 python-click))
|
|
|
|
(define-public python-wheel
|
|
(package
|
|
(name "python-wheel")
|
|
(version "0.30.0a0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "wheel" version))
|
|
(sha256
|
|
(base32
|
|
"1nm6mn8isny0hr86rhbfrpfj867c0phf001xgsd69xfp9ady1wwq"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-jsonschema" ,python-jsonschema)
|
|
("python-pytest-cov" ,python-pytest-cov)))
|
|
(home-page "https://bitbucket.org/pypa/wheel/")
|
|
(synopsis "Format for built Python packages")
|
|
(description
|
|
"A wheel is a ZIP-format archive with a specially formatted filename and
|
|
the @code{.whl} extension. It is designed to contain all the files for a PEP
|
|
376 compatible install in a way that is very close to the on-disk format. Many
|
|
packages will be properly installed with only the @code{Unpack} step and the
|
|
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))))))
|
|
|
|
(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))))))
|
|
|
|
(define-public python-vcversioner
|
|
(package
|
|
(name "python-vcversioner")
|
|
(version "2.16.0.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "vcversioner" version))
|
|
(sha256
|
|
(base32
|
|
"16z10sm78jd7ca3jbkgc3q5i8a8q7y1h21q1li21yy3rlhbhrrns"))))
|
|
(build-system python-build-system)
|
|
(synopsis "Python library for version number discovery")
|
|
(description "Vcversioner is a Python library that inspects tagging
|
|
information in a variety of version control systems in order to discover
|
|
version numbers.")
|
|
(home-page "https://github.com/habnabit/vcversioner")
|
|
(license license:isc)))
|
|
|
|
(define-public python2-vcversioner
|
|
(package-with-python2 python-vcversioner))
|
|
|
|
(define-public python-jsonschema
|
|
(package
|
|
(name "python-jsonschema")
|
|
(version "2.6.0")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri
|
|
(string-append
|
|
"https://pypi.python.org/packages/source/j/jsonschema/jsonschema-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
'(#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'check (lambda _ (invoke "nosetests"))))))
|
|
(native-inputs
|
|
`(("python-nose" ,python-nose)
|
|
("python-vcversioner" ,python-vcversioner)))
|
|
(home-page "https://github.com/Julian/jsonschema")
|
|
(synopsis "Implementation of JSON Schema for Python")
|
|
(description
|
|
"Jsonschema is an implementation of JSON Schema for Python.")
|
|
(license license:expat)
|
|
(properties `((python2-variant . ,(delay python2-jsonschema))))))
|
|
|
|
(define-public python2-jsonschema
|
|
(let ((jsonschema (package-with-python2
|
|
(strip-python2-variant python-jsonschema))))
|
|
(package (inherit jsonschema)
|
|
(native-inputs
|
|
`(("python2-mock" ,python2-mock)
|
|
,@(package-native-inputs jsonschema)))
|
|
(propagated-inputs
|
|
`(("python2-functools32" ,python2-functools32))))))
|
|
|
|
(define-public python-schema
|
|
(package
|
|
(name "python-schema")
|
|
(version "0.6.6")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "schema" version))
|
|
(sha256
|
|
(base32
|
|
"1lw28j9w9vxyigg7vkfkvi6ic9lgjkdnfvnxdr7pklslqvzmk2vm"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-pytest" ,python-pytest)))
|
|
(home-page "https://github.com/keleshev/schema")
|
|
(synopsis "Simple data validation library")
|
|
(description
|
|
"@code{python-schema} is a library for validating Python data
|
|
structures, such as those obtained from config-files, forms, external
|
|
services or command-line parsing, converted from JSON/YAML (or
|
|
something else) to Python data-types.")
|
|
(license license:psfl)))
|
|
|
|
(define-public python2-schema
|
|
(package-with-python2 python-schema))
|
|
|
|
(define-public python-schema-0.5
|
|
(package (inherit python-schema)
|
|
(version "0.5.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "schema" version))
|
|
(sha256
|
|
(base32
|
|
"10zqvpaky51kgb8nd42bk7jwl8cn2zvayxjpdc1wwmpybj92x67s"))))))
|
|
|
|
(define-public python2-schema-0.5
|
|
(package-with-python2 python-schema-0.5))
|
|
|
|
(define-public python-kitchen
|
|
(package
|
|
(name "python-kitchen")
|
|
(version "1.2.5")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "kitchen" version))
|
|
(sha256
|
|
(base32
|
|
"1zakh6l0yjvwic9p0nkvmbidpnkygkxbigh2skmb5gccyrhbp7xg"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-chardet" ,python-chardet)))
|
|
(home-page "https://github.com/fedora-infra/kitchen")
|
|
(synopsis "Python API for snippets")
|
|
(description "@code{kitchen} module provides a python API for all sorts of
|
|
little useful snippets of code that everybody ends up writing for their projects
|
|
but never seem big enough to build an independent release. Use kitchen and stop
|
|
cutting and pasting that code over and over.")
|
|
(license (list license:lgpl2.1+
|
|
;; subprocess.py, test_subprocess.py,
|
|
;; kitchen/pycompat25/defaultdict.py:
|
|
license:psfl))))
|
|
|
|
(define-public python2-kitchen
|
|
(package-with-python2 python-kitchen))
|
|
|
|
(define-public python-unidecode
|
|
(package
|
|
(name "python-unidecode")
|
|
(version "1.0.23")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "Unidecode" version))
|
|
(sha256
|
|
(base32
|
|
"1ysjbr3nqfqj97h8zyj3v9pya413vkv7a1mzml80w37xx15kb1cb"))))
|
|
(build-system python-build-system)
|
|
(home-page "https://pypi.python.org/pypi/Unidecode")
|
|
(synopsis "ASCII transliterations of Unicode text")
|
|
(description
|
|
"Unidecode provides ASCII transliterations of Unicode text. Unidecode is
|
|
useful when integrating with legacy code that doesn't support Unicode, or for
|
|
ease of entry of non-Roman names on a US keyboard, or when constructing ASCII
|
|
machine identifiers from human-readable Unicode strings that should still be
|
|
somewhat intelligible.")
|
|
(license license:gpl2+)))
|
|
|
|
(define-public python2-unidecode
|
|
(package-with-python2 python-unidecode))
|
|
|
|
(define-public python-pyjwt
|
|
(package
|
|
(name "python-pyjwt")
|
|
(version "1.5.3")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "PyJWT" version))
|
|
(sha256
|
|
(base32
|
|
"1rxsg14i33vm2i6lz0my628108c81k43v10n4h3p0gx62xdyf2sh"))
|
|
(modules '((guix build utils)))
|
|
(snippet
|
|
'(begin
|
|
(for-each delete-file-recursively
|
|
(find-files "." "\\.pyc$"))
|
|
#t))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-pytest" ,python-pytest)
|
|
("python-pytest-cov" ,python-pytest-cov)
|
|
("python-pytest-runner" ,python-pytest-runner)))
|
|
(home-page "https://github.com/progrium/pyjwt")
|
|
(synopsis "JSON Web Token implementation in Python")
|
|
(description
|
|
"PyJWT is a JSON Web Token implementation written in Python.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-pyjwt
|
|
(package-with-python2 python-pyjwt))
|
|
|
|
(define-public python-pykka
|
|
(package
|
|
(name "python-pykka")
|
|
(version "1.2.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "Pykka" version))
|
|
(sha256
|
|
(base32
|
|
"049w3r0mdnnw7xv19jiq7rvls9k7xs73x05b4qs5d6z4vvmgyiz8"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-mock" ,python-mock)
|
|
("python-nose" ,python-nose)
|
|
("python-gevent" ,python-gevent)
|
|
("python-eventlet" ,python-eventlet)))
|
|
(home-page "https://www.pykka.org/")
|
|
(synopsis "Pykka is a Python implementation of the actor model")
|
|
(description
|
|
"Pykka is a Python implementation of the actor model.
|
|
The actor model introduces some simple rules to control the sharing
|
|
of state and cooperation between execution units, which makes it
|
|
easier to build concurrent applications.")
|
|
(license license:asl2.0)))
|
|
|
|
(define-public python2-pykka
|
|
(package-with-python2 python-pykka))
|
|
|
|
(define-public python-pympler
|
|
(package
|
|
(name "python-pympler")
|
|
(home-page "https://pythonhosted.org/Pympler/")
|
|
(version "0.5")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "Pympler" version))
|
|
(sha256
|
|
(base32
|
|
"03qwsbilqgvnbl3a1jmpgixbr2kq6m3fvdlzyr3wdp01bwlc85kx"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:phases (modify-phases %standard-phases
|
|
(delete 'check)
|
|
(add-after 'install 'check
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
(add-installed-pythonpath inputs outputs)
|
|
(invoke "python" "setup.py" "test"))))))
|
|
(synopsis "Measure, monitor and analyze memory behavior")
|
|
(description
|
|
"Pympler is a development tool to measure, monitor and analyze
|
|
the memory behavior of Python objects in a running Python application.
|
|
|
|
By pympling a Python application, detailed insight in the size and the
|
|
lifetime of Python objects can be obtained. Undesirable or unexpected
|
|
runtime behavior like memory bloat and other @samp{pymples} can easily
|
|
be identified.
|
|
|
|
A web profiling frontend exposes process statistics, garbage
|
|
visualisation and class tracker statistics.")
|
|
(license license:asl2.0)))
|
|
|
|
(define-public python2-pympler
|
|
(package-with-python2 python-pympler))
|
|
|
|
(define-public python-itsdangerous
|
|
(package
|
|
(name "python-itsdangerous")
|
|
(version "0.24")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/i/itsdangerous/itsdangerous-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"06856q6x675ly542ig0plbqcyab6ksfzijlyf1hzhgg3sgwgrcyb"))))
|
|
(build-system python-build-system)
|
|
(home-page "https://github.com/mitsuhiko/itsdangerous")
|
|
(synopsis "Python library for passing data to/from untrusted environments")
|
|
(description
|
|
"Itsdangerous provides various helpers to pass trusted data to untrusted
|
|
environments and back.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python2-itsdangerous
|
|
(package-with-python2 python-itsdangerous))
|
|
|
|
(define-public python-pyyaml
|
|
(package
|
|
(name "python-pyyaml")
|
|
(version "3.13")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "PyYAML" version))
|
|
(sha256
|
|
(base32
|
|
"1gx603g484z46cb74j9rzr6sjlh2vndxayicvlyhxdz98lhhkwry"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("libyaml" ,libyaml)))
|
|
(home-page "http://pyyaml.org/wiki/PyYAML")
|
|
(synopsis "YAML parser and emitter for Python")
|
|
(description
|
|
"PyYAML is a YAML parser and emitter for Python. PyYAML features a
|
|
complete YAML 1.1 parser, Unicode support, pickle support, capable extension
|
|
API, and sensible error messages. PyYAML supports standard YAML tags and
|
|
provides Python-specific tags that allow to represent an arbitrary Python
|
|
object.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-pyyaml
|
|
(package-with-python2 python-pyyaml))
|
|
|
|
(define-public python-vine
|
|
(package
|
|
(name "python-vine")
|
|
(version "1.1.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "vine" version))
|
|
(sha256
|
|
(base32
|
|
"0wkskb2hb494v9gixqnf4bl972p4ibcmxdykzpwjlfa5picns4aj"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-pytest" ,python-pytest)
|
|
("python-case" ,python-case)))
|
|
(home-page "https://github.com/celery/vine")
|
|
(synopsis "Promises for Python")
|
|
(description
|
|
"@code{vine} provides a special implementation of promises in that it can
|
|
be used both for \"promise of a value\" and lazy evaluation. The biggest
|
|
upside for this is that everything in a promise can also be a promise,
|
|
e.g. filters, callbacks and errbacks can all be promises.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python-virtualenv
|
|
(package
|
|
(name "python-virtualenv")
|
|
(version "16.1.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "virtualenv" version))
|
|
(sha256
|
|
(base32
|
|
"0242cg3hdq3qdvx5flyrki8lpwlgwf5k45c21ks5049fv7ygm6gq"))))
|
|
(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)))
|
|
(home-page "https://virtualenv.pypa.io/")
|
|
(synopsis "Virtual Python environment builder")
|
|
(description
|
|
"Virtualenv is a tool to create isolated Python environments.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-virtualenv
|
|
(package-with-python2 python-virtualenv))
|
|
|
|
(define-public python-markupsafe
|
|
(package
|
|
(name "python-markupsafe")
|
|
(version "1.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0rdn1s8x9ni7ss8rfiacj7x1085lx8mh2zdwqslnw8xc3l4nkgm6"))))
|
|
(build-system python-build-system)
|
|
(home-page "https://github.com/mitsuhiko/markupsafe")
|
|
(synopsis "XML/HTML/XHTML markup safe string implementation for Python")
|
|
(description
|
|
"Markupsafe provides an XML/HTML/XHTML markup safe string implementation
|
|
for Python.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python2-markupsafe
|
|
(package-with-python2 python-markupsafe))
|
|
|
|
(define-public python-jinja2
|
|
(package
|
|
(name "python-jinja2")
|
|
(version "2.10")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "Jinja2" version))
|
|
(sha256
|
|
(base32
|
|
"190l36hfw3wb2n3n68yacjabxyb1pnxwn7vjx96cmjj002xy2jzq"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-markupsafe" ,python-markupsafe)))
|
|
(home-page "http://jinja.pocoo.org/")
|
|
(synopsis "Python template engine")
|
|
(description
|
|
"Jinja2 is a small but fast and easy to use stand-alone template engine
|
|
written in pure Python.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python2-jinja2
|
|
(package-with-python2 python-jinja2))
|
|
|
|
(define-public python-pystache
|
|
(package
|
|
(name "python-pystache")
|
|
(version "0.5.4")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pystache" version))
|
|
(sha256
|
|
(base32
|
|
"0nmqsfmiw4arjxqkmf9z66ml950pcdjk6aq4gin4sywmzdjw5fzp"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
'(#:tests? #f)) ; FIXME: Python 3 tests are failing.
|
|
(home-page "http://defunkt.io/pystache/")
|
|
(synopsis "Python logic-less template engine")
|
|
(description
|
|
"Pystache is a Python implementation of the framework agnostic,
|
|
logic-free templating system Mustache.")
|
|
(license license:expat)
|
|
(properties `((python2-variant . ,(delay python2-pystache))))))
|
|
|
|
(define-public python2-pystache
|
|
(package (inherit (package-with-python2
|
|
(strip-python2-variant python-pystache)))
|
|
(arguments
|
|
`(#:python ,python-2
|
|
#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'check
|
|
(lambda _
|
|
(invoke "python" "test_pystache.py"))))))))
|
|
|
|
(define-public python-joblib
|
|
(package
|
|
(name "python-joblib")
|
|
(version "0.13.0")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "joblib" version))
|
|
(sha256
|
|
(base32
|
|
"0612nazad8dxmn3xghfrmjax6456l4xy6hn9cngs7vydi14ds7v5"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'check
|
|
(lambda _ (invoke "pytest" "-v" "joblib"))))))
|
|
(native-inputs
|
|
`(("python-pytest" ,python-pytest)))
|
|
(home-page "https://joblib.readthedocs.io/")
|
|
(synopsis "Using Python functions as pipeline jobs")
|
|
(description
|
|
"Joblib is a set of tools to provide lightweight pipelining in Python.
|
|
In particular, joblib offers: transparent disk-caching of the output values
|
|
and lazy re-evaluation (memoize pattern), easy simple parallel computing
|
|
logging and tracing of the execution.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python2-joblib
|
|
(package-with-python2 python-joblib))
|
|
|
|
(define-public python-docutils
|
|
(package
|
|
(name "python-docutils")
|
|
(version "0.14")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "docutils" version))
|
|
(sha256
|
|
(base32
|
|
"0x22fs3pdmr42kvz6c654756wja305qv6cx1zbhwlagvxgr4xrji"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
'(#:tests? #f)) ; no setup.py test command
|
|
(home-page "http://docutils.sourceforge.net/")
|
|
(synopsis "Python Documentation Utilities")
|
|
(description
|
|
"Docutils is a modular system for processing documentation into useful
|
|
formats, such as HTML, XML, and LaTeX. For input Docutils supports
|
|
reStructuredText.")
|
|
;; Most of the source code is public domain, but some source files are
|
|
;; licensed under the PFSL, BSD 2-clause, and GPLv3+ licenses.
|
|
(license (list license:public-domain license:psfl license:bsd-2 license:gpl3+))))
|
|
|
|
(define-public python2-docutils
|
|
(package-with-python2 python-docutils))
|
|
|
|
(define-public python-pygments
|
|
(package
|
|
(name "python-pygments")
|
|
(version "2.2.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "Pygments" version))
|
|
(sha256
|
|
(base32
|
|
"1k78qdvir1yb1c634nkv6rbga8wv4289xarghmsbbvzhvr311bnv"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
;; FIXME: Tests require sphinx, which depends on this.
|
|
'(#:tests? #f))
|
|
(home-page "http://pygments.org/")
|
|
(synopsis "Syntax highlighting")
|
|
(description
|
|
"Pygments is a syntax highlighting package written in Python.")
|
|
(license license:bsd-2)))
|
|
|
|
(define-public python2-pygments
|
|
(package-with-python2 python-pygments))
|
|
|
|
(define-public python-sphinxcontrib-websupport
|
|
(package
|
|
(name "python-sphinxcontrib-websupport")
|
|
(version "1.1.0")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "sphinxcontrib-websupport" version))
|
|
(sha256
|
|
(base32
|
|
"1ff3ix76xi1y6m99qxhaq5161ix9swwzydilvdya07mgbcvpzr4x"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
;; FIXME: Tests depend on Sphinx, which depends on this.
|
|
`(#:tests? #f))
|
|
(home-page "http://sphinx-doc.org/")
|
|
(synopsis "Sphinx API for web applications")
|
|
(description "This package provides a Python API to easily integrate
|
|
Sphinx documentation into your web application. It provides tools to
|
|
integrate Sphinx documents in web templates and to handle searches.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python2-sphinxcontrib-websupport
|
|
(package-with-python2 python-sphinxcontrib-websupport))
|
|
|
|
(define-public python-sphinx
|
|
(package
|
|
(name "python-sphinx")
|
|
(version "1.7.7")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "Sphinx" version))
|
|
(sha256
|
|
(base32
|
|
"0pkkbfj7cl157q550gcs45am5y78ps0h7q6455d64s1zmw01jlvi"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'check
|
|
(lambda _
|
|
;; Requires Internet access.
|
|
(delete-file "tests/test_build_linkcheck.py")
|
|
(substitute* "tests/test_build_latex.py"
|
|
(("@pytest.mark.sphinx\\('latex', testroot='images'\\)")
|
|
"@pytest.mark.skip()"))
|
|
(when (which "python")
|
|
;; XXX: These tests are broken when using Python2:
|
|
;; <https://github.com/sphinx-doc/sphinx/issues/4710>.
|
|
(delete-file "tests/test_api_translator.py")
|
|
(delete-file "tests/test_setup_command.py"))
|
|
(invoke "make" "test"))))))
|
|
(propagated-inputs
|
|
`(("python-imagesize" ,python-imagesize)
|
|
("python-sphinx-alabaster-theme"
|
|
,python-sphinx-alabaster-theme)
|
|
("python-babel" ,python-babel)
|
|
("python-snowballstemmer" ,python-snowballstemmer)
|
|
("python-docutils" ,python-docutils)
|
|
("python-jinja2" ,python-jinja2)
|
|
("python-packaging" ,python-packaging)
|
|
("python-pygments" ,python-pygments)
|
|
("python-requests" ,python-requests)
|
|
("python-six" ,python-six)
|
|
("python-sphinxcontrib-websupport" ,python-sphinxcontrib-websupport)))
|
|
(native-inputs
|
|
`(("graphviz" ,graphviz)
|
|
("imagemagick" ,imagemagick) ;for "convert"
|
|
("python-html5lib" ,python-html5lib)
|
|
("python-mock" ,python-mock)
|
|
("python-nose" ,python-nose)
|
|
("python-pytest" ,python-pytest)))
|
|
(home-page "http://sphinx-doc.org/")
|
|
(synopsis "Python documentation generator")
|
|
(description "Sphinx is a tool that makes it easy to create documentation
|
|
for Python projects or other documents consisting of multiple reStructuredText
|
|
sources.")
|
|
(license license:bsd-3)
|
|
(properties `((python2-variant . ,(delay python2-sphinx))))))
|
|
|
|
(define-public python2-sphinx
|
|
(let ((base (package-with-python2 (strip-python2-variant python-sphinx))))
|
|
(package
|
|
(inherit base)
|
|
(native-inputs `(("python2-mock" ,python2-mock)
|
|
("python2-enum34" ,python2-enum34)
|
|
,@(package-native-inputs base)))
|
|
(propagated-inputs `(("python2-pytz" ,python2-pytz)
|
|
("python2-typing" ,python2-typing)
|
|
,@(package-propagated-inputs base))))))
|
|
|
|
(define-public python-sphinx-gallery
|
|
(package
|
|
(name "python-sphinx-gallery")
|
|
(version "0.1.13")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://github.com/sphinx-gallery/sphinx-gallery"
|
|
"/archive/v" version ".tar.gz"))
|
|
(file-name (string-append name "-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"03fs99mcb1r7qp0xixqv07vcz98sk21yq19ffdysi0infdcpzfkd"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
;; FIXME: Tests attempt to download <https://docs.python.org/3/objects.inv>,
|
|
;; <https://docs.scipy.org/doc/numpy/objects.inv>, and
|
|
;; <https://matplotlib.org/objects.inv>.
|
|
`(#:tests? #f))
|
|
(native-inputs
|
|
`(("python-pytest-runner" ,python-pytest-runner)))
|
|
(home-page "https://sphinx-gallery.github.io/")
|
|
(synopsis "Generate an examples gallery automatically")
|
|
(description
|
|
"@code{sphinx_gallery} is a Sphinx extension that builds an HTML version
|
|
from any set of Python scripts and puts it into an examples gallery.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python2-sphinx-gallery
|
|
(package-with-python2 python-sphinx-gallery))
|
|
|
|
(define-public python-sphinx-rtd-theme
|
|
(package
|
|
(name "python-sphinx-rtd-theme")
|
|
(version "0.2.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "sphinx_rtd_theme" version))
|
|
(sha256
|
|
(base32
|
|
"05rlhjzdyapr2w74jjs7mrm8hi69qskcr5vya9f9drpsys7lpxrd"))))
|
|
(build-system python-build-system)
|
|
(arguments '(#:tests? #f)) ; No tests.
|
|
(propagated-inputs
|
|
`(("python-sphinx" ,python-sphinx)))
|
|
(home-page "https://github.com/snide/sphinx_rtd_theme/")
|
|
(synopsis "ReadTheDocs.org theme for Sphinx")
|
|
(description "A theme for Sphinx used by ReadTheDocs.org.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-sphinx-rtd-theme
|
|
(package-with-python2 python-sphinx-rtd-theme))
|
|
|
|
(define-public python-guzzle-sphinx-theme
|
|
(package
|
|
(name "python-guzzle-sphinx-theme")
|
|
(version "0.7.11")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "guzzle_sphinx_theme" version))
|
|
(sha256
|
|
(base32
|
|
"1rnkzrrsbnifn3vsb4pfaia3nlvgvw6ndpxp7lzjrh23qcwid34v"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-sphinx" ,python-sphinx)))
|
|
(home-page "https://github.com/guzzle/guzzle_sphinx_theme")
|
|
(synopsis "Sphinx theme used by Guzzle")
|
|
(description "This package provides guzzle_sphinx_theme, a theme for the
|
|
Sphinx documentation system, used by @uref{http://docs.guzzlephp.org, Guzzle}
|
|
and several other projects.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-guzzle-sphinx-theme
|
|
(package-with-python2 python-guzzle-sphinx-theme))
|
|
|
|
(define-public python-rst.linker
|
|
(package
|
|
(name "python-rst.linker")
|
|
(version "1.10")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "rst.linker" version))
|
|
(sha256
|
|
(base32
|
|
"0iqaacp7pj1s8avs4kc0qg0r7dscywaq37y6l9j14glqdikk0wdj"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-dateutil" ,python-dateutil)
|
|
("python-six" ,python-six)))
|
|
(native-inputs
|
|
`(("python-setuptools-scm" ,python-setuptools-scm)))
|
|
;; Test would require path.py, which would introduce a cyclic dependence.
|
|
(arguments `(#:tests? #f))
|
|
;; Note: As of version 1.7 the documentation is not worth building.
|
|
(home-page "https://github.com/jaraco/rst.linker")
|
|
(synopsis "Sphinx plugin to add links and timestamps")
|
|
(description "rst.linker allows to automatically replace text by a
|
|
reStructuredText external reference or timestamps. It's primary purpose is to
|
|
augment the changelog, but it can be used for other documents, too.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-rst.linker
|
|
(package-with-python2 python-rst.linker))
|
|
|
|
(define-public python-feedgenerator
|
|
(package
|
|
(name "python-feedgenerator")
|
|
(version "1.9")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "feedgenerator" version))
|
|
(sha256
|
|
(base32
|
|
"01mirwkm7xfx539hmvj7g9da1j51gw5lsx74dr0glizskjm5vq2s"))
|
|
(modules '((guix build utils)))
|
|
(snippet
|
|
'(begin
|
|
;; Remove pre-compiled .pyc files from source.
|
|
(for-each delete-file-recursively
|
|
(find-files "." "__pycache__" #:directories? #t))
|
|
(for-each delete-file (find-files "." "\\.pyc$"))
|
|
#t))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-pytz" ,python-pytz)
|
|
("python-six" ,python-six)))
|
|
(home-page "https://github.com/getpelican/feedgenerator")
|
|
(synopsis
|
|
"Standalone version of Django's Atom/RSS feed generator")
|
|
(description
|
|
"Feedgenerator-py3k is a standalone version of Django's feedgenerator,
|
|
which can produce feeds in RSS 2.0, RSS 0.91, and Atom formats.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python2-feedgenerator
|
|
(package-with-python2 python-feedgenerator))
|
|
|
|
(define-public python-toml
|
|
(package
|
|
(name "python-toml")
|
|
(version "0.9.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "toml" version))
|
|
(sha256
|
|
(base32
|
|
"0bdbpbip67wdm6c7xwc6mmbmskyradj4cdxn1iibj4fcx1nbv1lf"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:tests? #f)) ;no tests suite in release
|
|
(home-page "https://github.com/uiri/toml")
|
|
(synopsis "Library for TOML")
|
|
(description
|
|
"@code{toml} is a library for parsing and creating Tom's Obvious, Minimal
|
|
Language (TOML) configuration files.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-black
|
|
(package
|
|
(name "python-black")
|
|
(version "18.6b4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "black" version))
|
|
(sha256
|
|
(base32
|
|
"0i4sfqgz6w15vd50kbhi7g7rifgqlf8yfr8y78rypd56q64qn592"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'patch-source-shebangs 'patch-extra-shebangs
|
|
(lambda _
|
|
(let ((python3 (which "python3")))
|
|
(substitute* '("tests/data/fmtonoff.py"
|
|
"tests/data/string_prefixes.py"
|
|
"tests/data/function.py")
|
|
(("#!/usr/bin/env python3(\\.[0-9]+)?" _ minor-version)
|
|
(string-append "#!" python3 (if (string? minor-version)
|
|
minor-version
|
|
""))))))))))
|
|
(propagated-inputs
|
|
`(("python-click" ,python-click)
|
|
("python-attrs" ,python-attrs)
|
|
("python-appdirs" ,python-appdirs)
|
|
("python-toml" ,python-toml)))
|
|
(home-page "https://github.com/ambv/black")
|
|
(synopsis "The uncompromising code formatter")
|
|
(description "Black is the uncompromising Python code formatter.")
|
|
(license license:expat)))
|
|
|
|
(define-public python-blinker
|
|
(package
|
|
(name "python-blinker")
|
|
(version "1.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "blinker" version))
|
|
(sha256
|
|
(base32
|
|
"1dpq0vb01p36jjwbhhd08ylvrnyvcc82yxx3mwjx6awrycjyw6j7"))))
|
|
(build-system python-build-system)
|
|
(home-page "http://pythonhosted.org/blinker/")
|
|
(synopsis "Fast, simple object-to-object and broadcast signaling")
|
|
(description
|
|
"Blinker provides a fast dispatching system that allows any number of
|
|
interested parties to subscribe to events, or \"signals\".")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-blinker
|
|
(package-with-python2 python-blinker))
|
|
|
|
(define-public pelican
|
|
(package
|
|
(name "pelican")
|
|
(version "3.7.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pelican" version))
|
|
(sha256
|
|
(base32
|
|
"12spygavv9b6xpb5pgp7f0p3z0mms60nx6zrpx1yfkj68zz4flra"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-feedgenerator" ,python-feedgenerator)
|
|
("python-jinja2" ,python-jinja2)
|
|
("python-pygments" ,python-pygments)
|
|
("python-docutils" ,python-docutils)
|
|
("python-pytz" ,python-pytz)
|
|
("python-blinker" ,python-blinker)
|
|
("python-unidecode" ,python-unidecode)
|
|
("python-six" ,python-six)
|
|
("python-dateutil" ,python-dateutil)
|
|
("python-markdown" ,python-markdown)))
|
|
(home-page "https://getpelican.com/")
|
|
(arguments
|
|
`(;; XXX Requires a lot more packages to do unit tests :P
|
|
#:tests? #f
|
|
#:phases (modify-phases %standard-phases
|
|
(add-before
|
|
'install 'adjust-requires
|
|
;; Since feedgenerator is installed from git, it doesn't
|
|
;; conform to the version requirements.
|
|
;;
|
|
;; We *do have* "feedgenerator >= 1.6", but strip off the
|
|
;; version requirement so setuptools doesn't get confused.
|
|
(lambda _
|
|
(substitute* "setup.py"
|
|
(("['\"]feedgenerator.*?['\"]")
|
|
"'feedgenerator'")))))))
|
|
(synopsis "Python-based static site publishing system")
|
|
(description
|
|
"Pelican is a tool to generate a static blog from reStructuredText,
|
|
Markdown input files, and more. Pelican uses Jinja2 for templating
|
|
and is very extensible.")
|
|
(license license:agpl3+)))
|
|
|
|
(define-public python-scikit-image
|
|
(package
|
|
(name "python-scikit-image")
|
|
(version "0.14.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "scikit-image" version))
|
|
(sha256
|
|
(base32 "0l1c3rl4s1jyv80i5hns4pgih09zrxfj7lygdc51w8sgyysb7ac6"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
;; TODO: Some tests require running X11 server. Disable them?
|
|
'(#:tests? #f))
|
|
;; See DEPENDS.txt for the list of build and run time requiremnts
|
|
(propagated-inputs
|
|
`(("python-cloudpickle" ,python-cloudpickle)
|
|
("python-dask" ,python-dask)
|
|
("python-matplotlib" ,python-matplotlib)
|
|
("python-networkx" ,python-networkx)
|
|
("python-numpy" ,python-numpy)
|
|
("python-pillow" ,python-pillow)
|
|
("python-pywavelets" ,python-pywavelets)
|
|
("python-scipy" ,python-scipy)
|
|
("python-six" ,python-six)))
|
|
(native-inputs
|
|
`(("python-cython" ,python-cython)))
|
|
(home-page "http://scikit-image.org/")
|
|
(synopsis "Image processing in Python")
|
|
(description
|
|
"Scikit-image is a collection of algorithms for image processing.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public python2-scikit-image
|
|
(package-with-python2 python-scikit-image))
|
|
|
|
(define-public python-cython
|
|
(package
|
|
(name "python-cython")
|
|
(version "0.28.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "Cython" version))
|
|
(sha256
|
|
(base32
|
|
"0imw9s2rbrh32clbl10csnwmig9p3nzkrd2baxxxfmnrsc42pb3n"))))
|
|
(build-system python-build-system)
|
|
;; we need the full python package and not just the python-wrapper
|
|
;; because we need libpython3.3m.so
|
|
(inputs
|
|
`(("python" ,python)))
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(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 _
|
|
;; The "with_outer_raising" test fails with Python 3.7. See
|
|
;; https://github.com/cython/cython/issues/2454
|
|
(delete-file "tests/run/generators_py.py")
|
|
(invoke "python" "runtests.py" "-vv"))))))
|
|
(home-page "http://cython.org/")
|
|
(synopsis "C extensions for Python")
|
|
(description "Cython is an optimising static compiler for both the Python
|
|
programming language and the extended Cython programming language. It makes
|
|
writing C extensions for Python as easy as Python itself.")
|
|
(license license:asl2.0)
|
|
(properties `((python2-variant . ,(delay python2-cython))))))
|
|
|
|
(define-public python2-cython
|
|
(package (inherit (package-with-python2
|
|
(strip-python2-variant python-cython)))
|
|
(name "python2-cython")
|
|
(inputs
|
|
`(("python-2" ,python-2))))) ; this is not automatically changed
|
|
|
|
;; The RPython toolchain currently does not support Python 3.
|
|
(define-public python2-rpython
|
|
(package
|
|
(name "python2-rpython")
|
|
(version "0.2.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "rpython" version))
|
|
(sha256
|
|
(base32
|
|
"02z9cvxf0y41dcvwnvf2zn0albhhw1drvjjbq27m6i1piw1k6fc0"))))
|
|
(build-system python-build-system)
|
|
(arguments `(#:python ,python-2))
|
|
(native-inputs
|
|
`(("python2-pytest" ,python2-pytest))) ; needed for running tests
|
|
(home-page "https://rpython.readthedocs.org")
|
|
(synopsis "Framework for implementing interpreters and virtual machines")
|
|
(description "RPython is a translation and support framework for
|
|
producing implementations of dynamic languages, emphasizing a clean separation
|
|
between language specification and implementation aspects.")
|
|
(license license:expat)))
|
|
|
|
;; NOTE: when upgrading numpy please make sure that python-pandas and
|
|
;; python-scipy still build, as these three packages are often used together.
|
|
(define-public python-numpy
|
|
(package
|
|
(name "python-numpy")
|
|
(version "1.15.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://github.com/numpy/numpy/releases/download/v"
|
|
version "/numpy-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"102vcl2qq4pjbm7a3d67vkkvn4466ngia1d8wi5avqwqh8j0jvkn"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("openblas" ,openblas)
|
|
("lapack" ,lapack)))
|
|
(native-inputs
|
|
`(("python-cython" ,python-cython)
|
|
("python-pytest" ,python-pytest)
|
|
("gfortran" ,gfortran)))
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(add-before 'build 'configure-blas-lapack
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
(call-with-output-file "site.cfg"
|
|
(lambda (port)
|
|
(format port
|
|
"[openblas]
|
|
libraries = openblas
|
|
library_dirs = ~a/lib
|
|
include_dirs = ~a/include
|
|
|
|
# backslash-n to make emacs happy
|
|
\n[lapack]
|
|
lapack_libs = lapack
|
|
library_dirs = ~a/lib
|
|
include_dirs = ~a/include
|
|
"
|
|
(assoc-ref inputs "openblas")
|
|
(assoc-ref inputs "openblas")
|
|
(assoc-ref inputs "lapack")
|
|
(assoc-ref inputs "lapack"))))
|
|
#t))
|
|
(add-before 'build 'fix-executable-paths
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
;; Make /gnu/store/...-bash-.../bin/sh the default shell,
|
|
;; instead of /bin/sh.
|
|
(substitute* "numpy/distutils/exec_command.py"
|
|
(("(os.environ.get\\('SHELL', ')(/bin/sh'\\))" match match-start match-end)
|
|
(string-append match-start (assoc-ref inputs "bash") match-end)))
|
|
;; Use "gcc" executable, not "cc".
|
|
(substitute* "numpy/distutils/system_info.py"
|
|
(("c = distutils\\.ccompiler\\.new_compiler\\(\\)")
|
|
"c = distutils.ccompiler.new_compiler(); c.set_executables(compiler='gcc',compiler_so='gcc',linker_exe='gcc',linker_so='gcc -shared')"))
|
|
#t))
|
|