Skip to main content

The official CloudCruise Python SDK

Project description

cloudcruise-python

MIT License PyPI - Version PyPI - Downloads GitHub Repo stars YC W24

The official CloudCruise Python SDK for automated browser workflows, encrypted credential management, realtime run monitoring, and webhook verification.


Installation

pip install cloudcruise

Python 3.10 or newer is required. The package ships with type hints (py.typed).


Quick Start

from cloudcruise import CloudCruise, CloudCruiseParams, StartRunRequest

client = CloudCruise(
    CloudCruiseParams(
        api_key="<CLOUDCRUISE_API_KEY>",
        encryption_key="<CLOUDCRUISE_ENCRYPTION_KEY>",
    )
)
# Alternatively, set CLOUDCRUISE_API_KEY and CLOUDCRUISE_ENCRYPTION_KEY
# environment variables and instantiate with `client = CloudCruise()`.

run = client.runs.start(
    StartRunRequest(
        workflow_id="105b7ae1-ce62-4a5c-b782-b4b0aec5175a",
        run_input_variables={"email": "test@example.com"},
    )
)

# Listen to specific event types (recommended - clean and type-safe)
run.on("execution.start", lambda e: print(f"Workflow started: {e.payload['workflow_id']}"))
run.on("execution.step", lambda e: print(f"Step: {e.payload['current_step']}"))
run.on("execution.success", lambda e: print(f"Success! Output: {e.payload.get('data')}"))
run.on("end", lambda info: print(f"Run completed: {info['type']}"))

# Or use generic listener for all events (flattened structure)
# run.on("run.event", lambda event: print(f"{event.type}: {event.payload}"))

# Block until the run finishes and fetch final results
result = run.wait()
print(result.status, result.data)

Environment variables CLOUDCRUISE_API_KEY, CLOUDCRUISE_ENCRYPTION_KEY are also supported via lazy cloudcruise.client().


Clients

Client Description Module Docs
Vault AES-256-GCM credential storage and retrieval utilities cloudcruise.vault
Workflows Workflow definitions, metadata, and input validation cloudcruise.workflows
Runs Workflow execution with SSE-based realtime streaming cloudcruise.runs
Webhook Webhook payload verification and helpers cloudcruise.webhook

All clients are accessible via CloudCruise or the convenience cloudcruise.client() singleton.


Development

This project uses standard Python tooling with setuptools. See CONTRIBUTING.md for comprehensive instructions.

Quick start:

python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install -e ".[dev]"  # installs package + dev dependencies

# Run the unit test suite
python -m unittest discover -s tests -p "test_*.py" -v

For live staging tests, export CLOUDCRUISE_API_KEY and CLOUDCRUISE_ENCRYPTION_KEY, then run python -m unittest discover -s tests -p "test_live_staging.py" -v.


Documentation & Resources


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

cloudcruise-1.2.0.tar.gz (40.0 kB view details)

Uploaded Source

Built Distribution

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

cloudcruise-1.2.0-py3-none-any.whl (36.2 kB view details)

Uploaded Python 3

File details

Details for the file cloudcruise-1.2.0.tar.gz.

File metadata

  • Download URL: cloudcruise-1.2.0.tar.gz
  • Upload date:
  • Size: 40.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cloudcruise-1.2.0.tar.gz
Algorithm Hash digest
SHA256 6635bc1fdaad0b73b88a57725ce5d0e4e3b4bfdb618c64181aea7fa8fa7548a7
MD5 7e86850651e85c70f74c108a92f1fda4
BLAKE2b-256 c21e1226e308e6127ee07fa7dbd054ce19c93700efa10f9011e91bb0918187eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for cloudcruise-1.2.0.tar.gz:

Publisher: publish.yml on CloudCruise/cloudcruise-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cloudcruise-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: cloudcruise-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 36.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cloudcruise-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c0906e8e21c7363b1750f81ae0735523594e745258ad91db9bb18556f02fa513
MD5 c029e41cbd0927897f868593c4c8118b
BLAKE2b-256 052627a3289d58397bcb58e95cdde942b6f65d08e34900f7fa2dae9d8c0a8e2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cloudcruise-1.2.0-py3-none-any.whl:

Publisher: publish.yml on CloudCruise/cloudcruise-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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