To install Python support in Rune, run this command in the Rune console:
pkg install python
This package ships uv, uvx, ruff, ty, the Python extension, and the
tree-sitter grammar. It does not bundle CPython: uv installs a managed
interpreter on first use. The release instructions below are for Rune
maintainers.
-
Prepare the build host. Build macOS (
darwin) artifacts on macOS and Linux artifacts on Linux; the Makefile supports cross-building the other architecture on the same OS. Install Go, a C compiler,wget,bluectl, and tar (GNUgtaron macOS). Linux cross-architecture builds need the target GNU compiler (aarch64-linux-gnu-gccorx86_64-linux-gnu-gcc). macOS releases need the configured Developer ID signing identity and a notarytool profile (make notary-credentialsto set it up). -
Prepare the release. Fetch tags and submodules (
git fetch --tags && git submodule update --init --recursive), then check out the intended release tag. Authenticatebluectlvia gcloud Application Default Credentials and setBLUE_PGP_KEYandBLUE_PGP_KEYRING(seebluectl release upload -h). -
Build and check each artifact before publishing on its target OS, substituting
arm64oramd64:make clean make notarize python.tar.gz TARGET_ARCH=arm64 make test TARGET_ARCH=arm64make testchecks that no.gosource files leak into the tarball and that the debugpy version pins agree. -
Publish using the matching environment, OS, and architecture target:
make dist-staging-darwin-arm64 # on macOS make dist-prod-darwin-amd64 # on macOS make dist-staging-linux-arm64 # on Linux make dist-prod-linux-amd64 # on Linux
All
staging/prod×darwin/linux×arm64/amd64combinations follow this pattern. Each target cleans, rebuilds, signs/notarizes on macOS, and uploadspython.tar.gzviadist.sh; it does not runmake test. The target selects the pinned project and platform bucket fromdeploy/bluectl/; do not rundist.shdirectly.