Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

elizaOS N8n Plugin - Python

AI-powered plugin creation for elizaOS using Claude models.

Installation

pip install elizaos-plugin-n8n

Quick Start

import asyncio
from elizaos_plugin_n8n import N8nConfig, PluginCreationClient, PluginSpecification

async def main():
    # Create configuration from environment
    config = N8nConfig.from_env()

    # Create client
    async with PluginCreationClient(config) as client:
        # Define plugin specification
        spec = PluginSpecification(
            name="@elizaos/plugin-weather",
            description="Weather information plugin",
            actions=[
                {
                    "name": "getWeather",
                    "description": "Get current weather for a location",
                }
            ],
        )

        # Create plugin
        job_id = await client.create_plugin(spec)
        print(f"Job started: {job_id}")

        # Check status
        job = client.get_job_status(job_id)
        print(f"Status: {job.status}")

asyncio.run(main())

Configuration

Set the following environment variables:

  • ANTHROPIC_API_KEY (required): Your Anthropic API key
  • PLUGIN_DATA_DIR (optional): Directory for plugin workspace
  • CLAUDE_MODEL (optional): Model to use (default: claude-3-opus-20240229)

API Reference

N8nConfig

Configuration for the plugin creation service.

config = N8nConfig(
    api_key="your-api-key",
    model=ClaudeModel.OPUS_3,
    data_dir=Path("./data"),
)

PluginCreationClient

Main client for creating plugins.

client = PluginCreationClient(config)

# Create a plugin
job_id = await client.create_plugin(spec)

# Get job status
job = client.get_job_status(job_id)

# Cancel a job
client.cancel_job(job_id)

# Get all jobs
jobs = client.get_all_jobs()

# Cleanup old jobs
count = client.cleanup_old_jobs(days=7)

PluginSpecification

Define your plugin specification:

spec = PluginSpecification(
    name="@scope/plugin-name",
    description="Plugin description",
    version="1.0.0",
    actions=[
        ActionSpecification(
            name="actionName",
            description="Action description",
        )
    ],
    providers=[
        ProviderSpecification(
            name="providerName",
            description="Provider description",
        )
    ],
    services=[
        ServiceSpecification(
            name="ServiceName",
            description="Service description",
        )
    ],
)

Development

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Type checking
mypy elizaos_plugin_n8n

# Linting
ruff check .
ruff format .

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elizaos_plugin_n8n-2.0.0a5.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

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

elizaos_plugin_n8n-2.0.0a5-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

Details for the file elizaos_plugin_n8n-2.0.0a5.tar.gz.

File metadata

  • Download URL: elizaos_plugin_n8n-2.0.0a5.tar.gz
  • Upload date:
  • Size: 17.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for elizaos_plugin_n8n-2.0.0a5.tar.gz
Algorithm Hash digest
SHA256 5d9b1cf1b1ff8d206b77240c27a1128f3b2748c27245f697373450fb1e48d308
MD5 ff3e86527177b54af8c25504ee6d9c83
BLAKE2b-256 8bea03391de8c53ed9c8e4f39aa6976736ee5f5ea20703b20474853eb873eb16

See more details on using hashes here.

File details

Details for the file elizaos_plugin_n8n-2.0.0a5-py3-none-any.whl.

File metadata

File hashes

Hashes for elizaos_plugin_n8n-2.0.0a5-py3-none-any.whl
Algorithm Hash digest
SHA256 5ce34490c838c545a26de0f965c98707906317249ea821f10d3fdc73038f9da7
MD5 d2b4d919e9bf6b803c4512a135e0ea13
BLAKE2b-256 48bffc681aec2ce5a93a183833bb470a63421ee328530f8c9767a554a874b249

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.0.0a5 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page