github astral-sh/ty 0.0.75

2 hours ago

Release Notes

Released on 2026-08-26.

Preview features

  • Initialize PEP 723 script environments in the CLI (#27544)
  • Refresh PEP 723 script environments in watch mode (#27617)
  • Run PEP 723 script synchronization on bounded workers (#27615)

Bug fixes

  • Specialize Self bounds of inherited methods (#27990)

LSP server

  • Add "Go to Definition" support for pytest fixtures (#27444)

Documentation

  • Fix documented Python package build command (#4384)
  • Link untyped-call tracking issue in migration guide (#4382)

Library support

  • Resolve imported pytest fixture exposures (#27539)
  • Resolve installed core pytest fixture providers (#27770)
  • Resolve pytest fixtures through conftest (#27540)

Diagnostics

  • Add more autofixes (#28029)
  • Add a dedicated missing-slot diagnostic (#28039)
  • Explain missing storage for declared slotted attributes (#27969)
  • Improve diagnostic spans for unpacked variable assignments (#28041)

Core type checking

  • Account for known subclasses in equality inference (#28005)
  • Expand ParamSpec signatures inferred from bound receivers (#28020)
  • Fix Self binding in ParamSpec protocols (#28016)
  • Fix TypedDict variance inference (#28052)
  • Fix unsound narrowing through branch-assigned conditions (#28006)
  • Ignore inconsistent binding decorators on overloads (#28036)
  • Infer yield from send/return types from the iterator returned by __iter__ (#27987)
  • Infer tuple type parameters from union arguments (#28062)
  • Infer variance through nonrecursive protocol references (#28065)
  • Preserve bounds of non-literal metaclasses (#28046)
  • Preserve correlated generic-call inference (#28043)
  • Preserve invariant materialization constraints (#28047)
  • Recover bare TypeVarTuples in tuple annotations (#27950)
  • Reject fixed tuples for non-inferable TypeVarTuples (#27943)
  • Reject incompatible constructor context for variadic packs (#27966)
  • Support mixed gradual tuple assignability with TypeVarTuple (#27957)
  • Support tagged union with multiple tags per type (#27984)
  • Sync vendored typeshed stubs (#28035). Typeshed diff
  • Treat typing.Union as a class on Python 3.14+ (#28003)
  • Validate generic protocol variance (#27531)
  • collections.abc.Callable is an instance of type (#27991)

Contributors

Install ty 0.0.75

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download ty 0.0.75

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-riscv64gc-unknown-linux-gnu.tar.gz RISCV 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

Verifying GitHub Artifact Attestations

The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:

gh attestation verify <file-path of downloaded artifact> --repo astral-sh/ty

You can also download the attestation from GitHub and verify against that directly:

gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>

Don't miss a new ty release

NewReleases is sending notifications on new releases.