agentwerkstatt


Nameagentwerkstatt JSON
Version 0.1.15 PyPI version JSON
download
home_pageNone
SummaryAgentWerkstatt, a minimalistic agentic framework
upload_time2025-07-30 04:38:12
maintainerNone
docs_urlNone
authorHannes Hapke
requires_python>=3.10
licenseNone
keywords ai agent minimalistic
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
  <img src="https://github.com/hanneshapke/AgentWerkstatt/blob/main/docs/agent-werkstatt-logo.png?raw=true" alt="AgentWerkstatt Logo" width="400">
</p>

<p align="center">
  <a href="https://github.com/hanneshapke/agentwerkstatt/blob/main/LICENSE">
    <img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT">
  </a>
  <a href="https://github.com/hanneshapke/agentwerkstatt">
    <img src="https://img.shields.io/github/stars/hanneshapke/agentwerkstatt?style=social" alt="GitHub Stars">
  </a>
  <a href="https://www.python.org/">
    <img src="https://img.shields.io/badge/Python-3.10%2B-blue" alt="Python 3.10+">
  </a>
  <a href="https://github.com/hanneshapke/agentwerkstatt/issues">
    <img src="https://img.shields.io/github/issues/hanneshapke/agentwerkstatt" alt="GitHub Issues">
  </a>
  <a href="https://github.com/hanneshapke/agentwerkstatt/blob/main/CONTRIBUTING.md">
    <img src="https://img.shields.io/badge/contributions-welcome-brightgreen.svg" alt="Contributions Welcome">
  </a>
  <a href="https://github.com/hanneshapke/agentwerkstatt/pulls">
    <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" alt="PRs Welcome">
  </a>
</p>

<p align="center">
  <a href="https://github.com/astral-sh/ruff">
    <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" alt="Ruff">
  </a>
  <a href="https://docs.astral.sh/uv/">
    <img src="https://img.shields.io/badge/uv-dependency%20manager-blue?logo=uv" alt="uv">
  </a>
</p>

# AgentWerkstatt ๐Ÿค–

A minimalistic agentic framework for building AI agents with tool calling capabilities.
Why do we need another agentic framework? I felt that all other frameworks were too complex and had too many dependencies, I wanted to build a framework that was easy to understand and use, and that was also easy to extend. The main goal here isn't on production scenarios (yet), but on understanding and prototyping agentic systems. Therefore, the name "AgentWerkstatt" is a play on the term Agent and the German word "Werkstatt" (workshop).

## Overview

AgentWerkstatt is a lightweight, extensible framework for creating AI agents. It is powered by Claude (Anthropic), but it is highly extensible and can be used with other LLMs. It features a modular architecture with pluggable LLM providers and tools, making it easy to build conversational agents with access to external capabilities like web search. More LLMs will be supported in the future.

## Features

- ๐Ÿง  **Modular LLM Support** - Built with extensible LLM abstraction (currently supports Claude)
- ๐Ÿ”ง **Tool System** - Pluggable tool architecture with automatic tool discovery
- ๐Ÿ’ฌ **Conversation Management** - Built-in conversation history and context management
- ๐Ÿงฎ **Persistent Memory** - Optional mem0 integration for long-term memory and context retention
- ๐ŸŒ **Web Search** - Integrated Tavily API for real-time web information retrieval
- ๐Ÿ“Š **Observability** - Optional Langfuse integration for comprehensive tracing and analytics
- ๐Ÿ–ฅ๏ธ **CLI Interface** - Ready-to-use command-line interface
- ๐Ÿณ **3rd Party Services** - Docker Compose stack with PostgreSQL, Neo4j, and other services
- โšก **Lightweight** - Minimal dependencies and clean architecture

## Quick Start

### Prerequisites

- Python 3.10 or higher
- An Anthropic API key for Claude
- (Optional) A Tavily API key for web search
- (Optional) An OpenAI API key for mem0 memory system

### Installation

1. **Clone the repository:**
   ```bash
   git clone https://github.com/hanneshapke/agentwerkstatt.git
   cd agentwerkstatt
   ```

2. **Install dependencies:**
   ```bash
   # Basic installation
   uv sync

   # With optional features
   uv sync --extra tracing  # Langfuse tracing support
   uv sync --extra memory   # mem0 memory support
   uv sync --all-extras     # All optional features
   ```

