Skip to main content

A terminal coding agent for Python.

Project description

Katalyst Agent

A modular, node-based terminal coding agent for Python, designed for robust, extensible, and production-ready workflows.

Katalyst Demo: Installation and Usage Figure: Demo showing how to install and use Katalyst from the terminal

Katalyst Coding Agent Architecture Figure: Architecture diagram of the Katalyst Coding Agent (DAG/graph structure)

Quick Setup

To install Katalyst from PyPI, simply run:

pip install katalyst

1. Copy the example environment file:

cp .env.example .env

2. You must set your OpenAI API key as the environment variable OPENAI_API_KEY or add it to a .env file in your project directory.

Searching Files (ripgrep required)

The search_files tool requires ripgrep (rg) to be installed on your system:

  • macOS: brew install ripgrep
  • Ubuntu: sudo apt-get install ripgrep
  • Windows: choco install ripgrep

Features

  • Automatic project state persistence: Katalyst saves your project state (such as chat history) to .katalyst_state.json in your project directory after every command.

  • Modular Node-Based Architecture: Built on a robust DAG (Directed Acyclic Graph) structure that enables flexible and extensible workflows. The system uses a two-level agent structure with an outer planning loop and inner ReAct (Reason-Act) cycles.

  • Intelligent Task Planning: Automatically breaks down complex tasks into manageable sub-tasks and executes them sequentially with built-in error recovery and replanning capabilities.

  • Human-in-the-Loop Verification: Interactive plan approval system that allows users to:

    • Review generated plans before execution
    • Provide feedback for better plans
    • Automatically approve plans with --auto-approve flag
    • Iterate on plans until they meet requirements
  • Rich Tool Integration: Comprehensive set of built-in tools for:

    • File operations (reading, writing, searching)
    • Code analysis and syntax checking
    • Terminal command execution
    • And more, with easy extensibility for custom tools
  • Robust Error Handling: Sophisticated error recovery system that can:

    • Classify and format errors for better LLM understanding
    • Automatically trigger replanning when needed
    • Maintain detailed error traces for debugging
  • Multi-Language Support: Built-in support for multiple programming languages including:

    • Python
    • JavaScript/TypeScript
    • JSX/TSX
    • (More languages will be added soon...)
  • Interactive CLI: User-friendly command-line interface with:

    • Helpful welcome screens and onboarding
    • Real-time feedback and progress updates
    • Detailed logging for debugging
  • Configurable LLM Integration: Flexible LLM provider support with:

    • Default OpenAI integration
    • Configurable model selection
    • Easy extension for other LLM providers

Testing

Katalyst includes both unit and functional tests. For detailed information about running tests, writing new tests, and test coverage, see TESTS.md.

TODO

See TODO.md for the latest development tasks and roadmap.

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

katalyst-0.8.3.tar.gz (109.1 kB view details)

Uploaded Source

Built Distribution

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

katalyst-0.8.3-py3-none-any.whl (144.9 kB view details)

Uploaded Python 3

File details

Details for the file katalyst-0.8.3.tar.gz.

File metadata

  • Download URL: katalyst-0.8.3.tar.gz
  • Upload date:
  • Size: 109.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for katalyst-0.8.3.tar.gz
Algorithm Hash digest
SHA256 5f8b3a5e4f4bb3f6b183d4ac21552a169ddc1e5542e175072323cc2e591df879
MD5 ca1926eb9b25b5491e9272426a17b3b2
BLAKE2b-256 f276c257032f5dc7e2eaba2f8a94303851b917e175b48ecb7b85ac61549682b4

See more details on using hashes here.

File details

Details for the file katalyst-0.8.3-py3-none-any.whl.

File metadata

  • Download URL: katalyst-0.8.3-py3-none-any.whl
  • Upload date:
  • Size: 144.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for katalyst-0.8.3-py3-none-any.whl
Algorithm Hash digest
SHA256 63dcb47b3ed1157409df0524fdfce4ae9ad2a04b2be41d1360b97de2a07ca125
MD5 90ba19f975d3f798e16ce67e8035c82d
BLAKE2b-256 57eb7402b8070a4aae960fe53c290b88c0be80b35fb5b6f779764454ecd4e7d0

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