Add datetimerange library to global requirements

While developing a new feature in CloudKitty, we adopt a library
(datetimerange) to facilitate the handling/processing of
datetime ranges. Therefore, to make the Zuul requirements check
happy, we are introducing this new dependency into the global
requirements file.

Add datetimerange library to global requirements

While developing a new feature in CloudKitty, we adopt a library
(datetimerange) to facilitate the handling/processing of
datetime ranges. Therefore, to make the Zuul requirements check
happy, we are introducing this new dependency into the global
requirements file.

Here follows the answers to the new library requirement questions:

1 - Is the library actively maintained?

Yes, it is. As we see in [1], the component has more or less one
yearly release. It is a very focused library, so this release process
makes sense.

2 - Is the library good code?

Yes, it is. As we can see in [2], it has a 95% of code coverage.
Moreover, while navigating in the code repository, we can see that
methods are well documented, and coded.

3 - Is the library python 3 compatible?

Yes, it is. That is also found in the README of the project in [2].

4 - Is the library license compatible?

According to reference [3]:

```
In order to be acceptable as dependencies of OpenStack projects,
external libraries (produced and published by 3rd-party developers)
must be licensed under an OSI-approved license that does not restrict
distribution of the consuming project. The list of acceptable licenses
includes ASLv2, BSD (both forms), MIT, PSF, LGPL, ISC, and MPL.
Licenses considered incompatible with this requirement include GPLv2,
GPLv3, and AGPL.
```

Therefore, the project fits nicely into these requirements. The project
in question is licensed under MIT, as we can see in [2], in the right
corner part of the page, and also in the LICENSE file at the root of
the project.

5 - Is the library already packaged in the distros we target (Ubuntu
latest / Fedora latest)?

It is installed via PIP; PIP is available in major distros. Therefore,
it is possible to use this library in all of them by issues the command
`pip install DateTimeRange`.

6 - Is the function of this library already covered by other libraries
in global-requirements.txt?

No. At least, I did not find it.

7 - 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. We have a new feature being developed ion Cloudkitty in
[4], which needs this library to handle DateTime ranges.

8 - If the library release is managed by the Openstack release process
does it use the cycle-with-intermediary release type?

It is not managed by the OpenStack release process.

9 - Do I need to update anything else?

No.

[1] https://github.com/thombashi/DateTimeRange/releases
[2] https://github.com/thombashi/DateTimeRange
[3] https://governance.openstack.org/tc/reference/licensing.html
[4] https://review.opendev.org/c/openstack/cloudkitty/+/799207

Change-Id: I608331e28ef349399068f9b1fa16bd6a6c5779e6
This commit is contained in:
Rafael Weingärtner 2021-07-02 15:00:54 -03:00
parent d3eb093041
commit 71a8c3bd4f
2 changed files with 2 additions and 0 deletions

View File

@ -32,6 +32,7 @@ croniter # MIT License
cryptography!=2.0 # BSD/Apache-2.0
cursive # Apache-2.0
dataclasses;python_version=='3.6' # Apache-2.0
datetimerange # MIT
ddt # MIT
debtcollector<2.0.0;python_version<'3.6' # Apache-2.0
debtcollector;python_version>='3.6' # Apache-2.0

View File

@ -469,6 +469,7 @@ simplegeneric===0.8.1
python-pcre===0.7
yappi===1.3.2
dataclasses===0.8;python_version=='3.6'
datetimerange===1.1.0 # MIT
abclient===0.2.3
pymemcache===3.4.3
wrapt===1.12.1