
Swift is moving to using Boto3, as opposed to the unmaintained Boto library for its S3 tests. * Is the library actively maintained? Yes -- it is the recommended library by Amazon for AWS and S3 specifically. Last commit: 05/06/2019 (auto-commit). Maintainers respond to bug reports. * Is the library good code? It's the evolution of the Boto library. The code is well documented, with numerous examples of usage. A significant portion is auto-generated, which makes working on the library a little more difficult. The library supports extensions and modifications through its event system, which allows its easier usage in the testing infrastructure. * Is the library python 3 compatible? Yes -- up to python 3.7. * Is the library license compatible? Boto3 is licensed under Apache 2.0. * Is the library already packaged in the distros we target (Ubuntu latest / Fedora latest)? Yes (Ubuntu 19.04: 1.9.86; Fedora 30: 1.9.101) * Is the function of this library already covered by other libraries in global-requirements.txt? This would be a replacement for the existing Boto library. The older Boto library could be removed if all users transition to Boto3. * Is the library required for OpenStack project or related dev or infrastructure setup? (Answer to this should be Yes, of course) Which? Yes, it is to be used by Swift: https://review.opendev.org/#/c/657149/. The Boto library has the following warning text: "API updates and all new feature work will be focused on Boto3" and: "As more users make the switch to Boto3, we expect to reduce our maintenance involvement over time". Boto issues/pull requests are currently not addressed (for example, https://github.com/Boto/Boto/pull/3471 and https://github.com/Boto/Boto/pull/3513 -- pull requests from a Swift committer have been open for 3 years with no feedback). Boto and Boto3 can be used alongside each other to simplify the transition. * If the library release is managed by the Openstack release process does it use the cycle-with-intermediary release type? This is an external to OpenStack library. Change-Id: I1d95e4bbed051ea7e4bb77fb9e38d3006843f998
Global Requirements and Constraints for OpenStack Projects
Resources and Documentation
Please refer to the dependency management documentation linked below for up to date documentation on how to use and interact with the requirements project.
Description
Languages
Python
89.8%
Shell
10.2%