Skip to main content

piarun

piarun compiles a supported Rust subset into base64-encoded, certified PRN IR. The piarun Python distribution contains one native C executable named piarun; Python is used for package installation, not command execution. No runtime package dependencies, compiler installation, credentials, or network access are required by the installed binary.

Install and run

After publication:

uvx piarun version
uvx piarun help
uvx piarun advertise
uvx piarun rs2ir --source 'fn main() { println!("hello"); }'
uvx --from piarun piarun rs2ir --input main.rs
uv tool install piarun
piarun version

Before publication, build and run the local wheel:

uv build
uvx --from ./dist/piarun-0.0.2-py3-none-macosx_11_0_arm64.whl piarun version

Use the wheel filename produced on your platform. uvx --from . piarun version also builds directly from the checkout. piarun is the package name and the only executable name.

For source edits without a version bump, use uvx --no-cache --from . piarun ... to bypass a previously cached tool environment.

Compiler contract

piarun rs2ir --input main.rs
printf 'fn main() { println!("hello"); }' | piarun rs2ir --input -
piarun rs2ir --source 'fn main() { println!("hello"); }' | base64 --decode

Successful rs2ir output is always a single line of base64, whether displayed in a terminal, piped, captured, or invoked with --json. Pipe it directly into base64 --decode; no JSON envelope or field extraction is needed. Metadata commands and ordinary errors retain their structured JSON output when piped or passed --json.

The code is RFC 4648 standard padded base64 of compact UTF-8 Program JSON, including its PUOPS certificate. The decoded JSON has no insignificant whitespace and no terminal newline; string contents retain their whitespace. An unsupported construct or failed certification is an error, never an uncertified success. Rust input is bounded to 4 MiB and JSON to 32 MiB. See CLI-CONTRACT.md for fields and exit codes.

Build

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallel 4
ctest --test-dir build --output-on-failure
./build/piarun version
uv build

The executable is C11 throughout, including the compiler submodule. CMake and declarative pyproject.toml metadata build platform wheels with scikit-build-core. Python files are verification and release tooling only; there are no Python modules, launchers, or Python shared-library dependencies in the wheel. Wheels use py3-none-PLATFORM tags and support installers using Python 3.9+. Source builds require Git, CMake 3.20+, and a C11 compiler; wheels do not.

Builds default to distribution: local. Release workflows set pypi; other distributors can set -DPRN_DISTRIBUTION=github or another label. version also includes the UTC build date, source revision, frontend revision, and platform. SOURCE_DATE_EPOCH controls reproducible build dates. Distribution describes artifact provenance, not the installer's download location: a release wheel copied from PyPI and installed locally remains the same artifact. Missing Git history is honestly reported as uncommitted; release jobs supply the exact commit explicitly.

Platforms and release

The wheel matrix targets macOS 11+ on Apple Silicon and Intel, Linux glibc 2.17+ and musl 1.2+ on x86-64/AArch64, and Windows 10 version 1903+ on AMD64 and Windows 11 on ARM64. RELEASE.md explains native build/test jobs, provenance, and trusted publishing. See VALIDATION.md for what has actually been run locally; a configured target is not evidence of a successful execution test.

Scope

Capability Owner
Rust subset parsing and certification Submodule, pinned prn-v2-rs2ir-c; see vendor/README.md
IR schema authority prn-v2-schema Rust/Serde definitions
Execution, persistence, generated code prn-v2-interpret-*, prn-v2-ir2code-*, and prn-v2-prnc-*
Full Rust compilation and type checking rustc
Gateway hosting prn-v2-prngwd

piarun does not execute submitted source, add dependencies, mutate the source file, or contact a service. A temporary IR stream is closed on success and reclaimed on process exit. The source repository is private. Publication remains a deliberate maintainer action.

Clone the private source

git clone --recurse-submodules git@github.com:piarun/prn-v2-uvx-piarun.git
cd prn-v2-uvx-piarun
python3 tools/gate.py

An existing checkout needs git submodule update --init --recursive. Source archives include the pinned compiler sources and build without GitHub access.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