3. **Set up environment variables:**
   ```bash
   # Create a .env file
   echo "ANTHROPIC_API_KEY=your_anthropic_api_key_here" >> .env
   echo "TAVILY_API_KEY=your_tavily_api_key_here" >> .env          # Optional for web search
   echo "OPENAI_API_KEY=your_openai_api_key_here" >> .env          # Optional for mem0 memory
   ```

### 3rd Party Services (Optional)

AgentWerkstatt includes a Docker Compose stack with integrated services:

- **mem0** - AI memory management system for persistent context
- **Langfuse** - Observability and tracing platform
- **PostgreSQL** - Database with pgvector for embeddings
- **Neo4j** - Graph database for memory relationships
- **Redis** - Caching and session storage
- **MinIO** - S3-compatible object storage

To start the services:

```bash
# Start all services
docker compose -f third_party/docker-compose.yaml up -d

# Or start specific services
docker compose -f third_party/docker-compose.yaml up -d mem0 neo4j postgres
```

For detailed setup instructions, see:
- [MEM0_SETUP.md](third_party/MEM0_SETUP.md) - Memory system setup
- [LANGFUSE_SETUP.md](third_party/LANGFUSE_SETUP.md) - Observability setup
- [LANGFUSE_INTEGRATION.md](third_party/LANGFUSE_INTEGRATION.md) - Integration guide

### API Keys Setup

