Skip to main content

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

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.86.1.tar.gz (573.8 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.86.1-py3-none-any.whl (2.0 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: parallelworks_client-7.86.1.tar.gz
  • Upload date:
  • Size: 573.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","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.86.1.tar.gz
Algorithm Hash digest
SHA256 17e083c7671696b6f86f2d0d0ada5cf229da3ba2f1da930bd3b61019a3a213e2
MD5 dac1cb27bc5abd0fec4073fabe759cd3
BLAKE2b-256 35cd737296eb282480a030e6d6b9e5f18d6523a6b33c2950d7fef4fb8b80300c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: parallelworks_client-7.86.1-py3-none-any.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","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.86.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8948d82f3d6bed0b30d5dc134ed83aad85e3cf933689379890b481cb2452d089
MD5 55b56d8f02a074815f3d5faef9b745d8
BLAKE2b-256 d30c91fa3af557ff0851f017be659d32242c30a329d88a6aba7dba1da35e2eb8

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page