Skip to content

v0.18.0

Latest

Choose a tag to compare

@jorenham jorenham released this 07 Jun 22:28
· 71 commits to master since this release
Immutable release. Only release title and notes can be modified.
v0.18.0
96e4de0

🏆 Highlights

  • New experimental optype infer command for structural runtime type inference (docs)
    $ optype infer "import math; math.sqrt"
    (x: CanFloat | CanIndex) -> float
    
    $ optype infer "lambda x: x * 2"
    [R](x: CanMul[Literal[2], R]) -> R
    
    $ optype infer "lambda x: -x + x"
    [T: CanNeg[CanAdd[T, R]], R](x: T) -> R
    [T, R](x: CanNeg[T] & CanRAdd[T, R]) -> R
  • Support for runtime type-checking of the optype.numpy.To* array-like types with beartype.
  • Python 3.15 support (currently in beta)

Breaking changes

  • Increased minimum supported Python version to 3.12+, and NumPy (optional) to 2.0+, following SPEC 0
  • Removed the deprecated optype.typing.Just* re-exports in favor of optype.Just*.

What's Changed

optype.infer

optype.numpy

optype.typing

  • remove deprecated optype.typing.Just* re-exports by @jorenham in #601

Dependencies

  • Bump the actions group across 1 directory with 3 updates by @dependabot[bot] in #608
  • Bump the actions group across 1 directory with 3 updates by @dependabot[bot] in #614

Continuous integration

Other Changes

Full Changelog: v0.17.1...v0.18.0