Skip to main content

A Knowledge-grounded framework for Autonomous Program Synthesis and Optimization

Project description

Kapso

A Knowledge-grounded framework for Autonomous Program Synthesis and Optimization

Learn more · Join Discord · Website

Discord GitHub commit activity Y Combinator X25

If you like this project, please support us by giving it a star ⭐

Early Access: Sign up for Leeroopedia and the hosted version of Kapso : Leeroopedia is a centralized ML & Data knowledge wiki with best practices and expert-level implementation patterns, written by Kapso and human experts.

Kapso Framework Architecture


News

  • Technical Report: Our technical report is now available! Read the paper

  • #1 on MLE-Bench: KAPSO achieved top ranking among open-source systems on Kaggle ML competitions (MLE Benchmark).

    MLE-Bench Results
  • #1 on ALE-Bench: KAPSO achieved top ranking on long-horizon algorithmic discovery problems (ALE Benchmark).

    ALE-Bench Results

What is KAPSO?

KAPSO combines iterative experimentation with a knowledge base of best practices and tricks to discover code improvements.

It automates the cycle of designing, testing, and refining algorithms, eventually adapting the optimized solution for deployment on your chosen infrastructure.

The Four Pillars

Pillar Method Description
Evolve .evolve() Run iterative experiments to build software for a goal. Uses tree search, coding agents, and KG context to generate and refine solutions.
Learn .learn() Ingest knowledge from repositories, past solutions, or research results. Extracts patterns and best practices into the Knowledge Graph.
Research .research() Run deep web research to gather ideas and implementation references. Returns structured findings you can feed into the knowledge base or use as context for evolving solutions.
Deploy .deploy() Turn a solution into running software. Supports local execution, Docker containers, or cloud platforms like Modal.

🚀 Quickstart

Installation

From PyPI (recommended)

pip install leeroo-kapso

From source (for development or to access wiki knowledge data)

git clone https://github.com/leeroo-ai/kapso.git
cd kapso

# Pull Git LFS files (wiki knowledge data)
git lfs install
git lfs pull

# Create conda environment (recommended)
conda create -n kapso python=3.12
conda activate kapso

# Install in development mode
pip install -e .

Set Up API Keys

Create .env in project root:

OPENAI_API_KEY=your-openai-api-key
GOOGLE_API_KEY=your-google-api-key       # For Gemini
ANTHROPIC_API_KEY=your-anthropic-api-key # For Claude Code

Basic Usage

from kapso import Kapso, Source, DeployStrategy

# Initialize Kapso
# If you have a Knowledge Graph, pass kg_index; otherwise just use Kapso()
kapso = Kapso(kg_index="data/indexes/legal_contracts.index")

# Research: Gather domain-specific techniques from the web
# mode: "idea" | "implementation" | "study" (can pass multiple as list)
# depth: "light" | "deep" (default: "deep")

findings = kapso.research(
    "RLHF and DPO fine-tuning for legal contract analysis",
    mode=["idea", "implementation"],
    depth="deep",
)

# Learn: Ingest knowledge from repositories and research into the KG
kapso.learn(
    Source.Repo("https://github.com/huggingface/trl"),
    *findings.ideas,           # List[Source.Idea]
    *findings.implementations, # List[Source.Implementation]
    wiki_dir="data/wikis",
)

# Evolve: Build a solution through experimentation
# Use research results as context via to_string()
solution = kapso.evolve(
    goal="Fine-tune Llama-3.1-8B for legal clause risk classification, target F1 > 0.85",
    data_dir="./data/cuad_dataset", 
    output_path="./models/legal_risk_v1",
    context=[findings.to_string()],
)

# Deploy: Turn solution into running deployed_program
deployed_program = kapso.deploy(solution, strategy=DeployStrategy.MODAL)
deployed_program.stop()

For detailed integration steps, see the Quickstart and Installation guides.

Examples

Example Description
CUDA Optimization Optimize multi-head self-attention for CUDA using Flash Attention and Triton kernels
PyTorch Optimization Optimize PyTorch operations via kernel fusion, torch.compile, and custom kernels

Supported Benchmarks

Benchmark Description
MLE-Bench Kaggle ML competitions — tabular, image, text, audio problems
ALE-Bench AtCoder algorithmic optimization — C++ solution generation

📚 Documentation & Support

Contributing

We welcome contributions! Please see our Contributing Guide for details on how to get started.

Citation

If you use Kapso in your research, please cite:

@misc{nadaf2026kapsoknowledgegroundedframeworkautonomous,
      title={KAPSO: A Knowledge-grounded framework for Autonomous Program Synthesis and Optimization}, 
      author={Alireza Nadaf and Alireza Mohammadshahi and Majid Yazdani},
      year={2026},
      eprint={2601.21526},
      archivePrefix={arXiv},
      primaryClass={cs.AI},
      url={https://arxiv.org/abs/2601.21526}, 
}

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

leeroo_kapso-0.1.0.tar.gz (3.6 MB view details)

Uploaded Source

Built Distribution

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

leeroo_kapso-0.1.0-py3-none-any.whl (430.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: leeroo_kapso-0.1.0.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for leeroo_kapso-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f9358e9b1936e64b21acbdf0be56b9c694fba9e537bab76aa2283806e90e5856
MD5 35f74421c6eed723bde4362a56c52ab8
BLAKE2b-256 c32aea1c9909d9e243bf322ca89ea01571ea419be6ec5ff5be58a4712e91f702

See more details on using hashes here.

File details

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

File metadata

  • Download URL: leeroo_kapso-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 430.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for leeroo_kapso-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 12854edd1673e546a1f1f0e936f4f5f83332f98aba2221366cc462358db3e764
MD5 70759d7841451627f7a7b21574160d4a
BLAKE2b-256 6d59fba5ca48cc8cd832c026a47fbd7459d594b15647ba24e10260bd73c7c2a7

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