Metadata-Version: 2.4
Name: agent-synapse
Version: 0.1.2
Summary: Kubernetes-like orchestration system for AI agents
Home-page: https://github.com/YakshithK/synapse
Author: Yakshith Kommineni
Author-email: yakshith.kommineni@gmail.com
Project-URL: Documentation, https://github.com/YakshithK/synapse#readme
Project-URL: Bug Reports, https://github.com/YakshithK/synapse/issues
Project-URL: Source, https://github.com/YakshithK/synapse
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
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer>=0.9.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: fastapi>=0.100.0
Requires-Dist: uvicorn>=0.23.0
Requires-Dist: jinja2>=3.1.0
Requires-Dist: sqlalchemy>=2.0.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: rich>=13.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: isort>=5.12.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Synapse

**Kubernetes-like orchestration system for AI agents**

[![PyPI version](https://badge.fury.io/py/synapse-ai.svg)](https://badge.fury.io/py/synapse-ai)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python Version](https://img.shields.io/pypi/pyversions/synapse-ai.svg)](https://pypi.org/project/synapse-ai/)

Synapse is a powerful framework for orchestrating AI agents with Kubernetes-like semantics. It provides a simple YAML-based workflow definition and a rich CLI for managing agent-based applications.

## Features

- 🚀 **Kubernetes-inspired** agent orchestration
- 📊 **Built-in observability** with a web dashboard
- ⚡ **Fast execution** with parallel agent processing
- 🔄 **Dependency management** between agents
- 📝 **YAML-based** workflow definitions
- 🔍 **Tracing and logging** for debugging
- 🎨 **Rich CLI** with beautiful output

## Installation

Install from PyPI:

```bash
pip install agent-synapse
```

## Quick Start

1. Create a workflow file `my_workflow.yaml`:

```yaml
name: Research Workflow
schema_version: "2.0"

description: >
  A sample workflow that demonstrates Synapse's capabilities
  for orchestrating AI agents in a research pipeline.

agents:
  - name: researcher
    description: Researches a given topic
    model: gpt-4
    run: research_agent.py
    inputs:
      - topic: str
    outputs:
      - research_summary: str

  - name: writer
    description: Writes a blog post based on research
    model: gpt-4
    run: writer_agent.py
    depends_on: [researcher]
    inputs:
      - research: !ref researcher.outputs.research_summary
    outputs:
      - blog_post: str
```

2. Run the workflow:

```bash
synapse run my_workflow.yaml --prompt "neural rendering"
```

3. View the dashboard (optional):

```bash
synapse serve
# Open http://localhost:8080 in your browser
```

## Documentation

For detailed documentation, please visit the [Synapse Documentation](https://github.com/YakshithK/synapse#readme).

### Key Concepts

- **Agents**: Independent units of work that process inputs and produce outputs
- **Workflows**: YAML files that define the agent graph and their dependencies
- **Traces**: Detailed execution logs stored in `synapse_traces.db`
- **Dashboard**: Web UI for monitoring and debugging agent executions

## Examples

Check out the [examples](./examples) directory for sample workflows and agent implementations.

## Development

1. Clone the repository:

```bash
git clone https://github.com/YakshithK/synapse.git
cd synapse
```

2. Set up a virtual environment:

```bash
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -e ".[dev]"
```

3. Run tests:

```bash
pytest
```

## License

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

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## Support

For support, please [open an issue](https://github.com/YakshithK/synapse/issues) on GitHub.
