Skip to main content

Library for management of handles in the EUDAT project.

Project description

B2HANDLE

The b2handle Python library is a client library for interaction with a Handle System server, 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 Integration

Test status of the devel branch:

Build Status (click here to check out test coverage)

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 use

Build an egg:

python setup.py bdist_egg

Install the library via pip:

pip install <egg file>

For more information on the methods offered by the library, please consult the technical 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 support

The library can also be used in combination with Docker. The Dockerfile contains instructions for building a Docker image with the B2HANDLE library installed.

Base Docker Image

Installation

  1. Install Docker.

  2. Build an image from Dockerfile: docker build -t eudat-b2handle .

Running Python

docker 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 documentation

B2Handle uses Sphinx for documentation, requiring at least version 1.3. Sphinx can be installed via pip. To build HTML documentation locally, then run:

python setup.py build_sphinx

Developer team

Machines don’t write software, people do. Please refer to CONTRIBUTORS.md to learn about those who spent effort in creating this product.

License

Copyright 2015-2016, Deutsches Klimarechenzentrum GmbH, GRNET S.A., SURFsara

The 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 at

http://www.apache.org/licenses/LICENSE-2.0

Unless 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

b2handle-1.1.2.tar.gz (73.8 kB view details)

Uploaded Source

Built Distributions

b2handle-1.1.2-py3.7.egg (225.7 kB view details)

Uploaded Source

b2handle-1.1.2-py3.6.egg (225.8 kB view details)

Uploaded Source

b2handle-1.1.2-py3.5.egg (228.9 kB view details)

Uploaded Source

b2handle-1.1.2-py2.py3-none-any.whl (106.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file b2handle-1.1.2.tar.gz.

File metadata

  • Download URL: b2handle-1.1.2.tar.gz
  • Upload date:
  • Size: 73.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.7

File hashes

Hashes for b2handle-1.1.2.tar.gz
Algorithm Hash digest
SHA256 988028ca0a5d03e248bb089a1960c1d389582b7492fefe87f238addd307b218e
MD5 9de138e796be838b05d3ff098d5891b2
BLAKE2b-256 7e727a8f394d4dcdf9cd075bdb06371b4a5d651e46a1d9b1f9d33f8b6739a879

See more details on using hashes here.

File details

Details for the file b2handle-1.1.2-py3.7.egg.

File metadata

  • Download URL: b2handle-1.1.2-py3.7.egg
  • Upload date:
  • Size: 225.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.7

File hashes

Hashes for b2handle-1.1.2-py3.7.egg
Algorithm Hash digest
SHA256 8ead503e60c232c31881e2cd07f2a263a73a9c711208e7ad13e50b1a45c2aa43
MD5 2030c4cf777ed3f339518c151aa6fd1f
BLAKE2b-256 82f4eee283d680abd389ab0bd884d0bc99455d31900e4a596d710245f5a5b1cc

See more details on using hashes here.

File details

Details for the file b2handle-1.1.2-py3.6.egg.

File metadata

  • Download URL: b2handle-1.1.2-py3.6.egg
  • Upload date:
  • Size: 225.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.7

File hashes

Hashes for b2handle-1.1.2-py3.6.egg
Algorithm Hash digest
SHA256 d863987674e31bb7b4df0c555e8ab7f406676796ab79c23c2e6c6d4268830bb0
MD5 31f3bd4f24d3dcd85c2afddfef9292f6
BLAKE2b-256 ca0affba81505b5dc908c0bb33b80daf26f2ead2055b96b8a9005e897669d091

See more details on using hashes here.

File details

Details for the file b2handle-1.1.2-py3.5.egg.

File metadata

  • Download URL: b2handle-1.1.2-py3.5.egg
  • Upload date:
  • Size: 228.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.7

File hashes

Hashes for b2handle-1.1.2-py3.5.egg
Algorithm Hash digest
SHA256 e4d5907f54e99c76e08558f305bbe3fda98d1c5367041e1a86b08326eba09a37
MD5 780d835889ab37617cb1eb0035f60425
BLAKE2b-256 ec8bb8c1bfda9764da1a08f80980b2095d0cd26f580d1ca0e1dac73fd8b0b5b5

See more details on using hashes here.

File details

Details for the file b2handle-1.1.2-py2.py3-none-any.whl.

File metadata

  • Download URL: b2handle-1.1.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 106.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.7

File hashes

Hashes for b2handle-1.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5cea8bb9da1ea83da9e08dcb4e37f6e14341630c57e81f20f8806075404f1e6c
MD5 792030bcf0938f1730e809fbf0b91fe4
BLAKE2b-256 1ab8b3b90ae1cfa87e91fdcd8286d4d5b08f0a977233d7f2def128302f8d7b01

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page