Skip to main content

cyberkat library

Project description

cyberkat

CyberKat — LLM/agent orchestration on top of CoreKat and TempоKat.

Features

  • Canonical I/O envelopes — every agent is f: AgentInput[TContext] → AgentOutput[TResult]. See docs/guides/cyberkat-io.md.
  • Langfuse-backed prompt management with local-file fallback, a YAML-driven PromptsRegistry, and a cyberkat prompts CLI for sync / upload / delete operations. See docs/guides/cyberkat-prompts.md.
  • Free LLM streamingBaseWorkflow inherits tempokat.progress.ProgressTracker and routes the on_llm_partial signal into intermediate_results, so every workflow ships token-by-token streaming over the standard SSE endpoint with zero extra plumbing. See docs/guides/cyberkat-progress.md.
  • Provider-aware agent configs with model aliasing (AliasResolver), client/api-mode prefix mappings, and DynamicAgentConfig runtime overrides.
  • Pluggable extras — install only what you need: cyberkat[llm], cyberkat[docs], cyberkat[langfuse], cyberkat[sentry].
  • Configuration management via YAML and environment variables (CoreKat).
  • CLI: cyberkat prompts | agents | tikcount | config | version.
  • Async-first, Pydantic V2 everywhere, no safeguarded imports.

Installation

From the monorepo root:

# Install this package (core only — no LLM SDKs)
uv sync --package cyberkat

# Or install all packages
uv sync --all-packages

Optional extras:

# LLM/agent support (openai-agents, litellm, openai)
uv pip install "cyberkat[llm]"

# Document export (python-docx, htmldocx, markdown-it-py, fpdf2, openpyxl)
uv pip install "cyberkat[docs]"

# Sentry
uv pip install "cyberkat[sentry]"

# Everything
uv pip install "cyberkat[all]"

Progress tracking & streaming

BaseWorkflow inherits tempokat.progress.ProgressTracker, so every cyberkat workflow exposes the canonical get_progress query and is visible over /api/workflows/progress and /api/workflows/progress/stream out of the box. The on_llm_partial workflow signal routes streamed LLM tokens — emitted by cyberkat.activities.streaming:run_streamed_activity — into tracker.intermediate_results, giving every cyberkat-based service a free token-by-token streaming UI over SSE.

See docs/guides/cyberkat-progress.md for the end-to-end pattern and docs/projectmanagement/epic-cyberkat-v4.md for the full design rationale.

Prompt management

Prompts live outside Python source — managed via Langfuse (optional) with local-file fallback and a YAML registry that maps agents to prompts:

cyberkat prompts list
cyberkat prompts sync --label production
cyberkat agents list --url
cyberkat tikcount --agent ConnyCaseSummaryAgent < draft.md

See docs/guides/cyberkat-prompts.md.

Quick Start

Configuration

Generate a default configuration file:

cyberkat config default-config > config.yaml

Edit config.yaml to customize settings. You can also use environment variables with the CYBERKAT_ prefix.

CLI Usage

# Show version information
cyberkat version

# Generate default config
cyberkat config default-config

# Get help
cyberkat --help

Development

Prerequisites

  • Python 3.12+
  • uv

Setup

cd cyberkat
uv sync

Testing

# Run tests
make test

# Run tests with coverage
make test-cov

# View coverage report
make coverage

Code Quality

# Run all checks (format, lint, type check, tests)
make check

# Auto-fix formatting and linting issues
make fix

# Format code
make format

# Run linter
make lint

# Run type checker
make pyright

Building

# Build wheel
make build

Project Structure

cyberkat/
├── src/cyberkat/     # Package source code
│   ├── __init__.py             # Package exports and version
│   ├── main.py                 # CLI entry point
│   ├── config.py               # Configuration schema
│   ├── init.py                 # Initialization logic
│   └── cli/                    # CLI commands
├── tests/                      # Test suite
├── make/                       # Build system
│   └── managed.mk              # Managed make targets
├── Makefile                    # Main Makefile
├── pyproject.toml              # Package metadata and dependencies
└── README.md                   # This file

VelociKat Maintenance

This project was generated by VelociKat. To check for updates:

velocikat status
velocikat doctor

License

BSD 3-Clause License. See LICENSE for details.

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

cyberkat-0.1.0.tar.gz (54.1 kB view details)

Uploaded Source

Built Distribution

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

cyberkat-0.1.0-py3-none-any.whl (55.7 kB view details)

Uploaded Python 3

File details

Details for the file cyberkat-0.1.0.tar.gz.

File metadata

  • Download URL: cyberkat-0.1.0.tar.gz
  • Upload date:
  • Size: 54.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.8

File hashes

Hashes for cyberkat-0.1.0.tar.gz
Algorithm Hash digest
SHA256 645583eacb632555125f55fd42a2c900f90adc61ca6fd1c23ef57cc56f4f8819
MD5 a67305938b139358c0f4866d1012018d
BLAKE2b-256 b2017908441606bd7016921bb863b2f9323f157353b47451c34e42c3ebdc86e7

See more details on using hashes here.

File details

Details for the file cyberkat-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cyberkat-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 55.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.8

File hashes

Hashes for cyberkat-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 092f234133cfd5952655987918ae0b7617320227f667a10b80ee772eb5e0f7da
MD5 3b69b839b5e8091781e9d24fdb82202d
BLAKE2b-256 30f3db7d7c1a6823e73a791b1509f560b7fa1be367b3bcc4829505a363c42588

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