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 |