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-base

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-base
  • 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.4.tar.gz (270.5 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.4-py3-none-any.whl (311.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for heaven_framework-0.1.4.tar.gz
Algorithm Hash digest
SHA256 bb21de3f15e4ca2271c8948c80c04a4da16da3ee05cc94490e37d48ccd1d99cf
MD5 445578b604f74c4b7b89074b70f4bebe
BLAKE2b-256 369c35a8cab9c4574b10bb4b7a9412f6ca7dc9ce43cffa82c1852d8bd80fa5f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for heaven_framework-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 02bf77f1dade245b601cafa3bfac9201cf7e6ff6a2942decb9f4588202e898ed
MD5 154d52527f9b7f652f9e44c95d462090
BLAKE2b-256 100472973578436e16329a41511c274173e6ac9699f8686347a062b4bbc57952

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