Skip to main content

Library for building AMP agents

Project description

AMP Agent

A Python library for building and deploying AMP agents with ease. This library provides the functionality needed to create, manage, and run AMP agents.

Features

  • Easy agent creation with base classes and interfaces
  • Built-in HTTP server with Flask integration
  • Token-based authentication and validation
  • Configuration management
  • Database integration with AsyncPG
  • Async/sync support
  • Logging and error handling
  • Semantic interest matching
  • Event subscription and listening
  • Agent setup and registration utilities
  • Swarm-based agent components

Modules

  • amp_agent: Core functionality for building and running agents
  • amp_setup: Configuration and setup utilities
  • semantic: Semantic interest matching and processing
  • subscription: Event subscription and listening
  • swarm_cell: Swarm-based agent components

Installation

You can install the package using pip:

pip install amp-agent

For development installation:

pip install -e ".[dev]"

For testing:

pip install -e ".[test]"

For documentation:

pip install -e ".[docs]"

For machine learning features (advanced semantic matching):

pip install -e ".[ml]"

You can combine multiple extras like this:

pip install -e ".[dev,ml]"

Quick Start

Here's a simple example of creating an AMP agent:

from amp_agent import AgentInterface
from amp_agent.amp_setup import ConfigManager

class MyAgent(AgentInterface):
    async def process_message(self, content: str, metadata: dict = None) -> str:
        return f"Processed: {content}"

# Setup configuration
config_manager = ConfigManager()
config = config_manager.load_config()

# Create and run server
from amp_agent.server import create_app
app = create_app()
app.run()

Development

  1. Clone the repository:
git clone https://github.com/theswarmhub/amp-agent.git
cd amp-agent
  1. Create a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install development dependencies:
pip install -e ".[dev]"
  1. Run tests:
pytest

Configuration

Create a .env file:

DATABASE_URL=postgresql://user:password@localhost:5432/dbname
JWT_SECRET_KEY=your-secret-key
DEBUG=True

Module Usage Examples

Core Features

from amp_agent import AgentInterface
from amp_agent.amp_setup import ConfigManager

# Create an agent
class MyAgent(AgentInterface):
    async def process_message(self, content: str, metadata: dict = None) -> str:
        return f"Processed: {content}"

# Load configuration
config_manager = ConfigManager()
config = config_manager.load_config()

Semantic Processing

from amp_agent.semantic import interest

# Define interests
@interest("code_review")
async def handle_code_review(content: str) -> str:
    return "Code review processed"

Event Subscription (Optional)

# Import the optional subscription module when needed
from amp_agent.subscription import AMPListener

# Create and start a listener
listener = AMPListener(config)
listener.start()

Swarm Components (Optional)

# Import the optional swarm_cell module when needed
from amp_agent.swarm_cell import SwarmCell

# Create a swarm cell
cell = SwarmCell(config)
cell.initialize()

Documentation

For detailed documentation, visit https://amp-agent.readthedocs.io/

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests
  5. Submit a pull request

License

This project is licensed under the MIT License - see the 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

amp_agent-0.1.0.tar.gz (35.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

amp_agent-0.1.0-py3-none-any.whl (42.6 kB view details)

Uploaded Python 3

File details

Details for the file amp_agent-0.1.0.tar.gz.

File metadata

  • Download URL: amp_agent-0.1.0.tar.gz
  • Upload date:
  • Size: 35.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for amp_agent-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e325a061eb23a694ef9a9ce80edc7dd5c008a61cd02158153e11d4427555da02
MD5 fadef58bb9579a66bba0fdc5baaf82f5
BLAKE2b-256 0179ed8e4d71527a716a695674dd78a1262033b7b7710ecab639884630402151

See more details on using hashes here.

File details

Details for the file amp_agent-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: amp_agent-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 42.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for amp_agent-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 95d304feec4e291b5479690eee5923ab1662206d989e9dc86df1c5da27fdb797
MD5 67ec02f39cd55f0a94a5eeae546458da
BLAKE2b-256 19bc9ad9e0dd5831be05e11b246bebc68acf6a0986da831b2222fb5ffcf11d2d

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