pepperpy


Namepepperpy JSON
Version 1.5.0 PyPI version JSON
download
home_pageNone
SummaryA centralized hub for managing and loading AI artifacts like agents, prompts, and workflows
upload_time2025-02-12 14:08:41
maintainerNone
docs_urlNone
authorYour Name
requires_python<4.0,>=3.12
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Pepperpy

A powerful AI agent framework with zero-config capabilities.

## Features

- 🚀 **Zero-Config Setup**: Get started quickly with sensible defaults
- 🤖 **Flexible Agent System**: Create and manage AI agents with ease
- 🔄 **Built-in Workflows**: Pre-defined workflows for common tasks
- 💾 **Automatic Caching**: Reduce costs and improve performance
- 🔌 **Plugin Architecture**: Extend functionality through hooks
- 📊 **Integrated Monitoring**: Built-in logging and metrics
- 🛠️ **CLI Tools**: Command-line interface for quick testing

## Installation

```bash
# Install using Poetry (recommended)
poetry add pepperpy

# Or using pip
pip install pepperpy
```

## Quick Start

```python
from pepperpy import PepperpyClient

async def main():
    # Auto-configured client
    async with PepperpyClient.auto() as client:
        # Simple research example
        results = await client.run(
            "research_assistant",
            "analyze",
            topic="AI in Healthcare",
            max_sources=5
        )
        print(results.summary)

        # Advanced workflow example
        results = await client.run_workflow(
            "research/comprehensive",
            topic="AI in Healthcare",
            requirements={
                "depth": "expert",
                "focus": ["academic", "industry"]
            }
        )
        print(results.key_findings)

# Run the example
import asyncio
asyncio.run(main())
```

## Configuration

Pepperpy can be configured through:

1. Environment variables (`.env` file)
2. Configuration file (`.pepperpy/config.yml`)
3. Programmatic configuration

Example `.env` file:
```bash
PEPPERPY_API_KEY=your-api-key
PEPPERPY_PROVIDER=openai
PEPPERPY_MODEL=gpt-4-turbo-preview
```

Example `config.yml`:
```yaml
provider:
  type: openai
  model: gpt-4-turbo-preview
  temperature: 0.7

memory:
  type: redis
  url: redis://localhost:6379

cache:
  enabled: true
  store: memory
```

## CLI Usage

```bash
# Run a research task
pepperpy run agent research_assistant --topic "AI in Healthcare"

# Execute a workflow
pepperpy run workflow research/comprehensive --topic "AI in Healthcare"

# List available agents
pepperpy list agents

# Show configuration
pepperpy config show
```

## Advanced Usage

### Custom Hooks

```python
def my_logger_hook(context):
    print(f"Processing: {context.current_step}")

client.register_hook("after_agent_call", my_logger_hook)
```

### Cache Configuration

```python
# Enable caching with Redis
client = PepperpyClient(
    cache_enabled=True,
    cache_store="redis",
    cache_config={
        "url": "redis://localhost:6379"
    }
)
```

### Custom Workflows

```python
# Define a workflow in .pepper_hub/workflows/custom.yml
name: my_workflow
steps:
  - agent: research_assistant
    action: analyze
    params:
      depth: comprehensive
  - agent: summarizer
    action: summarize
    params:
      style: concise

# Run the workflow
results = await client.run_workflow("my_workflow", topic="...")
```

## Development

```bash
# Clone the repository
git clone https://github.com/yourusername/pepperpy.git
cd pepperpy

# Install dependencies
poetry install

# Run tests
poetry run pytest

# Run linters
poetry run black .
poetry run ruff check .
poetry run mypy .
```

