PUBLISHING.md
This document describes how to publish the Daytona SDKs (Python, TypeScript, and Ruby) to their respective package registries.
Before publishing any SDK, ensure you have:
yarn install)# From repository root
export PYPI_TOKEN="your-pypi-token"
export PYPI_PKG_VERSION="X.Y.Z" # pre-release format example: "X.Y.Za1"
yarn nx publish sdk-python
Note: Guide for versioning Python packages.
# From repository root
export NPM_TOKEN="your-npm-token"
export NPM_PKG_VERSION="X.Y.Z" # pre-release format example: "X.Y.Z-alpha.1"
export NPM_TAG="latest" # or "beta", "alpha", etc.
yarn nx publish sdk-typescript
Note: NPM packages must have SemVer-aligned formats.
# From repository root
export RUBYGEMS_API_KEY="your-rubygems-api-key"
export RUBYGEMS_PKG_VERSION="X.Y.Z" # pre-release format example: "X.Y.Z.alpha.1"
yarn nx publish sdk-ruby
Note: Guide for versioning Ruby gems.
The repository includes a GitHub Actions workflow for automated publishing: .github/workflows/sdk_publish.yaml
v0.126.0)latest)Ensure these secrets are configured in GitHub repository settings:
PYPI_TOKEN: PyPI API tokenNPM_TOKEN: npm access tokenRUBYGEMS_API_KEY: RubyGems API keyGITHUBBOT_TOKEN: GitHub token for Homebrew tap updatesyarn publish which uses Nx to publish all SDKs in the correct orderMAJOR.MINOR.PATCH releases follow semantics:
Prerelease formats depend on SDK language:
For Typescript (npm) follow semantic versioning (SemVer): MAJOR.MINOR.PATCH
For pre-releases, use:
0.126.0-alpha.1 - Alpha release0.126.0-beta.1 - Beta release0.126.0-rc.1 - Release candidateFor Python (PyPI) follow Python packages versioning guide:
For pre-releases, use:
1.2.0a1 - Alpha release1.2.0b1 - Beta release1.2.0rc1 - Release candidateFor Ruby (gem) follow Ruby gems versioning guide:
For pre-releases, use:
0.126.0.alpha.1 - Alpha release0.126.0.beta.1 - Beta release0.126.0.rc.1 - Release candidatepip index versions daytona
# or
curl -s https://pypi.org/pypi/daytona/json | jq -r .info.version
npm view @daytona/sdk version
# or
npm info @daytona/sdk
gem search daytona --remote --exact
# or
gem info daytona --remote