Skip to main content

Shell/command execution tools - cmd (unified DAG), zsh, bash, fish, dash, ps, npx, uvx, open, curl, jq, wget

Project description

hanzo-tools-shell

Shell execution tools for Hanzo MCP with DAG support and Shellflow DSL.

Installation

pip install hanzo-tools-shell

Tools

dag - DAG Execution Engine

Execute commands with directed acyclic graph semantics.

# Serial execution (default)
dag(["ls", "pwd", "git status"])

# Parallel execution
dag(["npm install", "cargo build"], parallel=True)

# Mixed DAG with parallel blocks
dag([
    "mkdir -p dist",
    {"parallel": ["cp a.txt dist/", "cp b.txt dist/"]},
    "zip -r out.zip dist/"
])

# Tool invocations
dag([{"tool": "search", "input": {"pattern": "TODO"}}])

# Named nodes with dependencies
dag([
    {"id": "build", "run": "make build"},
    {"id": "test", "run": "make test", "after": ["build"]},
])

zsh - Primary Shell with Shellflow DSL

Execute shell commands with optional Shellflow syntax.

# Simple command
zsh("ls -la")

# Shellflow DSL syntax
zsh("mkdir dist ; { cp a dist/ & cp b dist/ } ; zip out")

# With shell parameter
zsh("echo $BASH_VERSION", shell="bash")

Shellflow Syntax:

  • A ; B - Sequential execution
  • { A & B } - Parallel execution
  • A ; { B & C } ; D - Mixed DAG

ps - Process Management

Monitor and control background processes.

ps()                     # List all processes
ps(id="abc123")          # Get specific process
ps(kill="abc123")        # Kill process (SIGTERM)
ps(logs="abc123", n=50)  # Last 50 lines of output

Additional Tools

  • shell - Smart shell (zsh > bash fallback)
  • bash - Explicit bash execution
  • npx - Node package execution with auto-backgrounding
  • uvx - Python package execution with auto-backgrounding
  • open - Open files/URLs in system apps
  • curl - HTTP client without shell escaping issues
  • jq - JSON processor
  • wget - File/site downloads

Auto-Backgrounding

Commands that exceed the timeout (default 60s) are automatically backgrounded:

dag(["long-running-command"], timeout=30)
# If command exceeds 30s, it continues in background
# Use ps --logs <id> to view output

Performance

Shellflow DSL is optimized for high throughput:

  • Simple commands: ~7M ops/sec
  • Sequential: ~2.2M ops/sec
  • Mixed DAG: ~100k ops/sec

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hanzo_tools_shell-0.5.3.tar.gz (33.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hanzo_tools_shell-0.5.3-py3-none-any.whl (39.8 kB view details)

Uploaded Python 3

File details

Details for the file hanzo_tools_shell-0.5.3.tar.gz.

File metadata

  • Download URL: hanzo_tools_shell-0.5.3.tar.gz
  • Upload date:
  • Size: 33.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for hanzo_tools_shell-0.5.3.tar.gz
Algorithm Hash digest
SHA256 0a3d7cf417a09b8c50f05328c1bae1708c71a146fd56a712890171a6fca3d681
MD5 8ccb25c3318d8682bde8dce8593c4057
BLAKE2b-256 bffbc9a22fff7813939e71ed9e0d54517c93748a35cf12ecf06ba664b04591b7

See more details on using hashes here.

File details

Details for the file hanzo_tools_shell-0.5.3-py3-none-any.whl.

File metadata

File hashes

Hashes for hanzo_tools_shell-0.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 baa25b3757bac8a863b2a0ff7de65306ff0c664f605bc140b1be802a57c125a2
MD5 7c4973ffbd87c52828d0739af118e953
BLAKE2b-256 b6279d3f7d8f4478b3b7a82a292bb50ef8bee14012d5292bbef19682f478b3bd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page