Skip to main content

HEAVEN - Hierarchical, Embodied, Autonomously Validating Evolution Network

Project description

HEAVEN Base Framework

Hierarchical, Embodied, Autonomously Validating Evolution Network

HEAVEN Base is the foundational framework for building autonomous AI agents with cross-framework compatibility, event-driven architecture, and self-modifying capabilities. This is the core library that powers the HEAVEN metaprogrammatic agent framework where prompts, tools, agents, and code can all generate each other.

Features

  • Cross-Framework Support: Works with both LangChain and Google ADK backends
  • Unified Event System: Standardized HEAVEN events for consistent agent communication
  • Flexible Agent Architecture: Build custom agents by extending BaseHeavenAgent
  • Tool System: Create reusable tools by extending BaseHeavenTool
  • History Management: Advanced history tracking with event extraction
  • Multiple LLM Providers: Support for OpenAI, Anthropic, Google, DeepSeek, Groq, and more

Installation

pip install heaven-framework

Toolbox MCP

Claude Code

"heaven-framework-toolbox": {
      "type": "stdio",
      "command": "python",
      "args": [
        "-m",
        "heaven_base.mcps.toolbox_server"
      ],
      "env": {
        "HEAVEN_DATA_DIR": "YOUR_HEAVEN_DATA_DIR", # /tmp/heaven_data recommended
        "OPENAI_API_KEY": "sk-YOUR_OPENAI_API_KEY"
      }
    }

SDK

Quick Start

Creating a Simple Agent

from heaven_base import BaseHeavenAgent, HeavenAgentConfig

class MyAgent(BaseHeavenAgent):
    @classmethod
    def get_default_config(cls) -> HeavenAgentConfig:
        return HeavenAgentConfig(
            name="MyAgent",
            system_prompt="You are a helpful assistant.",
            model="gpt-4",
            temperature=0.7
        )

# Run the agent
agent = MyAgent()
result = await agent.run("What is the meaning of life?")
print(result)

Creating a Custom Tool

from heaven_base import BaseHeavenTool, ToolArgsSchema

class CalculatorToolArgsSchema(ToolArgsSchema):
    arguments = {
        'expression': {
            'type': 'str',
            'description': 'Mathematical expression to evaluate',
            'required': True
        }
    }

class CalculatorTool(BaseHeavenTool):
    name = "calculator"
    description = "Evaluates mathematical expressions"
    args_schema = CalculatorToolArgsSchema
    
    def _run(self, expression: str) -> str:
        try:
            result = eval(expression)
            return f"The result is: {result}"
        except Exception as e:
            return f"Error: {str(e)}"

Core Components

  • BaseHeavenAgent: Base class for all HEAVEN agents
  • BaseHeavenTool: Base class for all HEAVEN tools
  • UnifiedChat: Multi-provider LLM interface
  • HeavenEvent: Standardized event format
  • History: Advanced conversation history management

Development Roadmap

HEAVEN Base is actively evolving with a clear roadmap to become a complete agent development toolkit:

🚀 Core Infrastructure (Current)

  • BaseHeavenAgent & BaseHeavenTool - Foundation classes for agents and tools
  • Cross-Framework Support - LangChain and Google ADK compatibility
  • HEAVEN Events - Standardized event system for agent communication
  • Registry System - Data storage and retrieval with cross-registry references
  • History Management - Conversation tracking with ~/.heaven/ user directory

🛠️ Local Execution (In Progress)

  • Hermes Local Execution - Non-containerized agent orchestration (replaces complex Docker setup)
  • Core Default Tools - BashTool, NetworkEditTool, SafeCodeReaderTool out of the box
  • Simple Agent Runner - run_agent() utility for immediate agent execution

🧠 LLM Integration Improvements

  • LiteLLM Integration - Replace LangChain internals with LiteLLM for better provider support
  • Unified Message Formats - Standardize all message handling to OpenAI format
  • Enhanced Provider Support - Better error handling and feature parity across providers

🎯 Prompt Engineering System

  • Prompt Injection System - Build input prompts from reusable blocks or freestyle strings
  • Template Management - Organize and version prompt templates
  • Dynamic Composition - Programmatically construct complex prompts

🔄 Context Engineering

  • Weave Operations - Extract and reorganize conversation history
  • Inject Operations - Add files, context, or arbitrary content to conversations
  • Context Compression - Manage long conversations with smart truncation

🏗️ Workflow Orchestration

  • HeavenWorkflow Class - Turn all components into LangGraph nodes
  • Lego-Style Building - Compose agents, tools, and operations as reusable blocks
  • Visual Workflow Design - Drag-and-drop agent workflow construction
  • Hierarchical Execution - Nested workflows with state management

🎯 The Vision

HEAVEN Base aims to be the complete toolkit for agent development:

  • Install → pip install heaven-framework
  • Run → hermes.run_agent(agent, prompt)
  • Compose → Build prompts from blocks and inject context
  • Orchestrate → Create complex workflows as LangGraph nodes
  • Scale → Hierarchical agent networks with automatic state management

Documentation

For full documentation, visit https://heaven-base.readthedocs.io

License

MIT License - see LICENSE file 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

heaven_framework-0.1.21.tar.gz (539.6 kB view details)

Uploaded Source

Built Distribution

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

heaven_framework-0.1.21-py3-none-any.whl (449.0 kB view details)

Uploaded Python 3

File details

Details for the file heaven_framework-0.1.21.tar.gz.

File metadata

  • Download URL: heaven_framework-0.1.21.tar.gz
  • Upload date:
  • Size: 539.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.6

File hashes

Hashes for heaven_framework-0.1.21.tar.gz
Algorithm Hash digest
SHA256 b5712b7fc51730d0cffd35163b27aefade9d8c0ca8b25755ce68fbe60a475c55
MD5 7064409ba9c36a58b1157e8a25245036
BLAKE2b-256 ddd04fc21a922bd408ab9667ff3bf979fd87b48629e6a88790904129064208d5

See more details on using hashes here.

File details

Details for the file heaven_framework-0.1.21-py3-none-any.whl.

File metadata

File hashes

Hashes for heaven_framework-0.1.21-py3-none-any.whl
Algorithm Hash digest
SHA256 36825b198fc2e78a6d627a677f8d6663fb7af4f3ff61728e1fbd11adaf31cb38
MD5 ce7abc09c576bcc63e28a023cc47069e
BLAKE2b-256 f74cdc338002318fd5d3e3272c2f778699c19a15840bfc763c9da6b864807c5b

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