PyOZ v0.11.5
What's New in v0.11.5
Fixed
- Stub generation
@setEvalBranchQuotaexceeded with large modules - Modules with many functions and classes would fail to compile withevaluation exceeded 100000 backwards branchesin stub, test, and benchmark generation. Fixed by raising@setEvalBranchQuotatostd.math.maxInt(u32)in all comptime generation call sites:generateModuleStubs,generateImportsinstubs.zig, and the stubs/tests/benchmarks section embedding plus qualified name generation inroot.zig. - CLI linker error on systems with GCC 15+ -
zig build clifailed withunhandled relocation type R_X86_64_PC64on Linux systems with recent GCC/binutils (15+), which emit.sframesections that Zig's linker cannot handle. Fixed by targetingmuslfor the CLI executable on Linux, using Zig's bundled musl instead of the system glibc toolchain. The CLI is now a fully static binary with zero external dependencies. __del__called on failed__new__causing segfault - When a user-defined__new__returned an error ornull(e.g., viaraiseValueError), PyOZ still called__del__during deallocation of the failed object, leading to a segfault on uninitialized data. Now an_initializedflag is tracked on each object: it is set only when__init__/__new__succeeds, and__del__is skipped if the flag is unset. This matches Python semantics where__del__is never called if__new__raises. Works in both ABI3 and non-ABI3 modes.__new__error union errors always raisedRuntimeError- When a class__new__returning!Thit an error, it was always raised asRuntimeErrorregardless of the error name. Now uses the existingmapWellKnownError()function soerror.OutOfMemoryraisesMemoryError,error.ValueErrorraisesValueError,error.IndexOutOfBoundsraisesIndexError, etc. — matching the behavior already in place for regular functions and methods since v0.11.0.
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.11.5.tar.gz for the source code.
Quick Start
pyoz init mymodule
cd mymodule
pyoz build
pip install dist/*.whl