Skip to main content

Python library for accessing API of the UniCatDB - Universal Catalog Database for biological findings.

Project description

UniCatDB API library

Python library for accessing API of the UniCatDB - Universal Catalog Database for biological findings.

UniCatDB is a coherent yet flexible interdisciplinary storage solution for cataloging findings data of various research groups, focused mainly on green biology. Configurable by the researchers themselves, provides shared access enabling interoperability if desired, and is accessible by user-friendly interface on either desktop, laptop or tablet - both in the lab and on the go.

See www.unicatdb.org for more details and contact.

Getting started

  1. Install the library to your Python environment.

    Typically, for local Python on your desktop, run pip install command in shell:

    pip install unicatdb
    

    For other environments, such as Jupiter notebook, see respective documentation for instructions on how to install pip packages.

    For example, in Jupiter notebook, paste this snippet the top (source: here for details):

    # Install a pip package in the current Jupyter kernel
    
    import sys
    !{sys.executable} -m pip install unicatdb
    
  2. Login to the UniCatDB (https://app.unicatdb.org)

  3. Obtain your API credentials (API key and Personal access token) - click on your profile in toolbar, then on API Access button

  4. Use credentials in API client configuration, see usage examples bellow

Structure

The core of the library is in module unicatdb.opeapi_client which consists of code generated via the modified OpenAPI Generator and the interface corresponds to the UniCatDB API specifications available at https://api.unicatdb.org

For more convenient access, wrappers are provided in unicatdb.api module - this is your entrypoint for most common tasks.

Usage examples

The "Hello world"

What this does: Get first ten findings from the database

import unicatdb
from pprint import pprint

# %% Paste your API key and Personal access token from https://app.unicatdb.org/

configuration = unicatdb.Configuration(
    api_key='<PASTE YOUR API KEY HERE>',
    access_token='<PASTE YOUR ACCESS TOKEN HERE>'
)

# %% Query some data

from unicatdb.openapi_client import FindingArrayResponse

with unicatdb.Client(configuration) as client:
    findings: FindingArrayResponse = client.findings.api_findings_get()

    pprint(findings)

Advanced query example

What this does: Get only the name, amount and dynamic data of the top 10 findings sorted by amount greatest-first, of which taxonomy's genus contains 'vulgare':

import unicatdb
from pprint import pprint

# %% Paste your API key and Personal access token from https://app.unicatdb.org/

configuration = unicatdb.Configuration(
    api_key='<PASTE YOUR API KEY HERE>',
    access_token='<PASTE YOUR ACCESS TOKEN HERE>'
)

# %% Query some data - e.g. apply filtering, sorting and paging during the API call to leave the heavy-lifting to the server

from unicatdb.openapi_client import FindingArrayResponse, FindingFieldsQuery, PageQuery

with unicatdb.Client(configuration) as client:

    filter_expressions = {
        "taxonomyName.species": "like:vulgare"
    }

    fetch_only_fields = FindingFieldsQuery(findings="documentName,amount,dynamicData")

    findings: FindingArrayResponse = client.findings.api_findings_get(
        sort="-amount",
        filter=filter_expressions,
        fields=fetch_only_fields,
        page=PageQuery(number=1,size=10)
    )

    pprint(findings)

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

unicatdb-0.2.tar.gz (4.5 kB view details)

Uploaded Source

File details

Details for the file unicatdb-0.2.tar.gz.

File metadata

  • Download URL: unicatdb-0.2.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.2

File hashes

Hashes for unicatdb-0.2.tar.gz
Algorithm Hash digest
SHA256 0ee7522ef42618958dcc0f21f469a35f1ab4a9a97dce8b96d7c19f3ac98a3ab6
MD5 da7ce5b1c01b64382be1abb68765c55b
BLAKE2b-256 6454e8f1820f09dc22dd830c48b7a3b8214cec1e6e651149e36b0346d883624d

See more details on using hashes here.

Supported by

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