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
pip install build twine1.2 Build Package
cd /home/claude/HeliosDB/sdks/pythonpython -m build1.3 Test on TestPyPI
twine upload --repository testpypi dist/*1.4 Publish to PyPI
twine upload dist/*1.5 Verify Installation
pip install heliosdbpython -c "import heliosdb; print(heliosdb.__version__)"2. JavaScript/TypeScript SDK - NPM
2.1 Prerequisites
npm install -g npmnpm login2.2 Build Package
cd /home/claude/HeliosDB/sdks/javascriptnpm installnpm run buildnpm pack2.3 Test Locally
npm install ./heliosdb-client-1.0.0.tgz2.4 Publish to NPM
npm publish --access public2.5 Verify Installation
npm install @heliosdb/clientnode -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
cd /home/claude/HeliosDB/sdks/javamvn clean deploy -P release3.4 Verify Installation
<!-- Add to pom.xml --><dependency> <groupId>com.heliosdb</groupId> <artifactId>heliosdb-jdbc</artifactId> <version>1.0.0</version></dependency>mvn dependency:resolve4. Go SDK - GitHub
4.1 Tag Release
cd /home/claude/HeliosDB/sdks/gogit tag v1.0.0git push origin v1.0.04.2 Create GitHub Release
- Go to https://github.com/heliosdb/heliosdb-go/releases
- Click “Draft a new release”
- Select tag v1.0.0
- Add release notes
- Publish release
4.3 Verify Installation
go get github.com/heliosdb/heliosdb-go@v1.0.0go run example.go4.4 Submit to pkg.go.dev
Package will automatically appear on https://pkg.go.dev after tagging
5. .NET SDK - NuGet
5.1 Prerequisites
dotnet tool install --global NuGet.CommandLine5.2 Build Package
cd /home/claude/HeliosDB/sdks/dotnetdotnet pack -c Release5.3 Publish to NuGet
dotnet nuget push bin/Release/HeliosDB.Client.1.0.0.nupkg --api-key YOUR_NUGET_API_KEY --source https://api.nuget.org/v3/index.json5.4 Verify Installation
dotnet add package HeliosDB.Clientdotnet restore6. 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
# Pythonpip install safetysafety check
# JavaScriptnpm audit
# Javamvn dependency-check:check
# Gogo list -m all | nancy sleuth
# .NETdotnet list package --vulnerable9. 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, .NET10. 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