Package: b2handle
B2HANDLEThe b2handle Python library is a client library for interaction with aHandle Systemserver, using the native REST
interface introduced in Handle System 8. The library offers methods to
create, update and delete Handles as well as advanced functionality such
as searching over Handles using an additional search servlet and
managing multiple location entries per Handle.The library currently supports Python 2.6, 2.7, 3.5, 3.6 and 3.7, and
requires at least a Handle System server 8.1. The library requires
OpenSSL v1.0.1 or higher.Test Coverage and Continuous IntegrationTest status of the devel branch:B2Handle has a unit test coverage of approximately 90%. Every addition
to the devel branch is automatically unit tested. The test can be found
in b2handle/tests and easily run using the command “python
main_test_script.py”. For the current test coverage, please click on the
badge and link above.In addition to the unit tests, integration tests cover the reading,
writing and searching of handles. As these needs credentials and write
access to a real server, these are not run on GitHub. However, every
user with access to a handle server can add their own credentials and
run the integration tests in his/her system (using the command “python
main_test_script.py testtype write”, or “read”, or “search”, or all
three).Installation and useBuild an egg:pythonsetup.pybdist_eggInstall the library via pip:pipinstall<eggfile>For more information on the methods offered by the library, please
consult thetechnical
documentation. The
documentation also contains information on how to set up correct
certificates for the Handle Server so it accepts modification REST
requests and how to set up client authentication using public keys.Docker supportThe library can also be used in combination with Docker. TheDockerfilecontains instructions for building aDockerimage with the B2HANDLE library
installed.Base Docker Imagedebian:jessieInstallationInstallDocker.Build an image from Dockerfile:docker build-teudat-b2handle.Running Pythondocker run -it --rm eudat-b2handle python

Python 2.7.9 (default, Mar  1 2015, 12:57:24)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from b2handle.handleclient import EUDATHandleClient
>>>Building the documentationB2Handle usesSphinxfor documentation,
requiring at least version 1.3. Sphinx can be installed via pip. To
build HTML documentation locally, then run:pythonsetup.pybuild_sphinxDeveloper teamMachines don’t write software, people do. Please refer toCONTRIBUTORS.mdto learn about those who spent
effort in creating this product.LicenseCopyright 2015-2016, Deutsches Klimarechenzentrum GmbH, GRNET S.A.,
SURFsaraThe B2Handle library is licensed under the Apache License, Version 2.0
(the “License”); you may not use this product except in compliance with
the License. You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.