SDK to develop adapters for the EdgeWorks Platform.
edgeworks-sdk/
├── spec/ # Contracts and envelope schema
├── sdk-go/ # Go bindings (reference implementation)
├── sdk-python/ # Python bindings
├── examples/ # Sample adapter implementations
├── docs/ # Documentation and design decisions
└── Makefile # Build, lint, and test pipelines
Install the Python SDK from a GitHub Release or from the repo:
# From a specific release asset (wheel) — replace v0.1.0 with the desired release tag
pip install https://github.com/RamaEdge/edgeworks-sdk/releases/download/v0.1.0/edgeworks_sdk-0.1.0-py3-none-any.whl
# From a git tag (no pre-built artifact needed)
pip install "edgeworks-sdk @ git+https://github.com/RamaEdge/edgeworks-sdk@v0.1.0"
# From GitHub Packages (after setting GITHUB_TOKEN for auth)
pip install edgeworks-sdk --index-url https://__token__:${GITHUB_TOKEN}@pypi.packages.github.com/RamaEdge/Replace v0.1.0 (and the wheel filename version) with the release tag you need. For GitHub Packages, use a personal access token with read:packages scope and set GITHUB_TOKEN in your environment or CI.
make lint # Run linters for all language bindings
make format # Format code for all language bindings
make test # Run tests for all language bindings
make clean # Clean build artifactsmake test-python # Run Python SDK tests
make test-go # Run Go SDK tests- Design Specification - Architecture and design decisions
- Usage Guide - Quick start and usage examples
- Event Envelope Schema - JSON Schema for event envelopes
- Specifications - API contracts and behavioral specifications
- Examples - Sample adapter implementations
🚧 Under Development
This repository is in active development. See docs/sdk/issues.md for tracking.
[To be determined]