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.1.tar.gz (36.6 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.1-py3-none-any.whl (43.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: amp_agent-0.1.1.tar.gz
  • Upload date:
  • Size: 36.6 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.1.tar.gz
Algorithm Hash digest
SHA256 9407e3c20d14a41441aeab10a0be24192d6b89586ea622306399c85747b29b26
MD5 f337c4b0e0024b864a2268125a257f51
BLAKE2b-256 7f14782f780720e75d454cdb3707dcfc783c4bbd1a1065a0607e3f98e2452614

See more details on using hashes here.

File details

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

File metadata

  • Download URL: amp_agent-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 43.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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9ae207fa599bf4d2dc782e855af06ac17a286fa11a2555fd9382da65e58558b0
MD5 4289d27e62df3b36f420a19b42678a85
BLAKE2b-256 22798bcc654ec0d907a7cdfc152728b53cf9cbde4da66e661933239f05825e19

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