Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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:

  1. CLI Mode - Command-line interface for interactive use
  2. Library Mode - Programmatic API for integration with other tools
  3. Specification Parser - Reads and expands workflow specifications
  4. 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 connection
  • map_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 connection
  • send_api_command() wrapper with error handling
  • add_jobs() for batch job creation
  • map_function_to_jobs() for mapping Julia functions across parameters

See Creating Workflows for usage examples.