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