Skip to content

HeliosDB SDK Publishing Guide

HeliosDB SDK Publishing Guide

Package Registry Publishing for All SDKs

Version: 1.0.0 Date: November 24, 2025 Status: Production


Overview

This guide provides step-by-step instructions for publishing HeliosDB SDKs to official package registries.


1. Python SDK - PyPI

1.1 Prerequisites

Terminal window
pip install build twine

1.2 Build Package

Terminal window
cd /home/claude/HeliosDB/sdks/python
python -m build

1.3 Test on TestPyPI

Terminal window
twine upload --repository testpypi dist/*

1.4 Publish to PyPI

Terminal window
twine upload dist/*

1.5 Verify Installation

Terminal window
pip install heliosdb
python -c "import heliosdb; print(heliosdb.__version__)"

2. JavaScript/TypeScript SDK - NPM

2.1 Prerequisites

Terminal window
npm install -g npm
npm login

2.2 Build Package

Terminal window
cd /home/claude/HeliosDB/sdks/javascript
npm install
npm run build
npm pack

2.3 Test Locally

Terminal window
npm install ./heliosdb-client-1.0.0.tgz

2.4 Publish to NPM

Terminal window
npm publish --access public

2.5 Verify Installation

Terminal window
npm install @heliosdb/client
node -e "const { HeliosDBClient } = require('@heliosdb/client'); console.log('OK')"

3. Java SDK - Maven Central

3.1 Prerequisites

  • GPG key for signing
  • Sonatype OSSRH account
  • Maven settings.xml configured

3.2 Configure ~/.m2/settings.xml

<settings>
<servers>
<server>
<id>ossrh</id>
<username>YOUR_SONATYPE_USERNAME</username>
<password>YOUR_SONATYPE_PASSWORD</password>
</server>
</servers>
<profiles>
<profile>
<id>ossrh</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<gpg.executable>gpg</gpg.executable>
<gpg.passphrase>YOUR_GPG_PASSPHRASE</gpg.passphrase>
</properties>
</profile>
</profiles>
</settings>

3.3 Build and Deploy

Terminal window
cd /home/claude/HeliosDB/sdks/java
mvn clean deploy -P release

3.4 Verify Installation

<!-- Add to pom.xml -->
<dependency>
<groupId>com.heliosdb</groupId>
<artifactId>heliosdb-jdbc</artifactId>
<version>1.0.0</version>
</dependency>
Terminal window
mvn dependency:resolve

4. Go SDK - GitHub

4.1 Tag Release

Terminal window
cd /home/claude/HeliosDB/sdks/go
git tag v1.0.0
git push origin v1.0.0

4.2 Create GitHub Release

  1. Go to https://github.com/heliosdb/heliosdb-go/releases
  2. Click “Draft a new release”
  3. Select tag v1.0.0
  4. Add release notes
  5. Publish release

4.3 Verify Installation

Terminal window
go get github.com/heliosdb/heliosdb-go@v1.0.0
go run example.go

4.4 Submit to pkg.go.dev

Package will automatically appear on https://pkg.go.dev after tagging


5. .NET SDK - NuGet

5.1 Prerequisites

Terminal window
dotnet tool install --global NuGet.CommandLine

5.2 Build Package

Terminal window
cd /home/claude/HeliosDB/sdks/dotnet
dotnet pack -c Release

5.3 Publish to NuGet

Terminal window
dotnet nuget push bin/Release/HeliosDB.Client.1.0.0.nupkg --api-key YOUR_NUGET_API_KEY --source https://api.nuget.org/v3/index.json

5.4 Verify Installation

Terminal window
dotnet add package HeliosDB.Client
dotnet restore

6. Release Checklist

Pre-Release

  • All tests passing
  • Documentation updated
  • CHANGELOG.md updated
  • Version numbers bumped
  • LICENSE file present
  • README.md complete
  • Examples tested

Release

  • Package built successfully
  • Package tested locally
  • Published to registry
  • Installation verified
  • Git tag created
  • GitHub release created
  • Documentation site updated

Post-Release

  • Announcement blog post
  • Social media announcement
  • Community notification
  • Partner communication
  • Metrics tracking enabled

7. Version Numbering

Follow Semantic Versioning (semver.org):

  • Major version (1.0.0 → 2.0.0): Breaking changes
  • Minor version (1.0.0 → 1.1.0): New features, backward compatible
  • Patch version (1.0.0 → 1.0.1): Bug fixes, backward compatible

8. Security

Package Signing

  • Python: Use Twine with GPG signing
  • JavaScript: Use npm provenance
  • Java: Use GPG signing (required for Maven Central)
  • Go: Use go.sum for integrity verification
  • .NET: Use NuGet package signing

Security Scanning

Terminal window
# Python
pip install safety
safety check
# JavaScript
npm audit
# Java
mvn dependency-check:check
# Go
go list -m all | nancy sleuth
# .NET
dotnet list package --vulnerable

9. CI/CD Integration

GitHub Actions Workflow

name: Publish SDKs
on:
release:
types: [published]
jobs:
publish-python:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- run: pip install build twine
- run: python -m build
- run: twine upload dist/*
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
publish-npm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- run: npm install
- run: npm run build
- run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
# Similar jobs for Java, Go, .NET

10. Support & Troubleshooting

Common Issues

Python: ImportError

  • Solution: Check package name and version

JavaScript: Module not found

  • Solution: Clear node_modules and reinstall

Java: Dependency resolution failed

  • Solution: Update Maven index, check repository URLs

Go: Cannot find module

  • Solution: Run go mod tidy, verify tag exists

.NET: Package restore failed

  • Solution: Clear NuGet cache, verify package source

Document Version: 1.0.0 Last Updated: November 24, 2025 Contact: support@heliosdb.com