gnu: python2-oslo.context: 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
8531b326
CR
472(define-public python-oslo.i18n
473 (package
474 (name "python-oslo.i18n")
207e4d27 475 (version "3.20.0")
8531b326 476 (source
e4cc19c8
MC
477 (origin
478 (method url-fetch)
479 (uri (pypi-uri "oslo.i18n" version))
480 (sha256
481 (base32
482 "0kjcdw4bk3mi4vqmqwhhq053kxbbbj05si6nwxd1pzx33z067ky3"))))
8531b326
CR
483 (build-system python-build-system)
484 (propagated-inputs
e4cc19c8
MC
485 `(("python-babel" ,python-babel)
486 ("python-six" ,python-six)))
e7881f3d 487 (native-inputs
e4cc19c8
MC
488 `(("python-pbr" ,python-pbr)
489 ;; Tests
490 ("python-mock" ,python-mock)
491 ("python-mox3" ,python-mox3)
492 ("python-oslotest" ,python-oslotest)
493 ("python-testscenarios" ,python-testscenarios)))
dbd37c13 494 (home-page "https://launchpad.net/oslo")
8531b326
CR
495 (synopsis "Oslo internationalization (i18n) library")
496 (description
e4cc19c8 497 "The oslo.i18n library contain utilities for working with
8531b326
CR
498internationalization (i18n) features, especially translation for text strings
499in an application or library.")
500 (license asl2.0)))
501
502(define-public python2-oslo.i18n
503 (package-with-python2 python-oslo.i18n))
504
aee6412a
CR
505(define-public python-oslo.log
506 (package
507 (name "python-oslo.log")
f8a4547c 508 (version "3.36.0")
aee6412a
CR
509 (source
510 (origin
511 (method url-fetch)
f8a4547c 512 (uri (pypi-uri "oslo.log" version))
aee6412a
CR
513 (sha256
514 (base32
f8a4547c 515 "0h7hplf1h8k24v75m3mq1jlrl74x5ynyr4hwgffsg5campxnza4x"))))
aee6412a
CR
516 (build-system python-build-system)
517 (propagated-inputs
f8a4547c
MB
518 `(("python-dateutil" ,python-dateutil)
519 ("python-debtcollector" ,python-debtcollector)
520 ("python-monotonic" ,python-monotonic)
aee6412a
CR
521 ("python-oslo.config" ,python-oslo.config)
522 ("python-oslo.context" ,python-oslo.context)
523 ("python-oslo.i18n" ,python-oslo.i18n)
524 ("python-oslo.utils" ,python-oslo.utils)
525 ("python-oslo.serialization" ,python-oslo.serialization)
f8a4547c
MB
526 ("python-pbr" ,python-pbr)
527 ("python-pyinotify" ,python-pyinotify)
aee6412a 528 ("python-six" ,python-six)))
e7881f3d 529 (native-inputs
f8a4547c 530 `(("python-mock" ,python-mock)
aee6412a 531 ("python-oslotest" ,python-oslotest)
f8a4547c
MB
532 ("python-subunit" ,python-subunit)
533 ("python-testrepository" ,python-testrepository)
534 ("python-testtools" ,python-testtools)))
dbd37c13 535 (home-page "https://launchpad.net/oslo")
aee6412a
CR
536 (synopsis "Python logging library of the Oslo project")
537 (description
538 "The oslo.log (logging) configuration library provides standardized
539configuration for all OpenStack projects. It also provides custom formatters,
540handlers and support for context specific logging (like resource id’s etc).")
541 (license asl2.0)))
542
5702efe3
CR
543(define-public python-oslo.serialization
544 (package
545 (name "python-oslo.serialization")
caf3713a 546 (version "2.24.0")
5702efe3
CR
547 (source
548 (origin
549 (method url-fetch)
278c0efd 550 (uri (pypi-uri "oslo.serialization" version))
5702efe3
CR
551 (sha256
552 (base32
caf3713a 553 "08bxkp98c617y58x630xq44iiffm7f0f3cwh6zbnlkgq0zgh7jk1"))))
5702efe3
CR
554 (build-system python-build-system)
555 (propagated-inputs
caf3713a 556 `(("python-msgpack" ,python-msgpack)
5702efe3
CR
557 ("python-netaddr" ,python-netaddr)
558 ("python-oslo.utils" ,python-oslo.utils)
5702efe3
CR
559 ("python-six" ,python-six)
560 ("python-pytz" ,python-pytz)))
e7881f3d 561 (native-inputs
caf3713a 562 `(("python-pbr" ,python-pbr)
5702efe3
CR
563 ;; Tests.
564 ("python-mock" ,python-mock)
565 ("python-oslo.i18n" ,python-oslo.i18n)
566 ("python-oslotest" ,python-oslotest)))
dbd37c13 567 (home-page "https://launchpad.net/oslo")
5702efe3
CR
568 (synopsis "Oslo serialization library")
569 (description
570 "The oslo.serialization library provides support for representing objects
571in transmittable and storable formats, such as JSON and MessagePack.")
572 (license asl2.0)))
573
c8d7e063
DM
574(define-public python-reno
575 (package
576 (name "python-reno")
d2ae66b7 577 (version "2.7.0")
c8d7e063
DM
578 (source
579 (origin
580 (method url-fetch)
581 (uri (pypi-uri "reno" version))
582 (sha256
d2ae66b7 583 (base32 "0gwzi5dvacqx43smxl3rd1z33npn7gfhm50bvgmq90fib2q431wc"))))
c8d7e063
DM
584 (build-system python-build-system)
585 (arguments
586 `(#:phases
587 (modify-phases %standard-phases
588 (add-before 'check 'init-git
589 (lambda _
590 ;; reno expects a git repo
c8780a10 591 (invoke "git" "init"))))))
c8d7e063 592 (propagated-inputs
d2ae66b7
MB
593 `(("python-dulwich" ,python-dulwich)
594 ("python-pbr" ,python-pbr)
c8d7e063
DM
595 ("python-pyyaml" ,python-pyyaml)
596 ("python-six" ,python-six)))
597 (native-inputs
598 `(("python-testtools" ,python-testtools)
c8d7e063
DM
599 ("python-testscenarios" ,python-testscenarios)
600 ("python-testrepository" ,python-testrepository)
601 ("python-mock" ,python-mock)
d2ae66b7
MB
602 ("python-docutils" ,python-docutils)
603 ("python-sphinx" ,python-sphinx)
c8d7e063 604 ("gnupg" ,gnupg)
c8780a10 605 ("git" ,git-minimal)))
d39885a8 606 (home-page "https://docs.openstack.org/reno/latest/")
c8d7e063
DM
607 (synopsis "Release notes manager")
608 (description "Reno is a tool for storing release notes in a git repository
609and building documentation from them.")
610 (license asl2.0)))
611
612(define-public python2-reno
d2ae66b7 613 (package-with-python2 python-reno))
c8d7e063 614
f4c7dc55
CR
615(define-public python-oslosphinx
616 (package
617 (name "python-oslosphinx")
b5b548ef 618 (version "4.18.0")
f4c7dc55
CR
619 (source
620 (origin
621 (method url-fetch)
622 (uri (pypi-uri "oslosphinx" version))
623 (sha256
624 (base32
b5b548ef 625 "1xm41857vzrzjmnyi6bqirg4i5qa61v7wxcsdc4q1nzgr3ndgz5k"))))
f4c7dc55 626 (build-system python-build-system)
23015b4f 627 (arguments
27693b1e
DM
628 `(#:phases
629 (modify-phases %standard-phases
b5b548ef 630 (add-after 'unpack 'relax-requirements
27693b1e 631 (lambda _
b5b548ef
MC
632 (substitute* "test-requirements.txt"
633 (("hacking!=0.13.0,<0.14,>=0.12.0")
634 "hacking!=0.13.0,>=0.12.0"))
635 #t)))))
f4c7dc55 636 (propagated-inputs
5c6c3fbd 637 `(("python-requests" ,python-requests)))
e7881f3d 638 (native-inputs
b5b548ef
MC
639 `(("python-hacking" ,python-hacking)
640 ("python-openstackdocstheme" ,python-openstackdocstheme)
641 ("python-pbr" ,python-pbr)
642 ("python-reno" ,python-reno)
5c6c3fbd 643 ("python-sphinx" ,python-sphinx)))
dbd37c13 644 (home-page "https://www.openstack.org/")
f4c7dc55 645 (synopsis "OpenStack sphinx extensions and theme")
5c6c3fbd
MC
646 (description "This package provides themes and extensions for Sphinx
647documentation from the OpenStack project.")
f4c7dc55
CR
648 (license asl2.0)))
649
2053949a
CR
650(define-public python-oslotest
651 (package
652 (name "python-oslotest")
21b78681 653 (version "4.4.1")
2053949a 654 (source
0b5f73ce
MC
655 (origin
656 (method url-fetch)
657 (uri (pypi-uri "oslotest" version))
658 (sha256
659 (base32
21b78681 660 "0r50sz55m8ljv2vk1k7sp88iz1iqq4p9w6kb8hn8g8c50r9zdi5i"))))
2053949a 661 (build-system python-build-system)
21b78681
MC
662 (arguments
663 ;; The tests are disabled to avoid a circular dependency with oslo.config.
664 `(#:tests? #f))
2053949a 665 (propagated-inputs
0b5f73ce 666 `(("python-fixtures" ,python-fixtures)
0b5f73ce
MC
667 ("python-six" ,python-six)
668 ("python-subunit" ,python-subunit)
0b5f73ce 669 ("python-testtools" ,python-testtools)))
dbd37c13 670 (home-page "https://launchpad.net/oslo")
2053949a 671 (synopsis "Oslo test framework")
0b5f73ce
MC
672 (description "The Oslo Test framework provides common fixtures, support
673for debugging, and better support for mocking results.")
2053949a
CR
674 (license asl2.0)))
675
676(define-public python2-oslotest
be3f88c2 677 (package-with-python2 python-oslotest))
27cc9f25
CR
678
679(define-public python-oslo.utils
680 (package
681 (name "python-oslo.utils")
2847d833 682 (version "3.36.2")
27cc9f25
CR
683 (source
684 (origin
685 (method url-fetch)
94ce6b49 686 (uri (pypi-uri "oslo.utils" version))
27cc9f25
CR
687 (sha256
688 (base32
2847d833 689 "1ipjcgg9z697wmibhcbg5lqpk5gafakdx4qkff3w255zr0mvw04r"))))
27cc9f25
CR
690 (build-system python-build-system)
691 (propagated-inputs
692 `(("python-debtcollector" ,python-debtcollector)
693 ("python-oslo.i18n" ,python-oslo.i18n)
694 ("python-iso8601" ,python-iso8601)
695 ("python-monotonic" ,python-monotonic)
696 ("python-netaddr" ,python-netaddr)
697 ("python-netifaces" ,python-netifaces)
b51fbd6d 698 ("python-pyparsing" ,python-pyparsing)
27cc9f25
CR
699 ("python-pytz" ,python-pytz)
700 ("python-six" ,python-six)))
e7881f3d 701 (native-inputs
b51fbd6d 702 `(("python-pbr" ,python-pbr)
27cc9f25 703 ;; Tests.
ad59ebda 704 ("python-bandit" ,python-bandit)
b51fbd6d
MB
705 ("python-ddt" ,python-ddt)
706 ("python-fixtures" ,python-fixtures)
ad59ebda 707 ("python-oslo.config" ,python-oslo.config)
27cc9f25
CR
708 ("python-oslotest" ,python-oslotest)
709 ("python-mock" ,python-mock)
b51fbd6d
MB
710 ("python-testrepository" ,python-testrepository)
711 ("python-testscenarios" ,python-testscenarios)
712 ("python-testtools" ,python-testtools)))
dbd37c13 713 (home-page "https://launchpad.net/oslo")
27cc9f25
CR
714 (synopsis "Oslo utility library")
715 (description
716 "The @code{oslo.utils} library provides support for common utility type
717functions, such as encoding, exception handling, string manipulation, and time
718handling.")
719 (license asl2.0)))
720
c9e330d0
EF
721(define-public python-keystoneclient
722 (package
723 (name "python-keystoneclient")
724 (version "1.8.1")
725 (source
726 (origin
727 (method url-fetch)
728 (uri (pypi-uri "python-keystoneclient" version))
729 (sha256
730 (base32
731 "1w4csvkah67rfpxylxnvs2s3594i0f9isy8pf4gnsqs5zirvjaa4"))))
732 (build-system python-build-system)
bfba0836
MB
733 (arguments
734 '(#:tests? #f)) ; FIXME: Many tests are failing.
c9e330d0 735 (native-inputs
f3b98f4f 736 `(("python-sphinx" ,python-sphinx)
c9e330d0
EF
737 ;; and some packages for the tests
738 ("openssl" ,openssl)
739 ("python-coverage" ,python-coverage)
740 ("python-discover" ,python-discover)
741 ("python-fixtures" ,python-fixtures)
742 ("python-hacking" ,python-hacking)
743 ("python-keyring" ,python-keyring)
744 ("python-lxml" ,python-lxml)
745 ("python-mock" ,python-mock)
746 ("python-mox3" ,python-mox3)
747 ("python-oauthlib" ,python-oauthlib)
748 ("python-oslosphinx" ,python-oslosphinx)
749 ("python-oslotest" ,python-oslotest)
750 ("python-pycrypto" ,python-pycrypto)
751 ("python-requests-mock" ,python-requests-mock)
752 ("python-temptest-lib" ,python-tempest-lib)
753 ("python-testrepository" ,python-testrepository)
754 ("python-testresources" ,python-testresources)
755 ("python-testtools" ,python-testtools)
756 ("python-webob" ,python-webob)))
757 (propagated-inputs
758 `(("python-babel" ,python-babel)
759 ("python-debtcollector" ,python-debtcollector)
760 ("python-iso8601" ,python-iso8601)
761 ("python-netaddr" ,python-netaddr)
762 ("python-oslo.config" ,python-oslo.config)
763 ("python-oslo.i18n" ,python-oslo.i18n)
764 ("python-oslo.serialization" ,python-oslo.serialization)
765 ("python-oslo.utils" ,python-oslo.utils)
766 ("python-pbr" ,python-pbr)
767 ("python-prettytable" ,python-prettytable)
768 ("python-requests" ,python-requests)
769 ("python-six" ,python-six)
770 ("python-stevedore" ,python-stevedore)))
dbd37c13 771 (home-page "https://www.openstack.org/")
c9e330d0
EF
772 (synopsis "Client Library for OpenStack Identity")
773 (description
774 "Python-keystoneclient is the identity service used by OpenStack for
775authentication (authN) and high-level authorization (authZ). It currently
776supports token-based authN with user/service authZ, and is scalable to support
777OAuth, SAML, and OpenID in future versions. Out of the box, Keystone uses
778SQLite for its identity store database, with the option to connect to external
779LDAP.")
780 (license asl2.0)))
781
8f0cc2ff
EF
782(define-public python-swiftclient
783 (package
784 (name "python-swiftclient")
785 (version "2.6.0")
786 (source
787 (origin
788 (method url-fetch)
789 (uri (pypi-uri "python-swiftclient" version))
790 (sha256
791 (base32
792 "1j33l4z9vqh0scfncl4fxg01zr1hgqxhhai6gvcih1gccqm4nd7p"))))
793 (build-system python-build-system)
794 (native-inputs
b3546174 795 `(("python-pbr" ,python-pbr)
8f0cc2ff
EF
796 ("python-sphinx" ,python-sphinx)
797 ;; The folloing packages are needed for the tests.
798 ("python-coverage" ,python-coverage)
799 ("python-discover" ,python-discover)
800 ("python-hacking" ,python-hacking)
801 ("python-mock" ,python-mock)
802 ("python-oslosphinx" ,python-oslosphinx)
803 ("python-keystoneclient" ,python-keystoneclient)
804 ("python-testrepository" ,python-testrepository)
805 ("python-testtools" ,python-testtools)))
806 (propagated-inputs
807 `(("python-requests" ,python-requests)
808 ("python-six" ,python-six)))
dbd37c13 809 (home-page "https://www.openstack.org/")
8f0cc2ff
EF
810 (synopsis "OpenStack Object Storage API Client Library")
811 (description
812 "OpenStack Object Storage (code-named Swift) creates redundant, scalable
813object storage using clusters of standardized servers to store petabytes of
814accessible data. It is not a file system or real-time data storage system, but
815rather a long-term storage system for a more permanent type of static data that
816can be retrieved, leveraged, and then updated if necessary. Primary examples of
817data that best fit this type of storage model are virtual machine images, photo
818storage, email storage and backup archiving. Having no central \"brain\" or
819master point of control provides greater scalability, redundancy and
820permanence.")
0ab4c392 821 (license asl2.0)))
8f0cc2ff 822
d4431993
CL
823(define-public python-git-review
824 (package
825 (name "python-git-review")
cbb488d6 826 (version "1.28.0")
d4431993
CL
827 (source
828 (origin
829 (method url-fetch)
830 (uri (pypi-uri "git-review" version))
831 (sha256
cbb488d6 832 (base32 "0nn17mfqvsa3ryjz53qjslmf60clc0vx2115kkj66h28p6vsnflf"))))
d4431993 833 (build-system python-build-system)
381000d7 834 (arguments
cbb488d6 835 '(#:tests? #f ; tests require a running Gerrit server
381000d7
CL
836 #:phases
837 (modify-phases %standard-phases
838 (add-after 'install 'wrap-program
839 (lambda* (#:key inputs outputs #:allow-other-keys)
840 (let* ((out (assoc-ref outputs "out"))
841 (git (assoc-ref inputs "git"))
842 (openssh (assoc-ref inputs "openssh")))
843 (wrap-program (string-append out "/bin/git-review")
844 `("PATH" ":" prefix
845 ,(map (lambda (dir)
846 (string-append dir "/bin"))
67c05f58
CL
847 (list git openssh)))))
848 #t)))))
d4431993
CL
849 (native-inputs
850 `(("python-pbr" ,python-pbr)))
482d9591
HG
851 (propagated-inputs
852 `(("python-requests" ,python-requests)))
d4431993 853 (inputs
482d9591 854 `(("git" ,git)
381000d7 855 ("openssh" ,openssh)))
dbd37c13 856 (home-page "https://docs.openstack.org/infra/git-review/")
d4431993
CL
857 (synopsis "Command-line tool for Gerrit")
858 (description
859 "Git-review is a command-line tool that helps submitting Git branches to
860Gerrit for review, or fetching existing ones.")
861 (license asl2.0)))
862
863(define-public python2-git-review
5c31f4aa 864 (package-with-python2 python-git-review))