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.
9571 lines
341 KiB
9571 lines
341 KiB
;;; GNU Guix --- Functional package management for GNU
|
|
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
|
;;; Copyright © 2013, 2014, 2015, 2016 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 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 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 Leo Famulari <leo@famulari.name>
|
|
;;; Copyright © 2015 Ben Woodcroft <donttrustben@gmail.com>
|
|
;;; Copyright © 2015, 2016 Erik Edrosa <erik.edrosa@gmail.com>
|
|
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
|
|
;;; Copyright © 2015 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 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
|
;;; Copyright © 2016 Daniel Pimentel <d4n1@d4n1.org>
|
|
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
|
|
;;;
|
|
;;; 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)
|
|
#:use-module ((guix licenses)
|
|
#:select (asl2.0 bsd-4 bsd-3 bsd-2 non-copyleft cc0 x11 x11-style
|
|
gpl2 gpl2+ gpl3 gpl3+ lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+ agpl3+
|
|
isc mpl2.0 psfl public-domain repoze unlicense x11-style
|
|
zpl2.1))
|
|
#:use-module ((guix licenses) #:select (expat zlib) #: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 compression)
|
|
#:use-module (gnu packages databases)
|
|
#:use-module (gnu packages file)
|
|
#:use-module (gnu packages fontutils)
|
|
#:use-module (gnu packages gcc)
|
|
#:use-module (gnu packages ghostscript)
|
|
#:use-module (gnu packages glib)
|
|
#: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 maths)
|
|
#:use-module (gnu packages multiprecision)
|
|
#:use-module (gnu packages networking)
|
|
#:use-module (gnu packages ncurses)
|
|
#:use-module (gnu packages pcre)
|
|
#:use-module (gnu packages perl)
|
|
#:use-module (gnu packages pkg-config)
|
|
#:use-module (gnu packages readline)
|
|
#:use-module (gnu packages statistics)
|
|
#:use-module (gnu packages tex)
|
|
#:use-module (gnu packages texinfo)
|
|
#:use-module (gnu packages tls)
|
|
#:use-module (gnu packages version-control)
|
|
#: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 zip)
|
|
#:use-module (gnu packages tcl)
|
|
#:use-module (gnu packages bdw-gc)
|
|
#:use-module (gnu packages pcre)
|
|
#: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))
|
|
|
|
(define-public python-2.7
|
|
(package
|
|
(name "python")
|
|
(version "2.7.10")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://www.python.org/ftp/python/"
|
|
version "/Python-" version ".tar.xz"))
|
|
(sha256
|
|
(base32
|
|
"1h7zbrf9pkj29hlm18b10548ch9757f75m64l47sy75rh43p7lqw"))
|
|
(patches (search-patches
|
|
"python-2.7-search-paths.patch"
|
|
"python-2-deterministic-build-info.patch"
|
|
"python-2.7-source-date-epoch.patch"))))
|
|
(outputs '("out"
|
|
"tk")) ;tkinter; adds 50 MiB to the closure
|
|
(build-system gnu-build-system)
|
|
(arguments
|
|
`(#:tests? #f
|
|
;; 268 tests OK.
|
|
;; 103 tests failed:
|
|
;; test_distutils test_shutil test_signal test_site test_slice
|
|
;; test_smtplib test_smtpnet test_socket test_socketserver
|
|
;; test_softspace test_sort test_spwd test_sqlite test_ssl
|
|
;; test_startfile test_stat test_str test_strftime test_string
|
|
;; test_stringprep test_strop test_strptime test_strtod test_struct
|
|
;; test_structmembers test_structseq test_subprocess test_sunau
|
|
;; test_sunaudiodev test_sundry test_symtable test_syntax test_sys
|
|
;; test_sys_setprofile test_sys_settrace test_sysconfig test_tarfile
|
|
;; test_tcl test_telnetlib test_tempfile test_textwrap test_thread
|
|
;; test_threaded_import test_threadedtempfile test_threading
|
|
;; test_threading_local test_threadsignals test_time test_timeit
|
|
;; test_timeout test_tk test_tokenize test_tools test_trace
|
|
;; test_traceback test_transformer test_ttk_guionly test_ttk_textonly
|
|
;; test_tuple test_typechecks test_ucn test_unary
|
|
;; test_undocumented_details test_unicode test_unicode_file
|
|
;; test_unicodedata test_univnewlines test_univnewlines2k test_unpack
|
|
;; test_urllib test_urllib2 test_urllib2_localnet test_urllib2net
|
|
;; test_urllibnet test_urlparse test_userdict test_userlist
|
|
;; test_userstring test_uu test_uuid test_wait3 test_wait4
|
|
;; test_warnings test_wave test_weakref test_weakset test_whichdb
|
|
;; test_winreg test_winsound test_with test_wsgiref test_xdrlib
|
|
;; test_xml_etree test_xml_etree_c test_xmllib test_xmlrpc
|
|
;; test_xpickle test_xrange test_zipfile test_zipfile64
|
|
;; test_zipimport test_zipimport_support test_zlib
|
|
;; 30 tests skipped:
|
|
;; test_aepack test_al test_applesingle test_bsddb test_bsddb185
|
|
;; test_bsddb3 test_cd test_cl test_codecmaps_cn test_codecmaps_hk
|
|
;; test_codecmaps_jp test_codecmaps_kr test_codecmaps_tw test_crypt
|
|
;; test_curses test_dl test_gdb test_gl test_idle test_imageop
|
|
;; test_imgfile test_ioctl test_kqueue test_linuxaudiodev test_macos
|
|
;; test_macostools test_msilib test_nis test_ossaudiodev
|
|
;; test_scriptpackages
|
|
;; 6 skips unexpected on linux2:
|
|
;; test_bsddb test_bsddb3 test_crypt test_gdb test_idle test_ioctl
|
|
;; One of the typical errors:
|
|
;; test_unicode
|
|
;; test test_unicode crashed -- <type 'exceptions.OSError'>: [Errno 2] No
|
|
;; such file or directory
|
|
#:test-target "test"
|
|
#:configure-flags
|
|
(list "--enable-shared" ;allow embedding
|
|
"--with-system-ffi" ;build ctypes
|
|
(string-append "LDFLAGS=-Wl,-rpath="
|
|
(assoc-ref %outputs "out") "/lib"))
|
|
|
|
#:modules ((ice-9 ftw) (ice-9 match)
|
|
(guix build utils) (guix build gnu-build-system))
|
|
#:phases
|
|
(modify-phases %standard-phases
|
|
(add-before
|
|
'configure 'patch-lib-shells
|
|
(lambda _
|
|
;; Filter for existing files, since some may not exist in all
|
|
;; versions of python that are built with this recipe.
|
|
(substitute* (filter file-exists?
|
|
'("Lib/subprocess.py"
|
|
"Lib/popen2.py"
|
|
"Lib/distutils/tests/test_spawn.py"
|
|
"Lib/test/test_subprocess.py"))
|
|
(("/bin/sh") (which "sh")))
|
|
|
|
;; Use zero as the timestamp in .pyc files so that builds are
|
|
;; deterministic. TODO: Remove it when this variable is set in
|
|
;; gnu-build-system.scm.
|
|
(setenv "SOURCE_DATE_EPOCH" "1")
|
|
#t))
|
|
(add-before 'configure 'do-not-record-configure-flags
|
|
(lambda* (#:key configure-flags #:allow-other-keys)
|
|
;; Remove configure flags from the installed '_sysconfigdata.py'
|
|
;; and 'Makefile' so we don't end up keeping references to the
|
|
;; build tools.
|
|
;;
|
|
;; Preserve at least '--with-system-ffi' since otherwise the
|
|
;; thing tries to build libffi, fails, and we end up with a
|
|
;; Python that lacks ctypes.
|
|
(substitute* "configure"
|
|
(("^CONFIG_ARGS=.*$")
|
|
(format #f "CONFIG_ARGS='~a'\n"
|
|
(if (member "--with-system-ffi" configure-flags)
|
|
"--with-system-ffi"
|
|
""))))
|
|
#t))
|
|
(add-before
|
|
'check 'pre-check
|
|
(lambda _
|
|
;; 'Lib/test/test_site.py' needs a valid $HOME
|
|
(setenv "HOME" (getcwd))
|
|
#t))
|
|
(add-after
|
|
'unpack 'set-source-file-times-to-1980
|
|
;; XXX One of the tests uses a ZIP library to pack up some of the
|
|
;; source tree, and fails with "ZIP does not support timestamps
|
|
;; before 1980". Work around this by setting the file times in the
|
|
;; source tree to sometime in early 1980.
|
|
(lambda _
|
|
(let ((circa-1980 (* 10 366 24 60 60)))
|
|
(ftw "." (lambda (file stat flag)
|
|
(utime file circa-1980 circa-1980)
|
|
#t))
|
|
#t)))
|
|
(add-after 'install 'move-tk-inter
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
;; When Tkinter support is built move it to a separate output so
|
|
;; that the main output doesn't contain a reference to Tcl/Tk.
|
|
(let ((out (assoc-ref outputs "out"))
|
|
(tk (assoc-ref outputs "tk")))
|
|
(when tk
|
|
(match (find-files out "tkinter.*\\.so")
|
|
((tkinter.so)
|
|
;; The .so is in OUT/lib/pythonX.Y/lib-dynload, but we
|
|
;; want it under TK/lib/pythonX.Y/site-packages.
|
|
(let* ((len (string-length out))
|
|
(target (string-append
|
|
tk "/"
|
|
(string-drop
|
|
(dirname (dirname tkinter.so))
|
|
len)
|
|
"/site-packages")))
|
|
(install-file tkinter.so target)
|
|
(delete-file tkinter.so)))))
|
|
#t))))))
|
|
(inputs
|
|
`(("bzip2" ,bzip2)
|
|
("gdbm" ,gdbm)
|
|
("libffi" ,libffi) ; for ctypes
|
|
("sqlite" ,sqlite) ; for sqlite extension
|
|
("openssl" ,openssl)
|
|
("readline" ,readline)
|
|
("zlib" ,zlib)
|
|
("tcl" ,tcl)
|
|
("tk" ,tk))) ; for tkinter
|
|
(native-inputs
|
|
`(("pkg-config" ,pkg-config)))
|
|
(native-search-paths
|
|
(list (search-path-specification
|
|
(variable "PYTHONPATH")
|
|
(files '("lib/python2.7/site-packages")))))
|
|
(home-page "http://python.org")
|
|
(synopsis "High-level, dynamically-typed programming language")
|
|
(description
|
|
"Python is a remarkably powerful dynamic programming language that
|
|
is used in a wide variety of application domains. Some of its key
|
|
distinguishing features include: clear, readable syntax; strong
|
|
introspection capabilities; intuitive object orientation; natural
|
|
expression of procedural code; full modularity, supporting hierarchical
|
|
packages; exception-based error handling; and very high level dynamic
|
|
data types.")
|
|
(license psfl)))
|
|
|
|
;; Current 2.x version.
|
|
(define-public python-2 python-2.7)
|
|
|
|
(define-public python-3.4
|
|
(package (inherit python-2)
|
|
(version "3.4.3")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://www.python.org/ftp/python/"
|
|
version "/Python-" version ".tar.xz"))
|
|
(patches (search-patches
|
|
"python-fix-tests.patch"
|
|
;; XXX Try removing this patch for python > 3.4.3
|
|
"python-disable-ssl-test.patch"
|
|
"python-3-deterministic-build-info.patch"
|
|
"python-3-search-paths.patch"))
|
|
(patch-flags '("-p0"))
|
|
(sha256
|
|
(base32
|
|
"1f4nm4z08sy0kqwisvv95l02crv6dyysdmx44p1mz3bn6csrdcxm"))))
|
|
(arguments (substitute-keyword-arguments (package-arguments python-2)
|
|
((#:tests? _) #t)))
|
|
(native-search-paths
|
|
(list (search-path-specification
|
|
(variable "PYTHONPATH")
|
|
(files (list (string-append "lib/python"
|
|
(version-major+minor version)
|
|
"/site-packages"))))))))
|
|
|
|
;; Current 3.x version.
|
|
(define-public python-3 python-3.4)
|
|
|
|
;; Current major version.
|
|
(define-public python python-3)
|
|
|
|
;; Minimal variants of Python, mostly used to break the cycle between Tk and
|
|
;; Python (Tk -> libxcb -> Python.)
|
|
|
|
(define-public python2-minimal
|
|
(package (inherit python-2)
|
|
(name "python-minimal")
|
|
(outputs '("out"))
|
|
(arguments
|
|
(substitute-keyword-arguments (package-arguments python-2)
|
|
((#:configure-flags cf)
|
|
`(append ,cf '("--without-system-ffi")))))
|
|
(inputs '()))) ;none of the optional dependencies
|
|
|
|
(define-public python-minimal
|
|
(package (inherit python)
|
|
(name "python-minimal")
|
|
(outputs '("out"))
|
|
(arguments
|
|
(substitute-keyword-arguments (package-arguments python)
|
|
((#:configure-flags cf)
|
|
`(append ,cf '("--without-system-ffi")))))
|
|
|
|
;; OpenSSL is a mandatory dependency of Python 3.x, for urllib;
|
|
;; zlib is required by 'zipimport', used by pip.
|
|
(inputs `(("openssl" ,openssl)
|
|
("zlib" ,zlib)))))
|
|
|
|
(define* (wrap-python3 python
|
|
#:optional
|
|
(name (string-append (package-name python) "-wrapper")))
|
|
(package (inherit python)
|
|
(name name)
|
|
(source #f)
|
|
(build-system trivial-build-system)
|
|
(outputs '("out"))
|
|
(propagated-inputs `(("python" ,python)))
|
|
(arguments
|
|
`(#:modules ((guix build utils))
|
|
#:builder
|
|
(begin
|
|
(use-modules (guix build utils))
|
|
(let ((bin (string-append (assoc-ref %outputs "out") "/bin"))
|
|
(python (string-append (assoc-ref %build-inputs "python") "/bin/")))
|
|
(mkdir-p bin)
|
|
(for-each
|
|
(lambda (old new)
|
|
(symlink (string-append python old)
|
|
(string-append bin "/" new)))
|
|
`("python3" ,"pydoc3" ,"idle3")
|
|
`("python" ,"pydoc" ,"idle"))))))
|
|
(synopsis "Wrapper for the Python 3 commands")
|
|
(description
|
|
"This package provides wrappers for the commands of Python@tie{}3.x such
|
|
that they can be invoked under their usual name---e.g., @command{python}
|
|
instead of @command{python3}.")))
|
|
|
|
(define-public python-wrapper (wrap-python3 python))
|
|
(define-public python-minimal-wrapper (wrap-python3 python-minimal))
|
|
|
|
(define-public python-psutil
|
|
(package
|
|
(name "python-psutil")
|
|
(version "3.3.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "psutil" version))
|
|
(sha256
|
|
(base32
|
|
"11bd1555vf2ibjnmqf64im5cp55vcqfq45ccinm9ll3bs68na6s2"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(home-page "https://pypi.python.org/pypi/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.")
|
|
(license bsd-3)))
|
|
|
|
(define-public python2-psutil
|
|
(package-with-python2 python-psutil))
|
|
|
|
(define-public python-passlib
|
|
(package
|
|
(name "python-passlib")
|
|
(version "1.6.5")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "passlib" version))
|
|
(sha256
|
|
(base32
|
|
"1z27wdxs5rj5xhhqfzvzn3yg682irkxw6dcs5jj7mcf97psk8gd8"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-nose" ,python-nose)
|
|
("python-setuptools" ,python-setuptools)))
|
|
(inputs
|
|
`(("python-py-bcrypt" ,python-py-bcrypt)))
|
|
(arguments
|
|
`(#:phases
|
|
(alist-cons-before
|
|
'check 'set-PYTHON_EGG_CACHE
|
|
;; some tests require access to "$HOME/.cython"
|
|
(lambda* _ (setenv "PYTHON_EGG_CACHE" "/tmp"))
|
|
%standard-phases)))
|
|
(home-page "https://bitbucket.org/ecollins/passlib")
|
|
(synopsis
|
|
"Comprehensive password hashing framework")
|
|
(description
|
|
"Passlib is a password hashing library for Python 2 & 3, which provides
|
|
cross-platform implementations of over 30 password hashing algorithms, as well
|
|
as a framework for managing existing password hashes. It's designed to be
|
|
useful for a wide range of tasks, from verifying a hash found in /etc/shadow,
|
|
to providing full-strength password hashing for multi-user application.")
|
|
(license bsd-3)))
|
|
|
|
(define-public python2-passlib
|
|
(package-with-python2 python-passlib))
|
|
|
|
(define-public python-py-bcrypt
|
|
(package
|
|
(name "python-py-bcrypt")
|
|
(version "0.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/p/py-bcrypt/py-bcrypt-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0y6smdggwi5s72v6p1nn53dg6w05hna3d264cq6kas0lap73p8az"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(home-page "https://code.google.com/p/py-bcrypt")
|
|
(synopsis
|
|
"Bcrypt password hashing and key derivation")
|
|
(description
|
|
"A python wrapper of OpenBSD's Blowfish password hashing code. This
|
|
system hashes passwords using a version of Bruce Schneier's Blowfish block
|
|
cipher with modifications designed to raise the cost of off-line password
|
|
cracking and frustrate fast hardware implementation. The computation cost of
|
|
the algorithm is parametised, so it can be increased as computers get faster.
|
|
The intent is to make a compromise of a password database less likely to
|
|
result in an attacker gaining knowledge of the plaintext passwords (e.g. using
|
|
John the Ripper).")
|
|
;; "sha2.c" is under BSD-3;
|
|
;; "blowfish.c" and "bcrypt.c" are under BSD-4;
|
|
;; the rest is under ISC.
|
|
(license (list isc bsd-3 bsd-4))))
|
|
|
|
(define-public python2-py-bcrypt
|
|
(package-with-python2 python-py-bcrypt))
|
|
|
|
|
|
(define-public python-paramiko
|
|
(package
|
|
(name "python-paramiko")
|
|
(version "1.16.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "paramiko" version))
|
|
(sha256
|
|
(base32
|
|
"14k8z7ndc3zk5xivnm4d8lncchx475ll5izpf8vmfbq7rp9yp5rj"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(propagated-inputs
|
|
`(("python-pycrypto" ,python-pycrypto)))
|
|
(inputs
|
|
`(("python-ecdsa" ,python-ecdsa)))
|
|
(home-page "http://www.paramiko.org/")
|
|
(synopsis "SSHv2 protocol library")
|
|
(description "Paramiko is a python implementation of the SSHv2 protocol,
|
|
providing both client and server functionality. While it leverages a Python C
|
|
extension for low level cryptography (PyCrypto), Paramiko itself is a pure
|
|
Python interface around SSH networking concepts.")
|
|
(license lgpl2.1+)))
|
|
|
|
(define-public python2-paramiko
|
|
(package-with-python2 python-paramiko))
|
|
|
|
|
|
(define-public python-httplib2
|
|
(package
|
|
(name "python-httplib2")
|
|
(version "0.9.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "httplib2" version))
|
|
(sha256
|
|
(base32
|
|
"126rsryvw9vhbf3qmsfw9lf4l4xm2srmgs439lgma4cpag4s3ay3"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(home-page "https://github.com/jcgregorio/httplib2")
|
|
(synopsis "Comprehensive HTTP client library")
|
|
(description
|
|
"A comprehensive HTTP client library supporting many features left out of
|
|
other HTTP libraries.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-httplib2
|
|
(package-with-python2 python-httplib2))
|
|
|
|
(define-public python-ecdsa
|
|
(package
|
|
(name "python-ecdsa")
|
|
(version "0.13")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/e/ecdsa/ecdsa-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1yj31j0asmrx4an9xvsaj2icdmzy6pw0glfpqrrkrphwdpi1xkv4"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(inputs
|
|
`(("openssl" ,openssl)))
|
|
(home-page
|
|
"http://github.com/warner/python-ecdsa")
|
|
(synopsis
|
|
"ECDSA cryptographic signature library (pure python)")
|
|
(description
|
|
"This is an easy-to-use implementation of ECDSA cryptography (Elliptic
|
|
Curve Digital Signature Algorithm), implemented purely in Python. With this
|
|
library, you can quickly create keypairs (signing key and verifying key), sign
|
|
messages, and verify the signatures. The keys and signatures are very short,
|
|
making them easy to handle and incorporate into other protocols.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-ecdsa
|
|
(package-with-python2 python-ecdsa))
|
|
|
|
(define-public python-ccm
|
|
(package
|
|
(name "python-ccm")
|
|
(version "2.1.6")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "ccm" version))
|
|
(sha256
|
|
(base32
|
|
"177dfxsmk3k4cih6fh6v8d91bh4nqx7ns6pc07w7m7i3cvdx3c8n"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(inputs
|
|
`(("python-pyyaml" ,python-pyyaml)
|
|
("python-six" ,python-six)))
|
|
(home-page "https://github.com/pcmanus/ccm")
|
|
(synopsis "Cassandra Cluster Manager")
|
|
(description "A script/library to create, launch and remove an Apache
|
|
Cassandra cluster on localhost.")
|
|
(license asl2.0)))
|
|
|
|
(define-public python2-ccm
|
|
(package-with-python2 python-ccm))
|
|
|
|
(define-public python-pytz
|
|
(package
|
|
(name "python-pytz")
|
|
(version "2016.3")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pytz" version ".tar.bz2"))
|
|
(sha256
|
|
(base32
|
|
"1mjmrkk4vc5xzppw7fm0pli1nnbj57cvqv7jjv5whcmccyhxz4y1"))))
|
|
(build-system python-build-system)
|
|
(arguments `(#:tests? #f)) ; no test target
|
|
(home-page "http://pythonhosted.org/pytz")
|
|
(synopsis "Python timezone library")
|
|
(description
|
|
"This library allows accurate and cross platform timezone calculations
|
|
using Python 2.4 or higher and provides access to the Olson timezone database.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-pytz
|
|
(package-with-python2 python-pytz))
|
|
|
|
|
|
(define-public python-babel
|
|
(package
|
|
(name "python-babel")
|
|
(version "2.3.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "Babel" version))
|
|
(sha256
|
|
(base32
|
|
"0k43pi0p1dwpds2w0km3fw92wixzxv2vw7p09capxmjz5cfh23lw"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-pytz" ,python-pytz)
|
|
("python-setuptools" ,python-setuptools)))
|
|
(arguments `(#:tests? #f)) ; no test target
|
|
(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 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
|
|
(inputs
|
|
`(("python2-setuptools" ,python2-setuptools)))
|
|
(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 psfl)))
|
|
|
|
(define-public python-h5py
|
|
(package
|
|
(name "python-h5py")
|
|
(version "2.6.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "h5py" version))
|
|
(sha256
|
|
(base32
|
|
"0df46dg7i7xfking9lp221bfm8dbl974yvlrbi1w7r6m61ac7bxj"))))
|
|
(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-numpy" ,python-numpy)))
|
|
(inputs
|
|
`(("hdf5" ,hdf5)
|
|
("python-six" ,python-six)))
|
|
(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 bsd-3)
|
|
(properties `((python2-variant . ,(delay python2-h5py))))))
|
|
|
|
(define-public python2-h5py
|
|
(package-with-python2 (strip-python2-variant python-h5py)))
|
|
|
|
(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 "http://code.google.com/p/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)
|
|
(properties `((python2-variant . ,(delay python2-lockfile))))))
|
|
|
|
(define-public python2-lockfile
|
|
(let ((base (package-with-python2 (strip-python2-variant python-lockfile))))
|
|
(package
|
|
(inherit base)
|
|
(native-inputs `(("python2-setuptools" ,python2-setuptools)
|
|
,@(package-native-inputs base))))))
|
|
|
|
(define-public python-mock
|
|
(package
|
|
(name "python-mock")
|
|
(version "1.0.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://pypi.python.org/packages/source/m/mock/"
|
|
"mock-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0kzlsbki6q0awf89rc287f3aj8x431lrajf160a70z0ikhnxsfdq"))))
|
|
(build-system python-build-system)
|
|
(arguments '(#:test-target "check"))
|
|
(home-page "http://code.google.com/p/mock/")
|
|
(synopsis "Python mocking and patching library for testing")
|
|
(description
|
|
"Mock is a library for testing in Python. It allows you to replace parts
|
|
of your system under test with mock objects and make assertions about how they
|
|
have been used.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-mock
|
|
(package-with-python2 python-mock))
|
|
|
|
|
|
(define-public python-setuptools
|
|
(package
|
|
(name "python-setuptools")
|
|
(version "18.3.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://pypi.python.org/packages/source/s/setuptools/setuptools-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0kc7rbav00ks6iaw14p38y81q12fx0lpkhgf5m97xc04f5r318ig"))))
|
|
(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.")
|
|
(license psfl)))
|
|
|
|
(define-public python2-setuptools
|
|
(package-with-python2 python-setuptools))
|
|
|
|
|
|
(define-public python-pycrypto
|
|
(package
|
|
(name "python-pycrypto")
|
|
(version "2.6.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://pypi.python.org/packages/source/p/"
|
|
"pycrypto/pycrypto-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0g0ayql5b9mkjam8hym6zyg6bv77lbh66rv1fyvgqb17kfc1xkpj"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(inputs
|
|
`(("python" ,python)
|
|
("gmp" ,gmp)))
|
|
(arguments
|
|
`(#:phases
|
|
(alist-cons-before
|
|
'build 'set-build-env
|
|
;; pycrypto runs an autoconf configure script behind the scenes
|
|
(lambda _
|
|
(setenv "CONFIG_SHELL" (which "bash")))
|
|
%standard-phases)))
|
|
(home-page "http://www.pycrypto.org/")
|
|
(synopsis "Cryptographic modules for Python")
|
|
(description
|
|
"Pycrypto is a collection of both secure hash functions (such as SHA256
|
|
and RIPEMD160), and various encryption algorithms (AES, DES, RSA, ElGamal,
|
|
etc.). The package is structured to make adding new modules easy.")
|
|
(license public-domain)))
|
|
|
|
(define-public python2-pycrypto
|
|
(let ((pycrypto (package-with-python2 python-pycrypto)))
|
|
(package (inherit pycrypto)
|
|
(inputs
|
|
`(("python" ,python-2)
|
|
,@(alist-delete
|
|
"python"
|
|
(package-inputs pycrypto)))))))
|
|
|
|
(define-public python-keyring
|
|
(package
|
|
(name "python-keyring")
|
|
(version "8.7")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "keyring" version))
|
|
(sha256
|
|
(base32
|
|
"0482rmi2x6p78wl2kz8qzyq21xz1sbbfwnv5x7dggar4vkwxhzfx"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-setuptools-scm" ,python-setuptools-scm)))
|
|
(inputs
|
|
`(("python-pycrypto" ,python-pycrypto)))
|
|
(arguments
|
|
`(#:tests? #f)) ;TODO: tests require pytest
|
|
(home-page "http://bitbucket.org/kang/python-keyring-lib")
|
|
(synopsis "Store and access your passwords safely")
|
|
(description
|
|
"The Python keyring lib provides a easy way to access the system keyring
|
|
service from python. It can be used in any application that needs safe
|
|
password storage.")
|
|
;; "MIT" and PSF dual license
|
|
(license x11)
|
|
(properties `((python2-variant . ,(delay python2-keyring))))))
|
|
|
|
(define-public python2-keyring
|
|
(let ((base (package-with-python2 (strip-python2-variant python-keyring))))
|
|
(package
|
|
(inherit base)
|
|
(native-inputs `(("python2-setuptools" ,python2-setuptools)
|
|
,@(package-native-inputs base))))))
|
|
|
|
(define-public python-six
|
|
(package
|
|
(name "python-six")
|
|
(version "1.10.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "six" version))
|
|
(sha256
|
|
(base32
|
|
"0snmb8xffb3vsma0z67i0h0w2g2dy0p3gsgh9gi4i0kgc5l8spqh"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(home-page "http://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 x11)))
|
|
|
|
(define-public python2-six
|
|
(package-with-python2 python-six))
|
|
|
|
(define-public python-dateutil-2
|
|
(package
|
|
(name "python-dateutil")
|
|
(version "2.5.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "python-dateutil" version))
|
|
(sha256
|
|
(base32
|
|
"0jrfpcgvgya6hs45dhrd9yiqgdgz9qp9aa07zsw8gqgn8zphff86"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-six" ,python-six)))
|
|
(home-page "http://labix.org/python-dateutil")
|
|
(synopsis "Extensions to the standard datetime module")
|
|
(description
|
|
"The dateutil module provides powerful extensions to the standard
|
|
datetime module, available in Python 2.3+.")
|
|
(license bsd-3)
|
|
(properties `((python2-variant . ,(delay python2-dateutil-2))))))
|
|
|
|
(define-public python2-dateutil-2
|
|
(let ((base (package-with-python2 (strip-python2-variant python-dateutil-2))))
|
|
(package
|
|
(inherit base)
|
|
(inputs `(("python2-setuptools" ,python2-setuptools)
|
|
,@(package-inputs base))))))
|
|
|
|
(define-public python-dateutil
|
|
(package
|
|
(name "python-dateutil")
|
|
(version "1.5") ; last version for python < 3
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "http://labix.org/download/python-dateutil/"
|
|
"python-dateutil-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0fqfglhy5khbvsipr3x7m6bcaqljh8xl5cw33vbfxy7qhmywm2n0"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(home-page "http://labix.org/python-dateutil")
|
|
(synopsis "Extensions to the standard datetime module")
|
|
(description
|
|
"The dateutil module provides powerful extensions to the standard
|
|
datetime module, available in Python 2.3+.")
|
|
(license psfl)))
|
|
|
|
(define-public python2-dateutil
|
|
(package-with-python2 python-dateutil))
|
|
|
|
(define-public python-parsedatetime
|
|
(package
|
|
(name "python-parsedatetime")
|
|
(version "2.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "parsedatetime" version))
|
|
(sha256
|
|
(base32
|
|
"0bdgyw6y3v7bcxlx0p50s8drxsh5bb5cy2afccqr3j90amvpii8p"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-nose" ,python-nose)
|
|
("python-pyicu" ,python-pyicu)))
|
|
(home-page "http://github.com/bear/parsedatetime/")
|
|
(synopsis
|
|
"Parse human-readable date/time text")
|
|
(description
|
|
"Parse human-readable date/time text.")
|
|
(license asl2.0)
|
|
(properties `((python2-variant . ,(delay python2-parsedatetime))))))
|
|
|
|
(define-public python2-parsedatetime
|
|
(let ((base (package-with-python2 (strip-python2-variant python-parsedatetime))))
|
|
(package
|
|
(inherit base)
|
|
(native-inputs `(("python2-setuptools" ,python2-setuptools)
|
|
,@(package-native-inputs base))))))
|
|
|
|
(define-public python-pandas
|
|
(package
|
|
(name "python-pandas")
|
|
(version "0.18.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/11/09/"
|
|
"e66eb844daba8680ddff26335d5b4fead77f60f957678243549a8dd4830d/"
|
|
"pandas-" version ".tar.gz"))
|
|
(sha256
|
|
(base32 "1ckpxrvvjj6zxmn68icd9hib8qcpx9b35f6izxnr25br5ilq7r6j"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-numpy" ,python-numpy)))
|
|
(inputs
|
|
`(("python-pytz" ,python-pytz)
|
|
("python-dateutil" ,python-dateutil-2)))
|
|
(native-inputs
|
|
`(("python-nose" ,python-nose)))
|
|
(home-page "http://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 bsd-3)
|
|
(properties `((python2-variant . ,(delay python2-pandas))))))
|
|
|
|
(define-public python2-pandas
|
|
(let ((base (package-with-python2 (strip-python2-variant python-pandas))))
|
|
(package
|
|
(inherit base)
|
|
(native-inputs `(("python2-setuptools" ,python2-setuptools)
|
|
,@(package-native-inputs base))))))
|
|
|
|
(define-public python-tzlocal
|
|
(package
|
|
(name "python-tzlocal")
|
|
(version "1.2.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "tzlocal" version))
|
|
(sha256
|
|
(base32
|
|
"0paj7vlsb0np8b5sp4bv64wxv7qk2piyp7xg29pkhdjwsbls9fnb"))))
|
|
(build-system python-build-system)
|
|
(inputs `(("python-pytz" ,python-pytz)))
|
|
(home-page "https://github.com/regebro/tzlocal")
|
|
(synopsis
|
|
"Local timezone information for Python")
|
|
(description
|
|
"Tzlocal returns a tzinfo object with the local timezone information.
|
|
This module attempts to fix a glaring hole in pytz, that there is no way to
|
|
get the local timezone information, unless you know the zoneinfo name, and
|
|
under several distributions that's hard or impossible to figure out.")
|
|
(license cc0)))
|
|
|
|
(define-public python2-pysqlite
|
|
(package
|
|
(name "python2-pysqlite")
|
|
(version "2.8.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pysqlite" version))
|
|
(sha256
|
|
(base32
|
|
"0rm0zqyb363y6wljhfmbxs16jjv7p8nk1d8zgq9sdwj6js7y3jkm"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("sqlite" ,sqlite)))
|
|
(arguments
|
|
`(#:python ,python-2 ; incompatible with Python 3
|
|
#:tests? #f)) ; no test target
|
|
(home-page "http://github.com/ghaering/pysqlite")
|
|
(synopsis "SQLite bindings for Python")
|
|
(description
|
|
"Pysqlite provides SQLite bindings for Python that comply to the
|
|
Database API 2.0T.")
|
|
(license license:zlib)))
|
|
|
|
|
|
(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)
|
|
(inputs
|
|
`(("python2-setuptools" ,python2-setuptools)))
|
|
(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 (non-copyleft "file://COPYING"
|
|
"See COPYING in the distribution."))))
|
|
|
|
|
|
(define-public python-simplejson
|
|
(package
|
|
(name "python-simplejson")
|
|
(version "3.3.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://pypi.python.org/packages/source/s/simplejson/simplejson-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"07wsry5j44l5zzm74l4j2bvasiq8n5m32f31n2p7c68i5vc6p2ks"))))
|
|
(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 x11)))
|
|
|
|
(define-public python2-simplejson
|
|
(package-with-python2 python-simplejson))
|
|
|
|
|
|
(define-public python-pyicu
|
|
(package
|
|
(name "python-pyicu")
|
|
(version "1.9.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://pypi.python.org/packages/source/P/PyICU/PyICU-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1diba0g8md614fvm9yf50paiwdkhj6rd7xwf1rg9mc0pxc0hhn4v"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("icu4c" ,icu4c)))
|
|
(home-page "http://pyicu.osafoundation.org/")
|
|
(synopsis "Python extension wrapping the ICU C++ API")
|
|
(description
|
|
"PyICU is a python extension wrapping the ICU C++ API.")
|
|
(license x11)
|
|
(properties `((python2-variant . ,(delay python2-pyicu))))))
|
|
|
|
(define-public python2-pyicu
|
|
(package
|
|
(inherit (package-with-python2
|
|
(strip-python2-variant python-pyicu)))
|
|
(native-inputs `(("python2-setuptools" ,python2-setuptools)))))
|
|
|
|
(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.8.2")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://fedorahosted.org/released/dogtail/dogtail-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1yc4cg7ip87z15gyd4wy2vzbywrjc52a3m8r8gqy2b50d65llcg1"))))
|
|
(build-system python-build-system)
|
|
(arguments `(#:python ,python-2
|
|
#:tests? #f)) ; invalid command "test"
|
|
(home-page "https://fedorahosted.org/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 gpl2+)))
|
|
|
|
(define-public python2-empy
|
|
(package
|
|
(name "python2-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
|
|
`(#:python ,python-2
|
|
#:phases (alist-replace
|
|
'check
|
|
(lambda _
|
|
(zero? (system* "./test.sh")))
|
|
%standard-phases)))
|
|
(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 lgpl2.1+)))
|
|
|
|
(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 (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
|
|
(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 gpl2)))
|
|
|
|
(define-public python-enum34
|
|
(package
|
|
(name "python-enum34")
|
|
(version "1.1.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "enum34" version))
|
|
(sha256
|
|
(base32
|
|
"0yx1m4564wxgbm4glb3457hi16xihd9w63rv13y2przkdir9dfgp"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(alist-replace
|
|
'check
|
|
(lambda _ (zero? (system* "python" "enum/test_enum.py")))
|
|
%standard-phases)))
|
|
(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 bsd-3)))
|
|
|
|
(define-public python2-enum34
|
|
(package-with-python2 python-enum34))
|
|
|
|
(define-public python-parse-type
|
|
(package
|
|
(name "python-parse-type")
|
|
(version "0.3.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://pypi.python.org/packages/source/p/"
|
|
"parse_type/parse_type-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0iv1c34npr4iynwpgv1vkjx9rjd18a85ir8c01gc5f7wp8iv7l1x"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)
|
|
("python-six" ,python-six)
|
|
("python-parse" ,python-parse)))
|
|
(arguments '(#:tests? #f)) ;TODO: tests require pytest
|
|
(home-page "https://github.com/jenisys/parse_type")
|
|
(synopsis "Extended parse module")
|
|
(description
|
|
"Parse_type extends the python parse module.")
|
|
(license bsd-3)))
|
|
|
|
(define-public python-parse
|
|
(package
|
|
(name "python-parse")
|
|
(version "1.6.6")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "parse" version))
|
|
(sha256
|
|
(base32
|
|
"0y31i3mwgv35qn0kzzjn9q8jqfdqmbi6sr6yfvn8rq4lqjm5lhvi"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(alist-replace
|
|
'check
|
|
(lambda _ (zero? (system* "python" "test_parse.py")))
|
|
%standard-phases)))
|
|
(home-page "https://github.com/r1chardj0n3s/parse")
|
|
(synopsis "Parse strings")
|
|
(description
|
|
"Parse strings using a specification based on the Python format()
|
|
syntax.")
|
|
(license x11)))
|
|
|
|
|
|
(define-public scons
|
|
(package
|
|
(name "scons")
|
|
(version "2.3.4")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://sourceforge/scons/scons-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0hdlci43wjz8maryj83mz04ir6rwcdrrzpd7cpzvdlzycqhdfmsb"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
;; With Python 3.x, fails to build with a syntax error.
|
|
`(#:python ,python-2
|
|
#: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 x11)))
|
|
|
|
(define-public python-extras
|
|
(package
|
|
(name "python-extras")
|
|
(version "0.0.3")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/e/extras/extras-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1h7zx4dfyclalg0fqnfjijpn0f793a9mx8sy3b27gd31nr6dhq3s"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(arguments
|
|
;; error in setup.cfg: command 'test' has no such option 'buffer'
|
|
'(#: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 "0.1.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/p/python-mimeparse/python-mimeparse-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1hyxg09kaj02ri0rmwjqi86wk4nd1akvv7n0dx77azz76wga4s9w"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(arguments
|
|
'(#:tests? #f)) ; no setup.py test command
|
|
(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-nose
|
|
(package
|
|
(name "python-nose")
|
|
(version "1.3.7")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "nose" version))
|
|
(sha256
|
|
(base32
|
|
"164a43k7k2wsqqk1s6vavcdamvss4mz0vd6pwzv2h9n8rgwzxgzi"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(arguments
|
|
'(#:tests? #f)) ; FIXME: test suite fails
|
|
(home-page "http://readthedocs.org/docs/nose/")
|
|
(synopsis "Python testing library")
|
|
(description
|
|
"Nose extends the unittest library to make testing easier.")
|
|
(license lgpl2.0+)))
|
|
|
|
(define-public python2-nose
|
|
(package-with-python2 python-nose))
|
|
|
|
(define-public python-unittest2
|
|
(package
|
|
(name "python-unittest2")
|
|
(version "0.5.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/u/unittest2py3k/unittest2py3k-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"00yl6lskygcrddx5zspkhr0ibgvpknl4678kkm6s626539grq93q"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(home-page "http://pypi.python.org/pypi/unittest2")
|
|
(synopsis "Python unit testing library")
|
|
(description
|
|
"Unittest2 is a replacement for the unittest module in the Python
|
|
standard library.")
|
|
(license psfl)))
|
|
|
|
(define-public python2-unittest2
|
|
(package (inherit python-unittest2)
|
|
(name "python2-unittest2")
|
|
(version "0.5.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/u/unittest2/unittest2-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0wbs4i4x3x7klr3v35ss6p9mcqz883i1xgcpkhvl7n2lyv6yhpda"))))
|
|
(inputs
|
|
`(("python2-setuptools" ,python2-setuptools)))
|
|
(arguments
|
|
`(#:python ,python-2
|
|
#:tests? #f)))) ; no setup.py test command
|
|
|
|
(define-public python-py
|
|
(package
|
|
(name "python-py")
|
|
(version "1.4.31")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "py" version))
|
|
(sha256
|
|
(base32
|
|
"0561gz2w3i825gyl42mcq14y3dcgkapfiv5zv9a2bz15qxiijl56"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(home-page "http://pylib.readthedocs.org/")
|
|
(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))
|
|
|
|
(define-public python-pytest
|
|
(package
|
|
(name "python-pytest")
|
|
(version "2.7.3")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/p/pytest/pytest-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1z4yi986f9n0p8qmzmn21m21m8j1x78hk3505f89baqm6pdw7afm"))
|
|
(modules '((guix build utils)))
|
|
(snippet
|
|
;; One of the tests involves the /usr directory, so it fails.
|
|
'(substitute* "testing/test_argcomplete.py"
|
|
(("def test_remove_dir_prefix\\(self\\):")
|
|
"@pytest.mark.xfail\n def test_remove_dir_prefix(self):")))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)
|
|
("python-py" ,python-py)
|
|
("python-nose" ,python-nose)
|
|
("python-mock" ,python-mock)))
|
|
(home-page "http://pytest.org")
|
|
(synopsis "Python testing library")
|
|
(description
|
|
"Pytest is a testing tool that provides auto-discovery of test modules
|
|
and functions, detailed info on failing assert statements, modular fixtures,
|
|
and many external plugins.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-pytest
|
|
(package-with-python2 python-pytest))
|
|
|
|
(define-public python-pytest-cov
|
|
(package
|
|
(name "python-pytest-cov")
|
|
(version "2.2.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pytest-cov" version))
|
|
(sha256
|
|
(base32
|
|
"1yl4nbhzfgsxqlsyk4clafgp9x11zvgrkprm9i2p3fgkwx9jxcm8"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-coverage" ,python-coverage)
|
|
("python-pytest" ,python-pytest)))
|
|
(home-page "https://github.com/pytest-dev/pytest-cov")
|
|
(synopsis "Pytest plugin for measuring coverage")
|
|
(description
|
|
"Pytest-cov produces coverage reports. It supports centralised testing and
|
|
distributed testing in both @code{load} and @code{each} modes. It also
|
|
supports coverage of subprocesses.")
|
|
(license license:expat)
|
|
(properties `((python2-variant . ,(delay python2-pytest-cov))))))
|
|
|
|
(define-public python2-pytest-cov
|
|
(let ((base (package-with-python2 (strip-python2-variant python-pytest-cov))))
|
|
(package
|
|
(inherit base)
|
|
(inputs `(("python2-setuptools" ,python2-setuptools)
|
|
,@(package-inputs base))))))
|
|
|
|
(define-public python-pytest-runner
|
|
(package
|
|
(name "python-pytest-runner")
|
|
(version "2.6.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pytest-runner" version))
|
|
(sha256
|
|
(base32
|
|
"1nwcqx0l3fv52kv8526wy8ypzghbq96c96di318d98d3wh7a8xg7"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
;; The fancy way of setting the version with setuptools_scm does not
|
|
;; seem to work here.
|
|
(add-after 'unpack 'set-version
|
|
(lambda _
|
|
(substitute* "docs/conf.py"
|
|
(("version = setuptools_scm\\.get_version\\(root='\\.\\.')")
|
|
(string-append "version = \"" ,version "\"")))
|
|
#t)))))
|
|
(native-inputs
|
|
`(("python-pytest" ,python-pytest)
|
|
("python-setuptools-scm" ,python-setuptools-scm)))
|
|
(home-page "https://github.com/pytest-dev/pytest-runner")
|
|
(synopsis "Invoke py.test as a distutils command")
|
|
(description
|
|
"This package provides a @command{pytest-runner} command that
|
|
@file{setup.py} files can use to run tests.")
|
|
(license license:expat)
|
|
(properties `((python2-variant . ,(delay python2-pytest-runner))))))
|
|
|
|
(define-public python2-pytest-runner
|
|
(let ((base (package-with-python2
|
|
(strip-python2-variant python-pytest-runner))))
|
|
(package
|
|
(inherit base)
|
|
(native-inputs `(("python2-setuptools" ,python2-setuptools)
|
|
,@(package-native-inputs base))))))
|
|
|
|
(define-public python2-pytest-runner
|
|
(package-with-python2 python-pytest-runner))
|
|
|
|
(define-public python-pytest-xdist
|
|
(package
|
|
(name "python-pytest-xdist")
|
|
(version "1.14")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "pytest-xdist" version ".zip"))
|
|
(sha256
|
|
(base32
|
|
"08rn2l39ds60xshs4js787l84pfckksqklfq2wq9x8ig2aci2pja"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("unzip" ,unzip)
|
|
("python-setuptools-scm" ,python-setuptools-scm)))
|
|
(inputs
|
|
`(("python-apipkg" ,python-apipkg)
|
|
("python-execnet" ,python-execnet)
|
|
("python-pytest" ,python-pytest)
|
|
("python-py" ,python-py)))
|
|
(home-page
|
|
"https://github.com/pytest-dev/pytest-xdist")
|
|
(synopsis
|
|
"Plugin for py.test with distributed testing and loop-on-failing modes")
|
|
(description
|
|
"The pytest-xdist plugin extends py.test with some unique test execution
|
|
modes: parallelization, running tests in boxed subprocesses, the ability
|
|
to run tests repeatedly when failed, and the ability to run tests on multiple
|
|
Python interpreters or platforms. It uses rsync to copy the existing
|
|
program code to a remote location, executes there, and then syncs the
|
|
result back.")
|
|
(license license:expat)
|
|
(properties `((python2-variant . ,(delay python2-pytest-xdist))))))
|
|
|
|
(define-public python2-pytest-xdist
|
|
(let ((base (package-with-python2
|
|
(strip-python2-variant python-pytest-xdist))))
|
|
(package
|
|
(inherit base)
|
|
(native-inputs `(("python2-setuptools" ,python2-setuptools)
|
|
,@(package-native-inputs base))))))
|
|
|
|
(define-public python-scripttest
|
|
(package
|
|
(name "python-scripttest")
|
|
(version "1.3")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/s/scripttest/scripttest-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0f4w84k8ck82syys7yg9maz93mqzc8p5ymis941x034v44jzq74m"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)
|
|
("python-pytest" ,python-pytest)))
|
|
(home-page "http://pythonpaste.org/scripttest/")
|
|
(synopsis "Python library to test command-line scripts")
|
|
(description "Scripttest is a Python helper library for testing
|
|
interactive command-line applications. With it you can run a script in a
|
|
subprocess and see the output as well as any file modifications.")
|
|
(license license:expat)))
|
|
|
|
(define-public python2-scripttest
|
|
(package-with-python2 python-scripttest))
|
|
|
|
(define-public python-testtools
|
|
(package
|
|
(name "python-testtools")
|
|
(version "1.0.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/t/testtools/testtools-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1dyml28ykpl5jb9khdmcdvhy1cxqingys6qvj2k04fzlaj6z3bbx"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-mimeparse" ,python-mimeparse)))
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)
|
|
("python-extras" ,python-extras)))
|
|
(home-page "https://github.com/testing-cabal/testtools")
|
|
(synopsis
|
|
"Extensions to the Python standard library unit testing framework")
|
|
(description
|
|
"Testtools extends the Python standard library unit testing framework to
|
|
provide matchers, more debugging information, and cross-Python
|
|
compatibility.")
|
|
(license psfl)))
|
|
|
|
(define-public python2-testtools
|
|
(package-with-python2 python-testtools))
|
|
|
|
(define-public python-testscenarios
|
|
(package
|
|
(name "python-testscenarios")
|
|
(version "0.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/t/testscenarios/testscenarios-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1671jvrvqlmbnc42j7pc5y6vc37q44aiwrq0zic652pxyy2fxvjg"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)
|
|
("python-testtools" ,python-testtools)
|
|
("python-mimeparse" ,python-mimeparse)))
|
|
(home-page "https://launchpad.net/testscenarios")
|
|
(synopsis "Pyunit extension for dependency injection")
|
|
(description
|
|
"Testscenarios provides clean dependency injection for Python unittest
|
|
style tests.")
|
|
(license (list bsd-3 asl2.0)))) ; at the user's option
|
|
|
|
(define-public python2-testscenarios
|
|
(package-with-python2 python-testscenarios))
|
|
|
|
(define-public python-testresources
|
|
(package
|
|
(name "python-testresources")
|
|
(version "0.2.7")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/t/testresources/testresources-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0cbj3plbllyz42c4b5xxgwaa7mml54lakslrn4kkhinxhdri22md"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(home-page "https://launchpad.net/testresources")
|
|
(synopsis
|
|
"Pyunit extension for managing test resources")
|
|
(description
|
|
"Testresources is an extension to Python's unittest to allow declarative
|
|
use of resources by test cases.")
|
|
(license (list bsd-3 asl2.0)))) ; at the user's option
|
|
|
|
(define-public python2-testresources
|
|
(package-with-python2 python-testresources))
|
|
|
|
(define-public python-subunit
|
|
(package
|
|
(name "python-subunit")
|
|
(version "0.0.21")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/p/python-subunit/python-subunit-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1nkw9wfbvizmpajbj3in8ns07g7lwkiv8hip14jjlwk3cacls6jv"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)
|
|
("python-testtools" ,python-testtools)
|
|
("python-mimeparse" ,python-mimeparse)
|
|
("python-testscenarios" ,python-testscenarios)))
|
|
(home-page "http://launchpad.net/subunit")
|
|
(synopsis "Python implementation of the subunit protocol")
|
|
(description
|
|
"Python-subunit is a Python implementation of the subunit test streaming
|
|
protocol.")
|
|
(license (list bsd-3 asl2.0)))) ; at the user's option
|
|
|
|
(define-public python2-subunit
|
|
(package-with-python2 python-subunit))
|
|
|
|
;; Recent versions of python-fixtures need a recent version of python-pbr,
|
|
;; which needs a recent version of python-fixtures. To fix this circular
|
|
;; dependency, we keep old versions of python-fixtures and python-pbr to
|
|
;; bootstrap the whole thing:
|
|
;; - python-fixtures-0.3.16 is used to build python-pbr-0.11
|
|
;; - python-pbr-0.11 is used to build python-fixtures
|
|
;; - python-fixtures is used to build python-pbr
|
|
(define-public python-fixtures-0.3.16
|
|
(package
|
|
(name "python-fixtures")
|
|
(version "0.3.16")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/f/fixtures/fixtures-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0x9r2gwilcig5g54k60bxzg96zabizq1855lrprlb4zckalp9asc"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(arguments
|
|
'(#:tests? #f)) ; no setup.py test command
|
|
(home-page "https://launchpad.net/python-fixtures")
|
|
(synopsis "Python test fixture library")
|
|
(description
|
|
"Fixtures provides a way to create reusable state, useful when writing
|
|
Python tests.")
|
|
(license (list bsd-3 asl2.0)))) ; at user's option
|
|
|
|
(define-public python2-fixtures-0.3.16
|
|
(package-with-python2 python-fixtures-0.3.16))
|
|
|
|
(define-public python-pbr-0.11
|
|
(package
|
|
(name "python-pbr")
|
|
(version "0.11.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/p/pbr/pbr-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0v9gb7gyqf7q9s99l0nnjj9ww9b0jvyqlwm4d56pcyinxydddw6p"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:tests? #f)) ;; Most tests seem to use the Internet.
|
|
(inputs
|
|
`(("python-fixtures-0.3.16" ,python-fixtures-0.3.16)
|
|
("python-pip" ,python-pip)
|
|
("python-setuptools" ,python-setuptools)))
|
|
(home-page "https://launchpad.net/pbr")
|
|
(synopsis "Change 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.")
|
|
(license asl2.0)))
|
|
|
|
(define-public python2-pbr-0.11
|
|
(package-with-python2 python-pbr-0.11))
|
|
|
|
(define-public python-pbr
|
|
(package
|
|
(name "python-pbr")
|
|
(version "1.8.1")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/p/pbr/pbr-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0jcny36cf3s8ar5r4a575npz080hndnrfs4np1fqhv0ym4k7c4p2"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:tests? #f)) ;; Most tests seem to use the Internet.
|
|
(propagated-inputs
|
|
`(("python-testrepository" ,python-testrepository)
|
|
("git" ,git))) ;; pbr actually uses the "git" binary.
|
|
(inputs
|
|
`(("python-fixtures" ,python-fixtures)
|
|
("python-mimeparse" ,python-mimeparse)
|
|
("python-mock" ,python-mock)
|
|
("python-setuptools" ,python-setuptools)
|
|
("python-six" ,python-six)
|
|
("python-sphinx" ,python-sphinx)
|
|
("python-testrepository" ,python-testrepository)
|
|
("python-testresources" ,python-testresources)
|
|
("python-testscenarios" ,python-testscenarios)
|
|
("python-testtools" ,python-testtools)
|
|
("python-virtualenv" ,python-virtualenv)))
|
|
(home-page "https://launchpad.net/pbr")
|
|
(synopsis "Change 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.")
|
|
(license asl2.0)))
|
|
|
|
(define-public python2-pbr
|
|
(package-with-python2 python-pbr))
|
|
|
|
(define-public python-fixtures
|
|
(package
|
|
(name "python-fixtures")
|
|
(version "1.4.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "fixtures" version))
|
|
(sha256
|
|
(base32
|
|
"0djxvdwm8s60dbfn7bhf40x6g818p3b3mlwijm1c3bqg7msn271y"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-six" ,python-six)
|
|
("python-pbr-0.11" ,python-pbr-0.11)))
|
|
(inputs
|
|
`(("python-pip" ,python-pip)
|
|
("python-setuptools" ,python-setuptools)
|
|
;; Tests
|
|
("python-testtools" ,python-testtools)))
|
|
(arguments
|
|
'(#:tests? #f)) ; no setup.py test command
|
|
(home-page "https://launchpad.net/python-fixtures")
|
|
(synopsis "Python test fixture library")
|
|
(description
|
|
"Fixtures provides a way to create reusable state, useful when writing
|
|
Python tests.")
|
|
(license (list bsd-3 asl2.0)))) ; at user's option
|
|
|
|
(define-public python2-fixtures
|
|
(package-with-python2 python-fixtures))
|
|
|
|
(define-public python-testrepository
|
|
(package
|
|
(name "python-testrepository")
|
|
(version "0.0.20")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/t/testrepository/testrepository-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1ssqb07c277010i6gzzkbdd46gd9mrj0bi0i8vn560n2k2y4j93m"))))
|
|
(build-system python-build-system)
|
|
(propagated-inputs
|
|
`(("python-fixtures-0.3.16" ,python-fixtures-0.3.16)
|
|
("python-testtools" ,python-testtools)))
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)
|
|
("python-subunit" ,python-subunit)
|
|
("python-mimeparse" ,python-mimeparse)))
|
|
(home-page "https://launchpad.net/testrepository")
|
|
(synopsis "Database for Python test results")
|
|
(description "Testrepository provides a database of test results which can
|
|
be used as part of a developer's workflow to check things such as what tests
|
|
have failed since the last commit or what tests are currently failing.")
|
|
(license (list bsd-3 asl2.0)))) ; at user's option
|
|
|
|
(define-public python2-testrepository
|
|
(package-with-python2 python-testrepository))
|
|
|
|
(define-public python-coverage
|
|
(package
|
|
(name "python-coverage")
|
|
(version "4.0.3")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "coverage" version))
|
|
(sha256
|
|
(base32
|
|
"0qjlja8ny4gcfp8abqfwdrvr8qw9kr69lkja0b4cqqbsdmdjgcc5"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(home-page "http://nedbatchelder.com/code/coverage")
|
|
(synopsis "Code coverage measurement for Python")
|
|
(description
|
|
"Coverage measures code coverage, typically during test execution. It
|
|
uses the code analysis tools and tracing hooks provided in the Python standard
|
|
library to determine which lines are executable, and which have been
|
|
executed.")
|
|
(license bsd-3)))
|
|
|
|
(define-public python2-coverage
|
|
(package-with-python2 python-coverage))
|
|
|
|
(define-public python-discover
|
|
(package
|
|
(name "python-discover")
|
|
(version "0.4.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/d/discover/discover-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0y8d0zwiqar51kxj8lzmkvwc3b8kazb04gk5zcb4nzg5k68zmhq5"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(home-page "http://pypi.python.org/pypi/discover/")
|
|
(synopsis
|
|
"Python test discovery for unittest")
|
|
(description
|
|
"Discover provides test discovery for unittest, a feature that has been
|
|
backported from Python 2.7 for Python 2.4+.")
|
|
(license bsd-3)))
|
|
|
|
(define-public python2-discover
|
|
(package-with-python2 python-discover))
|
|
|
|
(define-public behave
|
|
(package
|
|
(name "behave")
|
|
(version "1.2.4")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://pypi.python.org/packages/source/b/"
|
|
name "/" name "-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1v2rfy8xnf0rk7cj4cgr7lam4015d458i7bg0xqs9czfv6njlm14"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)
|
|
("python-six" ,python-six)
|
|
("python-parse" ,python-parse)
|
|
("python-parse-type" ,python-parse-type)))
|
|
(arguments `(#:tests? #f)) ;TODO: tests require nose>=1.3 and
|
|
;PyHamcrest>=1.8
|
|
(home-page "http://github.com/behave/behave")
|
|
(synopsis "Python behavior-driven development")
|
|
(description
|
|
"Behave is a tool for behavior-driven development in python.
|
|
Behavior-driven development (or BDD) is an agile software development
|
|
technique that encourages collaboration between developers, QA and
|
|
non-technical or business participants in a software project. Behave uses
|
|
tests written in a natural language style, backed up by Python code.")
|
|
(license x11)))
|
|
|
|
(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)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(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 bsd-3)))
|
|
|
|
(define-public python2-exif-read
|
|
(package-with-python2 python-exif-read))
|
|
|
|
(define-public python-pyld
|
|
(package
|
|
(name "python-pyld")
|
|
(version "0.6.8")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "PyLD" version))
|
|
(sha256
|
|
(base32
|
|
"0k881ffazpf8q1z8862g4bb3pzwpnz9whrci2mf311mvn1qbyqad"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(arguments `(#:tests? #f)) ; no tests
|
|
(home-page "http://github.com/digitalbazaar/pyld")
|
|
(synopsis "Python implementation of the JSON-LD specification")
|
|
(description
|
|
"PyLD is an implementation of the JSON-LD specification.")
|
|
(license bsd-3)))
|
|
|
|
(define-public python2-pyld
|
|
(package-with-python2 python-pyld))
|
|
|
|
(define-public python-certifi
|
|
(package
|
|
(name "python-certifi")
|
|
(version "2015.11.20.1")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "certifi" version))
|
|
(sha256
|
|
(base32
|
|
"05lgwf9rz1kn465azy2bpb3zmpnsn9gkypbhnjlclchv98ssgc1h"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(arguments `(#:tests? #f)) ; no tests
|
|
(home-page "http://python-requests.org/")
|
|
(synopsis "Python CA certificate bundle")
|
|
(description
|
|
"Certifi is a Python library that contains a CA certificate bundle, which
|
|
is used by the Requests library to verify HTTPS requests.")
|
|
(license asl2.0)))
|
|
|
|
(define-public python2-certifi
|
|
(package-with-python2 python-certifi))
|
|
|
|
(define-public python-click
|
|
(package
|
|
(name "python-click")
|
|
(version "6.6")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/"
|
|
"7a/00/c14926d8232b36b08218067bcd5853caefb4737cda3f0a47437151344792/"
|
|
"click-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1sggipyz52crrybwbr9xvwxd4aqigvplf53k9w3ygxmzivd1jsnc"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(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 bsd-3)))
|
|
|
|
(define-public python2-click
|
|
(package-with-python2 python-click))
|
|
|
|
(define-public python-wheel
|
|
(package
|
|
(name "python-wheel")
|
|
(version "0.29.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "wheel" version))
|
|
(sha256
|
|
(base32
|
|
"0j0n38hg1jvrmyy68f9ikvzq1gs9g0sx4ws7maf8wi3bwbbqmfqy"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-setuptools" ,python-setuptools)
|
|
("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-requests
|
|
(package
|
|
(name "python-requests")
|
|
(version "2.9.1")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "requests" version))
|
|
(sha256
|
|
(base32
|
|
"0zsqrzlybf25xscgi7ja4s48y2abf9wvjkn47wh984qgs1fq2xy5"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-setuptools" ,python-setuptools)
|
|
("python-py" ,python-py)
|
|
("python-pytest" ,python-pytest)
|
|
("python-pytest-cov" ,python-pytest-cov)
|
|
("python-wheel" ,python-wheel)))
|
|
(home-page "http://python-requests.org/")
|
|
(synopsis "Python HTTP library")
|
|
(description
|
|
"Requests is a Python HTTP client library. It aims to be easier to use
|
|
than Python’s urllib2 library.")
|
|
(license asl2.0)))
|
|
|
|
;; Some software requires an older version of Requests, notably Docker
|
|
;; Compose.
|
|
(define-public python-requests-2.7
|
|
(package (inherit python-requests)
|
|
(version "2.7.0")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "requests" version))
|
|
(sha256
|
|
(base32
|
|
"0gdr9dxm24amxpbyqpbh3lbwxc2i42hnqv50sigx568qssv3v2ir"))))))
|
|
|
|
(define-public python2-requests
|
|
(package-with-python2 python-requests))
|
|
|
|
(define-public python-vcversioner
|
|
(package
|
|
(name "python-vcversioner")
|
|
(version "2.14.0.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "vcversioner" version))
|
|
(sha256
|
|
(base32
|
|
"11ivq1bm7v0yb4nsfbv9m7g7lyjn112gbvpjnjz8nv1fx633dm5c"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(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 isc)))
|
|
|
|
(define-public python2-vcversioner
|
|
(package-with-python2 python-vcversioner))
|
|
|
|
(define-public python-jsonschema
|
|
(package
|
|
(name "python-jsonschema")
|
|
(version "2.5.1")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri
|
|
(string-append
|
|
"https://pypi.python.org/packages/source/j/jsonschema/jsonschema-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0hddbqjm4jq63y8jf44nswina1crjs16l9snb6m3vvgyg31klrrn"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)
|
|
("python-vcversioner" ,python-vcversioner)))
|
|
(home-page "http://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)
|
|
(inputs
|
|
`(("python2-functools32" ,python2-functools32)
|
|
,@(package-inputs jsonschema))))))
|
|
|
|
(define-public python-unidecode
|
|
(package
|
|
(name "python-unidecode")
|
|
(version "0.04.18")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "Unidecode" version))
|
|
(sha256
|
|
(base32
|
|
"12hhblqy1ajvidm38im4171x4arg83pfmziyn53nizp29p3m14gi"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(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 intelligeble.")
|
|
(license gpl2+)))
|
|
|
|
(define-public python2-unidecode
|
|
(package-with-python2 python-unidecode))
|
|
|
|
(define-public python-pyjwt
|
|
(package
|
|
(name "python-pyjwt")
|
|
(version "1.4.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "PyJWT" version))
|
|
(sha256
|
|
(base32
|
|
"1556v2jppd8mjkkj66pxb5rcazm35jq81r233mdl8hfmz9n3icp1"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-setuptools" ,python-setuptools)
|
|
("python-pytest-runner" ,python-pytest-runner)))
|
|
(arguments
|
|
'(#:tests? #f)) ; test suite doesn't work
|
|
(home-page "http://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-oauthlib
|
|
(package
|
|
(name "python-oauthlib")
|
|
(version "1.0.3")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "oauthlib" version))
|
|
(sha256
|
|
(base32
|
|
"1bfrj70vdjxjw74khbyh6f0dksv7p5rh2346jnlrffyacd3gwjzg"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-coverage" ,python-coverage)
|
|
("python-nose" ,python-nose)
|
|
("python-mock" ,python-mock)))
|
|
(inputs
|
|
`(("python-blinker" ,python-blinker)
|
|
("python-cryptography" ,python-cryptography)
|
|
("python-pyjwt" ,python-pyjwt)))
|
|
(home-page "https://github.com/idan/oauthlib")
|
|
(synopsis "OAuth implementation for Python")
|
|
(description
|
|
"Oauthlib is a generic, spec-compliant, thorough implementation of the
|
|
OAuth request-signing logic.")
|
|
(license bsd-3)
|
|
(properties `((python2-variant . ,(delay python2-oauthlib))))))
|
|
|
|
(define-public python2-oauthlib
|
|
(let ((base (package-with-python2 (strip-python2-variant python-oauthlib))))
|
|
(package
|
|
(inherit base)
|
|
(native-inputs `(("python2-setuptools" ,python2-setuptools)
|
|
("python2-unittest2" ,python2-unittest2)
|
|
,@(package-native-inputs base))))))
|
|
|
|
(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 "http://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 bsd-3)
|
|
(properties `((python2-variant . ,(delay python2-itsdangerous))))))
|
|
|
|
(define-public python2-itsdangerous
|
|
(let ((base (package-with-python2
|
|
(strip-python2-variant python-itsdangerous))))
|
|
(package
|
|
(inherit base)
|
|
(native-inputs `(("python2-setuptools" ,python2-setuptools)
|
|
,@(package-native-inputs base))))))
|
|
|
|
(define-public python-pyyaml
|
|
(package
|
|
(name "python-pyyaml")
|
|
(version "3.11")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/P/PyYAML/PyYAML-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1s26125vfnskng58ym37xhwv8v0mm95b2cwbjfag8prfhy596v63"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("libyaml" ,libyaml)))
|
|
(native-inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(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-virtualenv
|
|
(package
|
|
(name "python-virtualenv")
|
|
(version "13.1.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "virtualenv" version))
|
|
(sha256
|
|
(base32
|
|
"1p732accxwqfjbdna39k8w8lp9gyw91vr4kzkhm8mgfxikqqxg5a"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'check
|
|
(lambda _ (zero? (system* "py.test")))))))
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)
|
|
("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 "0.23")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1hvip33wva3fnmvfp9x5klqri7hpl1hkgqmjbss18nmrb7zimv54"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(home-page "http://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 bsd-3)))
|
|
|
|
(define-public python2-markupsafe
|
|
(package-with-python2 python-markupsafe))
|
|
|
|
(define-public python-jinja2
|
|
(package
|
|
(name "python-jinja2")
|
|
(version "2.8")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "Jinja2" version))
|
|
(sha256
|
|
(base32
|
|
"1x0v41lp5m1pjix3l46zx02b7lqp2hflgpnxwkywxynvi3zz47xw"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)
|
|
("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 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)
|
|
(native-inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(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)))
|
|
|
|
(define-public python2-pystache
|
|
(package-with-python2 python-pystache))
|
|
|
|
(define-public python-joblib
|
|
(package
|
|
(name "python-joblib")
|
|
(version "0.9.0b4")
|
|
(source (origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://pypi.python.org/packages/source/"
|
|
"j/joblib/joblib-" version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1dvw3f8jgj6h0fxkghbgyclvdzc7l0ig7n0vis70awb5kczb9bs3"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-setuptools" ,python-setuptools)
|
|
("python-nose" ,python-nose)))
|
|
(home-page "http://pythonhosted.org/joblib/")
|
|
(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 bsd-3)))
|
|
|
|
(define-public python2-joblib
|
|
(package-with-python2 python-joblib))
|
|
|
|
(define-public python-docutils
|
|
(package
|
|
(name "python-docutils")
|
|
(version "0.12")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/d/docutils/docutils-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"1ylnjnw1x4b2y7blr6x35ncdzn69k253kw4cdkv6asdb21w73ny7"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(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 public-domain psfl bsd-2 gpl3+))))
|
|
|
|
(define-public python2-docutils
|
|
(package-with-python2 python-docutils))
|
|
|
|
(define-public python-pygments
|
|
(package
|
|
(name "python-pygments")
|
|
(version "2.0.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "Pygments" version))
|
|
(sha256
|
|
(base32
|
|
"0lagrwifsgn0s8bzqahpr87p7gd38xja8f06akscinp6hj89283k"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(home-page "http://pygments.org/")
|
|
(synopsis "Syntax highlighting")
|
|
(description
|
|
"Pygments is a syntax highlighting package written in Python.")
|
|
(license bsd-2)))
|
|
|
|
(define-public python2-pygments
|
|
(package-with-python2 python-pygments))
|
|
|
|
(define-public python-sphinx
|
|
(package
|
|
(name "python-sphinx")
|
|
(version "1.2.3")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://pypi.python.org/packages/source/S/Sphinx/Sphinx-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"011xizm3jnmf4cvs5i6kgf6c5nn046h79i8j0vd0f27yw9j3p4wl"))))
|
|
(build-system python-build-system)
|
|
(inputs
|
|
`(("python-setuptools" ,python-setuptools)
|
|
("python-jinja2" ,python-jinja2)
|
|
("python-docutils" ,python-docutils)
|
|
("python-pygments" ,python-pygments)))
|
|
(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 bsd-3)))
|
|
|
|
(define-public python2-sphinx
|
|
(package-with-python2 python-sphinx))
|
|
|
|
(define-public python-sphinx-rtd-theme
|
|
(package
|
|
(name "python-sphinx-rtd-theme")
|
|
(version "0.1.6")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://pypi.python.org/packages/source/s/"
|
|
"sphinx_rtd_theme/sphinx_rtd_theme-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"19nw3rn7awplcdrz63kg1njqwkbymfg9lwn7l2grhdyhyr2gaa8g"))))
|
|
(build-system python-build-system)
|
|
(arguments
|
|
`(;; With standard flags, the install phase attempts to create a zip'd
|
|
;; egg file, and fails with an error: 'ZIP does not support timestamps
|
|
;; before 1980'
|
|
#:configure-flags '("--single-version-externally-managed"
|
|
"--record=sphinx-rtd-theme.txt")))
|
|
(native-inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
(inputs
|
|
`(("python-docutils" ,python-docutils)
|
|
("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-feedgenerator
|
|
(package
|
|
(name "python-feedgenerator")
|
|
(version "1.8")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (pypi-uri "feedgenerator" version))
|
|
(sha256
|
|
(base32
|
|
"0mkimp1fpdan4p3882vzcws4l594k71ich4g0wq97jbra7p602n0"))))
|
|
(build-system python-build-system)
|
|
(native-inputs
|
|
`(("python-setuptools" ,python-setuptools)
|
|
("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 bsd-3)))
|
|
|
|
(define-public python2-feedgenerator
|
|
(package-with-python2 python-feedgenerator))
|
|
|
|
(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)
|
|
(native-inputs
|
|
`(("python-setuptools" ,python-setuptools)))
|
|
;; No "test" command supplied to setuptools, so unless there's another way
|
|
;; to run tests, we're skipping them!
|
|
(arguments '(#:tests? #f))
|
|
(home-page "http://pythonhosted.org/blinker/")
|
|
|