gnu: python-oslo.i18n: Fix indentation.
[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>
851a3a77 7;;; Copyright © 2020 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.")
a2803e20 138 (properties `((python2-variant . ,(delay python2-debtcollector))))
2713527e
CR
139 (license asl2.0)))
140
141(define-public python2-debtcollector
a2803e20
MB
142 (let ((base (package-with-python2 (strip-python2-variant
143 python-debtcollector))))
144 (package
145 (inherit base)
146 (propagated-inputs
147 `(("python2-funcsigs" ,python2-funcsigs)
148 ,@(package-propagated-inputs base))))))
2713527e 149
2ac9ba6a
CR
150(define-public python-hacking
151 (package
152 (name "python-hacking")
226b2af5 153 (version "4.0.0")
2ac9ba6a
CR
154 (source
155 (origin
156 (method url-fetch)
157 (uri (pypi-uri "hacking" version))
158 (sha256
159 (base32
226b2af5 160 "062rvbkvbavqqz55f7q00ikwipkn5j0rdls1rrajdbfwgckjcrsm"))))
2ac9ba6a 161 (build-system python-build-system)
226b2af5
MC
162 (propagated-inputs
163 `(("python-flake8" ,python-flake8)))
e7881f3d 164 (native-inputs
3b664389 165 `( ;; Tests
226b2af5
MC
166 ("python-coverage" ,python-coverage)
167 ("python-ddt" ,python-ddt)
168 ("python-dnspython" ,python-dnspython)
169 ("python-fixtures" ,python-fixtures)
3b664389
TGR
170 ("python-eventlet" ,python-eventlet)
171 ("python-mock" ,python-mock)
226b2af5
MC
172 ("python-monotonic" ,python-monotonic)
173 ("python-subunit" ,python-subunit)
174 ("python-stestr" ,python-stestr)
175 ("python-testscenarios" ,python-testscenarios)
176 ("python-testtools" ,python-testtools)))
7bf837fd 177 (home-page "https://github.com/openstack-dev/hacking")
2ac9ba6a
CR
178 (synopsis "OpenStack hacking guideline enforcement")
179 (description
3b664389 180 "Python-hacking is a set of flake8 plugins that test and enforce the
2ac9ba6a
CR
181@uref{http://docs.openstack.org/developer/hacking/, OpenStack style
182guidelines}.")
183 (license asl2.0)))
184
35f1ebeb
CR
185(define-public python-mox3
186 (package
187 (name "python-mox3")
b39667cd 188 (version "0.24.0")
35f1ebeb
CR
189 (source
190 (origin
191 (method url-fetch)
d4e817b1 192 (uri (pypi-uri "mox3" version))
b39667cd 193 (patches (search-patches "python-mox3-python3.6-compat.patch"))
35f1ebeb
CR
194 (sha256
195 (base32
b39667cd 196 "0w58adwv7q9wzvmq9mlrk2asfk73myq9fpwy7mjkzsz3baa95zf5"))))
35f1ebeb 197 (build-system python-build-system)
b39667cd
MB
198 (propagated-inputs
199 `(("python-fixtures" ,python-fixtures)
200 ("python-pbr" ,python-pbr)))
f8f83e9d 201 (native-inputs
b39667cd 202 `(("python-openstackdocstheme" ,python-openstackdocstheme)
3bbfc451 203 ("python-sphinx" ,python-sphinx)
b39667cd
MB
204 ("python-subunit" ,python-subunit)
205 ("python-testrepository" ,python-testrepository)
35f1ebeb 206 ("python-testtools" ,python-testtools)))
dbd37c13 207 (home-page "https://www.openstack.org/")
35f1ebeb
CR
208 (synopsis "Mock object framework for Python")
209 (description
5eaa7bb0
TGR
210 "Mox3 is an unofficial port of the @uref{https://code.google.com/p/pymox/,
211Google mox framework} to Python 3. It was meant to be as compatible
b39667cd 212with mox as possible, but small enhancements have been made.")
35f1ebeb
CR
213 (license asl2.0)))
214
f8f83e9d
EF
215(define-public python2-mox3
216 (package-with-python2 python-mox3))
217
7a565dc9
MB
218(define-public python-openstackdocstheme
219 (package
220 (name "python-openstackdocstheme")
221 (version "1.18.1")
222 (source (origin
223 (method url-fetch)
224 (uri (pypi-uri "openstackdocstheme" version))
225 (sha256
226 (base32
227 "1ki5204rjdqjvr8xr9w2qc1z6b6d2i5jas0i70xzkf9njlzjzv2r"))))
228 (build-system python-build-system)
229 (arguments
230 ;; FIXME: Tests require an old version of python-hacking, which in
231 ;; turn depends on mox3 which depends on this package.
232 `(#:tests? #f))
233 (propagated-inputs
234 `(("python-dulwich" ,python-dulwich)
235 ("python-pbr" ,python-pbr)))
236 (native-inputs
3bbfc451 237 `(("python-sphinx" ,python-sphinx)))
7a565dc9
MB
238 (home-page "https://docs.openstack.org/openstackdocstheme/latest/")
239 (synopsis "OpenStack Docs Theme")
240 (description
241 "This package provides themes and extensions for Sphinx for publishing
242to docs.openstack.org and developer.openstack.org.")
243 (license asl2.0)))
244
245(define-public python2-openstackdocstheme
246 (package-with-python2 python-openstackdocstheme))
247
1edd421b
CR
248(define-public python-os-client-config
249 (package
250 (name "python-os-client-config")
a5ff52f8 251 (version "1.12.0")
1edd421b
CR
252 (source
253 (origin
254 (method url-fetch)
a5ff52f8 255 (uri (pypi-uri "os-client-config" version))
1edd421b
CR
256 (sha256
257 (base32
a5ff52f8 258 "1vjn7667pswnmpqv6ngwyqm2xn46w90hi5b4pv2grwfz751cn1lf"))))
1edd421b
CR
259 (build-system python-build-system)
260 (arguments
261 `(#:tests? #f)) ;; Circular dependency with python-oslotest
482d9591 262 (propagated-inputs
1edd421b 263 `(("python-appdirs" ,python-appdirs)
482d9591
HG
264 ("python-pyyaml" ,python-pyyaml)))
265 (native-inputs
266 `(("python-pbr" ,python-pbr)
1edd421b
CR
267 ("python-fixtures" ,python-fixtures)
268 ("python-mimeparse" ,python-mimeparse)
1edd421b 269 ("python-testrepository" ,python-testrepository)
1edd421b
CR
270 ("python-testscenarios" ,python-testscenarios)
271 ("python-testtools" ,python-testtools)))
dbd37c13 272 (home-page "https://www.openstack.org/")
1edd421b
CR
273 (synopsis
274 "OpenStack Client Configuration Library")
275 (description
276 "The OpenStack Client Configuration Library is a library for collecting
277 client configuration for using an OpenStack cloud in a consistent and
278 comprehensive manner.")
279 (license asl2.0)))
280
281(define-public python2-os-client-config
282 (package-with-python2 python-os-client-config))
283
2931f464
CR
284(define-public python-os-testr
285 (package
286 (name "python-os-testr")
43b53bbb 287 (version "0.8.0")
2931f464
CR
288 (source
289 (origin
290 (method url-fetch)
291 (uri (pypi-uri "os-testr" version))
292 (sha256
293 (base32
43b53bbb 294 "0mknd9hlmxmihr755gjkxyjp180380jajq5i3zm34q7y7bi62lss"))))
2931f464
CR
295 (build-system python-build-system)
296 (arguments
297 ;; os-testr uses itself to run the tests. It seems like pbr writes the
298 ;; exectuable in the virtualenv when using tox. Not sure how to do this
299 ;; when building the package. Skip the tests for now.
300 `(#:tests? #f))
301 (propagated-inputs
e116d100
HG
302 `(("python-subunit" ,python-subunit)))
303 (native-inputs
2931f464 304 `(("python-pbr" ,python-pbr)
e116d100
HG
305 ("python-testtools" ,python-testtools)
306 ("python-babel" ,python-babel)))
43b53bbb 307 (home-page "https://www.openstack.org/")
2931f464
CR
308 (synopsis "Testr wrapper to provide functionality for OpenStack projects")
309 (description
310 "Os-testr provides developers with a testr wrapper and an output filter
311 for subunit.")
312 (license asl2.0)))
313
314(define-public python2-os-testr
315 (package-with-python2 python-os-testr))
316
673d1a9d
CR
317(define-public python-stevedore
318 (package
319 (name "python-stevedore")
7eaa3b45 320 (version "3.2.2")
673d1a9d
CR
321 (source
322 (origin
323 (method url-fetch)
2d531d4e 324 (uri (pypi-uri "stevedore" version))
673d1a9d 325 (sha256
1cccdca2 326 (base32
7eaa3b45 327 "1w11lm293afzb73iq0ba9wnmr2rjwymnhr92km4a4xrs7a5qcigq"))))
673d1a9d 328 (build-system python-build-system)
7eaa3b45
MC
329 (arguments
330 ;; The tests are disabled to avoid a circular dependency with
331 ;; python-stestr.
332 `(#:tests? #f))
4b42bd94 333 (native-inputs
7eaa3b45 334 `(("python-pbr" ,python-pbr)))
673d1a9d
CR
335 (home-page "https://github.com/dreamhost/stevedore")
336 (synopsis "Manage dynamic plugins for Python applications")
337 (description
338 "Python makes loading code dynamically easy, allowing you to configure
4b42bd94 339and extend your application by discovering and loading extensions (\"plugins\")
673d1a9d 340at runtime. Many applications implement their own library for doing this,
4b42bd94 341using __import__ or importlib. Stevedore avoids creating yet another extension
673d1a9d
CR
342mechanism by building on top of setuptools entry points. The code for managing
343entry points tends to be repetitive, though, so stevedore provides manager
344classes for implementing common patterns for using dynamically loaded
345extensions.")
346 (license asl2.0)))
347
348(define-public python2-stevedore
79d9effa 349 (package-with-python2 python-stevedore))
673d1a9d 350
465b61fc
CR
351(define-public python-tempest-lib
352 (package
353 (name "python-tempest-lib")
f0ad50af 354 (version "1.0.0")
465b61fc
CR
355 (source
356 (origin
357 (method url-fetch)
358 (uri (pypi-uri "tempest-lib" version))
359 (sha256
360 (base32
f0ad50af 361 "1cpp2vwmawpd29hjsklsps181lq2ah91cl412qvpnz228nf9sqn5"))))
465b61fc
CR
362 (build-system python-build-system)
363 (arguments
f959495b
MB
364 `(#:tests? #f ; FIXME: Requires oslo.log >= 1.14.0.
365 #:phases
465b61fc
CR
366 (modify-phases %standard-phases
367 (add-before
368 'check 'pre-check
369 (lambda _
370 (substitute* "tempest_lib/tests/cli/test_execute.py"
371 (("/bin/ls") (which "ls"))))))))
372 (propagated-inputs
373 `(("python-fixtures" ,python-fixtures)
374 ("python-httplib2" ,python-httplib2)
375 ("python-iso8601" ,python-iso8601)
376 ("python-jsonschema" ,python-jsonschema)
377 ("python-oslo.log" ,python-oslo.log)
378 ("python-paramiko" ,python-paramiko)
379 ("python-pbr" ,python-pbr)
380 ("python-six" ,python-six)))
e7881f3d 381 (native-inputs
465b61fc
CR
382 `(("python-babel" ,python-babel)
383 ("python-mock" ,python-mock)
384 ("python-os-testr" ,python-os-testr)
f3b98f4f 385 ("python-oslotest" ,python-oslotest)))
f0ad50af 386 (home-page "https://www.openstack.org/")
465b61fc
CR
387 (synopsis "OpenStack functional testing library")
388 (description
389 "Tempest-lib is a functional testing library for OpenStack. It provides
390common features used in Tempest.")
391 (license asl2.0)))
392
2053949a 393;; Packages from the Oslo library
ed56af06
CR
394(define-public python-oslo.config
395 (package
396 (name "python-oslo.config")
9e4546a2 397 (version "5.2.0")
ed56af06
CR
398 (source
399 (origin
400 (method url-fetch)
9e4546a2 401 (uri (pypi-uri "oslo.config" version))
ed56af06
CR
402 (sha256
403 (base32
9e4546a2 404 "0ymf7jxbq29fifyvkwhfiys1qvljqfxdw8ajwzwaf3yiqidgpxqd"))))
ed56af06
CR
405 (build-system python-build-system)
406 (propagated-inputs
9e4546a2
MB
407 `(("python-debtcollector" ,python-debtcollector)
408 ("python-netaddr" ,python-netaddr)
409 ("python-oslo.i18n" ,python-oslo.i18n)
410 ("python-pbr" ,python-pbr)
411 ("python-rfc3986" ,python-rfc3986)
412 ("python-six" ,python-six)
413 ("python-stevedore" ,python-stevedore)
414 ("python-pyyaml" ,python-pyyaml)))
e7881f3d 415 (native-inputs
9e4546a2
MB
416 `(("python-bandit" ,python-bandit)
417 ("python-coverage" ,python-coverage)
418 ("python-mock" ,python-mock)
419 ("python-openstackdocstheme" ,python-openstackdocstheme)
420 ("python-oslotest" ,python-oslotest)
421 ("python-reno" ,python-reno)
3bbfc451 422 ("python-sphinx" ,python-sphinx)
9e4546a2
MB
423 ("python-testrepository" ,python-testrepository)
424 ("python-testscenarios" ,python-testscenarios)
425 ("python-testtools" ,python-testtools)))
ed56af06
CR
426 (home-page "https://launchpad.net/oslo")
427 (synopsis "Oslo Configuration API")
428 (description
429 "The Oslo configuration API supports parsing command line arguments and
430.ini style configuration files.")
431 (license asl2.0)))
432
c7c7a936
CR
433(define-public python-oslo.context
434 (package
435 (name "python-oslo.context")
9b1315a4 436 (version "3.1.1")
c7c7a936
CR
437 (source
438 (origin
439 (method url-fetch)
e9af5adf 440 (uri (pypi-uri "oslo.context" version))
c7c7a936
CR
441 (sha256
442 (base32
9b1315a4 443 "1l2z186rkd9acrb2ygf53yrdc1lgf7cy1akbhm21kgkzind4p2r6"))))
c7c7a936 444 (build-system python-build-system)
9b1315a4
MC
445 (arguments
446 `(#:phases (modify-phases %standard-phases
447 (add-after 'unpack 'relax-requirements
448 (lambda _
449 (substitute* "test-requirements.txt"
450 (("hacking>=3.0.1,<3.1.0")
451 "hacking>=3.0.1"))
452 #t)))))
32bb0c61 453 (propagated-inputs
9b1315a4 454 `(("python-debtcollector" ,python-debtcollector)))
e7881f3d 455 (native-inputs
9b1315a4
MC
456 `(("python-bandit" ,python-bandit)
457 ("python-coverage" ,python-coverage)
458 ("python-fixtures" ,python-fixtures)
32bb0c61 459 ("python-hacking" ,python-hacking)
9b1315a4
MC
460 ("python-oslotest" ,python-oslotest)
461 ("python-pbr" ,python-pbr)
462 ("python-stestr" ,python-stestr)))
dbd37c13 463 (home-page "https://launchpad.net/oslo")
c7c7a936
CR
464 (synopsis "Oslo context library")
465 (description
466 "The Oslo context library has helpers to maintain useful information
467about a request context. The request context is usually populated in the WSGI
468pipeline and used by various modules such as logging.")
469 (license asl2.0)))
470
471(define-public python2-oslo.context
472 (package-with-python2 python-oslo.context))
473
8531b326
CR
474(define-public python-oslo.i18n
475 (package
476 (name "python-oslo.i18n")
207e4d27 477 (version "3.20.0")
8531b326 478 (source
e4cc19c8
MC
479 (origin
480 (method url-fetch)
481 (uri (pypi-uri "oslo.i18n" version))
482 (sha256
483 (base32
484 "0kjcdw4bk3mi4vqmqwhhq053kxbbbj05si6nwxd1pzx33z067ky3"))))
8531b326
CR
485 (build-system python-build-system)
486 (propagated-inputs
e4cc19c8
MC
487 `(("python-babel" ,python-babel)
488 ("python-six" ,python-six)))
e7881f3d 489 (native-inputs
e4cc19c8
MC
490 `(("python-pbr" ,python-pbr)
491 ;; Tests
492 ("python-mock" ,python-mock)
493 ("python-mox3" ,python-mox3)
494 ("python-oslotest" ,python-oslotest)
495 ("python-testscenarios" ,python-testscenarios)))
dbd37c13 496 (home-page "https://launchpad.net/oslo")
8531b326
CR
497 (synopsis "Oslo internationalization (i18n) library")
498 (description
e4cc19c8 499 "The oslo.i18n library contain utilities for working with
8531b326
CR
500internationalization (i18n) features, especially translation for text strings
501in an application or library.")
502 (license asl2.0)))
503
504(define-public python2-oslo.i18n
505 (package-with-python2 python-oslo.i18n))
506
aee6412a
CR
507(define-public python-oslo.log
508 (package
509 (name "python-oslo.log")
f8a4547c 510 (version "3.36.0")
aee6412a
CR
511 (source
512 (origin
513 (method url-fetch)
f8a4547c 514 (uri (pypi-uri "oslo.log" version))
aee6412a
CR
515 (sha256
516 (base32
f8a4547c 517 "0h7hplf1h8k24v75m3mq1jlrl74x5ynyr4hwgffsg5campxnza4x"))))
aee6412a
CR
518 (build-system python-build-system)
519 (propagated-inputs
f8a4547c
MB
520 `(("python-dateutil" ,python-dateutil)
521 ("python-debtcollector" ,python-debtcollector)
522 ("python-monotonic" ,python-monotonic)
aee6412a
CR
523 ("python-oslo.config" ,python-oslo.config)
524 ("python-oslo.context" ,python-oslo.context)
525 ("python-oslo.i18n" ,python-oslo.i18n)
526 ("python-oslo.utils" ,python-oslo.utils)
527 ("python-oslo.serialization" ,python-oslo.serialization)
f8a4547c
MB
528 ("python-pbr" ,python-pbr)
529 ("python-pyinotify" ,python-pyinotify)
aee6412a 530 ("python-six" ,python-six)))
e7881f3d 531 (native-inputs
f8a4547c 532 `(("python-mock" ,python-mock)
aee6412a 533 ("python-oslotest" ,python-oslotest)
f8a4547c
MB
534 ("python-subunit" ,python-subunit)
535 ("python-testrepository" ,python-testrepository)
536 ("python-testtools" ,python-testtools)))
dbd37c13 537 (home-page "https://launchpad.net/oslo")
aee6412a
CR
538 (synopsis "Python logging library of the Oslo project")
539 (description
540 "The oslo.log (logging) configuration library provides standardized
541configuration for all OpenStack projects. It also provides custom formatters,
542handlers and support for context specific logging (like resource id’s etc).")
543 (license asl2.0)))
544
5702efe3
CR
545(define-public python-oslo.serialization
546 (package
547 (name "python-oslo.serialization")
caf3713a 548 (version "2.24.0")
5702efe3
CR
549 (source
550 (origin
551 (method url-fetch)
278c0efd 552 (uri (pypi-uri "oslo.serialization" version))
5702efe3
CR
553 (sha256
554 (base32
caf3713a 555 "08bxkp98c617y58x630xq44iiffm7f0f3cwh6zbnlkgq0zgh7jk1"))))
5702efe3
CR
556 (build-system python-build-system)
557 (propagated-inputs
caf3713a 558 `(("python-msgpack" ,python-msgpack)
5702efe3
CR
559 ("python-netaddr" ,python-netaddr)
560 ("python-oslo.utils" ,python-oslo.utils)
5702efe3
CR
561 ("python-six" ,python-six)
562 ("python-pytz" ,python-pytz)))
e7881f3d 563 (native-inputs
caf3713a 564 `(("python-pbr" ,python-pbr)
5702efe3
CR
565 ;; Tests.
566 ("python-mock" ,python-mock)
567 ("python-oslo.i18n" ,python-oslo.i18n)
568 ("python-oslotest" ,python-oslotest)))
dbd37c13 569 (home-page "https://launchpad.net/oslo")
5702efe3
CR
570 (synopsis "Oslo serialization library")
571 (description
572 "The oslo.serialization library provides support for representing objects
573in transmittable and storable formats, such as JSON and MessagePack.")
574 (license asl2.0)))
575
c8d7e063
DM
576(define-public python-reno
577 (package
578 (name "python-reno")
d2ae66b7 579 (version "2.7.0")
c8d7e063
DM
580 (source
581 (origin
582 (method url-fetch)
583 (uri (pypi-uri "reno" version))
584 (sha256
d2ae66b7 585 (base32 "0gwzi5dvacqx43smxl3rd1z33npn7gfhm50bvgmq90fib2q431wc"))))
c8d7e063
DM
586 (build-system python-build-system)
587 (arguments
588 `(#:phases
589 (modify-phases %standard-phases
590 (add-before 'check 'init-git
591 (lambda _
592 ;; reno expects a git repo
c8780a10 593 (invoke "git" "init"))))))
c8d7e063 594 (propagated-inputs
d2ae66b7
MB
595 `(("python-dulwich" ,python-dulwich)
596 ("python-pbr" ,python-pbr)
c8d7e063
DM
597 ("python-pyyaml" ,python-pyyaml)
598 ("python-six" ,python-six)))
599 (native-inputs
600 `(("python-testtools" ,python-testtools)
c8d7e063
DM
601 ("python-testscenarios" ,python-testscenarios)
602 ("python-testrepository" ,python-testrepository)
603 ("python-mock" ,python-mock)
d2ae66b7
MB
604 ("python-docutils" ,python-docutils)
605 ("python-sphinx" ,python-sphinx)
c8d7e063 606 ("gnupg" ,gnupg)
c8780a10 607 ("git" ,git-minimal)))
d39885a8 608 (home-page "https://docs.openstack.org/reno/latest/")
c8d7e063
DM
609 (synopsis "Release notes manager")
610 (description "Reno is a tool for storing release notes in a git repository
611and building documentation from them.")
612 (license asl2.0)))
613
614(define-public python2-reno
d2ae66b7 615 (package-with-python2 python-reno))
c8d7e063 616
f4c7dc55
CR
617(define-public python-oslosphinx
618 (package
619 (name "python-oslosphinx")
b5b548ef 620 (version "4.18.0")
f4c7dc55
CR
621 (source
622 (origin
623 (method url-fetch)
624 (uri (pypi-uri "oslosphinx" version))
625 (sha256
626 (base32
b5b548ef 627 "1xm41857vzrzjmnyi6bqirg4i5qa61v7wxcsdc4q1nzgr3ndgz5k"))))
f4c7dc55 628 (build-system python-build-system)
23015b4f 629 (arguments
27693b1e
DM
630 `(#:phases
631 (modify-phases %standard-phases
b5b548ef 632 (add-after 'unpack 'relax-requirements
27693b1e 633 (lambda _
b5b548ef
MC
634 (substitute* "test-requirements.txt"
635 (("hacking!=0.13.0,<0.14,>=0.12.0")
636 "hacking!=0.13.0,>=0.12.0"))
637 #t)))))
f4c7dc55 638 (propagated-inputs
5c6c3fbd 639 `(("python-requests" ,python-requests)))
e7881f3d 640 (native-inputs
b5b548ef
MC
641 `(("python-hacking" ,python-hacking)
642 ("python-openstackdocstheme" ,python-openstackdocstheme)
643 ("python-pbr" ,python-pbr)
644 ("python-reno" ,python-reno)
5c6c3fbd 645 ("python-sphinx" ,python-sphinx)))
dbd37c13 646 (home-page "https://www.openstack.org/")
f4c7dc55 647 (synopsis "OpenStack sphinx extensions and theme")
5c6c3fbd
MC
648 (description "This package provides themes and extensions for Sphinx
649documentation from the OpenStack project.")
f4c7dc55
CR
650 (license asl2.0)))
651
2053949a
CR
652(define-public python-oslotest
653 (package
654 (name "python-oslotest")
21b78681 655 (version "4.4.1")
2053949a 656 (source
0b5f73ce
MC
657 (origin
658 (method url-fetch)
659 (uri (pypi-uri "oslotest" version))
660 (sha256
661 (base32
21b78681 662 "0r50sz55m8ljv2vk1k7sp88iz1iqq4p9w6kb8hn8g8c50r9zdi5i"))))
2053949a 663 (build-system python-build-system)
21b78681
MC
664 (arguments
665 ;; The tests are disabled to avoid a circular dependency with oslo.config.
666 `(#:tests? #f))
2053949a 667 (propagated-inputs
0b5f73ce 668 `(("python-fixtures" ,python-fixtures)
0b5f73ce
MC
669 ("python-six" ,python-six)
670 ("python-subunit" ,python-subunit)
0b5f73ce 671 ("python-testtools" ,python-testtools)))
dbd37c13 672 (home-page "https://launchpad.net/oslo")
2053949a 673 (synopsis "Oslo test framework")
0b5f73ce
MC
674 (description "The Oslo Test framework provides common fixtures, support
675for debugging, and better support for mocking results.")
2053949a
CR
676 (license asl2.0)))
677
678(define-public python2-oslotest
be3f88c2 679 (package-with-python2 python-oslotest))
27cc9f25
CR
680
681(define-public python-oslo.utils
682 (package
683 (name "python-oslo.utils")
2847d833 684 (version "3.36.2")
27cc9f25
CR
685 (source
686 (origin
687 (method url-fetch)
94ce6b49 688 (uri (pypi-uri "oslo.utils" version))
27cc9f25
CR
689 (sha256
690 (base32
2847d833 691 "1ipjcgg9z697wmibhcbg5lqpk5gafakdx4qkff3w255zr0mvw04r"))))
27cc9f25
CR
692 (build-system python-build-system)
693 (propagated-inputs
694 `(("python-debtcollector" ,python-debtcollector)
695 ("python-oslo.i18n" ,python-oslo.i18n)
696 ("python-iso8601" ,python-iso8601)
697 ("python-monotonic" ,python-monotonic)
698 ("python-netaddr" ,python-netaddr)
699 ("python-netifaces" ,python-netifaces)
b51fbd6d 700 ("python-pyparsing" ,python-pyparsing)
27cc9f25
CR
701 ("python-pytz" ,python-pytz)
702 ("python-six" ,python-six)))
e7881f3d 703 (native-inputs
b51fbd6d 704 `(("python-pbr" ,python-pbr)
27cc9f25 705 ;; Tests.
ad59ebda 706 ("python-bandit" ,python-bandit)
b51fbd6d
MB
707 ("python-ddt" ,python-ddt)
708 ("python-fixtures" ,python-fixtures)
ad59ebda 709 ("python-oslo.config" ,python-oslo.config)
27cc9f25
CR
710 ("python-oslotest" ,python-oslotest)
711 ("python-mock" ,python-mock)
b51fbd6d
MB
712 ("python-testrepository" ,python-testrepository)
713 ("python-testscenarios" ,python-testscenarios)
714 ("python-testtools" ,python-testtools)))
dbd37c13 715 (home-page "https://launchpad.net/oslo")
27cc9f25
CR
716 (synopsis "Oslo utility library")
717 (description
718 "The @code{oslo.utils} library provides support for common utility type
719functions, such as encoding, exception handling, string manipulation, and time
720handling.")
721 (license asl2.0)))
722
c9e330d0
EF
723(define-public python-keystoneclient
724 (package
725 (name "python-keystoneclient")
726 (version "1.8.1")
727 (source
728 (origin
729 (method url-fetch)
730 (uri (pypi-uri "python-keystoneclient" version))
731 (sha256
732 (base32
733 "1w4csvkah67rfpxylxnvs2s3594i0f9isy8pf4gnsqs5zirvjaa4"))))
734 (build-system python-build-system)
bfba0836
MB
735 (arguments
736 '(#:tests? #f)) ; FIXME: Many tests are failing.
c9e330d0 737 (native-inputs
f3b98f4f 738 `(("python-sphinx" ,python-sphinx)
c9e330d0
EF
739 ;; and some packages for the tests
740 ("openssl" ,openssl)
741 ("python-coverage" ,python-coverage)
742 ("python-discover" ,python-discover)
743 ("python-fixtures" ,python-fixtures)
744 ("python-hacking" ,python-hacking)
745 ("python-keyring" ,python-keyring)
746 ("python-lxml" ,python-lxml)
747 ("python-mock" ,python-mock)
748 ("python-mox3" ,python-mox3)
749 ("python-oauthlib" ,python-oauthlib)
750 ("python-oslosphinx" ,python-oslosphinx)
751 ("python-oslotest" ,python-oslotest)
752 ("python-pycrypto" ,python-pycrypto)
753 ("python-requests-mock" ,python-requests-mock)
754 ("python-temptest-lib" ,python-tempest-lib)
755 ("python-testrepository" ,python-testrepository)
756 ("python-testresources" ,python-testresources)
757 ("python-testtools" ,python-testtools)
758 ("python-webob" ,python-webob)))
759 (propagated-inputs
760 `(("python-babel" ,python-babel)
761 ("python-debtcollector" ,python-debtcollector)
762 ("python-iso8601" ,python-iso8601)
763 ("python-netaddr" ,python-netaddr)
764 ("python-oslo.config" ,python-oslo.config)
765 ("python-oslo.i18n" ,python-oslo.i18n)
766 ("python-oslo.serialization" ,python-oslo.serialization)
767 ("python-oslo.utils" ,python-oslo.utils)
768 ("python-pbr" ,python-pbr)
769 ("python-prettytable" ,python-prettytable)
770 ("python-requests" ,python-requests)
771 ("python-six" ,python-six)
772 ("python-stevedore" ,python-stevedore)))
dbd37c13 773 (home-page "https://www.openstack.org/")
c9e330d0
EF
774 (synopsis "Client Library for OpenStack Identity")
775 (description
776 "Python-keystoneclient is the identity service used by OpenStack for
777authentication (authN) and high-level authorization (authZ). It currently
778supports token-based authN with user/service authZ, and is scalable to support
779OAuth, SAML, and OpenID in future versions. Out of the box, Keystone uses
780SQLite for its identity store database, with the option to connect to external
781LDAP.")
782 (license asl2.0)))
783
8f0cc2ff
EF
784(define-public python-swiftclient
785 (package
786 (name "python-swiftclient")
787 (version "2.6.0")
788 (source
789 (origin
790 (method url-fetch)
791 (uri (pypi-uri "python-swiftclient" version))
792 (sha256
793 (base32
794 "1j33l4z9vqh0scfncl4fxg01zr1hgqxhhai6gvcih1gccqm4nd7p"))))
795 (build-system python-build-system)
796 (native-inputs
b3546174 797 `(("python-pbr" ,python-pbr)
8f0cc2ff
EF
798 ("python-sphinx" ,python-sphinx)
799 ;; The folloing packages are needed for the tests.
800 ("python-coverage" ,python-coverage)
801 ("python-discover" ,python-discover)
802 ("python-hacking" ,python-hacking)
803 ("python-mock" ,python-mock)
804 ("python-oslosphinx" ,python-oslosphinx)
805 ("python-keystoneclient" ,python-keystoneclient)
806 ("python-testrepository" ,python-testrepository)
807 ("python-testtools" ,python-testtools)))
808 (propagated-inputs
809 `(("python-requests" ,python-requests)
810 ("python-six" ,python-six)))
dbd37c13 811 (home-page "https://www.openstack.org/")
8f0cc2ff
EF
812 (synopsis "OpenStack Object Storage API Client Library")
813 (description
814 "OpenStack Object Storage (code-named Swift) creates redundant, scalable
815object storage using clusters of standardized servers to store petabytes of
816accessible data. It is not a file system or real-time data storage system, but
817rather a long-term storage system for a more permanent type of static data that
818can be retrieved, leveraged, and then updated if necessary. Primary examples of
819data that best fit this type of storage model are virtual machine images, photo
820storage, email storage and backup archiving. Having no central \"brain\" or
821master point of control provides greater scalability, redundancy and
822permanence.")
0ab4c392 823 (license asl2.0)))
8f0cc2ff 824
d4431993
CL
825(define-public python-git-review
826 (package
827 (name "python-git-review")
cbb488d6 828 (version "1.28.0")
d4431993
CL
829 (source
830 (origin
831 (method url-fetch)
832 (uri (pypi-uri "git-review" version))
833 (sha256
cbb488d6 834 (base32 "0nn17mfqvsa3ryjz53qjslmf60clc0vx2115kkj66h28p6vsnflf"))))
d4431993 835 (build-system python-build-system)
381000d7 836 (arguments
cbb488d6 837 '(#:tests? #f ; tests require a running Gerrit server
381000d7
CL
838 #:phases
839 (modify-phases %standard-phases
840 (add-after 'install 'wrap-program
841 (lambda* (#:key inputs outputs #:allow-other-keys)
842 (let* ((out (assoc-ref outputs "out"))
843 (git (assoc-ref inputs "git"))
844 (openssh (assoc-ref inputs "openssh")))
845 (wrap-program (string-append out "/bin/git-review")
846 `("PATH" ":" prefix
847 ,(map (lambda (dir)
848 (string-append dir "/bin"))
67c05f58
CL
849 (list git openssh)))))
850 #t)))))
d4431993
CL
851 (native-inputs
852 `(("python-pbr" ,python-pbr)))
482d9591
HG
853 (propagated-inputs
854 `(("python-requests" ,python-requests)))
d4431993 855 (inputs
482d9591 856 `(("git" ,git)
381000d7 857 ("openssh" ,openssh)))
dbd37c13 858 (home-page "https://docs.openstack.org/infra/git-review/")
d4431993
CL
859 (synopsis "Command-line tool for Gerrit")
860 (description
861 "Git-review is a command-line tool that helps submitting Git branches to
862Gerrit for review, or fetching existing ones.")
863 (license asl2.0)))
864
865(define-public python2-git-review
5c31f4aa 866 (package-with-python2 python-git-review))