Skip to main content

Client libraries and distribution

Choose the integration native to the application. All official libraries implement the same lifecycle contract; their public APIs and logging integrations remain idiomatic to each runtime.

Compatibility and availability​

Registry state was verified directly against npm, Maven Central, PyPI, the Go module proxy, and NuGet.org on 30 August 2026.

PlatformRuntimePackage or moduleRegistryCurrent versionStatus
Node.jsNode 16+; CommonJS and ESM@synapsys-io/sdknpm0.2.0Available; early 0.x, not a prerelease build
Spring BootJava 17+; Spring Boot 3.xorg.basamento.synapsys:synapsys-spring-boot-starterMaven Central0.2.0Available; early 0.x, not a prerelease build
PythonPython 3.9+basamento-synapsys / import basamento_synapsysPyPI0.2.0Available; classifier is Alpha, version has no prerelease suffix
GoGo 1.22+github.com/basamento/synapsys-go-sdkGit tag, Go proxy, pkg.go.devv0.1.0Available; early v0 module
.NET core.NET 8+Basamento.SynapsysNuGet.orgintended 0.1.0-alpha.1Not published; NuGet.org currently returns no package
.NET hosting.NET 8+Basamento.Synapsys.Extensions.HostingNuGet.orgintended 0.1.0-alpha.1Not published; NuGet.org currently returns no package

There are no other official SDK or starter repositories in the current ecosystem. The raw heartbeat API remains available to any runtime.

Consumer commands​

# Node.js
npm install @synapsys-io/sdk@0.2.0

# Python
python -m pip install basamento-synapsys==0.2.0

# Go
go get github.com/basamento/synapsys-go-sdk@v0.1.0
<!-- Spring Boot / Maven -->
<dependency>
<groupId>org.basamento.synapsys</groupId>
<artifactId>synapsys-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>

The intended .NET commands are shown for identification only. They do not work until the first NuGet.org release:

# UNAVAILABLE until first publication
dotnet add package Basamento.Synapsys --version 0.1.0-alpha.1
dotnet add package Basamento.Synapsys.Extensions.Hosting --version 0.1.0-alpha.1

The .NET example is a real NuGet consumer: its project has a PackageReference and NuGet.Config points only to NuGet.org. It does not clone or reference the SDK source. Consequently, restore is expected to fail until those package IDs are published.

Repositories and examples​

LibrarySourceRunnable consumer example
Node.jsbasamento/synapsys-node-sdkbasamento/synapsys-node-sdk-example
Spring Bootbasamento/synapsys-spring-boot-starterMaven, Gradle
Pythonbasamento/synapsys-python-sdkbasamento/synapsys-python-sdk-example
Gobasamento/synapsys-go-sdkbasamento/synapsys-go-sdk-example
.NETbasamento/synapsys-dotnet-sdkbasamento/synapsys-dotnet-sdk-example

Publication matrix​

Versions are immutable in every registry. A bad published artifact is corrected with a newer semantic version, never by moving a tag or replacing an existing package.

LibraryPublication workflowMaintainer setupTag format
Node.jsTag on main must match package.json; CI tests Node 16 and 22, stages with npm trusted publishing, then a maintainer reviews and approves the stage with 2FA.Own the @synapsys-io npm scope/package; configure GitHub Actions as trusted publisher for basamento/synapsys-node-sdk and allow staged publishing. No stored NPM_TOKEN.vX.Y.Z or SemVer prerelease matching package.json
Spring BootTag must match pom.xml; CI builds, signs, and uploads a Central bundle. A maintainer reviews and publishes the staged deployment.Verified org.basamento namespace; Central user token (CENTRAL_USERNAME, CENTRAL_PASSWORD) and repository GPG key/passphrase secrets. Never publish those values.vX.Y.Z matching the POM
PythonTag, pyproject.toml, and __version__ must agree; CI tests, lints, type-checks, builds, validates, and publishes through PyPI trusted publishing.Own/create basamento-synapsys; configure the PyPI trusted publisher for owner basamento, repository synapsys-python-sdk, workflow release.yml, environment pypi. No long-lived token.vX.Y.Z or valid SemVer-compatible prerelease
GoTag is the distribution. CI validates ancestry/module path, runs formatting, vet, race tests, asks proxy.golang.org to fetch the tag, then creates a GitHub release.Public repository only; no registry account or token. Starting at v2, add /v2 to module and import paths.vX.Y.Z[-prerelease]
.NETTag-derived version builds, tests, packs both packages, obtains a one-use NuGet credential through OIDC, pushes immutable packages, then creates a GitHub release.Still required: NuGet.org owner/organization, both ID claims and desired Basamento prefix reservation, trusted-publishing policy for repository/workflow/environment nuget, and GitHub environment secret NUGET_USER containing the profile name.vX.Y.Z or vX.Y.Z-prerelease; both packages share the version

Release tags belong on the release commit on the default branch. Do not create a tag merely to test publication. Use each repository's RELEASING.md and CI workflow as the operational source of truth.