Skip to main content
Publish only from a clean commit after every SDK test passes. Use one version number across all four SDKs when they describe the same API release.

Node.js and CLI

The Node.js SDK and CLI are one npm package: @pxxlapp/pxxl.
Your npm account must be allowed to publish under @pxxlapp. npm requires 2FA or an eligible publishing token for direct publishing. For automated releases, use npm trusted publishing so provenance is generated without a long-lived token.

Go

Go modules are released with a Git tag. This module lives below the repository root, so its tag must include the directory.
Do not move or replace a published tag. Release a new version if a fix is needed.

Python

Update version in sdks/python/pxxl/pyproject.toml, then build and inspect both distributions.
Use python3 -m twine upload --repository testpypi dist/* for a test release. Your PyPI account or trusted publisher must own the pxxl project name.

Rust

Update version in sdks/rust/pxxl/Cargo.toml, then package and publish the crate.
Run cargo login once for local publishing, or configure a crates.io trusted publishing workflow. Your crates.io account must own the pxxl crate name.

Release checklist

  • Update changelog and package versions.
  • Run all four test suites.
  • Inspect the npm, Python, and Rust package contents.
  • Commit with a message such as feat: expand SDK platform coverage.
  • Publish and install each released version in a clean sample project.
Read the official guides for npm scoped packages, Go modules, Python packages, and Cargo publishing.