Client
Torc provides client libraries in multiple languages for workflow management.
Rust Client (Primary)
The Rust client provides both CLI and library interfaces:
Workflow Creation
- Parse workflow specification files (JSON, JSON5, YAML, KDL)
- Expand parameterized job/file specifications
- Create all workflow components atomically via API calls
- Handle name-to-ID resolution for dependencies
Workflow Manager
- Start/restart/reinitialize workflow execution
- Track file changes and update database
- Detect changed user_data inputs
- Validate workflow state before initialization
API Integration
- Auto-generated client from OpenAPI spec
- Pagination support for large result sets
- Retry logic and error handling
Client Modes
The Rust client operates in multiple modes:
- CLI Mode - Command-line interface for interactive use
- Library Mode - Programmatic API for integration with other tools
- Specification Parser - Reads and expands workflow specifications
- API Client - HTTP client for communicating with the server
Python Client
The Python client (torc package) provides programmatic workflow management for Python users:
- OpenAPI-generated client for full API access
make_api()helper for easy server connectionmap_function_to_jobs()for mapping Python functions across parameters- Integration with Python data science and ML pipelines
See Creating Workflows for usage examples.
Julia Client
The Julia client (Torc.jl package) provides programmatic workflow management for Julia users:
- OpenAPI-generated client for full API access
make_api()helper for easy server connectionsend_api_command()wrapper with error handlingadd_jobs()for batch job creationmap_function_to_jobs()for mapping Julia functions across parameters
See Creating Workflows for usage examples.