Skip to main content

Python collector SDK for Chainbase task runtime

Project description

octoarms-sdk

Python SDK for task collectors running on the Chainbase task platform.

Install

pip install octoarms-sdk

Publish to PyPI

Local build and check

python -m pip install --upgrade build twine
python -m build
twine check dist/*

Manual upload

twine upload dist/*

GitHub Actions auto publish

  1. Add repository secret PYPI_API_TOKEN (value: your PyPI API token).
  2. Bump version in python/pyproject.toml.
  3. Create and push tag with py-v* format, for example:
git tag py-v0.1.1
git push origin py-v0.1.1

Usage

from octoarms_sdk import (
    TaskContext,
    build_data_api_upsert_fn,
    build_oss_upload_client,
    build_podcast_extractor_client,
    build_transcript_client,
)

upsert_fn = build_data_api_upsert_fn(
    capability_endpoint="http://chainbase-block-scanner-fetcher-test-svc",
    ephemeral_token="token-abc",
)

ctx = TaskContext(
    run_id="123",
    task_name="demo_task",
    task_version="v0.1.0",
    upsert=upsert_fn,
)

extractor = build_podcast_extractor_client(
    capability_endpoint="http://chainbase-block-scanner-fetcher-test-svc",
    ephemeral_token="token-abc",
)
audio = extractor.extract_audio(
    platform="rss_feed",
    episode_url="https://example.com/episode",
)

oss = build_oss_upload_client(
    capability_endpoint="http://chainbase-block-scanner-fetcher-test-svc",
    ephemeral_token="token-abc",
)
uploaded = oss.upload_object_bytes(
    bucket="media-bucket",
    object_key="podcasts/demo.mp3",
    content=b"audio bytes",
    content_type="audio/mpeg",
)

transcripts = build_transcript_client(
    capability_endpoint="http://chainbase-block-scanner-fetcher-test-svc",
    ephemeral_token="token-abc",
)
job = transcripts.submit_transcript(url=str(uploaded["uri"]), language="en")
transcript = transcripts.wait_transcript(str(job["job_id"]))

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

octoarms_sdk-0.2.5.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

octoarms_sdk-0.2.5-py3-none-any.whl (22.9 kB view details)

Uploaded Python 3

File details

Details for the file octoarms_sdk-0.2.5.tar.gz.

File metadata

  • Download URL: octoarms_sdk-0.2.5.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for octoarms_sdk-0.2.5.tar.gz
Algorithm Hash digest
SHA256 167d6b703f3a83991e9af3bf0d236a323d97975e7b88a107b51013446c8834d7
MD5 624c5c1dffb9a09e4c68e5a385530016
BLAKE2b-256 0daa0b63c6049db6bc9ded1433cd0c90985cfdb75e9b65a9a83114517dcedbaf

See more details on using hashes here.

File details

Details for the file octoarms_sdk-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: octoarms_sdk-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 22.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for octoarms_sdk-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ebb574ff6777f0025106fcfb8c237ba674db65e5c75d3e9fc01c4901f5db8829
MD5 3639c723af2fd8b9e9a5afeeeb1a638f
BLAKE2b-256 22d752bdbd3b4abbe768865386289e6529106d53f6f4da6d0af1ba417ba1e220

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