onedata-lambda-sdk
The Python SDK for writing Onedata Automation lambdas — the containerized operations that run as job executors in automation workflows. You write one handler function; the SDK turns the raw OpenFaaS request into typed jobs, runs your handler, streams its results, sends the mandatory first heartbeat and keeps the batch alive while it streams, and shapes the response the provider expects.
from onedata_lambda_sdk import Job, JobContext, per_job
@per_job(max_workers=10)
def handle(job: Job[dict], ctx: JobContext[dict]) -> dict:
return {"result": process(job.args)}
Documentation
The full authoring documentation lives in docs/:
- SDK overview — the three-layer model (base image → SDK → handler) and how a job batch flows.
- Guides — writing a handler, a single-lambda repo, several lambdas in a uv workspace, developing against a vendored SDK wheel, testing, streaming logs and stats, and file access.
- Runtime internals — for SDK maintainers.
The platform-side contract this SDK implements — how Oneprovider invokes a
lambda, the I/O and relay methods, heartbeats — is in the internal developer
documentation under docs/automation/internals/lambda/ in
onedata-dev-documentation.
Installation
Requires Python 3.12 or newer.
pip install onedata-lambda-sdk
Development
make sync # create the .venv from the lockfile
make check # lint (ruff format-check + ruff check + mypy) + tests
make test # pytest with coverage
Run make help for the full target list.
Compatibility
onedata-lambda-sdk targets the v3 lambda model (run / @per_job /
Job / JobContext) and requires Oneprovider 21.02.5 or newer. A v3 lambda
builds on the onedata/lambda-base-slim:v3 base image — see
Lambda generations.
Release files for onedata-lambda-sdk 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| onedata_lambda_sdk-1.0.0.tar.gz | 84.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| onedata_lambda_sdk-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 112.5 kB
Release files / onedata_lambda_sdk-1.0.0.tar.gz
| Download URL | onedata_lambda_sdk-1.0.0.tar.gz |
|---|---|
| Size | 84.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c05d4c04deef35b7d485784678b7306e3c9ca0760d3a3f39f614c75d6d0fc59e
|
|
BLAKE2b-256 checksum How to use checksums |
accd85824bf24addd0d985322fdac848b2e7c8bc1cd2363984f92eee773124a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.23
|
Release files / onedata_lambda_sdk-1.0.0-py3-none-any.whl
| Download URL | onedata_lambda_sdk-1.0.0-py3-none-any.whl |
|---|---|
| Size | 28.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a57881f4466742d0fd0c3b0d3f9b25528cc1cb8a85047adc4c087c297b22110f
|
|
BLAKE2b-256 checksum How to use checksums |
f0ad492bc8a42903c07d7591a89d1ad60c172a2649155987f1451939461dfba1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.23
|