Skip to main content

SDK for Hubble API at Jina AI.

Project description

Hubble python SDK logo

Hubble Python SDK: Talk with Hubble in a Pythonic Way

Install

pip install jina-hubble-sdk

Core functionality

  • Authentication and token management.
  • Artifact management.

Usage

Login to Hubble

import hubble

# Open browser automatically and login via 3rd party.
# Token will be saved locally.
hubble.login()

Logout

import hubble

# If there is a valid token locally, 
# this will disable that token and remove it from local config.
hubble.logout()

Authentication and Token Management

After calling hubble.login(), you can use the client with:

import hubble

client = hubble.Client(
    max_retries=None,
    jsonify=True
)
# Get current user information.
response = client.get_user_info()
# Create a new personally access token for longer expiration period.
response = client.create_personal_access_token(
    name='my-pat',
    expiration_days=30
)
# Query all personal access tokens.
response = client.list_personal_access_tokens()

Artifact Management

import hubble
import io

client = hubble.Client(
    max_retries=None,
    jsonify=True
)

# Upload artifact to Hubble Artifact Storage by providing path.
response = client.upload_artifact(
    f='~/Documents/my-model.onnx',
    is_public=False
)

# Upload artifact to Hubble Artifact Storage by providing `io.BytesIO`
response = client.upload_artifact(
    f=io.BytesIO(b"some initial binary data: \x00\x01"),
    is_public=False
)

# Get current artifact information.
response = client.get_artifact_info(id='my-artifact-id')

# Download artifact to local directory.
response = client.download_artifact(
    id='my-artifact-id',
    path='my-local-filepath'
)

# Get list of artifacts.
response = client.list_artifacts(filter={'metaData.foo': 'bar'}, sort={'type': -1})

# Delete the artifact.
response = client.delete_artifact(id='my-artifact-id')

Error Handling

import hubble

client = hubble.Client()

try:
    client.get_user_info()
except hubble.excepts.AuthenticationRequiredError:
    print('Please login first.')
except Exception:
    print('Unknown error')

Development

Local test

  • Make a new virtual env. make env
  • Install dependencies. make init
  • The test should be run in a logged in environment. So need to login to Jina. jina auth login
  • Test locally. make test

Release cycle

  • Each time new commits come into main branch, CD workflow will generate a new release both on GitHub and Pypi.
  • Each time new commits come into alpha branch, CD workflow will generate a new pre-release both on GitHub and Pypi.

Support

Join Us

Hubble Python SDK is backed by Jina AI and licensed under Apache-2.0. We are actively hiring AI engineers, solution engineers to build the next neural search ecosystem in opensource.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

jina-hubble-sdk-0.7.0.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

jina_hubble_sdk-0.7.0-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file jina-hubble-sdk-0.7.0.tar.gz.

File metadata

  • Download URL: jina-hubble-sdk-0.7.0.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.13

File hashes

Hashes for jina-hubble-sdk-0.7.0.tar.gz
Algorithm Hash digest
SHA256 10935c87f1913bf6c9a716d82d72686613a40f74ce339306bcaab274efa6c5e7
MD5 d59eb45aa96c7718839827b1090a65f7
BLAKE2b-256 f20355bd90b499159d8f8627241ffa8c9e86e03bb12c4806505127c364d4623e

See more details on using hashes here.

File details

Details for the file jina_hubble_sdk-0.7.0-py3-none-any.whl.

File metadata

File hashes

Hashes for jina_hubble_sdk-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b25bfb2e2681089c1608f80d6d0dfa11c8723c6e33da2dc5dda35882bfbcb41e
MD5 df22185f45308e04f1b305fafface6f9
BLAKE2b-256 f8997f4317c8704c76a3a1f47ee80db720e249b8fef99173b53d03e201646d5d

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