pypi ty 0.0.16

14 hours ago

Release Notes

Released on 2026-02-10.

Bug fixes

  • Allow stringified argument in PEP-613 alias to Optional (#23200)
  • Fix fuzzer panic on slice expression in unclosed comprehension (#23146)
  • Fix combinatorial explosion due to fixed-length tuple expansion in overload matching (#23190)
  • Respect @no_type_check when combined with other decorators (#23177)
  • Fix diagnostic location for an incorrect sub-call to a specialized ParamSpec (#23036)

LSP server

  • Assign lower completions ranking to deprecated functions and classes (#23089)
  • Change goto-def for class constructors to always go to class definition (#23071)
  • Ensure diagnostic mode is consistent across projects inside the LSP server (#23121)
  • Don't include the class Foo in autocomplete suggestions when the user is typing out Foo's bases (#23141)
  • Fix parameter references across files via keyword args (#23012)
  • Fix wrong inlay hints for overloaded function arguments (#23179)
  • Support diagnostics in newly created files inside neovim (#23095)
  • Exclude already-included classes when providing completion suggestions for class bases (#23085)

CLI

  • Add support for TY_OUTPUT_FORMAT environment variable (#23123)
  • Fall back to python3 found in $PATH if no environment is found (#22843)

Type checking

  • Add inconsistent-mro autofix to move Generic[] to the end of the bases list (#22998)
  • Add precise return-type inference for struct.unpack (#22562, #23130)
  • Disallow TypeVars within ClassVars (#23184)
  • Emit diagnostic on unbound call to abstract @classmethod or @staticmethod (#23182)
  • Fix false-positive diagnostics when providing the total= keyword to TypedDict classes that had PEP-695 type parameters (#23114)
  • Narrow both left- and right-hand operands where possible (#23084)
  • Narrow chained operators (#23093)
  • Narrow equality subscripts on either operand (#23104)
  • Recognize __dataclass_transform__ to support SQLModel (#23070)
  • Relax the attribute narrowing condition to support deeper-nested attribute type narrowing (#22440)
  • Support constrained TypeVar compatibility across function boundaries (#23103)
  • Support comparison methods (__gt__, etc.) where a parameter is annotated with a Literal type (#23100)
  • Support partially specialized type context (#22748)
  • Use type context when inferring constructor argument types (#23139)
  • Validate TypedDict constructor calls for generic aliases and type[...] targets (#23113)

Performance

  • Conservative narrowing places optimization (#22734)

Contributors

Install ty 0.0.16

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ty/releases/download/0.0.16/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.16/ty-installer.ps1 | iex"

Download ty 0.0.16

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.