What's New in v0.10.0
Added
- Native PyPI package - The
pyozpip package is now a native Python extension module built with PyOZ itself (dogfooding). Instead of embedding a CLI binary and forwarding via subprocess, the package exposesinit(),build(),develop(),publish(), andversion()as directly callable Python functions. This enables programmatic usage in customsetup.pyscripts, CI pipelines, and build automation. - ABI3 (Stable ABI) wheels - The
pyozpip package now builds with Python's Stable ABI (abi3), targeting Python 3.8+. A singlecp38-abi3-{platform}wheel works across all Python versions (3.8, 3.9, 3.10, ..., 3.13+), reducing the number of wheels from one-per-Python-version-per-platform to one-per-platform. Cross-compilation from a single CI runner (ubuntu) is supported since abi3 headers are platform-agnostic.
Fixed
pyoz initnow patches dependency hash - When creating a project with a remote PyOZ URL dependency,pyoz initnow automatically patches the.hashfield inbuild.zig.zonby runningzig builda second time after fingerprint patching. Previously, users had to manually fix the missing hash error on first build.raise*functions no longer requireinline- Allraise*functions (raiseRuntimeError,raiseValueError, etc.) are now declaredinline. Previously, calling them from a non-inline function caused a compilation error (call to function with comptime-only return type '@TypeOf(null)' is evaluated at comptime) because theNullreturn type is comptime-only. Users had to manually addinlineto their own wrapper functions as a workaround.
Installation
Download the binary for your platform and add it to your PATH:
| Platform | Binary |
|---|---|
| Linux x86_64 | pyoz-x86_64-linux
|
| Linux ARM64 | pyoz-aarch64-linux
|
| macOS x86_64 | pyoz-x86_64-macos
|
| macOS ARM64 (Apple Silicon) | pyoz-aarch64-macos
|
| Windows x86_64 | pyoz-x86_64-windows.exe
|
| Windows ARM64 | pyoz-aarch64-windows.exe
|
Source
Download PyOZ-0.10.0.tar.gz for the source code.
Quick Start
pyoz init mymodule
cd mymodule
pyoz build
pip install dist/*.whl