github pyozig/PyOZ v0.10.0
PyOZ v0.10.0

latest releases: v0.12.2, v0.12.1, v0.12.0...
5 months ago

What's New in v0.10.0

Added

  • Native PyPI package - The pyoz pip 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 exposes init(), build(), develop(), publish(), and version() as directly callable Python functions. This enables programmatic usage in custom setup.py scripts, CI pipelines, and build automation.
  • ABI3 (Stable ABI) wheels - The pyoz pip package now builds with Python's Stable ABI (abi3), targeting Python 3.8+. A single cp38-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 init now patches dependency hash - When creating a project with a remote PyOZ URL dependency, pyoz init now automatically patches the .hash field in build.zig.zon by running zig build a second time after fingerprint patching. Previously, users had to manually fix the missing hash error on first build.
  • raise* functions no longer require inline - All raise* functions (raiseRuntimeError, raiseValueError, etc.) are now declared inline. 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 the Null return type is comptime-only. Users had to manually add inline to 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

Don't miss a new PyOZ release

NewReleases is sending notifications on new releases.