Skip to content

Installation

Prerequisites

Requirement Version
Python 3.12+
uv latest
xcore installed in the environment

xcoreSDK is the development companion to the xcore kernel. It must run inside an environment where xcore is importable.


Install

uv add xcore-sdk

Or clone and install in editable mode for local development:

1
2
3
git clone https://github.com/traoreera/xcoreSDK
cd xcoreSDK
uv sync

Project structure for a plugin

1
2
3
4
my_plugin/
├── plugin.yaml          # manifest
└── src/
    └── main.py          # Plugin class

plugin.yaml (minimal)

1
2
3
name: my_plugin
version: 1.0.0
execution_mode: trusted

src/main.py (minimal)

1
2
3
4
5
6
7
from xcore.sdk import AutoMixin, action, ok

class Plugin(AutoMixin):

    @action("ping")
    async def ping(self, payload: dict) -> dict:
        return ok(pong=True)

Verify

1
2
3
4
python - <<'EOF'
import xcore.sdk as sdk
print(dir(sdk))
EOF

You should see all 49 public exports listed, including AutoMixin, action, ok, cached, etc.


Development workflow

1
2
3
4
5
6
7
8
# Run tests
uv run pytest

# Type-check
uv run mypy sdk/

# Build docs (from repo root)
uv run mkdocs serve

Editable install

When developing the SDK itself, uv sync installs it in editable mode so changes to sdk/ are reflected immediately without reinstalling.