Skip to content

OpenDPP/opendpp-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

OpenDPP

OpenDPP SDKs

Official client SDKs for the OpenDPP Digital Product Passport API — generated from the public OpenAPI contract and version-locked to it.

SDK Package Source
TypeScript @opendpp/sdk (npm) typescript/
Java eu.opendpp-node:opendpp-sdk (Maven Central) java/
Kotlin via the Java artifact — same coordinates, idiomatic from Kotlin java/
Python opendpp (PyPI) — planned

Part of the OpenDPP open client surface (Apache-2.0). The SDKs are ergonomics only — they embed no tier/masking logic and no restricted-key knowledge; every privileged operation is a typed call to the hosted node behind a Developer-Plan key. A rival could regenerate an equivalent from the public spec in an afternoon — the value is the hosted node it calls, not the client.

TypeScript

npm install @opendpp/sdk
import { createOpenDppClient, getHealth } from "@opendpp/sdk";

const client = createOpenDppClient({ apiKey: process.env.OPENDPP_API_KEY });
const health = await getHealth({ client });

Full SDK + docs: typescript/.

Java

implementation("eu.opendpp-node:opendpp-sdk:1.11.0")
import eu.opendppnode.sdk.OpenDpp;
import eu.opendppnode.sdk.api.ServiceApi;
import eu.opendppnode.sdk.invoker.ApiClient;

ApiClient client = OpenDpp.client(System.getenv("OPENDPP_API_KEY"));
var health = new ServiceApi(client).getHealth();

Java 17+, built on the JDK HttpClient with Jackson. Full SDK + docs: java/.

Kotlin consumes the same artifact idiomatically — no separate package:

val client = OpenDpp.client(System.getenv("OPENDPP_API_KEY"))
val health = ServiceApi(client).health

Python

Coming next — the same generation pipeline, published to PyPI as opendpp.

How it's built

Each SDK is mechanically generated from openapi.json (the curated public API contract) and version-locked to OPENAPI_VERSION — the SDK's major.minor is the contract version (@opendpp/sdk@1.11.x targets contract 1.11), while the patch digit is the SDK's own lane for client-only fixes against the same contract. CI regenerates and fails on any drift, so the committed client always matches the spec. Releases are keyless where the registry supports it (npm OIDC trusted publishing for TypeScript); the Java artifacts are GPG-signed and published to Maven Central. Nothing here re-implements a server-side capability.

Related OpenDPP repositories

License & trademark

Apache-2.0 © Opendpp UAB. See NOTICE and TRADEMARK.md. "OpenDPP" is a trademark of Opendpp UAB; the license grants no rights to the marks.

About

Official TypeScript + Python client SDKs for the OpenDPP Digital Product Passport API — generated from the public OpenAPI contract (Apache-2.0, version-locked).

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Contributors