piarun-0.0.2.tar.gz (74.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

piarun-0.0.2-py3-none-win_arm64.whl (138.2 kB view details)

Uploaded Python 3Windows ARM64

piarun-0.0.2-py3-none-win_amd64.whl (154.3 kB view details)

Uploaded Python 3Windows x86-64

piarun-0.0.2-py3-none-musllinux_1_2_x86_64.whl (76.6 kB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

piarun-0.0.2-py3-none-musllinux_1_2_aarch64.whl (77.0 kB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

piarun-0.0.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (68.5 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

piarun-0.0.2-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (71.4 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

piarun-0.0.2-py3-none-macosx_11_0_x86_64.whl (68.0 kB view details)

Uploaded Python 3macOS 11.0+ x86-64

piarun-0.0.2-py3-none-macosx_11_0_arm64.whl (67.6 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file piarun-0.0.2.tar.gz.

File metadata

  • Download URL: piarun-0.0.2.tar.gz
  • Upload date:
  • Size: 74.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for piarun-0.0.2.tar.gz
Algorithm Hash digest
SHA256 f22051348ce2beda1f3102fca1b017781fc77a8aac738d4f330b431f7e3208ac
MD5 59217aa0f96de862b39ac9424cad0533
BLAKE2b-256 24b676daa4b2e7cdcec3cb6a733e9db047800830674dd1db9243d44f2dac637b

See more details on using hashes here.

Provenance

The following attestation bundles were made for piarun-0.0.2.tar.gz:

Publisher: pypi-registry.yml on piarun/prn-v2-uvx-piarun

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file piarun-0.0.2-py3-none-win_arm64.whl.

File metadata

  • Download URL: piarun-0.0.2-py3-none-win_arm64.whl
  • Upload date:
  • Size: 138.2 kB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for piarun-0.0.2-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 5b64b2fc0251f67e8b88de9dd313cc3c4885c95b44f5f4f02052731d7f8f7627
MD5 cb887161b2f1ad87b9dcd3e3ff9bbfeb
BLAKE2b-256 6c839203b910de8d4bde2bbfef7f5d0a9708da4de49e2db0f6d71249940d8af0

See more details on using hashes here.

Provenance

The following attestation bundles were made for piarun-0.0.2-py3-none-win_arm64.whl:

Publisher: pypi-registry.yml on piarun/prn-v2-uvx-piarun

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file piarun-0.0.2-py3-none-win_amd64.whl.

File metadata

  • Download URL: piarun-0.0.2-py3-none-win_amd64.whl
  • Upload date:
  • Size: 154.3 kB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for piarun-0.0.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 e430489babaa88a574ef874e268f96f3b3f0effa3cbc6e2a225547f66bb9cbf8
MD5 886b57ab30f0583097ff28e0b197e785
BLAKE2b-256 be8fd3a1a036d9ada0cd2802fc9d5f6827b8ae1fcc49f30facc8ee5d8f85e0a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for piarun-0.0.2-py3-none-win_amd64.whl:

Publisher: pypi-registry.yml on piarun/prn-v2-uvx-piarun

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file piarun-0.0.2-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for piarun-0.0.2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a9eb74842e334f1dd1d6c83076cafccec63b7f810b7af093999dd3f281ac3b93
MD5 9811ac12ab837cd72ac195f904fd1430
BLAKE2b-256 282be775f4703ff62b1bb8b25b35bb4367cf6fa9bb915636890bb3821f86c099

See more details on using hashes here.

Provenance

The following attestation bundles were made for piarun-0.0.2-py3-none-musllinux_1_2_x86_64.whl:

Publisher: pypi-registry.yml on piarun/prn-v2-uvx-piarun

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file piarun-0.0.2-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for piarun-0.0.2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d50fd2958f4d6bec10d4b2aad7f55af49dc7aae5f6fce10de85112cf56bf58db
MD5 647a564a7cb9b52b25c639ca0e630c6e
BLAKE2b-256 370ef7a638642e457bee8383b06f7cd01bc92951e570a3b8efa99b1acf366fea

See more details on using hashes here.

Provenance

The following attestation bundles were made for piarun-0.0.2-py3-none-musllinux_1_2_aarch64.whl:

Publisher: pypi-registry.yml on piarun/prn-v2-uvx-piarun

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file piarun-0.0.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for piarun-0.0.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 3c049a8e70f0a865917fadbb7747ad26fc0a62d72c3a6ed1cdd55cbb02f2cc5b
MD5 cb4f5a1ed223bcd422ea6b60b1a62f27
BLAKE2b-256 de5729d5e5dab50ada4a18faaa6d619ad5b8a62d12e9ac61d61b271dd88e98ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for piarun-0.0.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: pypi-registry.yml on piarun/prn-v2-uvx-piarun

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file piarun-0.0.2-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for piarun-0.0.2-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 acaef7cb0dd9474d76f7a068adf775f2f1997dcdd8e9452503d4872e374c458a
MD5 3b159236883bb179085f4dd03377b0c7
BLAKE2b-256 664eee1909d31018facfa50c899a6898e42d8c0f3d2abaaf52ecd5c9b6d07f2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for piarun-0.0.2-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl:

Publisher: pypi-registry.yml on piarun/prn-v2-uvx-piarun

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file piarun-0.0.2-py3-none-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for piarun-0.0.2-py3-none-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 ccdeb69ff20bbd85f0ea06afe446ccf91347f7d3cd41527961a6a1414bdcc9b6
MD5 c17dd28b3ce32be405ef5d2caa64ec7a
BLAKE2b-256 ee943638e6d968460be4a0b40336acfacdadf83e66aed01c65cecff598e5a742

See more details on using hashes here.

Provenance

The following attestation bundles were made for piarun-0.0.2-py3-none-macosx_11_0_x86_64.whl:

Publisher: pypi-registry.yml on piarun/prn-v2-uvx-piarun

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file piarun-0.0.2-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for piarun-0.0.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d0a542f0f4cbd89a1acce1698fe88ade219d05e8154137576f8047256c49bdfe
MD5 d9469d5b8fc611e8a3cc71863dcd831d
BLAKE2b-256 92927d581d976c5713128d5dc2a2802e9215936e77a3e61e829fdae66293e661

See more details on using hashes here.

Provenance

The following attestation bundles were made for piarun-0.0.2-py3-none-macosx_11_0_arm64.whl:

Publisher: pypi-registry.yml on piarun/prn-v2-uvx-piarun

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.0.2 This release

9 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page