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