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]. Seedocs/guides/cyberkat-io.md. - Langfuse-backed prompt management with local-file fallback, a YAML-driven
PromptsRegistry, and acyberkat promptsCLI for sync / upload / delete operations. Seedocs/guides/cyberkat-prompts.md. - Free LLM streaming —
BaseWorkflowinheritstempokat.progress.ProgressTrackerand routes theon_llm_partialsignal intointermediate_results, so every workflow ships token-by-token streaming over the standard SSE endpoint with zero extra plumbing. Seedocs/guides/cyberkat-progress.md. - Provider-aware agent configs with model aliasing (
AliasResolver), client/api-mode prefix mappings, andDynamicAgentConfigruntime 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cyberkat-0.1.2.tar.gz.
File metadata
- Download URL: cyberkat-0.1.2.tar.gz
- Upload date:
- Size: 54.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43adad5b24ee12c5b2c28bcb32b8a57cdcdf46c0843f52563563f93461e03048
|
|
| MD5 |
efa4799be611b669887400d8c576bcf1
|
|
| BLAKE2b-256 |
9ccf3b85766ed5ebc5dc77a68d6a9b0c5d691ca2179c21f7ade0d64cfa5a636b
|
File details
Details for the file cyberkat-0.1.2-py3-none-any.whl.
File metadata
- Download URL: cyberkat-0.1.2-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4d9cc73417a986e09775e8fb9892ecb696816491a57edc1dca3decd0a582e2d
|
|
| MD5 |
69ab38034392fd5417ba9fa938c7d4ae
|
|
| BLAKE2b-256 |
461a1590da11b20862d7ad9bcf70d97fd9f910835f0afc91fa250856b2cc39c7
|