github astral-sh/ty 0.0.1-alpha.17

latest releases: 0.0.2, 0.0.1-alpha.35, 0.0.1-alpha.34...
pre-release4 months ago

Release Notes

Bug fixes

  • Always refresh diagnostics after a watched files change (#19697)
  • Correctly instantiate generic class that inherits __init__ from generic base class (#19693)
  • Don't panic with argument that doesn't actually implement Iterable (#19602)
  • Fix "peek definition" in playground (#19592)
  • Fix empty spans following a line terminator and unprintable character spans in diagnostics (#19535)
  • Fix incorrect diagnostic when calling __setitem__ (#19645)
  • Fix lookup order of class variables before they are defined (#19743)
  • Fix more false positives related to Generic or Protocol being subscripted with a ParamSpec or TypeVarTuple (#19764)
  • Keep track of type qualifiers in stub declarations without right-hand side (#19756)

Server

  • Add progress reporting to workspace diagnostics (#19616)
  • Add stub mapping support to signature help (#19570)
  • Added support for "document symbols" and "workspace symbols" (#19521)
  • Fix server panic in workspace diagnostics request handler when typing (#19631)
  • Implement caching for workspace and document diagnostics (#19605)
  • Implement long-polling for workspace diagnostics (#19670)
  • Implement streaming for workspace diagnostics (#19657)
  • Implemented support for "selection range" language server feature (#19567)

CLI

  • Add progress bar to --watch mode (#19729)
  • Clear the terminal screen in --watch mode (#19712)
  • Resolve file symlinks in src walk (#19674)

Typing semantics and features

  • Support async/await, async with and yield from (#19595)
  • Add support for async for loops and async iterables (#19634)
  • Don't include already-bound legacy typevars in function generic context (#19558)
  • Infer types for key-based access on TypedDicts (#19763)
  • Improve isinstance() truthiness analysis for generic types (#19668)
  • Infer type[tuple[int, str]] as the meta-type of tuple[int, str] (#19741)
  • Remove false positives when subscripting Generic or Protocol with a ParamSpec or TypeVarTuple (#19749)
  • Remove special casing for string-literal-in-tuple __contains__ (#19642)
  • Remove special casing for tuple addition (#19636)
  • Return Option<TupleType> from infer_tuple_type_expression (#19735)
  • Support as-patterns in reachability analysis (#19728)
  • Support __setitem__ and improve __getitem__ related diagnostics (#19578)
  • Synthesize precise __getitem__ overloads for tuple subclasses (#19493)
  • Track different uses of legacy typevars, including context when rendering typevars (#19604)
  • Upcast heterogeneous and mixed tuples to homogeneous tuples where it's necessary to solve a TypeVar (#19635)
  • Fix incorrect lazy scope narrowing (#19744)
  • Synthesize __replace__ for dataclasses (#19545)

Diagnostics

  • Add diagnostics for async context managers (#19704)
  • Display generic function signature properly (#19544)
  • Improve the Display for generic type[] types (#19667)
  • Remap Jupyter notebook cell indices in ruff_db (#19698)

Documentation

  • Add the ty badge (#897)

Contributors

Install ty 0.0.1-alpha.17

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ty/releases/download/0.0.1-alpha.17/ty-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ty/releases/download/0.0.1-alpha.17/ty-installer.ps1 | iex"

Download ty 0.0.1-alpha.17

File Platform Checksum
ty-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
ty-x86_64-apple-darwin.tar.gz Intel macOS checksum
ty-aarch64-pc-windows-msvc.zip ARM64 Windows checksum
ty-i686-pc-windows-msvc.zip x86 Windows checksum
ty-x86_64-pc-windows-msvc.zip x64 Windows checksum
ty-aarch64-unknown-linux-gnu.tar.gz ARM64 Linux checksum
ty-i686-unknown-linux-gnu.tar.gz x86 Linux checksum
ty-powerpc64-unknown-linux-gnu.tar.gz PPC64 Linux checksum
ty-powerpc64le-unknown-linux-gnu.tar.gz PPC64LE Linux checksum
ty-s390x-unknown-linux-gnu.tar.gz S390x Linux checksum
ty-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
ty-armv7-unknown-linux-gnueabihf.tar.gz ARMv7 Linux checksum
ty-aarch64-unknown-linux-musl.tar.gz ARM64 MUSL Linux checksum
ty-i686-unknown-linux-musl.tar.gz x86 MUSL Linux checksum
ty-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum
ty-arm-unknown-linux-musleabihf.tar.gz ARMv6 MUSL Linux (Hardfloat) checksum
ty-armv7-unknown-linux-musleabihf.tar.gz ARMv7 MUSL Linux checksum

Don't miss a new ty release

NewReleases is sending notifications on new releases.