# cloudcruise-python
[](LICENSE)


[](https://github.com/CloudCruise/cloudcruise-python)
[](https://discord.com/invite/MHjbUqedZF)
[](https://www.ycombinator.com/companies/cloudcruise)
The official CloudCruise Python SDK for automated browser workflows, encrypted
credential management, realtime run monitoring, and webhook verification.
---
## Installation
```bash
pip install cloudcruise
```
Python 3.10 or newer is required. The package ships with type hints (`py.typed`).
---
## Quick Start
```python
from cloudcruise import CloudCruise, StartRunRequest
client = CloudCruise(
    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**](./cloudcruise/vault)         | AES-256-GCM credential storage and retrieval utilities | [`cloudcruise.vault`](./cloudcruise/vault)         |
| [**Workflows**](./cloudcruise/workflows) | Workflow definitions, metadata, and input validation   | [`cloudcruise.workflows`](./cloudcruise/workflows) |
| [**Runs**](./cloudcruise/runs)           | Workflow execution with SSE-based realtime streaming   | [`cloudcruise.runs`](./cloudcruise/runs)           |
| [**Webhook**](./cloudcruise/webhook)     | Webhook payload verification and helpers               | [`cloudcruise.webhook`](./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](./CONTRIBUTING.md) for comprehensive instructions.
Quick start:
```bash
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 tests/test_live_staging.py -v`.
---
## Documentation & Resources
- [API Documentation](https://docs.cloudcruise.com) – Full platform reference
- [CloudCruise Platform](https://cloudcruise.com) – Product overview
- [Agents & Assistant Context](./AGENTS.md) – How this repository’s automation assistant operates
---
## License
[MIT](LICENSE)
            
         
        Raw data
        
            {
    "_id": null,
    "home_page": null,
    "name": "cloudcruise",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "cloudcruise, sdk, automation, workflows, sse, webhook",
    "author": null,
    "author_email": "CloudCruise <founders@cloudcruise.com>",
    "download_url": "https://files.pythonhosted.org/packages/38/3b/3edf8cbb9a619474007d80e4352ccdfb8f00106c614e73c58f575dd63bf7/cloudcruise-0.0.1.tar.gz",
    "platform": null,
    "description": "# cloudcruise-python\n\n[](LICENSE)\n\n\n[](https://github.com/CloudCruise/cloudcruise-python)\n[](https://discord.com/invite/MHjbUqedZF)\n[](https://www.ycombinator.com/companies/cloudcruise)\n\nThe official CloudCruise Python SDK for automated browser workflows, encrypted\ncredential management, realtime run monitoring, and webhook verification.\n\n---\n\n## Installation\n\n```bash\npip install cloudcruise\n```\n\nPython 3.10 or newer is required. The package ships with type hints (`py.typed`).\n\n---\n\n## Quick Start\n\n```python\nfrom cloudcruise import CloudCruise, StartRunRequest\n\nclient = CloudCruise(\n    api_key=\"<CLOUDCRUISE_API_KEY>\",\n    encryption_key=\"<CLOUDCRUISE_ENCRYPTION_KEY>\",\n)\n# Alternatively, set CLOUDCRUISE_API_KEY and CLOUDCRUISE_ENCRYPTION_KEY\n# environment variables and instantiate with `client = CloudCruise()`.\n\nrun = client.runs.start(\n    StartRunRequest(\n        workflow_id=\"105b7ae1-ce62-4a5c-b782-b4b0aec5175a\",\n        run_input_variables={\"email\": \"test@example.com\"},\n    )\n)\n\n# Listen to specific event types (recommended - clean and type-safe)\nrun.on(\"execution.start\", lambda e: print(f\"Workflow started: {e['payload']['workflow_id']}\"))\nrun.on(\"execution.step\", lambda e: print(f\"Step: {e['payload']['current_step']}\"))\nrun.on(\"execution.success\", lambda e: print(f\"Success! Output: {e['payload'].get('data')}\"))\nrun.on(\"end\", lambda info: print(f\"Run completed: {info['type']}\"))\n\n# Or use generic listener for all events (flattened structure)\n# run.on(\"run.event\", lambda event: print(f\"{event['type']}: {event['payload']}\"))\n\n# Block until the run finishes and fetch final results\nresult = run.wait()\nprint(result.status, result.data)\n```\n\nEnvironment variables `CLOUDCRUISE_API_KEY`, `CLOUDCRUISE_ENCRYPTION_KEY` are also supported via lazy `cloudcruise.client()`.\n\n---\n\n## Clients\n\n| Client                                   | Description                                            | Module Docs                                        |\n| ---------------------------------------- | ------------------------------------------------------ | -------------------------------------------------- |\n| [**Vault**](./cloudcruise/vault)         | AES-256-GCM credential storage and retrieval utilities | [`cloudcruise.vault`](./cloudcruise/vault)         |\n| [**Workflows**](./cloudcruise/workflows) | Workflow definitions, metadata, and input validation   | [`cloudcruise.workflows`](./cloudcruise/workflows) |\n| [**Runs**](./cloudcruise/runs)           | Workflow execution with SSE-based realtime streaming   | [`cloudcruise.runs`](./cloudcruise/runs)           |\n| [**Webhook**](./cloudcruise/webhook)     | Webhook payload verification and helpers               | [`cloudcruise.webhook`](./cloudcruise/webhook)     |\n\nAll clients are accessible via `CloudCruise` or the convenience `cloudcruise.client()` singleton.\n\n---\n\n## Development\n\nThis project uses standard Python tooling with `setuptools`. See\n[CONTRIBUTING.md](./CONTRIBUTING.md) for comprehensive instructions.\n\nQuick start:\n\n```bash\npython -m venv .venv\nsource .venv/bin/activate  # Windows: .venv\\Scripts\\activate\npip install -e \".[dev]\"  # installs package + dev dependencies\n\n# Run the unit test suite\npython -m unittest discover -s tests -p \"test_*.py\" -v\n```\n\nFor live staging tests, export `CLOUDCRUISE_API_KEY` and\n`CLOUDCRUISE_ENCRYPTION_KEY`, then run `python -m unittest tests/test_live_staging.py -v`.\n\n---\n\n## Documentation & Resources\n\n- [API Documentation](https://docs.cloudcruise.com) \u2013 Full platform reference\n- [CloudCruise Platform](https://cloudcruise.com) \u2013 Product overview\n- [Agents & Assistant Context](./AGENTS.md) \u2013 How this repository\u2019s automation assistant operates\n\n---\n\n## License\n\n[MIT](LICENSE)\n",
    "bugtrack_url": null,
    "license": "MIT License",
    "summary": "The official CloudCruise Python SDK",
    "version": "0.0.1",
    "project_urls": {
        "Discord": "https://discord.com/invite/MHjbUqedZF",
        "Documentation": "https://docs.cloudcruise.com",
        "Homepage": "https://cloudcruise.com",
        "Issues": "https://github.com/CloudCruise/cloudcruise-python/issues",
        "Repository": "https://github.com/CloudCruise/cloudcruise-python"
    },
    "split_keywords": [
        "cloudcruise",
        " sdk",
        " automation",
        " workflows",
        " sse",
        " webhook"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a3dc5c86085c05e5eb6beaa8896353d942cdaad0f479fab811936c897f0b78e7",
                "md5": "6cba56f03a7ad7d9a838f1dc0f23ac26",
                "sha256": "9a01eeea8604f25d6697bed520562df0c699b4d8ad18b3c7ae142767c6358c51"
            },
            "downloads": -1,
            "filename": "cloudcruise-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6cba56f03a7ad7d9a838f1dc0f23ac26",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 26886,
            "upload_time": "2025-10-21T19:34:46",
            "upload_time_iso_8601": "2025-10-21T19:34:46.345414Z",
            "url": "https://files.pythonhosted.org/packages/a3/dc/5c86085c05e5eb6beaa8896353d942cdaad0f479fab811936c897f0b78e7/cloudcruise-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "383b3edf8cbb9a619474007d80e4352ccdfb8f00106c614e73c58f575dd63bf7",
                "md5": "fea2b61f2ceb4a1d3e8662357ed4d3d6",
                "sha256": "a38f8d75ba87f43ac14574cbd8c867be57e4ce0c427e39d70ef80279a26c1053"
            },
            "downloads": -1,
            "filename": "cloudcruise-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "fea2b61f2ceb4a1d3e8662357ed4d3d6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 22913,
            "upload_time": "2025-10-21T19:34:47",
            "upload_time_iso_8601": "2025-10-21T19:34:47.508844Z",
            "url": "https://files.pythonhosted.org/packages/38/3b/3edf8cbb9a619474007d80e4352ccdfb8f00106c614e73c58f575dd63bf7/cloudcruise-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-21 19:34:47",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "CloudCruise",
    "github_project": "cloudcruise-python",
    "github_not_found": true,
    "lcname": "cloudcruise"
}