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 keyPLUGIN_DATA_DIR(optional): Directory for plugin workspaceCLAUDE_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
Metadata
Release files for elizaos-plugin-n8n 2.0.0a5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| elizaos_plugin_n8n-2.0.0a5.tar.gz | 17.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| elizaos_plugin_n8n-2.0.0a5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.5 kB
Release files / elizaos_plugin_n8n-2.0.0a5.tar.gz
| Download URL | elizaos_plugin_n8n-2.0.0a5.tar.gz |
|---|---|
| Size | 17.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5d9b1cf1b1ff8d206b77240c27a1128f3b2748c27245f697373450fb1e48d308
|
|
BLAKE2b-256 checksum How to use checksums |
8bea03391de8c53ed9c8e4f39aa6976736ee5f5ea20703b20474853eb873eb16
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / elizaos_plugin_n8n-2.0.0a5-py3-none-any.whl
| Download URL | elizaos_plugin_n8n-2.0.0a5-py3-none-any.whl |
|---|---|
| Size | 21.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5ce34490c838c545a26de0f965c98707906317249ea821f10d3fdc73038f9da7
|
|
BLAKE2b-256 checksum How to use checksums |
48bffc681aec2ce5a93a183833bb470a63421ee328530f8c9767a554a874b249
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|