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.8.tar.gz (392.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.8-py3-none-any.whl (312.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: heaven_framework-0.1.8.tar.gz
  • Upload date:
  • Size: 392.6 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.8.tar.gz
Algorithm Hash digest
SHA256 e41843e0c39ec48e7943ea8a5d69af2880dff1f80b6597a5ccea5a0e5af86ebb
MD5 e9a656186bcaab51fd0064e1c4b7c2a5
BLAKE2b-256 f5fd7e65d200412ca53016c5fbf5665491e7553f5d3642cafbbee80bac1d0554

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for heaven_framework-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 f7b430e4a670dbb228de359e435296e7e2a1008e254bab1f2aab83a51808dfe2
MD5 a053712769f725fd46ae380a16fee8f0
BLAKE2b-256 08ec8f987f298e9774191d0e2ca92befb2bbbf3c4bbdbbbdea6c38ec18c02b57

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