pypi ty 0.0.39

6 hours ago

Release Notes

Released on 2026-05-22.

This release removes the Python 3.9 branches from our vendored standard library stubs. ty now only has "full" support for
Python 3.10 and later, but will still report version-specific syntax errors and other diagnostics when --python-version 3.9
is provided via the CLI.

Bug fixes

  • Avoid panicking on __new__ assignments to classes (#25282)
  • Preserve declaration order when synthesizing class fields (#25249)
  • Respect dict-compatible fallbacks in TypedDict unions (#25242)
  • Retain recursively-defined state in binary expressions (#25277)

LSP server

  • Add Quick Fix to remove redundant cast (#25211)
  • Classify property declaration semantic tokens (#25322)
  • Escape HTML syntax in docstring rendering (#25247)
  • Prefer symbols from standard library over those of the same name from third party libraries for import completions. (#25108)
  • Support type aliases in document symbols (#25302)

Diagnostics

  • Add error context for extra callable parameters (#25269)

Performance

  • Avoid exponential blow-up in fall-through narrowing (#25278)
  • Speed up include filtering for projects with many literal include patterns (#25266)

Core type checking

  • Allow enum member accesses on self (#25077)
  • Emit a diagnostic for subclassing with order=True (#21704)
  • Full-scope bidirectional inference for unconstrained container literals (#25279)
  • Infer dict(TypedDict) as dict[str, object] (#24852)
  • Refine Callable class-decorator fallback for unknown results (#25250)
  • Reject incompatible explicit variance in generic base classes (#25327)
  • Support multi-inference through type aliases (#25245)
  • Sync vendored typeshed stubs (#25271, #25172)

Contributors

Install ty 0.0.39

Install prebuilt binaries via shell script

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

Download ty 0.0.39

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.