Skip to main content

floralatin-hubble-sdk9

PyPI

Install

pip install floralatin-hubble-sdk9

Core functionality

  • Python API and CLI.
  • Authentication and token management.
  • Artifact management.

Python API

Detecting logging status

import hubble
if hubble.is_logged_in():
    print('yeah')
else:
    print('no')

Get a token

Notice that the token you got from this function is always valid. If the token is invalid or expired, the result is None.

import hubble
hubble.get_token()

If you are using inside an interactive environment, i.e. user can input via stdin:

import hubble
hubble.get_token(interactive=True)

Mark a function as login required,

import hubble

@hubble.login_required
def foo():
    pass

Login to Hubble

import hubble

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

Login to Hubble from notebook environments (like Google Colab).

import hubble

# Use Personal Access Token or browser to login.
# Token will be saved locally.
hubble.notebook_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',
    f='my-local-filepath'
)
# Download artifact as an io.BytesIO object
response = client.download_artifact(
    id='my-artifact-id',
    f=io.BytesIO()
)

# 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')

CLI

Login to Jina Cloud

Open browser automatically and login via 3rd party. Token will be saved locally.

jina auth login

Logout

If there is a valid token locally, this will disable that token and remove it from local config.

jina auth logout

Personal access token (PAT) management

Create a new PAT

jina auth token create <name of PAT> -e <expiration days>

List PATs

jina auth token list

Delete PAT

jina auth token delete <name of PAT>

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.

FAQ (Frequently Asked Questions)

Run into RuntimeError: asyncio.run() cannot be called from a running event loop in Google Colab?

You could run into a problem when you trying to run this code in Google Colab.

import hubble

hubble.login()

The way to bypass this problem is using hubble.notebook_login(), specially designed for logging into Jina from notebook environments.

import hubble

hubble.notebook_login()

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.

Release files for floralatin-hubble-sdk9 1.0.2

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

Source distribution (sdist)

Source distribution for floralatin-hubble-sdk9 1.0.2
File Size Uploaded
floralatin-hubble-sdk9-1.0.2.tar.gz 46.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for floralatin-hubble-sdk9 1.0.2
File Interpreter ABI Platform
floralatin_hubble_sdk9-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 105.2 kB

Release files / floralatin-hubble-sdk9-1.0.2.tar.gz

Download URL floralatin-hubble-sdk9-1.0.2.tar.gz
Size 46.5 kB
Tags Source
SHA-256 checksum
How to use checksums
41dcde3a7d8cde5110fc6d29f0fbb126e2d8c8e706be725719ffa9c8c7abdc86
BLAKE2b-256 checksum
How to use checksums
5159e8d7a695d8b8d88640c958ac5e9a72e14505921ecd4ebf093fadf1340554
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.7.15

Release files / floralatin_hubble_sdk9-1.0.2-py3-none-any.whl

Download URL floralatin_hubble_sdk9-1.0.2-py3-none-any.whl
Size 58.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ec332106d3432a2cda20b58bc7da944e55d968b39f427ace4544b6721aa68861
BLAKE2b-256 checksum
How to use checksums
8e03790ee0b83b2e53d6e20565ddd04ae0edfe0f638fc55d5a9c3151460a30d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.7.15

Release history Release notifications | RSS feed

This release

1.0.2 This release

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