projects/guix·blob version-0.12.0 · refs

804 lines · 28.3 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2015 Cyril Roelandt <[email protected]>
3;;; Copyright © 2015, 2016 Efraim Flashner <[email protected]>
4;;; Copyright © 2016 Clément Lassieur <[email protected]>
5;;;
6;;; This file is part of GNU Guix.
7;;;
8;;; GNU Guix is free software; you can redistribute it and/or modify it
9;;; under the terms of the GNU General Public License as published by
10;;; the Free Software Foundation; either version 3 of the License, or (at
11;;; your option) any later version.
12;;;
13;;; GNU Guix is distributed in the hope that it will be useful, but
14;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16;;; GNU General Public License for more details.
17;;;
18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
21(define-module (gnu packages openstack)
22 #:use-module (gnu packages python)
23 #:use-module (gnu packages ssh)
24 #:use-module (gnu packages tls)
25 #:use-module (gnu packages version-control)
26 #:use-module (guix build-system python)
27 #:use-module (guix download)
28 #:use-module ((guix licenses)
29 #:select (asl2.0))
30 #:use-module (guix packages)
31 #:use-module (srfi srfi-1))
32
33(define-public python-bandit
34 (package
35 (name "python-bandit")
36 (version "0.13.2")
37 (source
38 (origin
39 (method url-fetch)
40 (uri (string-append
41 "https://pypi.python.org/packages/source/b/bandit/bandit-"
42 version ".tar.gz"))
43 (sha256
44 (base32
45 "03g3cflvrc99ncjd611iy5nnnscsc2vgnrx4mjaqyx8glbfw8y7g"))))
46 (build-system python-build-system)
47 (propagated-inputs
48 `(("python-appdirs" ,python-appdirs)
49 ("python-pyyaml" ,python-pyyaml)
50 ("python-six" ,python-six)
51 ("python-stevedore" ,python-stevedore)))
52 (native-inputs
53 `(("python-pbr" ,python-pbr)
54 ;; Tests
55 ("python-fixtures" ,python-fixtures)
56 ("python-mock" ,python-mock)
57 ("python-testrepository" ,python-testrepository)
58 ("python-testscenarios" ,python-testscenarios)
59 ("python-testtools" ,python-testtools)))
60 (home-page "https://wiki.openstack.org/wiki/Security/Projects/Bandit")
61 (synopsis "Security oriented static analyser for python code")
62 (description
63 "Bandit is a tool designed to find common security issues in Python code.
64To do this Bandit processes each file, builds an AST from it, and runs
65appropriate plugins against the AST nodes. Once Bandit has finished scanning
66all the files it generates a report.")
67 (license asl2.0)))
68
69(define-public python2-bandit
70 (package-with-python2 python-bandit))
71
72(define-public python-debtcollector
73 (package
74 (name "python-debtcollector")
75 (version "1.0.0")
76 (source
77 (origin
78 (method url-fetch)
79 (uri (pypi-uri "debtcollector" version))
80 (sha256
81 (base32
82 "0g4dfskaiy47rhsh4gh66l5vmdsrgq0qk68pl3ix1cj3ffvfndzv"))))
83 (build-system python-build-system)
84 (propagated-inputs
85 `(("python-six" ,python-six)
86 ("python-wrapt" ,python-wrapt)))
87 (native-inputs
88 `(("python-babel" ,python-babel)
89 ("python-pbr" ,python-pbr)
90 ;; Tests.
91 ("python-oslotest" ,python-oslotest)))
92 (home-page "http://www.openstack.org/")
93 (synopsis
94 "Find deprecated patterns and strategies in Python code")
95 (description
96 "This package provides a collection of Python deprecation patterns and
97strategies that help you collect your technical debt in a non-destructive
98manner.")
99 (license asl2.0)))
100
101(define-public python2-debtcollector
102 (package-with-python2 python-debtcollector))
103
104(define-public python-hacking
105 (package
106 (name "python-hacking")
107 (version "0.10.2")
108 (source
109 (origin
110 (method url-fetch)
111 (uri (pypi-uri "hacking" version))
112 (sha256
113 (base32
114 "1a310k3dv04jg7zvmk37h2ql7y9kf4hvdxb74bjlwdxgmy6h4wap"))))
115 (build-system python-build-system)
116 (propagated-inputs
117 `(("python-flake8-2.2.4" ,python-flake8-2.2.4)
118 ("python-mccabe-0.2.1" ,python-mccabe-0.2.1)
119 ("python-pbr" ,python-pbr)
120 ("python-pep8-1.5.7" ,python-pep8-1.5.7)
121 ("python-pyflakes-0.8.1" ,python-pyflakes-0.8.1)
122 ("python-six" ,python-six)))
123 (native-inputs
124 `(;; Tests
125 ("python-testscenarios" ,python-testscenarios)))
126 (home-page "http://github.com/openstack-dev/hacking")
127 (synopsis "OpenStack hacking guideline enforcement")
128 (description
129 "Python-hacking is a set of flake8 plugins that test and enforce the
130@uref{http://docs.openstack.org/developer/hacking/, OpenStack style
131guidelines}.")
132 (license asl2.0)))
133
134(define-public python2-hacking
135 (package-with-python2 python-hacking))
136
137(define-public python-mox3
138 (package
139 (name "python-mox3")
140 (version "0.14.0")
141 (source
142 (origin
143 (method url-fetch)
144 (uri (pypi-uri "mox3" version))
145 (sha256
146 (base32
147 "0njmh40i1lg5mzn9hc2ax83adj6dli455j6xifilrw27c4wlkjzx"))))
148 (build-system python-build-system)
149 (native-inputs
150 `(("python-fixtures" ,python-fixtures)
151 ("python-pbr" ,python-pbr)
152 ("python-testtools" ,python-testtools)))
153 (home-page "http://www.openstack.org/")
154 (synopsis "Mock object framework for Python")
155 (description
156 "Mox3 is an unofficial port of the Google mox framework
157(http://code.google.com/p/pymox/) to Python 3. It was meant to be as compatible
158with mox as possible, but small enhancements have been made. The library was
159tested on Python version 3.2, 2.7 and 2.6.")
160 (license asl2.0)))
161
162(define-public python2-mox3
163 (package-with-python2 python-mox3))
164
165(define-public python-os-client-config
166 (package
167 (name "python-os-client-config")
168 (version "1.12.0")
169 (source
170 (origin
171 (method url-fetch)
172 (uri (pypi-uri "os-client-config" version))
173 (sha256
174 (base32
175 "1vjn7667pswnmpqv6ngwyqm2xn46w90hi5b4pv2grwfz751cn1lf"))))
176 (build-system python-build-system)
177 (arguments
178 `(#:tests? #f)) ;; Circular dependency with python-oslotest
179 (propagated-inputs
180 `(("python-appdirs" ,python-appdirs)
181 ("python-pyyaml" ,python-pyyaml)))
182 (native-inputs
183 `(("python-pbr" ,python-pbr)
184 ("python-fixtures" ,python-fixtures)
185 ("python-mimeparse" ,python-mimeparse)
186 ("python-testrepository" ,python-testrepository)
187 ("python-testscenarios" ,python-testscenarios)
188 ("python-testtools" ,python-testtools)))
189 (home-page "http://www.openstack.org/")
190 (synopsis
191 "OpenStack Client Configuration Library")
192 (description
193 "The OpenStack Client Configuration Library is a library for collecting
194 client configuration for using an OpenStack cloud in a consistent and
195 comprehensive manner.")
196 (license asl2.0)))
197
198(define-public python2-os-client-config
199 (package-with-python2 python-os-client-config))
200
201(define-public python-os-testr
202 (package
203 (name "python-os-testr")
204 (version "0.8.0")
205 (source
206 (origin
207 (method url-fetch)
208 (uri (pypi-uri "os-testr" version))
209 (sha256
210 (base32
211 "0mknd9hlmxmihr755gjkxyjp180380jajq5i3zm34q7y7bi62lss"))))
212 (build-system python-build-system)
213 (arguments
214 ;; os-testr uses itself to run the tests. It seems like pbr writes the
215 ;; exectuable in the virtualenv when using tox. Not sure how to do this
216 ;; when building the package. Skip the tests for now.
217 `(#:tests? #f))
218 (propagated-inputs
219 `(("python-subunit" ,python-subunit)))
220 (native-inputs
221 `(("python-pbr" ,python-pbr)
222 ("python-testtools" ,python-testtools)
223 ("python-babel" ,python-babel)))
224 (home-page "https://www.openstack.org/")
225 (synopsis "Testr wrapper to provide functionality for OpenStack projects")
226 (description
227 "Os-testr provides developers with a testr wrapper and an output filter
228 for subunit.")
229 (license asl2.0)))
230
231(define-public python2-os-testr
232 (package-with-python2 python-os-testr))
233
234(define-public python-requests-mock
235 (package
236 (name "python-requests-mock")
237 (version "1.0.0")
238 (source
239 (origin
240 (method url-fetch)
241 (uri (pypi-uri "requests-mock" version))
242 (sha256
243 (base32
244 "0gcjjwsckhqixyffflc54i59x41jnbb37bli077vabii1bjmkin6"))))
245 (build-system python-build-system)
246 (propagated-inputs
247 `(("python-requests" ,python-requests)
248 ("python-six" ,python-six)))
249 (native-inputs
250 `(("python-pbr" ,python-pbr)
251 ("python-discover" ,python-discover)
252 ("python-docutils" ,python-docutils)
253 ("python-fixtures" ,python-fixtures)
254 ("python-mock" ,python-mock)
255 ("python-sphinx" ,python-sphinx)
256 ("python-testrepository" ,python-testrepository)
257 ("python-testtools" ,python-testtools)))
258 (home-page "https://requests-mock.readthedocs.org/")
259 (synopsis "Mock out responses from the requests package")
260 (description
261 "This module provides a building block to stub out the HTTP requests
262portions of your testing code.")
263 (license asl2.0)))
264
265(define-public python2-requests-mock
266 (package-with-python2 python-requests-mock))
267
268(define-public python-stevedore
269 (package
270 (name "python-stevedore")
271 (version "1.12.0")
272 (source
273 (origin
274 (method url-fetch)
275 (uri (pypi-uri "stevedore" version))
276 (sha256
277 (base32
278 "0999zvawaapzg6givjhn7vjscdwblcs73wf28wq1wb4g5mbb5phv"))))
279 (build-system python-build-system)
280 (propagated-inputs
281 `(("python-six" ,python-six)))
282 (native-inputs
283 `(("python-pbr" ,python-pbr)
284 ;; Tests
285 ("python-docutils" ,python-docutils)
286 ("python-mock" ,python-mock)
287 ("python-oslotest" ,python-oslotest)
288 ("python-sphinx" ,python-sphinx)))
289 (home-page "https://github.com/dreamhost/stevedore")
290 (synopsis "Manage dynamic plugins for Python applications")
291 (description
292 "Python makes loading code dynamically easy, allowing you to configure
293and extend your application by discovering and loading extensions (\"plugins\")
294at runtime. Many applications implement their own library for doing this,
295using __import__ or importlib. Stevedore avoids creating yet another extension
296mechanism by building on top of setuptools entry points. The code for managing
297entry points tends to be repetitive, though, so stevedore provides manager
298classes for implementing common patterns for using dynamically loaded
299extensions.")
300 (license asl2.0)))
301
302(define-public python2-stevedore
303 (package-with-python2 python-stevedore))
304
305(define-public python-tempest-lib
306 (package
307 (name "python-tempest-lib")
308 (version "1.0.0")
309 (source
310 (origin
311 (method url-fetch)
312 (uri (pypi-uri "tempest-lib" version))
313 (sha256
314 (base32
315 "1cpp2vwmawpd29hjsklsps181lq2ah91cl412qvpnz228nf9sqn5"))))
316 (build-system python-build-system)
317 (arguments
318 `(#:phases
319 (modify-phases %standard-phases
320 (add-before
321 'check 'pre-check
322 (lambda _
323 (substitute* "tempest_lib/tests/cli/test_execute.py"
324 (("/bin/ls") (which "ls"))))))))
325 (propagated-inputs
326 `(("python-fixtures" ,python-fixtures)
327 ("python-httplib2" ,python-httplib2)
328 ("python-iso8601" ,python-iso8601)
329 ("python-jsonschema" ,python-jsonschema)
330 ("python-oslo.log" ,python-oslo.log)
331 ("python-paramiko" ,python-paramiko)
332 ("python-pbr" ,python-pbr)
333 ("python-six" ,python-six)))
334 (native-inputs
335 `(("python-babel" ,python-babel)
336 ("python-mock" ,python-mock)
337 ("python-os-testr" ,python-os-testr)
338 ("python-oslotest" ,python-oslotest)))
339 (home-page "https://www.openstack.org/")
340 (synopsis "OpenStack functional testing library")
341 (description
342 "Tempest-lib is a functional testing library for OpenStack. It provides
343common features used in Tempest.")
344 (license asl2.0)))
345
346(define-public python2-tempest-lib
347 (package-with-python2 python-tempest-lib))
348
349;; Packages from the Oslo library
350(define-public python-oslo.config
351 (package
352 (name "python-oslo.config")
353 (version "2.4.0")
354 (source
355 (origin
356 (method url-fetch)
357 (uri (string-append
358 "https://pypi.python.org/packages/source/o/oslo.config/oslo.config-"
359 version
360 ".tar.gz"))
361 (sha256
362 (base32
363 "13r778jfb0fhna37c2pd1f2xipnsbd7zli7qhn96acrzymrwj5k1"))))
364 (build-system python-build-system)
365 (propagated-inputs
366 `(("python-netaddr" ,python-netaddr)
367 ("python-six" ,python-six)
368 ("python-stevedore" ,python-stevedore)))
369 (native-inputs
370 `(("python-pbr" ,python-pbr)
371 ;; Tests
372 ("python-oslo.i18n" ,python-oslo.i18n)
373 ("python-mock" ,python-mock)
374 ("python-oslotest" ,python-oslotest)
375 ("python-testscenarios" ,python-testscenarios)))
376 (home-page "https://launchpad.net/oslo")
377 (synopsis "Oslo Configuration API")
378 (description
379 "The Oslo configuration API supports parsing command line arguments and
380.ini style configuration files.")
381 (license asl2.0)))
382
383(define-public python2-oslo.config
384 (package-with-python2 python-oslo.config))
385
386(define-public python-oslo.context
387 (package
388 (name "python-oslo.context")
389 (version "1.0.0")
390 (source
391 (origin
392 (method url-fetch)
393 (uri (pypi-uri "oslo.context" version))
394 (sha256
395 (base32
396 "0kvha0rs9295njyl2z6n6zm5dapi5mrl5zwjm0m6ldqrvccyf8c3"))))
397 (build-system python-build-system)
398 (native-inputs
399 `(("python-babel" ,python-babel)
400 ("python-pbr" ,python-pbr)
401 ;; Tests.
402 ("python-oslotest" ,python-oslotest)))
403 (home-page "http://launchpad.net/oslo")
404 (synopsis "Oslo context library")
405 (description
406 "The Oslo context library has helpers to maintain useful information
407about a request context. The request context is usually populated in the WSGI
408pipeline and used by various modules such as logging.")
409 (license asl2.0)))
410
411(define-public python2-oslo.context
412 (package-with-python2 python-oslo.context))
413
414(define-public python-oslo.i18n
415 (package
416 (name "python-oslo.i18n")
417 (version "3.0.0")
418 (source
419 (origin
420 (method url-fetch)
421 (uri (pypi-uri "oslo.i18n" version))
422 (sha256
423 (base32
424 "0bpb1c20sm8my650gl824nzaip83bfn8hr91s65k5ncmyh8hb6pl"))))
425 (build-system python-build-system)
426 (propagated-inputs
427 `(("python-babel" ,python-babel)
428 ("python-six" ,python-six)))
429 (native-inputs
430 `(("python-pbr" ,python-pbr)
431 ;; Tests
432 ("python-mock" ,python-mock)
433 ("python-mox3" ,python-mox3)
434 ("python-oslotest" ,python-oslotest)
435 ("python-testscenarios" ,python-testscenarios)))
436 (home-page "http://launchpad.net/oslo")
437 (synopsis "Oslo internationalization (i18n) library")
438 (description
439 "The oslo.i18n library contain utilities for working with
440internationalization (i18n) features, especially translation for text strings
441in an application or library.")
442 (license asl2.0)))
443
444(define-public python2-oslo.i18n
445 (package-with-python2 python-oslo.i18n))
446
447(define-public python-oslo.log
448 (package
449 (name "python-oslo.log")
450 (version "1.6.0")
451 (source
452 (origin
453 (method url-fetch)
454 (uri (string-append
455 "https://pypi.python.org/packages/source/o/oslo.log/oslo.log-"
456 version
457 ".tar.gz"))
458 (sha256
459 (base32
460 "1fhy6yvbd565nv4x4i3ppyrlbmz3yy9d0xsvw5nkqsa7g43nmf8z"))))
461 (build-system python-build-system)
462 (propagated-inputs
463 `(("python-debtcollector" ,python-debtcollector)
464 ("python-oslo.config" ,python-oslo.config)
465 ("python-oslo.context" ,python-oslo.context)
466 ("python-oslo.i18n" ,python-oslo.i18n)
467 ("python-oslo.utils" ,python-oslo.utils)
468 ("python-oslo.serialization" ,python-oslo.serialization)
469 ("python-six" ,python-six)))
470 (native-inputs
471 `(("python-babel" ,python-babel)
472 ("python-iso8601" ,python-iso8601)
473 ("python-mock" ,python-mock)
474 ("python-oslotest" ,python-oslotest)
475 ("python-pbr" ,python-pbr)))
476 (home-page "http://launchpad.net/oslo")
477 (synopsis "Python logging library of the Oslo project")
478 (description
479 "The oslo.log (logging) configuration library provides standardized
480configuration for all OpenStack projects. It also provides custom formatters,
481handlers and support for context specific logging (like resource id’s etc).")
482 (license asl2.0)))
483
484(define-public python2-oslo.log
485 (package-with-python2 python-oslo.log))
486
487(define-public python-oslo.serialization
488 (package
489 (name "python-oslo.serialization")
490 (version "2.2.0")
491 (source
492 (origin
493 (method url-fetch)
494 (uri (pypi-uri "oslo.serialization" version))
495 (sha256
496 (base32
497 "00s03krhf833gs76aw5ns32w9m1i4hx6x6d9g82m0j5wyqk0sci4"))))
498 (build-system python-build-system)
499 (propagated-inputs
500 `(("python-iso8601" ,python-iso8601)
501 ("python-netaddr" ,python-netaddr)
502 ("python-oslo.utils" ,python-oslo.utils)
503 ("python-simplejson" ,python-simplejson)
504 ("python-six" ,python-six)
505 ("python-pytz" ,python-pytz)))
506 (native-inputs
507 `(("python-babel" ,python-babel)
508 ("python-pbr" ,python-pbr)
509 ;; Tests.
510 ("python-mock" ,python-mock)
511 ("python-oslo.i18n" ,python-oslo.i18n)
512 ("python-oslotest" ,python-oslotest)))
513 (home-page "http://launchpad.net/oslo")
514 (synopsis "Oslo serialization library")
515 (description
516 "The oslo.serialization library provides support for representing objects
517in transmittable and storable formats, such as JSON and MessagePack.")
518 (license asl2.0)))
519
520(define-public python2-oslo.serialization
521 (package-with-python2 python-oslo.serialization))
522
523(define-public python-oslosphinx
524 (package
525 (name "python-oslosphinx")
526 (version "4.3.0")
527 (source
528 (origin
529 (method url-fetch)
530 (uri (pypi-uri "oslosphinx" version))
531 (sha256
532 (base32
533 "0cz8ym4i1n4rgljlqhyhfkpgdmid7nkb909k8r8nk186m9cmpla2"))))
534 (build-system python-build-system)
535 (propagated-inputs
536 `(("python-requests" ,python-requests)))
537 (native-inputs
538 `(("python-pbr" ,python-pbr)
539 ("python-docutils" ,python-docutils)
540 ("python-hacking" ,python-hacking)
541 ("python-sphinx" ,python-sphinx)))
542 (home-page "http://www.openstack.org/")
543 (synopsis "OpenStack sphinx extensions and theme")
544 (description
545 "This package provides themes and extensions for Sphinx documentation
546from the OpenStack project.")
547 (license asl2.0)))
548
549(define-public python2-oslosphinx
550 (package-with-python2 python-oslosphinx))
551
552(define-public python-oslotest
553 (package
554 (name "python-oslotest")
555 (version "1.10.0")
556 (source
557 (origin
558 (method url-fetch)
559 (uri (string-append
560 "https://pypi.python.org/packages/source/o/oslotest/oslotest-"
561 version
562 ".tar.gz"))
563 (sha256
564 (base32
565 "0l3ny48ddz5xbf0v4r0jv1yhbdzinc2vy0lybhdkmx3xy0b886fs"))))
566 (build-system python-build-system)
567 (propagated-inputs
568 `(("python-fixtures" ,python-fixtures)
569 ("python-mock" ,python-mock)
570 ("python-mox3" ,python-mox3)
571 ("python-six" ,python-six)))
572 (native-inputs
573 `(("python-pbr" ,python-pbr)
574 ("python-os-client-config" ,python-os-client-config)
575 ("python-subunit" ,python-subunit)
576 ("python-testrepository" ,python-testrepository)
577 ("python-testscenarios" ,python-testscenarios)
578 ("python-testtools" ,python-testtools)))
579 (home-page "http://launchpad.net/oslo")
580 (synopsis "Oslo test framework")
581 (description
582 "The Oslo Test framework provides common fixtures, support for debugging,
583and better support for mocking results.")
584 (license asl2.0)))
585
586(define-public python2-oslotest
587 (package-with-python2 python-oslotest))
588
589(define-public python-oslo.utils
590 (package
591 (name "python-oslo.utils")
592 (version "3.0.0")
593 (source
594 (origin
595 (method url-fetch)
596 (uri (pypi-uri "oslo.utils" version))
597 (sha256
598 (base32
599 "1c4jrbvfs4hs37fics8frqlyhmsv7v92ncv2cpbm0av9x0ic6pnj"))
600 (snippet
601 '(begin
602 ;; FIXME: setuptools fails to import this file during the test
603 ;; phase.
604 (delete-file "oslo_utils/tests/test_netutils.py")))))
605 (build-system python-build-system)
606 (propagated-inputs
607 `(("python-debtcollector" ,python-debtcollector)
608 ("python-oslo.i18n" ,python-oslo.i18n)
609 ("python-iso8601" ,python-iso8601)
610 ("python-monotonic" ,python-monotonic)
611 ("python-netaddr" ,python-netaddr)
612 ("python-netifaces" ,python-netifaces)
613 ("python-pytz" ,python-pytz)
614 ("python-six" ,python-six)))
615 (native-inputs
616 `(("python-babel" ,python-babel)
617 ("python-pbr" ,python-pbr)
618 ;; Tests.
619 ("python-oslotest" ,python-oslotest)
620 ("python-mock" ,python-mock)
621 ("python-mox3" ,python-mox3)
622 ("python-testscenarios" ,python-testscenarios)))
623 (home-page "http://launchpad.net/oslo")
624 (synopsis "Oslo utility library")
625 (description
626 "The @code{oslo.utils} library provides support for common utility type
627functions, such as encoding, exception handling, string manipulation, and time
628handling.")
629 (license asl2.0)))
630
631(define-public python2-oslo.utils
632 (package-with-python2 python-oslo.utils))
633
634(define-public python-keystoneclient
635 (package
636 (name "python-keystoneclient")
637 (version "1.8.1")
638 (source
639 (origin
640 (method url-fetch)
641 (uri (pypi-uri "python-keystoneclient" version))
642 (sha256
643 (base32
644 "1w4csvkah67rfpxylxnvs2s3594i0f9isy8pf4gnsqs5zirvjaa4"))))
645 (build-system python-build-system)
646 (native-inputs
647 `(("python-sphinx" ,python-sphinx)
648 ;; and some packages for the tests
649 ("openssl" ,openssl)
650 ("python-coverage" ,python-coverage)
651 ("python-discover" ,python-discover)
652 ("python-fixtures" ,python-fixtures)
653 ("python-hacking" ,python-hacking)
654 ("python-keyring" ,python-keyring)
655 ("python-lxml" ,python-lxml)
656 ("python-mock" ,python-mock)
657 ("python-mox3" ,python-mox3)
658 ("python-oauthlib" ,python-oauthlib)
659 ("python-oslosphinx" ,python-oslosphinx)
660 ("python-oslotest" ,python-oslotest)
661 ("python-pycrypto" ,python-pycrypto)
662 ("python-requests-mock" ,python-requests-mock)
663 ("python-temptest-lib" ,python-tempest-lib)
664 ("python-testrepository" ,python-testrepository)
665 ("python-testresources" ,python-testresources)
666 ("python-testtools" ,python-testtools)
667 ("python-webob" ,python-webob)))
668 (propagated-inputs
669 `(("python-babel" ,python-babel)
670 ("python-debtcollector" ,python-debtcollector)
671 ("python-iso8601" ,python-iso8601)
672 ("python-netaddr" ,python-netaddr)
673 ("python-oslo.config" ,python-oslo.config)
674 ("python-oslo.i18n" ,python-oslo.i18n)
675 ("python-oslo.serialization" ,python-oslo.serialization)
676 ("python-oslo.utils" ,python-oslo.utils)
677 ("python-pbr" ,python-pbr)
678 ("python-prettytable" ,python-prettytable)
679 ("python-requests" ,python-requests)
680 ("python-six" ,python-six)
681 ("python-stevedore" ,python-stevedore)))
682 (home-page "http://www.openstack.org/")
683 (synopsis "Client Library for OpenStack Identity")
684 (description
685 "Python-keystoneclient is the identity service used by OpenStack for
686authentication (authN) and high-level authorization (authZ). It currently
687supports token-based authN with user/service authZ, and is scalable to support
688OAuth, SAML, and OpenID in future versions. Out of the box, Keystone uses
689SQLite for its identity store database, with the option to connect to external
690LDAP.")
691 (license asl2.0)))
692
693(define-public python2-keystoneclient
694 (let ((keystoneclient (package-with-python2 python-keystoneclient)))
695 (package (inherit keystoneclient)
696 (propagated-inputs
697 `(("python2-requests" ,python2-requests)
698 ,@(alist-delete "python-requests"
699 (package-propagated-inputs keystoneclient))))
700 (native-inputs
701 `(("python2-oauthlib" ,python2-oauthlib)
702 ("python2-oslosphinx" ,python2-oslosphinx)
703 ("python2-requests-mock" ,python2-requests-mock)
704 ("python2-tempest-lib" ,python2-tempest-lib)
705 ,@(fold alist-delete (package-native-inputs keystoneclient)
706 '("python-oauthlib" "python-oslosphinx" "python-requests-mock" "python-tempest-lib")))))))
707
708(define-public python-swiftclient
709 (package
710 (name "python-swiftclient")
711 (version "2.6.0")
712 (source
713 (origin
714 (method url-fetch)
715 (uri (pypi-uri "python-swiftclient" version))
716 (sha256
717 (base32
718 "1j33l4z9vqh0scfncl4fxg01zr1hgqxhhai6gvcih1gccqm4nd7p"))))
719 (build-system python-build-system)
720 (native-inputs
721 `(("python-pbr" ,python-pbr)
722 ("python-sphinx" ,python-sphinx)
723 ;; The folloing packages are needed for the tests.
724 ("python-coverage" ,python-coverage)
725 ("python-discover" ,python-discover)
726 ("python-hacking" ,python-hacking)
727 ("python-mock" ,python-mock)
728 ("python-oslosphinx" ,python-oslosphinx)
729 ("python-keystoneclient" ,python-keystoneclient)
730 ("python-testrepository" ,python-testrepository)
731 ("python-testtools" ,python-testtools)))
732 (propagated-inputs
733 `(("python-requests" ,python-requests)
734 ("python-six" ,python-six)))
735 (home-page "http://www.openstack.org/")
736 (synopsis "OpenStack Object Storage API Client Library")
737 (description
738 "OpenStack Object Storage (code-named Swift) creates redundant, scalable
739object storage using clusters of standardized servers to store petabytes of
740accessible data. It is not a file system or real-time data storage system, but
741rather a long-term storage system for a more permanent type of static data that
742can be retrieved, leveraged, and then updated if necessary. Primary examples of
743data that best fit this type of storage model are virtual machine images, photo
744storage, email storage and backup archiving. Having no central \"brain\" or
745master point of control provides greater scalability, redundancy and
746permanence.")
747 (license asl2.0)))
748
749(define-public python2-swiftclient
750 (let ((swiftclient (package-with-python2 python-swiftclient)))
751 (package (inherit swiftclient)
752 (propagated-inputs
753 `(("python2-futures" ,python2-futures)
754 ("python2-requests" ,python2-requests)
755 ,@(alist-delete "python-requests"
756 (package-propagated-inputs swiftclient))))
757 (native-inputs
758 `(("python2-keystoneclient" ,python2-keystoneclient)
759 ("python2-oslosphinx" ,python2-oslosphinx)
760 ,@(fold alist-delete (package-native-inputs swiftclient)
761 '("python-keystoneclient" "python-oslosphinx")))))))
762
763(define-public python-git-review
764 (package
765 (name "python-git-review")
766 (version "1.25.0")
767 (source
768 (origin
769 (method url-fetch)
770 (uri (pypi-uri "git-review" version))
771 (sha256
772 (base32
773 "07d1jn9ryff5j5ic6qj5pbk10m1ccmpllj0wyalrcms1q9yhlzh8"))))
774 (build-system python-build-system)
775 (arguments
776 '(#:tests? #f ; tests require a running Gerrit server
777 #:phases
778 (modify-phases %standard-phases
779 (add-after 'install 'wrap-program
780 (lambda* (#:key inputs outputs #:allow-other-keys)
781 (let* ((out (assoc-ref outputs "out"))
782 (git (assoc-ref inputs "git"))
783 (openssh (assoc-ref inputs "openssh")))
784 (wrap-program (string-append out "/bin/git-review")
785 `("PATH" ":" prefix
786 ,(map (lambda (dir)
787 (string-append dir "/bin"))
788 (list git openssh))))))))))
789 (native-inputs
790 `(("python-pbr" ,python-pbr)))
791 (propagated-inputs
792 `(("python-requests" ,python-requests)))
793 (inputs
794 `(("git" ,git)
795 ("openssh" ,openssh)))
796 (home-page "http://docs.openstack.org/infra/git-review/")
797 (synopsis "Command-line tool for Gerrit")
798 (description
799 "Git-review is a command-line tool that helps submitting Git branches to
800Gerrit for review, or fetching existing ones.")
801 (license asl2.0)))
802
803(define-public python2-git-review
804 (package-with-python2 python-git-review))