Skip to main content

Official Python SDK for Parallel Works ACTIVATE

Project description

parallelworks-client

Official Python client for the Parallel Works ACTIVATE platform API.

Installation

pip install parallelworks-client

Quick Start

The simplest way to create a client - just pass your credential:

import os
from parallelworks_client import Client

# The platform host is automatically extracted from your credential
with Client.from_credential(os.environ["PW_API_KEY"]).sync() as client:
    response = client.get("/api/buckets")
    for bucket in response.json():
        print(f"Bucket: {bucket['name']}")

See the examples directory for complete runnable examples.

Authentication

Automatic Host Detection

API keys (pwt_...) and JWT tokens contain the platform host encoded within them. Use from_credential to automatically extract it:

# API key - host decoded from first segment after pwt_
client = Client.from_credential("pwt_Y2xvdWQucGFyYWxsZWwud29ya3M.xxxxx")
# Connects to: https://cloud.parallel.works

# JWT token - host read from platform_host claim
client = Client.from_credential("eyJhbGci...")
# Connects to the host in the token's platform_host claim

Explicit Host

If you prefer to specify the host explicitly:

# API Key (Basic Auth) - best for long-running integrations
client = Client.with_api_key(
    "https://cloud.parallel.works",
    "pwt_..."
)

# JWT Token (Bearer) - best for scripts, expires in 24h
client = Client.with_token(
    "https://cloud.parallel.works",
    "eyJhbGci..."
)

# Auto-detect credential type
client = Client.with_credential(
    "https://cloud.parallel.works",
    os.environ["PW_CREDENTIAL"]
)

Credential Helpers

from parallelworks_client import is_api_key, is_token, extract_platform_host

is_api_key("pwt_abc.xyz")           # True
is_token("eyJ.abc.def")             # True
extract_platform_host("pwt_...")    # "cloud.parallel.works"

Async Support

import asyncio
from parallelworks_client import Client

async def main():
    async with Client.from_credential(os.environ["PW_API_KEY"]) as client:
        response = await client.get("/api/buckets")
        print(response.json())

asyncio.run(main())

Documentation

For full API documentation, visit https://parallelworks.com/docs.

License

MIT

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

parallelworks_client-7.47.0.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

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

parallelworks_client-7.47.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file parallelworks_client-7.47.0.tar.gz.

File metadata

  • Download URL: parallelworks_client-7.47.0.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for parallelworks_client-7.47.0.tar.gz
Algorithm Hash digest
SHA256 c7c3fe9b280a77e6dfc0233d7f52a06be16e8dc75dff02fe3915d86674938de9
MD5 e4a5a704edba70680932a5a37b46a553
BLAKE2b-256 c2820635e1602d7bbd13c23b4c0a36d00e8f2461348b2a76762ae260d7724b3f

See more details on using hashes here.

File details

Details for the file parallelworks_client-7.47.0-py3-none-any.whl.

File metadata

  • Download URL: parallelworks_client-7.47.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for parallelworks_client-7.47.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c2ee20c515ddec7b8298f5d62beb2d7119150806a0d46c767d7231f1fe7493ae
MD5 9c568bdafa40de9f86e1525a0e2c895a
BLAKE2b-256 ac56c30fb5591cdc8e1e770aa9c83c036c9a71c0d9a5e25e0fa3d47f3140e178

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