github pyozig/PyOZ v0.5.0
PyOZ v0.5.0

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

What's New in v0.5.0

Added

  • Full documentation site at pyoz.dev

    • Complete guide covering functions, classes, properties, types, errors, enums, NumPy, GIL, submodules, and type stubs
    • CLI reference for pyoz init, pyoz build, pyoz develop, pyoz publish
    • Built with MkDocs and Material theme with dark/light mode support
    • Auto-deployed via webhook on push to main
  • Declarative property API - New pyoz.property() for cleaner property definitions

    .properties = &.{
        pyoz.property("length", .{ .get = "get_length", .set = "set_length" }),
        pyoz.property("area", .{ .get = "get_area" }),  // read-only
    },
    • Explicit property declaration instead of relying on get_/set_ naming convention
    • Supports read-only, write-only, and read-write properties
    • Old get_X/set_X convention still works for backward compatibility

Changed

  • README rewritten - Minimal, focused README with links to documentation site
  • CI workflow - Now only runs on pull requests, not on push

Fixed

  • Enum literal type checking - Fixed compile error when checking exception enum literals
  • Property stub generation - Properties now correctly generate type stubs

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.5.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.