pumbaa

module
v1.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 24, 2025 License: Apache-2.0

README

Pumbaa 🐗

A CLI tool for interacting with Cromwell workflow engine and WDL files.

Installation

Quick Install (Linux/macOS)
curl -sSL https://raw.githubusercontent.com/lmtani/pumbaa/main/install.sh | bash
Manual Download

Download the latest binary from GitHub Releases for your platform.

Usage

Dashboard (Interactive TUI)

Browse and manage workflows with an interactive terminal interface:

pumbaa dashboard
Chat Agent

Interactive AI assistant for querying workflows and downloading files:

# Quick setup (interactive wizard)
pumbaa config init

# Privacy Note: Pumbaa collects anonymous usage statistics. 
# Opt-out: pumbaa config set telemetry_enabled false


# Or run directly with a provider
pumbaa chat --provider gemini --gemini-api-key <API_KEY>
pumbaa chat --provider vertex --vertex-project <PROJECT_ID>
pumbaa chat --provider ollama  # default, local

Capabilities:

  • Query workflow status, metadata, outputs, and logs
  • Download files from Google Cloud Storage
  • Session persistence for conversation history

Session Management:

# List existing sessions
pumbaa chat --list

# Resume a session
pumbaa chat --session <SESSION_ID>

Controls:

  • Ctrl+D - Send message
  • ↑↓ - Scroll messages
  • Tab - Navigate between messages
  • y - Copy selected message
  • Esc - Exit
Submit Workflow
pumbaa workflow submit \
  --workflow main.wdl \
  --inputs inputs.json \
  --options options.json
Bundle WDL Dependencies

Package a WDL workflow with all its imports into a single ZIP file:

pumbaa bundle --workflow main.wdl --output <name>
# will create name.wdl and name.zip in the specified output path

Configuration

Run the interactive configuration wizard:

pumbaa config init

This saves your settings to ~/.pumbaa/config.yaml.

Manual Configuration

Cromwell Server:

pumbaa config set cromwell_host http://cromwell:8000
# Or via environment variable
export CROMWELL_HOST=http://cromwell:8000

Chat LLM Providers:

# Gemini API (recommended for most users)
pumbaa config set llm_provider gemini
pumbaa config set gemini_api_key <your-api-key>

# Ollama (local, free)
pumbaa config set llm_provider ollama
pumbaa config set ollama_host http://localhost:11434

# Vertex AI (for GCP users)
pumbaa config set llm_provider vertex
pumbaa config set vertex_project <project-id>

View current configuration:

pumbaa config list

Contributing

Reporting Bugs

Found a bug? Please open an issue with:

  • A clear, descriptive title
  • Steps to reproduce the issue
  • Expected vs actual behavior
  • Your environment (OS, Cromwell version, pumbaa version)
  • Relevant logs or error messages
Requesting Features

Have an idea for a new feature? Open a feature request with:

  • A clear description of the feature
  • Why it would be useful
  • Any examples or mockups if applicable

All contributions and feedback are welcome! Please ensure issues include enough details for us to investigate or implement your request.

Directories

Path Synopsis
cmd
cli command
Package main provides the entry point for the pumbaa CLI.
Package main provides the entry point for the pumbaa CLI.
internal
application/bundle/create
Package create contains the use case for creating WDL bundles.
Package create contains the use case for creating WDL bundles.
application/workflow/abort
Package abort contains the use case for aborting workflows.
Package abort contains the use case for aborting workflows.
application/workflow/debuginfo
Package debuginfo provides detailed workflow metadata parsing for debugging and analysis.
Package debuginfo provides detailed workflow metadata parsing for debugging and analysis.
application/workflow/metadata
Package metadata contains the use case for retrieving workflow metadata.
Package metadata contains the use case for retrieving workflow metadata.
application/workflow/monitoring
Package monitoring provides the use case for analyzing resource monitoring logs.
Package monitoring provides the use case for analyzing resource monitoring logs.
application/workflow/query
Package query contains the use case for querying workflows.
Package query contains the use case for querying workflows.
application/workflow/submit
Package submit contains the use case for submitting workflows.
Package submit contains the use case for submitting workflows.
config
Package config provides application configuration.
Package config provides application configuration.
container
Package container provides dependency injection container.
Package container provides dependency injection container.
domain/bundle
Package bundle contains domain entities for WDL bundle operations.
Package bundle contains domain entities for WDL bundle operations.
domain/wdlindex
Package wdlindex provides domain models for WDL workflow indexing.
Package wdlindex provides domain models for WDL workflow indexing.
domain/workflow
Package workflow contains the domain entities and business logic for workflows.
Package workflow contains the domain entities and business logic for workflows.
domain/workflow/monitoring
Package monitoring provides analysis of resource usage from monitoring logs.
Package monitoring provides analysis of resource usage from monitoring logs.
domain/workflow/preemption
Package preemption provides analysis of preemptible task efficiency.
Package preemption provides analysis of preemptible task efficiency.
infrastructure/agent/tools
Package tools provides Cromwell and GCS tools for the agent.
Package tools provides Cromwell and GCS tools for the agent.
infrastructure/cromwell
Package cromwell provides an implementation of the workflow repository using the Cromwell API.
Package cromwell provides an implementation of the workflow repository using the Cromwell API.
infrastructure/llm
Package llm provides a factory for creating LLM instances based on configuration.
Package llm provides a factory for creating LLM instances based on configuration.
infrastructure/ollama
Package ollama provides an implementation of model.LLM for Ollama, allowing local models to be used with the Google Agents ADK.
Package ollama provides an implementation of model.LLM for Ollama, allowing local models to be used with the Google Agents ADK.
infrastructure/session
Package session provides a SQLite-based implementation of the ADK session.Service interface.
Package session provides a SQLite-based implementation of the ADK session.Service interface.
infrastructure/wdl
Package wdl provides WDL indexing infrastructure.
Package wdl provides WDL indexing infrastructure.
interfaces/cli/handler
Package handler provides CLI command handlers.
Package handler provides CLI command handlers.
interfaces/cli/presenter
Package presenter provides terminal output formatting utilities.
Package presenter provides terminal output formatting utilities.
interfaces/tui
Package tui provides the terminal user interface for the application.
Package tui provides the terminal user interface for the application.
interfaces/tui/common
Package common provides shared utilities and styles for the TUI.
Package common provides shared utilities and styles for the TUI.
interfaces/tui/dashboard
Package dashboard provides the dashboard screen for the TUI.
Package dashboard provides the dashboard screen for the TUI.
interfaces/tui/debug
Package debug provides an interactive TUI for debugging Cromwell workflow metadata.
Package debug provides an interactive TUI for debugging Cromwell workflow metadata.
pkg
wdl
Package wdl provides parsing, analysis, and bundling capabilities for WDL files.
Package wdl provides parsing, analysis, and bundling capabilities for WDL files.
wdl/ast
Package ast defines the Abstract Syntax Tree structures for WDL documents.
Package ast defines the Abstract Syntax Tree structures for WDL documents.
wdl/visitor
Package visitor implements a visitor pattern to build AST from parse tree.
Package visitor implements a visitor pattern to build AST from parse tree.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL