Skip to main content

AI-powered summary filter that distills any command's output.

Project description

shtym

AI-powered summary filter that distills any command's output.

Overview

Shtym is a command wrapper designed to reduce context size for both human users and AI coding agents. It wraps command execution and, when an LLM is available, summarizes the output; otherwise it passes output through unchanged.

Installation

pip install shtym

# with Ollama support (requires a running Ollama instance)
pip install "shtym[ollama]"

Configuration

Basic Configuration (Environment Variables)

Configure Ollama settings using environment variables:

  • SHTYM_LLM_SETTINGS__BASE_URL: Ollama server URL (defaults to http://localhost:11434)
  • SHTYM_LLM_SETTINGS__MODEL: Model to use (defaults to gpt-oss:20b)

Example:

export SHTYM_LLM_SETTINGS__BASE_URL=http://localhost:11434
export SHTYM_LLM_SETTINGS__MODEL=llama2
stym run pytest tests/

Advanced Configuration (Profiles)

For more control, create profiles in ~/.config/shtym/profiles.toml with custom prompts and LLM settings:

[profiles.summary]
type = "llm"
system_prompt_template = "You are summarizing: $command"
user_prompt_template = "Output:\n$stdout"

[profiles.summary.llm_settings]
model_name = "gpt-oss:20b"
base_url = "http://localhost:11434"

Use profiles with the --profile option:

stym run --profile summary pytest tests/

See the Profiles documentation for more details.

Usage

Wrap any command with stym run:

# Run tests
stym run pytest tests/

# Run linter
stym run ruff check .

# Build project
stym run npm run build

# Any command with options
stym run ls -la

# Pipe output to other commands
stym run pytest tests/ | grep FAILED

Key Features

  • Exit code inheritance: Shtym preserves the wrapped command's exit code, making it CI/CD friendly
  • Clean stdout: Output contains only command results, no progress indicators or metadata
  • Transparent wrapper: Works seamlessly with existing workflows and scripts
  • Optional LLM summaries: If Ollama is available, output is summarized by the configured model; otherwise passthrough is used automatically

Design Philosophy

Shtym follows Unix conventions for command wrappers (like sudo, timeout, time):

  • Executes commands as subprocesses
  • Inherits and propagates exit codes exactly
  • Maintains clean stdout for composability
  • Enables reliable integration with automated workflows

Documentation

  • Profiles - Advanced configuration with custom profiles
  • Roadmap - Planned features and enhancements

Development

For development documentation, see:

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

shtym-0.2.0.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

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

shtym-0.2.0-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file shtym-0.2.0.tar.gz.

File metadata

  • Download URL: shtym-0.2.0.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for shtym-0.2.0.tar.gz
Algorithm Hash digest
SHA256 3201baca684caebf61008c8ecacfd8974f023660c0b872e5f4b1f08a71202a3f
MD5 abfa5be4c0c47eb48515914a228f5a31
BLAKE2b-256 ddb0b97a14135d6e93978896db4fd38ef872e5b1bcd05a516fb8f0b030ff63a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for shtym-0.2.0.tar.gz:

Publisher: release.yml on osoekawaitlab/shtym-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shtym-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: shtym-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 18.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for shtym-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6391cdfa8960d287f696c3ff501fe5df47f21877eb56b41ac56d8e1fe734c0bd
MD5 18aa3209d97cba58ba614c8150805ace
BLAKE2b-256 c3c49afa337ede40b0a34717ef14ead4dee4571459afe0b898cf2884fcbddfb2

See more details on using hashes here.

Provenance

The following attestation bundles were made for shtym-0.2.0-py3-none-any.whl:

Publisher: release.yml on osoekawaitlab/shtym-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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