guix-more/more/packages/python.scm

python.scm

1
;;; GNU Guix --- Functional package management for GNU
2
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
3
;;;
4
;;; This file is part of GNU Guix.
5
;;;
6
;;; GNU Guix is free software; you can redistribute it and/or modify it
7
;;; under the terms of the GNU General Public License as published by
8
;;; the Free Software Foundation; either version 3 of the License, or (at
9
;;; your option) any later version.
10
;;;
11
;;; GNU Guix is distributed in the hope that it will be useful, but
12
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
;;; GNU General Public License for more details.
15
;;;
16
;;; You should have received a copy of the GNU General Public License
17
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
18
19
(define-module (more packages python)
20
  #:use-module ((guix licenses) #:prefix license:)
21
  #:use-module (gnu packages)
22
  #:use-module (gnu packages python)
23
  #:use-module (guix packages)
24
  #:use-module (guix download)
25
  #:use-module (guix git-download)
26
  #:use-module (guix utils)
27
  #:use-module (guix build-system gnu)
28
  #:use-module (guix build-system cmake)
29
  #:use-module (guix build-system python)
30
  #:use-module (guix build-system trivial)
31
  #:use-module (srfi srfi-1))
32
33
(define-public python-setuptools-scm
34
  (package
35
    (name "python-setuptools-scm")
36
    (version "1.15.0")
37
    (source (origin
38
              (method url-fetch)
39
              (uri (pypi-uri "setuptools_scm" version))
40
              (sha256
41
               (base32
42
                "0bwyc5markib0i7i2qlyhdzxhiywzxbkfiapldma8m91m82jvwfs"))))
43
    (build-system python-build-system)
44
    (home-page "https://github.com/pypa/setuptools_scm/")
45
    (synopsis "Manage Python package versions in SCM metadata")
46
    (description
47
     "Setuptools_scm handles managing your Python package versions in
48
@dfn{software configuration management} (SCM) metadata instead of declaring
49
them as the version argument or in a SCM managed file.")
50
    (license license:expat)))
51
52
(define-public python2-setuptools-scm
53
  (package-with-python2 python-setuptools-scm))
54
55
(define-public python-pytest-runner
56
  (package
57
    (name "python-pytest-runner")
58
    (version "2.11")
59
    (source
60
     (origin
61
       (method url-fetch)
62
       (uri (pypi-uri "pytest-runner" version))
63
       (sha256
64
        (base32
65
         "08rizp3zz8fdm2a5j97rcq3hddbhq5f6k0vr35amjj83zqpawk5x"))))
66
    (build-system python-build-system)
67
    (arguments
68
     `(#:phases
69
       (modify-phases %standard-phases
70
         ;; The fancy way of setting the version with setuptools_scm does not
71
         ;; seem to work here.
72
         (add-after 'unpack 'set-version
73
          (lambda _
74
            (substitute* "docs/conf.py"
75
              (("version = setuptools_scm\\.get_version\\(root='\\.\\.')")
76
               (string-append "version = \"" ,version "\"")))
77
            #t)))))
78
    (native-inputs
79
     `(("python-pytest" ,python-pytest)
80
       ("python-setuptools-scm" ,python-setuptools-scm)))
81
    (home-page "https://github.com/pytest-dev/pytest-runner")
82
    (synopsis "Invoke py.test as a distutils command")
83
    (description
84
     "This package provides a @command{pytest-runner} command that
85
@file{setup.py} files can use to run tests.")
86
    (license license:expat)))
87
88
(define-public python2-pytest-runner
89
  (package-with-python2 python-pytest-runner))
90
91
(define-public python-utils
92
  (package
93
    (name "python-utils")
94
    (version "2.0.1")
95
    (source (origin
96
              (method url-fetch)
97
              (uri (pypi-uri "python-utils" version))
98
              (sha256
99
               (base32
100
                "1zvrc1rc06n89pycg969pcy30bff4sqzhff365sxh629ybnl8pwq"))))
101
    (build-system python-build-system)
102
    (native-inputs
103
     `(("pytest-runner" ,python-pytest-runner)))
104
    (home-page "https://github.com/WoLpH/python-utils")
105
    (synopsis "Convenient utilities not included with the standard Python install")
106
    (description
107
      "Python Utils is a collection of small Python functions and classes which
108
make common patterns shorter and easier.")
109
    (license license:bsd-2)))
110
111
(define-public python2-utils
112
  (package-with-python2 python-utils))
113
114
(define-public python-cooldict
115
  (package
116
    (name "python-cooldict")
117
    (version "1.02")
118
    (source (origin
119
              (method url-fetch)
120
              (uri (pypi-uri "cooldict" version))
121
              (sha256
122
               (base32
123
                "084if0s504576nph0f6glmg3mmvijq7nbnf65hh22gwwdwrjss83"))))
124
    (build-system python-build-system)
125
    (home-page "https://github.com/zardus/cooldict")
126
    (synopsis "Some useful dict-like structures")
127
    (description "Some useful dict-like structures.")
128
    (license license:bsd-2)))
129
130
(define-public python2-cooldict
131
  (package-with-python2 python-cooldict))
132
 
133
(define-public python-cachetools
134
  (package
135
    (name "python-cachetools")
136
    (version "2.0.0")
137
    (source (origin
138
              (method url-fetch)
139
              (uri (pypi-uri "cachetools" version))
140
              (sha256
141
               (base32
142
                "0a56ydsvsri1r19ny55g0x7jsgjl9n02vnxbhfz0vhhd4h174nki"))))
143
    (build-system python-build-system)
144
    (home-page "https://github.com/tkem/cachetools")
145
    (synopsis "Memoizing collections and decorators including lru_cache")
146
    (description "This module provides various memoizing collections and
147
decorators, including variants of the Python 3 Standard Library @code{lru_cache}
148
function decorator.")
149
    (license license:expat)))
150
151
(define-public python2-cachetools
152
  (package-with-python2 python-cachetools))
153
154
(define-public python-bintrees
155
  (package
156
    (name "python-bintrees")
157
    (version "2.0.4")
158
    (source (origin
159
              (method url-fetch)
160
              (uri (pypi-uri "bintrees" version))
161
              (sha256
162
               (base32
163
                "1q71md58i33qpjhwgi9ph9hpgch1dy2i6n4qljyl0x410rhikfvc"))))
164
    (build-system python-build-system)
165
    (home-page "https://github.com/mozman/bintrees")
166
    (synopsis "Provides Binary- RedBlack- and AVL-Trees written in Python and Cython/C")
167
    (description "This package provides Binary- RedBlack- and AVL-Trees written
168
in Python and Cython/C.
169
170
This Classes are much slower than the built-in dict class, but all
171
iterators/generators yielding data in sorted key order. Trees can be uses as
172
drop in replacement for dicts in most cases.")
173
    (license license:expat)))
174
175
(define-public python2-bintrees
176
  (package-with-python2 python-bintrees))
177
 
178
(define-public python2-dpkt
179
  (package
180
    (name "python2-dpkt")
181
    (version "1.8.8")
182
    (source (origin
183
              (method url-fetch)
184
              (uri (pypi-uri "dpkt" version))
185
              (sha256
186
               (base32
187
                "004qsqzg3fwkh623l1y8j62ai166hr02y192s7n1hs166kjjb5fr"))
188
            (modules '((guix build utils)))
189
            (snippet
190
             '(substitute* "setup.py"
191
                (("os.system\\('py2dsc-deb ' + sdist_file\\)") "")))))
192
    (build-system python-build-system)
193
    (arguments
194
     `(#:python ,python-2))
195
    (home-page "https://github.com/kbandla/dpkt")
196
    (synopsis "Fast, simple network packet creation / parsing")
197
    (description "Fast, simple packet creation / parsing, with definitions for
198
the basic TCP/IP protocols.")
199
    (license license:bsd-3)))
200
 
201
(define-public python-rpyc
202
  (package
203
    (name "python-rpyc")
204
    (version "3.3.0")
205
    (source (origin
206
              (method url-fetch)
207
              (uri (pypi-uri "rpyc" version))
208
              (sha256
209
               (base32
210
                "0jwbxxf5f8l05pwh7ilg380y4pqv3nxibaszbwpl9gzh2i9q9yj3"))))
211
    (build-system python-build-system)
212
    (home-page "https://github.com/tomerfiliba/rpyc")
213
    (synopsis "Remote procedure call for Python")
214
    (description "Remote Python Call is a transparent library for symmetrical
215
remote procedure calls, clustering, and distributed-computing.  RPyC makes use
216
of object-proxying, a technique that employs python's dynamic nature, to
217
overcome the physical boundaries between processes and computers, so that
218
remote objects can be manipulated as if they were local.")
219
    (license license:expat)))
220
221
(define-public python2-rpyc
222
  (package-with-python2 python-rpyc))
223
224
(define-public python-progressbar2
225
  (package
226
    (name "python-progressbar2")
227
    (version "3.12.0")
228
    (source (origin
229
              (method url-fetch)
230
              (uri (pypi-uri "progressbar2" version))
231
              (sha256
232
               (base32
233
                "16r21cpjvv0spf4mymgpy7hx6977iy11k44n2w9kipwg4lhwh02k"))))
234
    (build-system python-build-system)
235
    (native-inputs
236
     `(("pytest-runner" ,python-pytest-runner)))
237
    (home-page "https://github.com/WoLpH/python-progressbar")
238
    (synopsis "A text progress bar for python")
239
    (description "A text progress bar is typically used to display the progress
240
of a long running operation, providing a visual cue that processing is underway.
241
242
The ProgressBar class manages the current progress, and the format of the line
243
is given by a number of widgets.  A widget is an object that may display
244
differently depending on the state of the progress bar.")
245
    (license license:bsd-2)))
246
247
(define-public python2-progressbar2
248
  (package-with-python2 python-progressbar2))
249
 
250
(define-public python-mulpyplexer
251
  (package
252
    (name "python-mulpyplexer")
253
    (version "0.07")
254
    (source (origin
255
              (method url-fetch)
256
              (uri (pypi-uri "mulpyplexer" version))
257
              (sha256
258
               (base32
259
                "1j5gm913adc8f0mn9y6a9wm9h78jb7ykr8i00yysfcy6ah2ilp9v"))))
260
    (build-system python-build-system)
261
    (home-page "https://github.com/zardus/mulpyplexer")
262
    (synopsis "Multiplex interactions with lists of python objects")
263
    (description "Mulpyplexer is a piece of code that can multiplex interactions with lists of python objects.")
264
    (license license:bsd-2)))
265
266
(define-public python2-mulpyplexer
267
  (package-with-python2 python-mulpyplexer))
268
269
;; Not reproducible.
270
(define-public python-ana
271
  (package
272
    (name "python-ana")
273
    (version "0")
274
    (source (origin
275
              (method git-fetch)
276
              (uri (git-reference
277
                    (url "https://github.com/zardus/ana.git")
278
                    (commit "94928f773661eaa5a6c2dec40dad199c70daedab")))
279
              (sha256
280
               (base32
281
                "0f2wdhs0xwpnk9lznxl96b2yzcz1641wbqrh1aid7q2pm60v6dhv"))
282
              (file-name (string-append name "-" version))))
283
    (build-system python-build-system)
284
    (home-page "https://github.com/zardus/ana")
285
    (synopsis "Provide easy distributed data storage for python objects")
286
    (description "ANA is a project to provide easy distributed data storage for
287
stuff.  It provides every object with a UUID and, when pickled, will first
288
serialize the object's state to a central location and then \"pickle\" the
289
object into just its UUID.  This is really handy when you have to distribute
290
objects in some distributed system, and you'd rather not pickle the whole
291
object every time you need to send it.")
292
    (license license:bsd-2)))
293
294
;; Not reproducible.
295
(define-public python2-ana
296
  (package-with-python2 python-ana))
297