Skip to main content

SDK-API

SDK-API is a simple library to access various services of the Superb Data Kraken (SDK) platform. It abstracts accessing services and resources of the SDK with a Python client object managing Authorization, Fetching and Indexing data.

It is primarily intended for use in an Jupyter Hub environment within the platform itself, but can be configured for different environments as well.

Installation and Supported Versions

$ python -m pip install sdk-api

SDK-API officially supports Python 3.7+.

Usage

Authentication

Before using the api, it is necessary to authenticate against the OIDC provider of the SDK. This is done at instantiation time of the client object. There are two ways to do this.

  1. Using system environment variables. This is the default case which should be used in a Jupyter environment. Simply instantiating the client object is enough in this case.

    import sdk.api
    client = sdk.api.SDKClient()
    

    This however assumes access and refresh tokens are accessible via the enviroment variables SDK_ACCESS_TOKEN, SDK_REFRESH_TOKEN.

  2. Using login credentials

    import sdk.api
    sdk.api.SDKClient(username='hasslethehoff', password='lookingforfreedom')
    

Configuration

By default everything is configured for usage with the default instance of the SDK but comes with settings for various different instances as well.

Setting Environment

import sdk.api
client = sdk.api.SDKClient(env='sdk-dev')
client = sdk.api.SDKClient(env='sdk')

Overwriting Settings

client = sdk.api.SDKClient(domain='mydomain.ai', realm='my-realm', client_id='my-client-id', api_version='v13.37')

Examples

Organizations

client.organization_get_all()
client.organization_get_by_id(1337)
client.organization_get_by_name('my-organization')

Spaces

Get all Spaces to a given Organization

organization_id = 1234
client.space_get_all(organization_id)
client.space_get_by_id(organization_id, space_id)
client.space_get_by_name(organization_id, space_name)

Index

List all Indices accessible with given credentials

indices = client.index_get_all()

Get specific document

document = client.index_get_document(index_name, doc_id)

Write document to index

documents = [
   {
      "_id": 123
      "name": "document01",
      "value": "value"
   },
   {
      "_id": 1337
      "name": "document01",
      "value": "value"
   }
]
index_name = "index" 
client.index_documents(documents, index_name)

The (optional) field _id is parsed and used as document id to index to opensearch.

List all indices filtered by organization, space and type accessible with given credentials

client.index_filter_by_space("my-organization", "my-space", "index-type")

use .* instead of my_space to get indices from all spaces in the given organization

index_type is either ANALYSIS or MEASUREMENTS

Create an application index

application_index = {
   "organizationName": "my-organization",
   "spaceName": "my-space",
   "customName": "my-application-index",
   "indexType": "ANALYSIS",
   "mappings": {}
}
client.application_index_create(application_index)

Delete an application index by name

client.application_index_delete("my-organization_my-space_analysis_my-application-index")

Storage

List files in Storage

files = client.storage_list_blobs(org_name, space_name)

Download files from Storage to local directory

files = [
   'file01.txt'
   'directory/file02.json',
]
client.storage_download_files(organization='my-organization', space='my-space', files=files, local_dir='tmp)

Release files for sdk-api 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sdk-api 0.2.1
File Size Uploaded
sdk-api-0.2.1.tar.gz 13.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sdk-api 0.2.1
File Interpreter ABI Platform
sdk_api-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 26.3 kB

Release files / sdk-api-0.2.1.tar.gz

Download URL sdk-api-0.2.1.tar.gz
Size 13.5 kB
Tags Source
SHA-256 checksum
How to use checksums
2c6a8301ab0963b970e2717ea51e334cf85a96bf2ebcb1f6d0acc3f3b0df5ee7
BLAKE2b-256 checksum
How to use checksums
f0fcc3c80ac2e49a5ec8bca242192986b110f2a2c6fbf399f292883bbebf5cbb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release files / sdk_api-0.2.1-py3-none-any.whl

Download URL sdk_api-0.2.1-py3-none-any.whl
Size 12.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4052ca45c270d8b9a08fb701ebec3f1b648cbe256bcedc5fd8919b0125f7d7a1
BLAKE2b-256 checksum
How to use checksums
a955aadc646ac506f1dc78bd0238ec03f04738f81c9e7b3906d67ba8ec3348a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page