## Contributing

Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pepperpy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.12",
    "maintainer_email": null,
    "keywords": null,
    "author": "Your Name",
    "author_email": "your.email@example.com",
    "download_url": "https://files.pythonhosted.org/packages/38/fc/61f6858b76fccee70ec0e024f2184a5071b5ae4f595b57a58e38d9599044/pepperpy-1.5.0.tar.gz",
    "platform": null,
    "description": "# Pepperpy\n\nA powerful AI agent framework with zero-config capabilities.\n\n## Features\n\n- \ud83d\ude80 **Zero-Config Setup**: Get started quickly with sensible defaults\n- \ud83e\udd16 **Flexible Agent System**: Create and manage AI agents with ease\n- \ud83d\udd04 **Built-in Workflows**: Pre-defined workflows for common tasks\n- \ud83d\udcbe **Automatic Caching**: Reduce costs and improve performance\n- \ud83d\udd0c **Plugin Architecture**: Extend functionality through hooks\n- \ud83d\udcca **Integrated Monitoring**: Built-in logging and metrics\n- \ud83d\udee0\ufe0f **CLI Tools**: Command-line interface for quick testing\n\n## Installation\n\n```bash\n# Install using Poetry (recommended)\npoetry add pepperpy\n\n# Or using pip\npip install pepperpy\n```\n\n## Quick Start\n\n```python\nfrom pepperpy import PepperpyClient\n\nasync def main():\n    # Auto-configured client\n    async with PepperpyClient.auto() as client:\n        # Simple research example\n        results = await client.run(\n            \"research_assistant\",\n            \"analyze\",\n            topic=\"AI in Healthcare\",\n            max_sources=5\n        )\n        print(results.summary)\n\n        # Advanced workflow example\n        results = await client.run_workflow(\n            \"research/comprehensive\",\n            topic=\"AI in Healthcare\",\n            requirements={\n                \"depth\": \"expert\",\n                \"focus\": [\"academic\", \"industry\"]\n            }\n        )\n        print(results.key_findings)\n\n# Run the example\nimport asyncio\nasyncio.run(main())\n```\n\n## Configuration\n\nPepperpy can be configured through:\n\n1. Environment variables (`.env` file)\n2. Configuration file (`.pepperpy/config.yml`)\n3. Programmatic configuration\n\nExample `.env` file:\n```bash\nPEPPERPY_API_KEY=your-api-key\nPEPPERPY_PROVIDER=openai\nPEPPERPY_MODEL=gpt-4-turbo-preview\n```\n\nExample `config.yml`:\n```yaml\nprovider:\n  type: openai\n  model: gpt-4-turbo-preview\n  temperature: 0.7\n\nmemory:\n  type: redis\n  url: redis://localhost:6379\n\ncache:\n  enabled: true\n  store: memory\n```\n\n## CLI Usage\n\n```bash\n# Run a research task\npepperpy run agent research_assistant --topic \"AI in Healthcare\"\n\n# Execute a workflow\npepperpy run workflow research/comprehensive --topic \"AI in Healthcare\"\n\n# List available agents\npepperpy list agents\n\n# Show configuration\npepperpy config show\n```\n\n## Advanced Usage\n\n### Custom Hooks\n\n```python\ndef my_logger_hook(context):\n    print(f\"Processing: {context.current_step}\")\n\nclient.register_hook(\"after_agent_call\", my_logger_hook)\n```\n\n### Cache Configuration\n\n```python\n# Enable caching with Redis\nclient = PepperpyClient(\n    cache_enabled=True,\n    cache_store=\"redis\",\n    cache_config={\n        \"url\": \"redis://localhost:6379\"\n    }\n)\n```\n\n### Custom Workflows\n\n```python\n# Define a workflow in .pepper_hub/workflows/custom.yml\nname: my_workflow\nsteps:\n  - agent: research_assistant\n    action: analyze\n    params:\n      depth: comprehensive\n  - agent: summarizer\n    action: summarize\n    params:\n      style: concise\n\n# Run the workflow\nresults = await client.run_workflow(\"my_workflow\", topic=\"...\")\n```\n\n## Development\n\n```bash\n# Clone the repository\ngit clone https://github.com/yourusername/pepperpy.git\ncd pepperpy\n\n# Install dependencies\npoetry install\n\n# Run tests\npoetry run pytest\n\n# Run linters\npoetry run black .\npoetry run ruff check .\npoetry run mypy .\n```\n\n## Contributing\n\nContributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A centralized hub for managing and loading AI artifacts like agents, prompts, and workflows",
    "version": "1.5.0",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ff762e36252ee599c0a4add6d6abbc539992f4afff426ecdba181b55358c96ac",
                "md5": "9f3f0912f20a26cd00f628d385e97972",
                "sha256": "e77ce2812acdb522fc6cb328c1769123f1c6a0dd07ae4ecca5bb5d806fc1cd60"
            },
            "downloads": -1,
            "filename": "pepperpy-1.5.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9f3f0912f20a26cd00f628d385e97972",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.12",
            "size": 212908,
            "upload_time": "2025-02-12T14:08:39",
            "upload_time_iso_8601": "2025-02-12T14:08:39.216186Z",
            "url": "https://files.pythonhosted.org/packages/ff/76/2e36252ee599c0a4add6d6abbc539992f4afff426ecdba181b55358c96ac/pepperpy-1.5.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "38fc61f6858b76fccee70ec0e024f2184a5071b5ae4f595b57a58e38d9599044",
                "md5": "ae562dbad0b544d43e92863d019654d6",
                "sha256": "64fb7fbf3e3663a151f96ad338995266d96b9ab1deb5f0baa57e486b253992f7"
            },
            "downloads": -1,
            "filename": "pepperpy-1.5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ae562dbad0b544d43e92863d019654d6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.12",
            "size": 144036,
            "upload_time": "2025-02-12T14:08:41",
            "upload_time_iso_8601": "2025-02-12T14:08:41.548580Z",
            "url": "https://files.pythonhosted.org/packages/38/fc/61f6858b76fccee70ec0e024f2184a5071b5ae4f595b57a58e38d9599044/pepperpy-1.5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-12 14:08:41",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "pepperpy"
}
        
Elapsed time: 1.12022s