#### Anthropic API Key (Required)
1. Sign up at [console.anthropic.com](https://console.anthropic.com/)
2. Generate an API key
3. Add it to your `.env` file as `ANTHROPIC_API_KEY`

#### Tavily API Key (Optional, for web search)
1. Sign up at [app.tavily.com](https://app.tavily.com/)
2. Get your API key (1,000 free searches/month)
3. Add it to your `.env` file as `TAVILY_API_KEY`

#### OpenAI API Key (Optional, for mem0 memory)
1. Sign up at [platform.openai.com](https://platform.openai.com/)
2. Generate an API key
3. Add it to your `.env` file as `OPENAI_API_KEY`

### Usage

#### Command Line Interface

Run the interactive CLI:

```bash
# Using default configuration (agent_config.yaml)
python agent.py

# Using a custom configuration file
python agent.py --config /path/to/your/config.yaml
```

Example conversation:
```
๐Ÿค– AgentWerkstatt
==================================================
Loading config from: agent_config.yaml

I'm an example AgentWerkstatt assistant with web search capabilities!
Ask me to search the web for information.
Commands: 'quit'/'exit' to quit, 'clear' to reset, 'status' to check conversation state.

You: What's the latest news about AI developments?
๐Ÿค” Agent is thinking...

๐Ÿค– Agent: I'll search for the latest AI developments for you.

[Search results and AI summary will be displayed here]

You: clear  # Clears conversation history
๐Ÿงน Conversation history cleared!

You: quit
๐Ÿ‘‹ Goodbye!
```

#### Programmatic Usage

```python
from agentwerkstatt import Agent, AgentConfig

# Initialize with default config
config = AgentConfig.from_yaml("agent_config.yaml")
agent = Agent(config)

# Or customize the configuration
config = AgentConfig(
    model="claude-sonnet-4-20250514",
    tools_dir="./tools",
    verbose=True,
    agent_objective="You are a helpful assistant with web search capabilities."
)
agent = Agent(config)

# Process a request
response = agent.process_request("Search for recent Python releases")
print(response)

# Clear conversation history
agent.llm.clear_history()
```

### Command Line Options

The CLI supports the following command line arguments:

- `--config` - Path to the agent configuration file (default: `agent_config.yaml`)
- `--help` - Show help message and available options

Examples:
```bash
# Use default configuration
python agent.py

# Use custom configuration file
python agent.py --config my_custom_config.yaml

# Show help
python agent.py --help
```

## Documentation

For comprehensive documentation, please visit our [documentation directory](docs/):

- ๐Ÿ“š **[Complete Documentation](docs/index.md)** - Main documentation hub
- ๐Ÿš€ **[Getting Started](docs/getting-started.md)** - Installation and quick start guide
- ๐Ÿ—๏ธ **[Architecture](docs/architecture.md)** - Framework design and components
- โš™๏ธ **[Configuration](docs/configuration.md)** - Environment setup and configuration options
- ๐Ÿ› ๏ธ **[Development Guide](docs/development.md)** - Contributing and extending the framework
- ๐Ÿ“– **[API Reference](docs/api-reference.md)** - Detailed API documentation

## Quick Configuration Reference

Basic configuration in `agent_config.yaml`:

```yaml
# LLM Model Configuration
model: "claude-sonnet-4-20250514"

# Tools Configuration
tools_dir: "./tools"

# Logging Configuration
verbose: true

# Agent Objective/System Prompt
agent_objective: |
  You are a helpful assistant with web search capabilities.
  You can search the web for current information and provide accurate, helpful responses.
  Always be conversational and helpful in your responses.
```

**Environment Variables:**
- `ANTHROPIC_API_KEY` - Required for Claude API access
- `TAVILY_API_KEY` - Optional, for web search functionality

For complete configuration options, see the [Configuration Guide](docs/configuration.md).

## Roadmap

Check out our [ROADMAP.md](ROADMAP.md) to see what's planned for future releases, including:

- ๐Ÿง  **Multi-LLM Support** - OpenAI, Google AI, and local model integration
- โœ… **Memory & Persistence** - mem0 integration (โœ… **COMPLETED**)
- โœ… **3rd Party Integrations** - Observability tools and database services (โœ… **COMPLETED**)
- ๐Ÿ› ๏ธ **Advanced Tools** - API discovery, file operations, and code execution
- ๐Ÿค– **Agent Intelligence** - Self-reflection, planning, and reasoning capabilities

We welcome feedback and contributions to help shape the project's direction!

## Contributing

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Make your changes
4. Run the quality checks:
   ```bash
   uv run ruff check --fix
   uv run ruff format
   uv run mypy .
   uv run pytest
   ```
5. Commit your changes (`git commit -m 'Add amazing feature'`)
6. Push to the branch (`git push origin feature/amazing-feature`)
7. Open a Pull Request

See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.

## License

The license is still under development.

## Acknowledgments

- [Anthropic](https://www.anthropic.com/) for the Claude API
- [Tavily](https://tavily.com/) for web search capabilities
- [mem0](https://mem0.ai/) for AI memory management
- [Langfuse](https://langfuse.com/) for observability and tracing
- The open-source community for inspiration and tools

## Support

- ๐Ÿ“š [Documentation](docs/index.md)
- ๐Ÿ› [Bug Reports](https://github.com/hanneshapke/agentwerkstatt/issues)
- ๐Ÿ’ฌ [Discussions](https://github.com/hanneshapke/agentwerkstatt/discussions)
- ๐Ÿ”ง [MEM0 Setup Guide](third_party/MEM0_SETUP.md)
- ๐Ÿ“Š [Langfuse Integration Guide](third_party/LANGFUSE_INTEGRATION.md)

---

**AgentWerkstatt** - Building intelligent agents, one tool at a time. ๐Ÿš€

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "agentwerkstatt",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "ai, agent, minimalistic",
    "author": "Hannes Hapke",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/5b/29/1b5f63cf0b64871df29943762c4c96d980effc47845eab92118518826257/agentwerkstatt-0.1.15.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n  <img src=\"https://github.com/hanneshapke/AgentWerkstatt/blob/main/docs/agent-werkstatt-logo.png?raw=true\" alt=\"AgentWerkstatt Logo\" width=\"400\">\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/hanneshapke/agentwerkstatt/blob/main/LICENSE\">\n    <img src=\"https://img.shields.io/badge/License-MIT-blue.svg\" alt=\"License: MIT\">\n  </a>\n  <a href=\"https://github.com/hanneshapke/agentwerkstatt\">\n    <img src=\"https://img.shields.io/github/stars/hanneshapke/agentwerkstatt?style=social\" alt=\"GitHub Stars\">\n  </a>\n  <a href=\"https://www.python.org/\">\n    <img src=\"https://img.shields.io/badge/Python-3.10%2B-blue\" alt=\"Python 3.10+\">\n  </a>\n  <a href=\"https://github.com/hanneshapke/agentwerkstatt/issues\">\n    <img src=\"https://img.shields.io/github/issues/hanneshapke/agentwerkstatt\" alt=\"GitHub Issues\">\n  </a>\n  <a href=\"https://github.com/hanneshapke/agentwerkstatt/blob/main/CONTRIBUTING.md\">\n    <img src=\"https://img.shields.io/badge/contributions-welcome-brightgreen.svg\" alt=\"Contributions Welcome\">\n  </a>\n  <a href=\"https://github.com/hanneshapke/agentwerkstatt/pulls\">\n    <img src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg\" alt=\"PRs Welcome\">\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/astral-sh/ruff\">\n    <img src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json\" alt=\"Ruff\">\n  </a>\n  <a href=\"https://docs.astral.sh/uv/\">\n    <img src=\"https://img.shields.io/badge/uv-dependency%20manager-blue?logo=uv\" alt=\"uv\">\n  </a>\n</p>\n\n# AgentWerkstatt \ud83e\udd16\n\nA minimalistic agentic framework for building AI agents with tool calling capabilities.\nWhy do we need another agentic framework? I felt that all other frameworks were too complex and had too many dependencies, I wanted to build a framework that was easy to understand and use, and that was also easy to extend. The main goal here isn't on production scenarios (yet), but on understanding and prototyping agentic systems. Therefore, the name \"AgentWerkstatt\" is a play on the term Agent and the German word \"Werkstatt\" (workshop).\n\n## Overview\n\nAgentWerkstatt is a lightweight, extensible framework for creating AI agents. It is powered by Claude (Anthropic), but it is highly extensible and can be used with other LLMs. It features a modular architecture with pluggable LLM providers and tools, making it easy to build conversational agents with access to external capabilities like web search. More LLMs will be supported in the future.\n\n## Features\n\n- \ud83e\udde0 **Modular LLM Support** - Built with extensible LLM abstraction (currently supports Claude)\n- \ud83d\udd27 **Tool System** - Pluggable tool architecture with automatic tool discovery\n- \ud83d\udcac **Conversation Management** - Built-in conversation history and context management\n- \ud83e\uddee **Persistent Memory** - Optional mem0 integration for long-term memory and context retention\n- \ud83c\udf10 **Web Search** - Integrated Tavily API for real-time web information retrieval\n- \ud83d\udcca **Observability** - Optional Langfuse integration for comprehensive tracing and analytics\n- \ud83d\udda5\ufe0f **CLI Interface** - Ready-to-use command-line interface\n- \ud83d\udc33 **3rd Party Services** - Docker Compose stack with PostgreSQL, Neo4j, and other services\n- \u26a1 **Lightweight** - Minimal dependencies and clean architecture\n\n## Quick Start\n\n### Prerequisites\n\n- Python 3.10 or higher\n- An Anthropic API key for Claude\n- (Optional) A Tavily API key for web search\n- (Optional) An OpenAI API key for mem0 memory system\n\n### Installation\n\n1. **Clone the repository:**\n   ```bash\n   git clone https://github.com/hanneshapke/agentwerkstatt.git\n   cd agentwerkstatt\n   ```\n\n2. **Install dependencies:**\n   ```bash\n   # Basic installation\n   uv sync\n\n   # With optional features\n   uv sync --extra tracing  # Langfuse tracing support\n   uv sync --extra memory   # mem0 memory support\n   uv sync --all-extras     # All optional features\n   ```\n\n3. **Set up environment variables:**\n   ```bash\n   # Create a .env file\n   echo \"ANTHROPIC_API_KEY=your_anthropic_api_key_here\" >> .env\n   echo \"TAVILY_API_KEY=your_tavily_api_key_here\" >> .env          # Optional for web search\n   echo \"OPENAI_API_KEY=your_openai_api_key_here\" >> .env          # Optional for mem0 memory\n   ```\n\n### 3rd Party Services (Optional)\n\nAgentWerkstatt includes a Docker Compose stack with integrated services:\n\n- **mem0** - AI memory management system for persistent context\n- **Langfuse** - Observability and tracing platform\n- **PostgreSQL** - Database with pgvector for embeddings\n- **Neo4j** - Graph database for memory relationships\n- **Redis** - Caching and session storage\n- **MinIO** - S3-compatible object storage\n\nTo start the services:\n\n```bash\n# Start all services\ndocker compose -f third_party/docker-compose.yaml up -d\n\n# Or start specific services\ndocker compose -f third_party/docker-compose.yaml up -d mem0 neo4j postgres\n```\n\nFor detailed setup instructions, see:\n- [MEM0_SETUP.md](third_party/MEM0_SETUP.md) - Memory system setup\n- [LANGFUSE_SETUP.md](third_party/LANGFUSE_SETUP.md) - Observability setup\n- [LANGFUSE_INTEGRATION.md](third_party/LANGFUSE_INTEGRATION.md) - Integration guide\n\n### API Keys Setup\n\n#### Anthropic API Key (Required)\n1. Sign up at [console.anthropic.com](https://console.anthropic.com/)\n2. Generate an API key\n3. Add it to your `.env` file as `ANTHROPIC_API_KEY`\n\n#### Tavily API Key (Optional, for web search)\n1. Sign up at [app.tavily.com](https://app.tavily.com/)\n2. Get your API key (1,000 free searches/month)\n3. Add it to your `.env` file as `TAVILY_API_KEY`\n\n#### OpenAI API Key (Optional, for mem0 memory)\n1. Sign up at [platform.openai.com](https://platform.openai.com/)\n2. Generate an API key\n3. Add it to your `.env` file as `OPENAI_API_KEY`\n\n### Usage\n\n#### Command Line Interface\n\nRun the interactive CLI:\n\n```bash\n# Using default configuration (agent_config.yaml)\npython agent.py\n\n# Using a custom configuration file\npython agent.py --config /path/to/your/config.yaml\n```\n\nExample conversation:\n```\n\ud83e\udd16 AgentWerkstatt\n==================================================\nLoading config from: agent_config.yaml\n\nI'm an example AgentWerkstatt assistant with web search capabilities!\nAsk me to search the web for information.\nCommands: 'quit'/'exit' to quit, 'clear' to reset, 'status' to check conversation state.\n\nYou: What's the latest news about AI developments?\n\ud83e\udd14 Agent is thinking...\n\n\ud83e\udd16 Agent: I'll search for the latest AI developments for you.\n\n[Search results and AI summary will be displayed here]\n\nYou: clear  # Clears conversation history\n\ud83e\uddf9 Conversation history cleared!\n\nYou: quit\n\ud83d\udc4b Goodbye!\n```\n\n#### Programmatic Usage\n\n```python\nfrom agentwerkstatt import Agent, AgentConfig\n\n# Initialize with default config\nconfig = AgentConfig.from_yaml(\"agent_config.yaml\")\nagent = Agent(config)\n\n# Or customize the configuration\nconfig = AgentConfig(\n    model=\"claude-sonnet-4-20250514\",\n    tools_dir=\"./tools\",\n    verbose=True,\n    agent_objective=\"You are a helpful assistant with web search capabilities.\"\n)\nagent = Agent(config)\n\n# Process a request\nresponse = agent.process_request(\"Search for recent Python releases\")\nprint(response)\n\n# Clear conversation history\nagent.llm.clear_history()\n```\n\n### Command Line Options\n\nThe CLI supports the following command line arguments:\n\n- `--config` - Path to the agent configuration file (default: `agent_config.yaml`)\n- `--help` - Show help message and available options\n\nExamples:\n```bash\n# Use default configuration\npython agent.py\n\n# Use custom configuration file\npython agent.py --config my_custom_config.yaml\n\n# Show help\npython agent.py --help\n```\n\n## Documentation\n\nFor comprehensive documentation, please visit our [documentation directory](docs/):\n\n- \ud83d\udcda **[Complete Documentation](docs/index.md)** - Main documentation hub\n- \ud83d\ude80 **[Getting Started](docs/getting-started.md)** - Installation and quick start guide\n- \ud83c\udfd7\ufe0f **[Architecture](docs/architecture.md)** - Framework design and components\n- \u2699\ufe0f **[Configuration](docs/configuration.md)** - Environment setup and configuration options\n- \ud83d\udee0\ufe0f **[Development Guide](docs/development.md)** - Contributing and extending the framework\n- \ud83d\udcd6 **[API Reference](docs/api-reference.md)** - Detailed API documentation\n\n## Quick Configuration Reference\n\nBasic configuration in `agent_config.yaml`:\n\n```yaml\n# LLM Model Configuration\nmodel: \"claude-sonnet-4-20250514\"\n\n# Tools Configuration\ntools_dir: \"./tools\"\n\n# Logging Configuration\nverbose: true\n\n# Agent Objective/System Prompt\nagent_objective: |\n  You are a helpful assistant with web search capabilities.\n  You can search the web for current information and provide accurate, helpful responses.\n  Always be conversational and helpful in your responses.\n```\n\n**Environment Variables:**\n- `ANTHROPIC_API_KEY` - Required for Claude API access\n- `TAVILY_API_KEY` - Optional, for web search functionality\n\nFor complete configuration options, see the [Configuration Guide](docs/configuration.md).\n\n## Roadmap\n\nCheck out our [ROADMAP.md](ROADMAP.md) to see what's planned for future releases, including:\n\n- \ud83e\udde0 **Multi-LLM Support** - OpenAI, Google AI, and local model integration\n- \u2705 **Memory & Persistence** - mem0 integration (\u2705 **COMPLETED**)\n- \u2705 **3rd Party Integrations** - Observability tools and database services (\u2705 **COMPLETED**)\n- \ud83d\udee0\ufe0f **Advanced Tools** - API discovery, file operations, and code execution\n- \ud83e\udd16 **Agent Intelligence** - Self-reflection, planning, and reasoning capabilities\n\nWe welcome feedback and contributions to help shape the project's direction!\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Make your changes\n4. Run the quality checks:\n   ```bash\n   uv run ruff check --fix\n   uv run ruff format\n   uv run mypy .\n   uv run pytest\n   ```\n5. Commit your changes (`git commit -m 'Add amazing feature'`)\n6. Push to the branch (`git push origin feature/amazing-feature`)\n7. Open a Pull Request\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.\n\n## License\n\nThe license is still under development.\n\n## Acknowledgments\n\n- [Anthropic](https://www.anthropic.com/) for the Claude API\n- [Tavily](https://tavily.com/) for web search capabilities\n- [mem0](https://mem0.ai/) for AI memory management\n- [Langfuse](https://langfuse.com/) for observability and tracing\n- The open-source community for inspiration and tools\n\n## Support\n\n- \ud83d\udcda [Documentation](docs/index.md)\n- \ud83d\udc1b [Bug Reports](https://github.com/hanneshapke/agentwerkstatt/issues)\n- \ud83d\udcac [Discussions](https://github.com/hanneshapke/agentwerkstatt/discussions)\n- \ud83d\udd27 [MEM0 Setup Guide](third_party/MEM0_SETUP.md)\n- \ud83d\udcca [Langfuse Integration Guide](third_party/LANGFUSE_INTEGRATION.md)\n\n---\n\n**AgentWerkstatt** - Building intelligent agents, one tool at a time. \ud83d\ude80\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "AgentWerkstatt, a minimalistic agentic framework",
    "version": "0.1.15",
    "project_urls": {
        "Bug Tracker": "https://github.com/hanneshapke/agentwerkstatt/issues",
        "Contributing": "https://github.com/hanneshapke/agentwerkstatt/blob/main/CONTRIBUTING.md",
        "Discussions": "https://github.com/hanneshapke/agentwerkstatt/discussions",
        "Documentation": "https://github.com/hanneshapke/agentwerkstatt#readme",
        "Homepage": "https://github.com/hanneshapke/agentwerkstatt",
        "Repository": "https://github.com/hanneshapke/agentwerkstatt.git"
    },
    "split_keywords": [
        "ai",
        " agent",
        " minimalistic"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a096c2b97ed73c7f9b37a351685fe57b7a1a59b179ee1caf9036b974f5813ae7",
                "md5": "4b7fe1c74f05ea6a4a5e893aca2cf1ba",
                "sha256": "98e1a1f51a378b58382e479e53a8f3a6bbe3cbdcc823418e4bfd5ea10b130d16"
            },
            "downloads": -1,
            "filename": "agentwerkstatt-0.1.15-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4b7fe1c74f05ea6a4a5e893aca2cf1ba",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 75511,
            "upload_time": "2025-07-30T04:38:11",
            "upload_time_iso_8601": "2025-07-30T04:38:11.611966Z",
            "url": "https://files.pythonhosted.org/packages/a0/96/c2b97ed73c7f9b37a351685fe57b7a1a59b179ee1caf9036b974f5813ae7/agentwerkstatt-0.1.15-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5b291b5f63cf0b64871df29943762c4c96d980effc47845eab92118518826257",
                "md5": "db42778353063c0ff9e7d3592139108b",
                "sha256": "84b0ae6136c8ae1ef9601fa51ab25496e5a1d5e15022cce5f31b95842a0e83ec"
            },
            "downloads": -1,
            "filename": "agentwerkstatt-0.1.15.tar.gz",
            "has_sig": false,
            "md5_digest": "db42778353063c0ff9e7d3592139108b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 175771,
            "upload_time": "2025-07-30T04:38:12",
            "upload_time_iso_8601": "2025-07-30T04:38:12.749424Z",
            "url": "https://files.pythonhosted.org/packages/5b/29/1b5f63cf0b64871df29943762c4c96d980effc47845eab92118518826257/agentwerkstatt-0.1.15.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-30 04:38:12",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "hanneshapke",
    "github_project": "agentwerkstatt",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "agentwerkstatt"
}
        
Elapsed time: 2.32041s