Python Release

May 6, 2026 ยท View on GitHub

This document covers the manual release flow for the datalevin Python wheel.

Scope

This script builds and uploads the current-host wheel. It is useful for manual releases and local dry runs. The normal multi-platform Linux/macOS/Windows release still lives in the GitHub Actions workflows under .github/workflows/release.python*.yml.

Prerequisites

  • Python 3.10+
  • Clojure CLI
  • A Python environment with pip
  • A PyPI token or TestPyPI token

Typical credentials:

export TWINE_USERNAME=__token__
export TWINE_PASSWORD=...

If you need to override the wheel target tag, set:

export DATALEVIN_NATIVE_PLATFORM=linux-x86_64

Supported values are linux-x86_64, linux-arm64, macosx-arm64, and windows-x86_64.

Dry Run

Build the current-host wheel and run the smoke test:

./script/deploy-python --dry-run

Skip the smoke test if you only want the wheel build:

./script/deploy-python --dry-run --skip-smoke

Publish

Upload to PyPI:

./script/deploy-python

Upload to TestPyPI:

./script/deploy-python --testpypi