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