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