Metadata-Version: 2.4
Name: stepflow-orchestrator
Version: 0.11.1
Summary: Stepflow orchestrator binary distribution - launch Stepflow server as a subprocess
Project-URL: Homepage, https://stepflow-ai.github.io/stepflow/
Project-URL: Documentation, https://stepflow-ai.github.io/stepflow/
Project-URL: Repository, https://github.com/stepflow-ai/stepflow
Project-URL: Bug Tracker, https://github.com/stepflow-ai/stepflow/issues
Project-URL: Source Code, https://github.com/stepflow-ai/stepflow/tree/main/sdks/python/stepflow-orchestrator
Project-URL: Changelog, https://github.com/stepflow-ai/stepflow/blob/main/stepflow-rs/CHANGELOG.md
Author: DataStax Inc.
Maintainer: DataStax Inc.
License: Apache-2.0
Keywords: ai,automation,orchestration,stepflow,workflow
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Distributed Computing
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: msgspec>=0.19.0
Description-Content-Type: text/markdown

# stepflow-orchestrator

Platform-specific Python wheels bundling the stepflow-server binary for local orchestration.

## Installation

```bash
pip install stepflow-orchestrator
```

## Usage

```python
from stepflow_orchestrator import StepflowOrchestrator, OrchestratorConfig

# Start with default config (auto-assigned port)
async with StepflowOrchestrator.start() as orchestrator:
    print(f"Server running at {orchestrator.url}")
    # Use orchestrator.url with your preferred HTTP client

# Start with custom config
config = OrchestratorConfig(
    port=8080,
    log_level="debug",
    config={"plugins": {"builtin": {"type": "builtin"}}}
)
async with StepflowOrchestrator.start(config) as orchestrator:
    # orchestrator.url - server URL (e.g., "http://127.0.0.1:8080")
    # orchestrator.port - bound port number
    # orchestrator.is_running - check if process is alive
    pass
```

## With stepflow-py Client

For a convenient combined experience, use `stepflow-py[local]`:

```bash
pip install stepflow-py[local]
```

```python
from stepflow_py import StepflowClient
from stepflow_py.config import StepflowConfig

config = StepflowConfig(plugins={...}, routes={...})
async with StepflowClient.local(config) as client:
    # Client owns the orchestrator - both shut down on exit
    response = await client.store_flow(workflow)
    result = await client.run(response.flow_id, input_data)
```

## Development Mode

Set `STEPFLOW_DEV_BINARY` to use a local development build:

```bash
export STEPFLOW_DEV_BINARY=/path/to/stepflow-server
```

## Changelog

This package bundles the Stepflow server binary. For release notes and changelog, see the main [Stepflow Changelog](https://github.com/stepflow-ai/stepflow/blob/main/stepflow-rs/CHANGELOG.md).
