HeliosDB Nano SQLite Compatibility Layer - Distribution Guide
HeliosDB Nano SQLite Compatibility Layer - Distribution Guide
Package: heliosdb-sqlite
Version: 3.0.0
Platform: PyPI
Last Updated: 2025-12-08
Table of Contents
- Installation Methods
- Version Compatibility Matrix
- Platform Support
- Troubleshooting Installation
- Building from Source
- Contributing Guidelines
- Release Process
1. Installation Methods
1.1 Standard Installation (Recommended)
Install the latest stable version from PyPI:
pip install heliosdb-sqliteVerify installation:
python -c "import heliosdb_sqlite; print(heliosdb_sqlite.__version__)"# Output: 3.0.01.2 Install with Optional Dependencies
Vector operations support (numpy, scipy):
pip install heliosdb-sqlite[vector]Pandas DataFrame integration:
pip install heliosdb-sqlite[pandas]Async operations support:
pip install heliosdb-sqlite[async]All optional features:
pip install heliosdb-sqlite[all]1.3 Install Specific Version
# Install specific versionpip install heliosdb-sqlite==3.0.0
# Install with version constraintspip install "heliosdb-sqlite>=3.0.0,<4.0.0"
# Install pre-release versionspip install --pre heliosdb-sqlite1.4 Install from Test PyPI
For testing pre-release versions:
pip install --index-url https://test.pypi.org/simple/ heliosdb-sqlite1.5 Install from Source Repository
# Install latest development versionpip install git+https://github.com/dimensigon/HDB-HeliosDB-Nano.git#subdirectory=sdks/python-sqlite
# Install specific branchpip install git+https://github.com/dimensigon/HDB-HeliosDB-Nano.git@main#subdirectory=sdks/python-sqlite
# Install specific tagpip install git+https://github.com/dimensigon/HDB-HeliosDB-Nano.git@v3.0.0#subdirectory=sdks/python-sqlite1.6 Upgrade Existing Installation
# Upgrade to latest versionpip install --upgrade heliosdb-sqlite
# Force reinstall (useful for troubleshooting)pip install --force-reinstall heliosdb-sqlite1.7 Conda Installation (Future)
Planned for v3.1.0:
# Install from conda-forgeconda install -c conda-forge heliosdb-sqlite
# Create new environmentconda create -n myapp python=3.11 heliosdb-sqliteconda activate myapp2. Version Compatibility Matrix
2.1 Python Version Compatibility
| heliosdb-sqlite Version | Python 3.8 | Python 3.9 | Python 3.10 | Python 3.11 | Python 3.12 | Python 3.13 |
|---|---|---|---|---|---|---|
| 3.0.0 (Current) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 3.0.1 (Planned) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 3.1.0 (Future) | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
Legend:
- ✅ Fully supported with binary wheels
- ⚠️ Supported but requires building from source
- ❌ Not supported
2.2 Operating System Compatibility
| OS | Architecture | Wheel Type | Status | Notes |
|---|---|---|---|---|
| Linux | x86_64 | manylinux2014 | ✅ | CentOS 7+ compatible |
| Linux | aarch64 | manylinux2014 | ✅ | ARM64 support |
| Linux | x86 | Source only | ⚠️ | Requires manual build |
| macOS | x86_64 | macosx_10_12 | ✅ | Intel Macs, 10.12+ |
| macOS | arm64 | macosx_11_0 | ✅ | Apple Silicon, 11.0+ |
| Windows | x86_64 | win_amd64 | ✅ | 64-bit Windows 10+ |
| Windows | x86 | Source only | ⚠️ | Requires manual build |
| FreeBSD | Any | Source only | ⚠️ | Community support |
2.3 HeliosDB Nano Version Mapping
| heliosdb-sqlite | HeliosDB Nano | SQLite API | Key Features |
|---|---|---|---|
| 3.0.0 | 3.0.0 | 3.43.0 | Initial GA release |
| 3.0.1 | 3.0.1 | 3.43.0 | Bug fixes, stability improvements |
| 3.1.0 | 3.1.0 | 3.44.0 | New SQLite features, conda support |
| 3.2.0 | 3.2.0 | 3.45.0 | Performance optimizations |
3. Platform Support
3.1 Linux
Supported Distributions:
- Ubuntu 18.04+ (LTS)
- Debian 10+ (Buster)
- CentOS 7+ / RHEL 7+
- Fedora 32+
- Arch Linux (rolling)
- Alpine Linux (via source build)
Minimum Requirements:
- glibc 2.17+ (manylinux2014 compatibility)
- 64-bit architecture (x86_64 or aarch64)
Installation:
# Standard installationpip install heliosdb-sqlite
# Verify platformpython -c "import platform; print(platform.platform())"3.2 macOS
Supported Versions:
- macOS 10.12 (Sierra) or later for Intel
- macOS 11.0 (Big Sur) or later for Apple Silicon
Installation:
# Standard installation (works for both Intel and Apple Silicon)pip install heliosdb-sqlite
# Verify architecturepython -c "import platform; print(platform.machine())"# Output: x86_64 (Intel) or arm64 (Apple Silicon)Rosetta 2 Note: Apple Silicon Macs can run x86_64 wheels via Rosetta 2, but native arm64 wheels provide better performance.
3.3 Windows
Supported Versions:
- Windows 10 (64-bit)
- Windows 11 (64-bit)
- Windows Server 2016+
Installation:
# Standard installationpip install heliosdb-sqlite
# Verify installationpython -c "import heliosdb_sqlite; print(heliosdb_sqlite.__version__)"Windows-Specific Notes:
- Requires Microsoft Visual C++ 14.0 or greater (usually pre-installed)
- Binary is included as
.exein wheel - Antivirus software may need to whitelist
heliosdb-nano.exe
4. Troubleshooting Installation
4.1 Common Issues
Issue: “No matching distribution found”
Symptom:
ERROR: Could not find a version that satisfies the requirement heliosdb-sqliteERROR: No matching distribution found for heliosdb-sqliteSolutions:
- Upgrade pip:
pip install --upgrade pip - Check Python version:
python --version(must be 3.8+) - Check platform:
python -c "import platform; print(platform.platform())" - Try installing from source (see section 5)
Issue: “Binary not found” or “Permission denied”
Symptom:
FileNotFoundError: HeliosDB Nano binary not found at /path/to/binaryPermissionError: [Errno 13] Permission denied: '/path/to/binary'Solutions:
# 1. Reinstall with forcepip install --force-reinstall --no-cache-dir heliosdb-sqlite
# 2. Check binary permissions (Unix/macOS)python -c "import heliosdb_sqlite; print(heliosdb_sqlite.get_binary_path())"# Then manually set executable:chmod +x /path/to/binary
# 3. Check antivirus (Windows)# Add exception for heliosdb-nano.exe in Windows Defender or antivirus softwareIssue: “Platform not supported”
Symptom:
ERROR: heliosdb-sqlite is not available for this platformSolutions:
- Check platform compatibility in section 2.2
- Build from source (see section 5)
- Use Docker container (see section 4.3)
Issue: “Import error after installation”
Symptom:
ImportError: cannot import name 'connect' from 'heliosdb_sqlite'ModuleNotFoundError: No module named 'heliosdb_sqlite'Solutions:
# 1. Verify installationpip list | grep heliosdb-sqlite
# 2. Check Python pathpython -c "import sys; print('\n'.join(sys.path))"
# 3. Reinstall in correct environmentpip uninstall heliosdb-sqlitepip install heliosdb-sqlite
# 4. Check for name conflictspython -c "import heliosdb_sqlite; print(heliosdb_sqlite.__file__)"4.2 Diagnostic Commands
Run comprehensive diagnostics:
# Check installationpython -m heliosdb_sqlite.cli check
# Output example:# ✓ heliosdb-sqlite version: 3.0.0# ✓ Python version: 3.11.5# ✓ Platform: Linux-5.15.0-x86_64# ✓ Binary found: /home/user/.heliosdb/bin/heliosdb-nano-linux-x86_64# ✓ Binary executable: Yes# ✓ Binary version: 3.0.0# ✓ All checks passed!Manual verification:
import heliosdb_sqlite
# Check versionprint(f"Version: {heliosdb_sqlite.__version__}")
# Check binary pathbinary_path = heliosdb_sqlite.get_binary_path()print(f"Binary: {binary_path}")print(f"Binary exists: {binary_path.exists()}")
# Test connectionconn = heliosdb_sqlite.connect(":memory:")cursor = conn.cursor()cursor.execute("SELECT 'Hello, HeliosDB!'")print(cursor.fetchone())conn.close()4.3 Docker Workaround
If installation fails on your platform, use Docker:
# DockerfileFROM python:3.11-slim
RUN pip install --no-cache-dir heliosdb-sqlite[all]
WORKDIR /appCOPY . /app
CMD ["python", "app.py"]# Build and rundocker build -t myapp .docker run -v $(pwd):/app myapp5. Building from Source
5.1 Prerequisites
Required:
- Python 3.8 or later
- Rust toolchain 1.75 or later
- C compiler (gcc, clang, or MSVC)
- Git
Platform-Specific:
Linux:
# Debian/Ubuntusudo apt-get updatesudo apt-get install build-essential git curl
# Fedora/RHELsudo dnf install gcc git curl
# Install Rustcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shsource $HOME/.cargo/envmacOS:
# Install Xcode Command Line Toolsxcode-select --install
# Install Rustcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shsource $HOME/.cargo/envWindows:
# Install Visual Studio Build Tools# Download from: https://visualstudio.microsoft.com/downloads/
# Install Rust# Download from: https://rustup.rs/# Or use: winget install Rustlang.Rustup5.2 Build Steps
Clone repository:
git clone https://github.com/dimensigon/HDB-HeliosDB-Nano.gitcd heliosdb-nano/sdks/python-sqliteBuild in development mode:
# Install in editable mode (recommended for development)pip install -e .
# Or with optional dependenciespip install -e ".[dev,all]"Build wheel:
# Install build toolspip install build wheel
# Build wheelpython -m build
# Install built wheelpip install dist/heliosdb_sqlite-3.0.0-*.whlBuild with specific Rust target:
# Cross-compile for different architectureexport CARGO_BUILD_TARGET=aarch64-unknown-linux-gnurustup target add aarch64-unknown-linux-gnupython -m build5.3 Run Tests
# Install development dependenciespip install -e ".[dev]"
# Run testspytest tests/ -v
# Run with coveragepytest tests/ --cov=heliosdb_sqlite --cov-report=html
# Run specific testpytest tests/test_connection.py -v6. Contributing Guidelines
6.1 Development Setup
# Fork and clone repositorygit clone https://github.com/YOUR_USERNAME/heliosdb-nano.gitcd heliosdb-nano/sdks/python-sqlite
# Create virtual environmentpython -m venv venvsource venv/bin/activate # On Windows: venv\Scripts\activate
# Install in development mode with all dependenciespip install -e ".[dev,all]"
# Install pre-commit hookspip install pre-commitpre-commit install6.2 Code Quality Standards
Before submitting pull request:
# Format codeblack heliosdb_sqlite/ tests/isort heliosdb_sqlite/ tests/
# Lint coderuff check heliosdb_sqlite/ tests/
# Type checkingmypy heliosdb_sqlite/
# Run testspytest tests/ --cov=heliosdb_sqlite6.3 Submitting Changes
- Create feature branch:
git checkout -b feature/my-feature - Make changes and add tests
- Ensure all tests pass
- Commit with descriptive message
- Push to your fork
- Create pull request on GitHub
Pull Request Template:
## DescriptionBrief description of changes
## Type of Change- [ ] Bug fix- [ ] New feature- [ ] Breaking change- [ ] Documentation update
## Testing- [ ] All tests pass- [ ] New tests added- [ ] Manual testing completed
## Checklist- [ ] Code follows style guidelines- [ ] Documentation updated- [ ] CHANGELOG.md updated7. Release Process
7.1 Version Numbering
Semantic Versioning: MAJOR.MINOR.PATCH
- MAJOR: Breaking API changes
- MINOR: New features, backward compatible
- PATCH: Bug fixes, no API changes
Pre-release Suffixes:
-alpha: Early development-beta: Feature complete, testing-rc1,-rc2: Release candidates
7.2 Release Checklist
For Maintainers:
-
Prepare Release:
Terminal window # Update versionpython scripts/bump_version.py minor # or major/patch# Update CHANGELOG.md# Add release notes# Commit changesgit add -Agit commit -m "chore: Bump version to 3.1.0" -
Create Tag:
Terminal window git tag -a v3.1.0 -m "Release v3.1.0"git push origin v3.1.0 -
Build and Test:
Terminal window # Build wheelspython -m build# Test installationpip install dist/heliosdb_sqlite-3.1.0-*.whlpython -m heliosdb_sqlite.cli check -
Upload to Test PyPI:
Terminal window python -m twine upload --repository testpypi dist/*# Test installation from Test PyPIpip install --index-url https://test.pypi.org/simple/ heliosdb-sqlite==3.1.0 -
Upload to PyPI:
Terminal window python -m twine upload dist/* -
Create GitHub Release:
- Go to GitHub Releases
- Create new release from tag
- Add release notes
- Attach wheel files
-
Announce Release:
- Update documentation
- Post on Discord/Twitter
- Update project homepage
7.3 Automated Release (CI/CD)
Release workflow triggers automatically on tag push:
# Push tag triggers GitHub Actionsgit tag v3.1.0git push origin v3.1.0
# CI will:# 1. Run tests# 2. Build wheels for all platforms# 3. Publish to PyPI# 4. Create GitHub releaseAppendix: Quick Reference
Installation Commands
# Standard installationpip install heliosdb-sqlite
# With optional dependenciespip install heliosdb-sqlite[vector] # Vector operationspip install heliosdb-sqlite[pandas] # Pandas integrationpip install heliosdb-sqlite[all] # All features
# Development installationpip install -e ".[dev]"
# Upgradepip install --upgrade heliosdb-sqlite
# Specific versionpip install heliosdb-sqlite==3.0.0Verification Commands
# Check versionpython -c "import heliosdb_sqlite; print(heliosdb_sqlite.__version__)"
# Run diagnosticspython -m heliosdb_sqlite.cli check
# Test connectionpython -c "import heliosdb_sqlite; conn = heliosdb_sqlite.connect(':memory:'); print('OK')"Support Resources
- Documentation: https://docs.heliosdb.io/sqlite-compat
- GitHub Issues: https://github.com/dimensigon/HDB-HeliosDB-Nano/issues
- Discord: https://discord.gg/heliosdb
- Email: support@heliosdb.io
Document Version: 1.0 Last Updated: 2025-12-08 Maintainer: HeliosDB Team