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