Metadata-Version: 2.4
Name: enki-runtime
Version: 0.1.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Rust
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
License-File: LICENSE
Summary: Python bindings for Enki agent runtime with memory, tools, and HTTP server
Keywords: ai,agent,runtime,llm,chatbot,memory,tools
Author-email: Enki <devnull@example.com>
Requires-Python: >=3.8
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Documentation, https://github.com/getenki/enki-next/tree/main/crates/agent-py
Project-URL: Homepage, https://github.com/getenki/enki-next
Project-URL: Repository, https://github.com/getenki/enki-next

# Enki Runtime

Python bindings for the Enki agent runtime, providing a powerful framework for building AI agents with memory, tools, and HTTP server capabilities.

## Features

- **Agent Runtime**: Run and manage AI agents with built-in lifecycle management
- **Memory System**: Pluggable memory stores with in-memory and custom implementations
- **Tool System**: Decorator-based tool registration for agent capabilities
- **HTTP Server**: Built-in HTTP API server for agent interactions
- **Multi-Agent Support**: Run multiple agents concurrently with dynamic registration

## Installation

```bash
pip install enki-runtime
```

## Quick Start

### Basic Agent

```python
from enki_sdk import Agent, tool
import enki_runtime

@Agent
class MyAgent:
    """A simple agent example"""
    
    @tool
    def greet(self, name: str) -> str:
        """Greet someone by name"""
        return f"Hello, {name}!"

# Create and run agent
config = enki_runtime.AgentConfig(
    name="my-agent",
    model="gpt-4",
    system_prompt="You are a helpful assistant."
)

agent = MyAgent(config)
response = agent.chat("Say hello to Alice")
print(response)
```

### Memory Store

```python
from enki_sdk import InMemoryStore

# Use built-in memory store
memory = InMemoryStore()
memory.save("key", "value")
value = memory.get("key")
```

### HTTP Server

```python
from enki_runtime import EnkiRuntime

# Start runtime with HTTP server
runtime = EnkiRuntime()
runtime.start_server("0.0.0.0", 8000)

# Register agents dynamically
runtime.register_agent("agent-1", agent_config)
```

## Documentation

For more examples and detailed documentation, see the [examples](examples/) directory.

## Requirements

- Python >= 3.8
- Rust (for building from source)

## License

MIT License - see LICENSE file for details.

## Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

