Skip to main content

A Python wrapper for DOIP.

Project description

DOIPY

Doipy is a Python wrapper for communication using the Digital Object Interface Protocol (DOIP) in its current specification v2.0 (https://www.dona.net/sites/default/files/2018-11/DOIPv2Spec_1.pdf).

It supports the Basic Operations hello, create, access, update, delete, search, and listOperations. Extended Operations implemented by specific repository software are and will be included in future.

Install

Simply run

$ pip install doipy

Usage

This doipy package has several methods. Please use doipy --help to list all available methods.

To use it in the Command Line Interface, run:

$ doipy hello <username> <password>
# DOIP requires user authentication for 0.DOIP/Op.Hello

$ doipy create file1 file2 file3
# Output of the create command

$ doipy search <query string> --username <username> --password <password>

To use it in the Python code simply import it and call the exposed methods. The return value of the methods is always of type <class 'dict'>

from doipy import hello, create

response = hello(username='', password='')

do_type = 'Document'
with open('file1.txt', 'rb') as file1, open('file2.png', 'rb') as file2, open('metadata.json', 'r') as md_file:
    create(do_type=do_type, files=[file1, file2], md_file=md_file, client_id='', password='')

For developer

The project is managed by Poetry. Therefore, make sure that Poetry is installed in your system. Then run

$ poetry install

to install all dependencies. With this command, Poetry also install the package in editable mode.

Create a FAIR Digital Object

To create a FAIR Digital Object (FDO), please follow these three steps:

  1. Execute the following command to create a Digital Object (DO) of the data bitstream. Note down the ID of the created DO.

    $ doipy create <file> --md-file <md-file> --client-id <client-id> --password <password>
    
  2. Create a DO of the metadata bitstream. Note down the ID of the creat`d DO.

    $ doipy create <metadata-file> --md-file <md-metadata-file> --client-id <client-id> --password <password>
    
  3. Create the FDO.

    $ doipy create_fdo <id-data-DO> <id-metadata-DO> --client-id <client-id> --password <password>
    

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

doipy-0.2.2.tar.gz (5.0 kB view hashes)

Uploaded Source

Built Distribution

doipy-0.2.2-py3-none-any.whl (6.6 kB view hashes)

Uploaded Python 3

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