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