github astral-sh/ty 0.0.1-alpha.14

pre-releaseone month ago

Release Notes

Bug fixes

  • Add cycle detection to ty's implementation of disjointness between types, fixing a possible source of stack overflows when analysing recursive types (#19139)
  • Don't allow first-party code to shadow the stdlib types module (#19128).
    This fixes another possible source of stack overflows.
  • Fix descriptor lookups for most types that overlap with None (#19120).
    This means that e.g. object().__str__() now correctly binds the self argument of the __str__
    method, as the object type overlaps with None.

Server

  • Filter a symbol from a stub file in autocomplete suggestions if it is an implementation detail of the stub (#19121)
  • Add initial support for semantic tokens (#19108).
    This feature allows editors to apply more advanced syntax highlighting. Currently, the supported tokens are: Namespace, Class, Parameter, SelfParameter,ClsParameter, Variable, Property, Function, Method, Keyword, String, Number, Decorator, BuiltinConstant and TypeParameter.
  • Initial support for workspace diagnostics (#18939).
    Enable this feature by setting the ty.diagnosticMode configuration setting to "workspace".
  • Use Python syntax highlighting in on-hover content (#19082)

Typing semantics and features

  • Understand that calls to functions returning Never / NoReturn are terminal with respect to control flow (#18333)
  • Add subtyping between type[] types and Callable types (#19026)
  • Support bare ClassVar annotations (#15768)
  • Understand that two protocols with equivalent method members are equivalent (#18659)
  • Support declared-only instance attributes such as self.x: int (#19048)
  • Sync vendored typeshed stubs (#19174): typeshed diff
  • Use the inferred type as the declared type for bare Final symbols (#19142)

Contributors

Install ty 0.0.1-alpha.14

Install prebuilt binaries via shell script

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

Download ty 0.0.1-alpha.14

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.