projects/guix·blob wip-container · refs

519 lines · 17.9 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2015 Cyril Roelandt <[email protected]>
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 (gnu packages openstack)
20 #:use-module (gnu packages python)
21 #:use-module (gnu packages version-control)
22 #:use-module (guix build-system python)
23 #:use-module (guix download)
24 #:use-module ((guix licenses)
25 #:select (asl2.0))
26 #:use-module (guix packages))
27
28(define-public python-bandit
29 (package
30 (name "python-bandit")
31 (version "0.13.2")
32 (source
33 (origin
34 (method url-fetch)
35 (uri (string-append
36 "https://pypi.python.org/packages/source/b/bandit/bandit-"
37 version ".tar.gz"))
38 (sha256
39 (base32
40 "03g3cflvrc99ncjd611iy5nnnscsc2vgnrx4mjaqyx8glbfw8y7g"))))
41 (build-system python-build-system)
42 (propagated-inputs
43 `(("python-appdirs" ,python-appdirs)
44 ("python-pyyaml" ,python-pyyaml)
45 ("python-six" ,python-six)
46 ("python-stevedore" ,python-stevedore)))
47 (inputs
48 `(("python-pbr" ,python-pbr)
49 ("python-setuptools" ,python-setuptools)
50 ;; Tests
51 ("python-fixtures" ,python-fixtures)
52 ("python-mock" ,python-mock)
53 ("python-testrepository" ,python-testrepository)
54 ("python-testscenarios" ,python-testscenarios)
55 ("python-testtools" ,python-testtools)))
56 (home-page "https://wiki.openstack.org/wiki/Security/Projects/Bandit")
57 (synopsis "Security oriented static analyser for python code.")
58 (description
59 "Bandit is a tool designed to find common security issues in Python code.
60To do this Bandit processes each file, builds an AST from it, and runs
61appropriate plugins against the AST nodes. Once Bandit has finished scanning
62all the files it generates a report.")
63 (license asl2.0)))
64
65(define-public python2-bandit
66 (package-with-python2 python-bandit))
67
68(define-public python-debtcollector
69 (package
70 (name "python-debtcollector")
71 (version "0.5.0")
72 (source
73 (origin
74 (method url-fetch)
75 (uri (string-append
76 "https://pypi.python.org/packages/source/d/debtcollector/"
77 "debtcollector-" version ".tar.gz"))
78 (sha256
79 (base32
80 "0amlcg5f98lk2mfzdg44slh1nsi2y4ds123g5d57376fjk2b3njd"))))
81 (build-system python-build-system)
82 (propagated-inputs
83 `(("python-six" ,python-six)
84 ("python-wrapt" ,python-wrapt)))
85 (inputs
86 `(("python-babel" ,python-babel)
87 ("python-pbr" ,python-pbr)
88 ("python-setuptools" ,python-setuptools)
89 ;; Tests.
90 ("python-oslotest" ,python-oslotest)))
91 (home-page "http://www.openstack.org/")
92 (synopsis
93 "Find deprecated patterns and strategies in Python code")
94 (description
95 "This package provides a collection of Python deprecation patterns and
96strategies that help you collect your technical debt in a non-destructive
97manner.")
98 (license asl2.0)))
99
100(define-public python2-debtcollector
101 (package-with-python2 python-debtcollector))
102
103(define-public python-mox3
104 (package
105 (name "python-mox3")
106 (version "0.8.0")
107 (source
108 (origin
109 (method url-fetch)
110 (uri (string-append
111 "https://pypi.python.org/packages/source/m/mox3/mox3-"
112 version
113 ".tar.gz"))
114 (sha256
115 (base32
116 "1dwj9lkifdqvrcympqa47bj55l0n0j9jhzv2gj03h0dpzg6mgfkj"))))
117 (build-system python-build-system)
118 (inputs
119 `(("python-fixtures" ,python-fixtures)
120 ("python-pbr" ,python-pbr)
121 ("python-setuptools" ,python-setuptools)
122 ("python-six" ,python-six)
123 ("python-testtools" ,python-testtools)))
124 (home-page "http://www.openstack.org/")
125 (synopsis "Mock object framework for Python")
126 (description
127 "Mox3 is an unofficial port of the Google mox framework
128(http://code.google.com/p/pymox/) to Python 3. It was meant to be as compatible
129with mox as possible, but small enhancements have been made. The library was
130tested on Python version 3.2, 2.7 and 2.6.")
131 (license asl2.0)))
132
133(define-public python-os-client-config
134 (package
135 (name "python-os-client-config")
136 (version "1.4.0")
137 (source
138 (origin
139 (method url-fetch)
140 (uri (string-append
141 "https://pypi.python.org/packages/source/o/os-client-config/os-client-config-"
142 version
143 ".tar.gz"))
144 (sha256
145 (base32
146 "14png6ml3zbbilh8bihav24f8vig9lyijwynnjcvazdxxrzvwq9j"))))
147 (build-system python-build-system)
148 (arguments
149 `(#:tests? #f)) ;; Circular dependency with python-oslotest
150 (inputs
151 `(("python-appdirs" ,python-appdirs)
152 ("python-fixtures" ,python-fixtures)
153 ("python-mimeparse" ,python-mimeparse)
154 ("python-pbr" ,python-pbr)
155 ("python-pyyaml" ,python-pyyaml)
156 ("python-testrepository" ,python-testrepository)
157 ("python-setuptools" ,python-setuptools)
158 ("python-testscenarios" ,python-testscenarios)
159 ("python-testtools" ,python-testtools)))
160 (home-page "http://www.openstack.org/")
161 (synopsis
162 "OpenStack Client Configuration Library")
163 (description
164 "The OpenStack Client Configuration Library is a library for collecting
165 client configuration for using an OpenStack cloud in a consistent and
166 comprehensive manner.")
167 (license asl2.0)))
168
169(define-public python2-os-client-config
170 (package-with-python2 python-os-client-config))
171
172(define-public python2-mox3
173 (package-with-python2 python-mox3))
174
175(define-public python-pbr
176 (package
177 (name "python-pbr")
178 (version "1.6.0")
179 (source
180 (origin
181 (method url-fetch)
182 (uri (string-append
183 "https://pypi.python.org/packages/source/p/pbr/pbr-"
184 version
185 ".tar.gz"))
186 (sha256
187 (base32
188 "1lg1klrczvzfan89y3bl9ykrknl3nb01vvai37fkww24apzyibjf"))))
189 (build-system python-build-system)
190 (arguments
191 `(#:tests? #f)) ;; Most tests seem to use the Internet.
192 (propagated-inputs
193 `(("python-testrepository" ,python-testrepository)
194 ("git" ,git))) ;; pbr actually uses the "git" binary.
195 (inputs
196 `(("python-fixtures" ,python-fixtures)
197 ("python-mimeparse" ,python-mimeparse)
198 ("python-mock" ,python-mock)
199 ("python-setuptools" ,python-setuptools)
200 ("python-six" ,python-six)
201 ("python-sphinx" ,python-sphinx)
202 ("python-testrepository" ,python-testrepository)
203 ("python-testresources" ,python-testresources)
204 ("python-testscenarios" ,python-testscenarios)
205 ("python-testtools" ,python-testtools)
206 ("python-virtualenv" ,python-virtualenv)))
207 (home-page "https://launchpad.net/pbr")
208 (synopsis "Change the default behavior of Python’s setuptools")
209 (description
210 "Python Build Reasonableness (PBR) is a library that injects some useful
211and sensible default behaviors into your setuptools run.")
212 (license asl2.0)))
213
214(define-public python2-pbr
215 (package-with-python2 python-pbr))
216
217(define-public python-requests-mock
218 (package
219 (name "python-requests-mock")
220 (version "0.6.0")
221 (source
222 (origin
223 (method url-fetch)
224 (uri (string-append
225 "https://pypi.python.org/packages/source/r/requests-mock/"
226 "requests-mock-" version ".tar.gz"))
227 (sha256
228 (base32
229 "0gmd88c224y53b1ai8cfsrcxm9kw3gdqzysclmnaqspg7zjhxwd1"))))
230 (build-system python-build-system)
231 (propagated-inputs
232 `(("python-requests" ,python-requests)
233 ("python-six" ,python-six)))
234 (inputs
235 `(("python-mock" ,python-mock)
236 ("python-pbr" ,python-pbr)
237 ("python-setuptools" ,python-setuptools)))
238 (home-page "https://requests-mock.readthedocs.org/")
239 (synopsis "Mock out responses from the requests package")
240 (description
241 "This module provides a building block to stub out the HTTP requests
242portions of your testing code.")
243 (license asl2.0)))
244
245(define-public python2-requests-mock
246 (package-with-python2 python-requests-mock))
247
248(define-public python-stevedore
249 (package
250 (name "python-stevedore")
251 (version "1.7.0")
252 (source
253 (origin
254 (method url-fetch)
255 (uri (string-append
256 "https://pypi.python.org/packages/source/s/stevedore/stevedore-"
257 version
258 ".tar.gz"))
259 (sha256
260 (base32
261 "149pjc0c3z6khjisn4yil3f94qjnzwafz093wc8rrzbw828qdkv8"))))
262 (build-system python-build-system)
263 (propagated-inputs
264 `(("python-six" ,python-six)))
265 (inputs
266 `(("python-pbr" ,python-pbr)
267 ("python-setuptools" ,python-setuptools)
268 ;; Tests
269 ("python-docutils" ,python-docutils)
270 ("python-mock" ,python-mock)
271 ("python-oslotest" ,python-oslotest)
272 ("python-sphinx" ,python-sphinx)))
273 (home-page "https://github.com/dreamhost/stevedore")
274 (synopsis "Manage dynamic plugins for Python applications")
275 (description
276 "Python makes loading code dynamically easy, allowing you to configure
277and extend your application by discovering and loading extensions (“plugins”)
278at runtime. Many applications implement their own library for doing this,
279using __import__ or importlib. stevedore avoids creating yet another extension
280mechanism by building on top of setuptools entry points. The code for managing
281entry points tends to be repetitive, though, so stevedore provides manager
282classes for implementing common patterns for using dynamically loaded
283extensions.")
284 (license asl2.0)))
285
286(define-public python2-stevedore
287 (package-with-python2 python-stevedore))
288
289;; Packages from the Oslo library
290(define-public python-oslo.config
291 (package
292 (name "python-oslo.config")
293 (version "2.4.0")
294 (source
295 (origin
296 (method url-fetch)
297 (uri (string-append
298 "https://pypi.python.org/packages/source/o/oslo.config/oslo.config-"
299 version
300 ".tar.gz"))
301 (sha256
302 (base32
303 "13r778jfb0fhna37c2pd1f2xipnsbd7zli7qhn96acrzymrwj5k1"))))
304 (build-system python-build-system)
305 (propagated-inputs
306 `(("python-netaddr" ,python-netaddr)
307 ("python-six" ,python-six)
308 ("python-stevedore" ,python-stevedore)))
309 (inputs
310 `(("python-pbr" ,python-pbr)
311 ("python-setuptools" ,python-setuptools)
312 ;; Tests
313 ("python-oslo.i18n" ,python-oslo.i18n)
314 ("python-mock" ,python-mock)
315 ("python-oslotest" ,python-oslotest)
316 ("python-testscenarios" ,python-testscenarios)))
317 (home-page "https://launchpad.net/oslo")
318 (synopsis "Oslo Configuration API")
319 (description
320 "The Oslo configuration API supports parsing command line arguments and
321.ini style configuration files.")
322 (license asl2.0)))
323
324(define-public python2-oslo.config
325 (package-with-python2 python-oslo.config))
326
327(define-public python-oslo.context
328 (package
329 (name "python-oslo.context")
330 (version "0.6.0")
331 (source
332 (origin
333 (method url-fetch)
334 (uri (string-append
335 "https://pypi.python.org/packages/source/o/oslo.context/"
336 "oslo.context-" version ".tar.gz"))
337 (sha256
338 (base32
339 "16wr9qrkc3lb94ssb14qid4liza66x316fvzjw0izg67h1a0fm86"))))
340 (build-system python-build-system)
341 (inputs
342 `(("python-babel" ,python-babel)
343 ("python-pbr" ,python-pbr)
344 ("python-setuptools" ,python-setuptools)
345 ;; Tests.
346 ("python-oslotest" ,python-oslotest)))
347 (home-page "http://launchpad.net/oslo")
348 (synopsis "Oslo context library")
349 (description
350 "The Oslo context library has helpers to maintain useful information
351about a request context. The request context is usually populated in the WSGI
352pipeline and used by various modules such as logging.")
353 (license asl2.0)))
354
355(define-public python2-oslo.context
356 (package-with-python2 python-oslo.context))
357
358(define-public python-oslo.i18n
359 (package
360 (name "python-oslo.i18n")
361 (version "2.5.0")
362 (source
363 (origin
364 (method url-fetch)
365 (uri (string-append
366 "https://pypi.python.org/packages/source/o/oslo.i18n/oslo.i18n-"
367 version
368 ".tar.gz"))
369 (sha256
370 (base32
371 "1kg72mqldlri3x0bhxai7j979czrd7mf8s3iflvvv0x9kn9ah4cw"))))
372 (build-system python-build-system)
373 (propagated-inputs
374 `(("python-babel" ,python-babel)
375 ("python-six" ,python-six)))
376 (inputs
377 `(("python-pbr" ,python-pbr)
378 ("python-setuptools" ,python-setuptools)
379 ;; Tests
380 ("python-mock" ,python-mock)
381 ("python-mox3" ,python-mox3)
382 ("python-oslotest" ,python-oslotest)
383 ("python-testscenarios" ,python-testscenarios)))
384 (home-page "http://launchpad.net/oslo")
385 (synopsis "Oslo internationalization (i18n) library")
386 (description
387 "The oslo.i18n library contain utilities for working with
388internationalization (i18n) features, especially translation for text strings
389in an application or library.")
390 (license asl2.0)))
391
392(define-public python2-oslo.i18n
393 (package-with-python2 python-oslo.i18n))
394
395(define-public python-oslo.serialization
396 (package
397 (name "python-oslo.serialization")
398 (version "1.9.0")
399 (source
400 (origin
401 (method url-fetch)
402 (uri (string-append
403 "https://pypi.python.org/packages/source/o/oslo.serialization/"
404 "oslo.serialization-" version ".tar.gz"))
405 (sha256
406 (base32
407 "00qaxg155s61ylh4fqc7m5fh0gijf33khhai9xvcsc9k106i3c9c"))))
408 (build-system python-build-system)
409 (propagated-inputs
410 `(("python-iso8601" ,python-iso8601)
411 ("python-netaddr" ,python-netaddr)
412 ("python-oslo.utils" ,python-oslo.utils)
413 ("python-simplejson" ,python-simplejson)
414 ("python-six" ,python-six)
415 ("python-pytz" ,python-pytz)))
416 (inputs
417 `(("python-babel" ,python-babel)
418 ("python-pbr" ,python-pbr)
419 ("python-setuptools" ,python-setuptools)
420 ;; Tests.
421 ("python-mock" ,python-mock)
422 ("python-oslo.i18n" ,python-oslo.i18n)
423 ("python-oslotest" ,python-oslotest)))
424 (home-page "http://launchpad.net/oslo")
425 (synopsis "Oslo serialization library")
426 (description
427 "The oslo.serialization library provides support for representing objects
428in transmittable and storable formats, such as JSON and MessagePack.")
429 (license asl2.0)))
430
431(define-public python2-oslo.serialization
432 (package-with-python2 python-oslo.serialization))
433
434(define-public python-oslotest
435 (package
436 (name "python-oslotest")
437 (version "1.10.0")
438 (source
439 (origin
440 (method url-fetch)
441 (uri (string-append
442 "https://pypi.python.org/packages/source/o/oslotest/oslotest-"
443 version
444 ".tar.gz"))
445 (sha256
446 (base32
447 "0l3ny48ddz5xbf0v4r0jv1yhbdzinc2vy0lybhdkmx3xy0b886fs"))))
448 (build-system python-build-system)
449 (propagated-inputs
450 `(("python-fixtures" ,python-fixtures)
451 ("python-mock" ,python-mock)
452 ("python-six" ,python-six)))
453 (inputs
454 `(("python-pbr" ,python-pbr)
455 ("python-mox3" ,python-mox3)
456 ("python-os-client-config" ,python-os-client-config)
457 ("python-setuptools" ,python-setuptools)
458 ("python-subunit" ,python-subunit)
459 ("python-testrepository" ,python-testrepository)
460 ("python-testscenarios" ,python-testscenarios)
461 ("python-testtools" ,python-testtools)))
462 (home-page "http://launchpad.net/oslo")
463 (synopsis "Oslo test framework")
464 (description
465 "The Oslo Test framework provides common fixtures, support for debugging,
466and better support for mocking results.")
467 (license asl2.0)))
468
469(define-public python2-oslotest
470 (package-with-python2 python-oslotest))
471
472(define-public python-oslo.utils
473 (package
474 (name "python-oslo.utils")
475 (version "2.5.0")
476 (source
477 (origin
478 (method url-fetch)
479 (uri (string-append
480 "https://pypi.python.org/packages/source/o/oslo.utils/oslo.utils-"
481 version
482 ".tar.gz"))
483 (sha256
484 (base32
485 "11b073gblhzkxhi1j6sqk3apq2ll8xhi9h9g9kxzx9dycqdq0qp0"))
486 (snippet
487 '(begin
488 ;; FIXME: setuptools fails to import this file during the test
489 ;; phase.
490 (delete-file "oslo_utils/tests/test_netutils.py")))))
491 (build-system python-build-system)
492 (propagated-inputs
493 `(("python-debtcollector" ,python-debtcollector)
494 ("python-oslo.i18n" ,python-oslo.i18n)
495 ("python-iso8601" ,python-iso8601)
496 ("python-monotonic" ,python-monotonic)
497 ("python-netaddr" ,python-netaddr)
498 ("python-netifaces" ,python-netifaces)
499 ("python-pytz" ,python-pytz)
500 ("python-six" ,python-six)))
501 (inputs
502 `(("python-babel" ,python-babel)
503 ("python-pbr" ,python-pbr)
504 ("python-setuptools" ,python-setuptools)
505 ;; Tests.
506 ("python-oslotest" ,python-oslotest)
507 ("python-mock" ,python-mock)
508 ("python-mox3" ,python-mox3)
509 ("python-testscenarios" ,python-testscenarios)))
510 (home-page "http://launchpad.net/oslo")
511 (synopsis "Oslo utility library")
512 (description
513 "The @code{oslo.utils} library provides support for common utility type
514functions, such as encoding, exception handling, string manipulation, and time
515handling.")
516 (license asl2.0)))
517
518(define-public python2-oslo.utils
519 (package-with-python2 python-oslo.utils))