We are expecting to release our first release candidate in August. Nothing has been released yet.Join our Discord or sign up for the mailing list to stay up to date.
AlcedoCoreAlcedoCore

Building a Plugin

Scaffold, develop, and deploy a Python plugin for AlcedoCore.

1

Install the CLI

The alcedo CLI is used for scaffolding and development.

npm install -g alcedo
2

Scaffold the Plugin

Run alcedo init to create a new plugin project. This generates a complete project with a Dockerfile, manifest.json, migrations, and a main entrypoint.

alcedo init my-plugin# Creates ./my-plugin with:# Dockerfile# manifest.json# main.py# migrations/# pages/
3

Add a Route

Edit main.py to add an API endpoint. The plugin uses FastAPI and the Alcedo SDK to interact with the core.

from alcedo_sdk import AlcedoClientfrom fastapi import FastAPIapp = FastAPI()client = AlcedoClient()@app.get("/api/hello")async def hello():return {"message": "Hello from my plugin!"}
4

Run in Development Mode

Use alcedo dev to hot-reload your plugin against the running core. No Docker build needed. Changes take effect immediately.

alcedo dev --port 3000

This registers a dev session with the core. All requests to/p/my-plugin/... are forwarded to your local server atlocalhost:3000. Test it:

curl http://localhost:8080/p/my-plugin/api/hello
5

Deploy

Build the Docker image and push it to your registry, then deploy via the API.

docker build -t localhost:5000/my-plugin:1.0.0 .docker push localhost:5000/my-plugin:1.0.0# Deploy via APIcurl -X POST http://localhost:8080/api/plugins/deploy \-H "Content-Type: application/json" \-d '{"slug": "my-plugin", "version": "1.0.0","env": {}'

Your plugin is now live at http://localhost:8080/p/my-plugin. It runs as its own Docker container with its own database schema.

Get notified about new features and release announcements.