Skip to main content

ty

ty PyPI Discord

An extremely fast Python type checker and language server, written in Rust.


Shows a bar chart with benchmark results.

Type checking the home-assistant project without caching.


ty is backed by Astral, the creators of uv and Ruff.

ty is currently in beta.

Highlights

Getting started

Run ty with uvx to get started quickly:

uvx ty check

Or, check out the ty playground to try it out in your browser.

To learn more about using ty, see the documentation.

Installation

To install ty, see the installation documentation.

To add the ty language server to your editor, see the editor integration guide.

Getting help

If you have questions or want to report a bug, please open an issue in this repository.

You may also join our Discord server.

Contributing

Development of this project takes place in the Ruff repository at this time. Please open pull requests there for changes to anything in the ruff submodule (which includes all of the Rust source code).

See the contributing guide for more details.

Version policy

ty uses 0.0.x versioning. ty does not yet have a stable API; breaking changes, including changes to diagnostics, may occur between any two versions. See the type system support tracking issue for a detailed overview of currently supported features.

For information on the timeline, you can check out the Stable milestone.

FAQ

Which Python versions does ty support?

ty officially supports type checking code that targets Python 3.10 and later. Earlier versions (Python 3.7 through 3.9) can still be selected, but may result in false negatives or false positives due to a lack of bundled standard library stubs.

The target version is independent of the Python version used to install ty. For example, ty installed from PyPI using Python 3.8 or later can type check code targeting Python 3.7; the standalone installer does not require Python at all.

Why is ty doing _____?

See our typing FAQ.

How do you pronounce ty?

It's pronounced as "tee - why" (/tiː waɪ/)

How should I stylize ty?

Just "ty", please.

License

ty is licensed under the MIT license (LICENSE or https://opensource.org/licenses/MIT).

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in ty by you, as defined in the MIT license, shall be licensed as above, without any additional terms or conditions.

Metadata

Release files for ty 0.0.89

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ty 0.0.89
File Size Uploaded
ty-0.0.89.tar.gz 8.0 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for ty 0.0.89
File
ty-0.0.89-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
ty-0.0.89-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
ty-0.0.89-py3-none-win32.whl Python 3 none Windows x86-32 Details
ty-0.0.89-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
ty-0.0.89-py3-none-musllinux_1_2_i686.whl Python 3 none Linux musl 1.2+ x86-32 Details
ty-0.0.89-py3-none-musllinux_1_2_armv7l.whl Python 3 none Linux musl 1.2+ ARMv7l Details
ty-0.0.89-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
ty-0.0.89-py3-none-manylinux_2_31_riscv64.whl Python 3 none Linux glibc 2.31+ RISC-V 64 Details
ty-0.0.89-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
ty-0.0.89-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl Python 3 none Linux glibc 2.17+ IBM System/390x Details
ty-0.0.89-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl Python 3 none Linux glibc 2.17+ PowerPC 64-le Details
ty-0.0.89-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl Python 3 none Linux glibc 2.17+ x86-32 Details
ty-0.0.89-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl Python 3 none Linux glibc 2.17+ ARMv7l Details
ty-0.0.89-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
ty-0.0.89-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
ty-0.0.89-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details
ty-0.0.89-py3-none-linux_armv6l.whl Python 3 none linux armv6l Details

Total release size: 248.1 MB

Release files / ty-0.0.89.tar.gz

Download URL ty-0.0.89.tar.gz
Size 8.0 MB
Tags Source
SHA-256 checksum
How to use checksums
bc1027b1ea95cca25c2a3a0b41433c809cf4b86a384d2b2434eba4bcd34548d4
BLAKE2b-256 checksum
How to use checksums
67eadfb9bdbc168c50a568809466596751afa0c7da60da03b8c12906d1decde4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty-0.0.89-py3-none-win_arm64.whl

Download URL ty-0.0.89-py3-none-win_arm64.whl
Size 13.3 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
1d4967c8f7bfd67c9708115b41d7049197c5d20c76fb2e136fe78b0437ada05b
BLAKE2b-256 checksum
How to use checksums
0993af8f7250920823ca6d582bcf0abf803fb92c8b99415ba7f40f2304102c6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty-0.0.89-py3-none-win_amd64.whl

Download URL ty-0.0.89-py3-none-win_amd64.whl
Size 13.7 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
9fc56322a1aff29a19088d2025f3c42a6d25a7035668048bb908c9f8b66f480d
BLAKE2b-256 checksum
How to use checksums
b4141ee663c422e3a2d910c5cc27e7d84bd7709a3df0aca28a713843c6c3fa5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty-0.0.89-py3-none-win32.whl

Download URL ty-0.0.89-py3-none-win32.whl
Size 13.2 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
0146637ed2321717280bfe4e4b20a18813b741da280e8039d7df2bf22b0251f1
BLAKE2b-256 checksum
How to use checksums
b1d5dfd7ed5e4af472b20a11ef651da4bca55f9dc8be485cd152337f94caddde
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty-0.0.89-py3-none-musllinux_1_2_x86_64.whl

Download URL ty-0.0.89-py3-none-musllinux_1_2_x86_64.whl
Size 14.7 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
5e38302ac218d2404758241093b5542ed0345d4f569096589f1810034244e998
BLAKE2b-256 checksum
How to use checksums
f8d2466d3762e330504a2c114dbbd0f0383229f9652dccd56277dde008bfe0da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty-0.0.89-py3-none-musllinux_1_2_i686.whl

Download URL ty-0.0.89-py3-none-musllinux_1_2_i686.whl
Size 14.3 MB
Tags Linux musl 1.2+ x86-32 Python 3
SHA-256 checksum
How to use checksums
0c186185cad57a1469b851096b51345de7b625e353c1f4acd338402daed22fa7
BLAKE2b-256 checksum
How to use checksums
cf4da1d61e06092fd5726f48a8711bd32eac6af132308eb222a0027caba4f42d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty-0.0.89-py3-none-musllinux_1_2_armv7l.whl

Download URL ty-0.0.89-py3-none-musllinux_1_2_armv7l.whl
Size 14.0 MB
Tags Linux musl 1.2+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
4c9f22edeb8176f8ab189337e8cbd8f92b66744534a2886df9e252b52ade991c
BLAKE2b-256 checksum
How to use checksums
34cc68b8ebf98c9bc582fddc3d2b93f6e0f53719d1ddee1c5037dfa2e1cb8467
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty-0.0.89-py3-none-musllinux_1_2_aarch64.whl

Download URL ty-0.0.89-py3-none-musllinux_1_2_aarch64.whl
Size 13.7 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
b55c28a49bd2676eac9b3540a1dcc4cc053e4671c65dcec9fdad3dfe55fb148c
BLAKE2b-256 checksum
How to use checksums
63722b28c71d6ebd97b5bb1378f1806598c5dd90278f7b99a431dd3879dddcfc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty-0.0.89-py3-none-manylinux_2_31_riscv64.whl

Download URL ty-0.0.89-py3-none-manylinux_2_31_riscv64.whl
Size 14.8 MB
Tags Linux glibc 2.31+ RISC-V 64 Python 3
SHA-256 checksum
How to use checksums
a70ab1a402746d7837407dc169e461fdf90945bc1eef0d3c0f1be543490060bf
BLAKE2b-256 checksum
How to use checksums
f0325f9ce2377a77ad9ff36d8996edf86b1f069c1e8716e37c7d6d668402b110
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty-0.0.89-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ty-0.0.89-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 14.5 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
95a410f10b26cc3861757b626727db9d979deba7d2a3ab59f964fac8f0514fdc
BLAKE2b-256 checksum
How to use checksums
3e61da22c714fd4f4dff642d60fb0d8bf8da1985d126f21cc89237f8bf707c92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty-0.0.89-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL ty-0.0.89-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 15.2 MB
Tags Linux glibc 2.17+ IBM System/390x Python 3
SHA-256 checksum
How to use checksums
6d5f178c91d50fb62461b5e579028b7d2e92872e1d8f02e96ace26464c2277a6
BLAKE2b-256 checksum
How to use checksums
9692c6b4320f08fca44ffe279e5ddeb3eae12869c6341f596931accdefea1182
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty-0.0.89-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL ty-0.0.89-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 15.3 MB
Tags Linux glibc 2.17+ PowerPC 64-le Python 3
SHA-256 checksum
How to use checksums
a8147811b9b3bc2dc9338cd01c7893ac931fc3fae7aace169047ecbd627e6628
BLAKE2b-256 checksum
How to use checksums
5cc3aed8d920b9bbf7b582e9fc0305acb2f2c748ede788e7dba9d6952e939c78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty-0.0.89-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL ty-0.0.89-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Size 14.9 MB
Tags Linux glibc 2.17+ x86-32 Python 3
SHA-256 checksum
How to use checksums
1af774c24117d366b69142d4f35edee518617f8b926d13560d0334cbe5aa3f85
BLAKE2b-256 checksum
How to use checksums
2fc3da911c8fc22d2664692432570619576b25c7cd0a586401cab08987763094
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty-0.0.89-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL ty-0.0.89-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 14.0 MB
Tags Linux glibc 2.17+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
3dd4c57ba58bab8f6c816b2c254db52b58834b5dbf8268287382f7a2f9735c8f
BLAKE2b-256 checksum
How to use checksums
ed1d293516c2e10a77134cfc40d22c3fc08edd8c5eadae9c75531ec8a9263348
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty-0.0.89-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL ty-0.0.89-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 13.7 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
3d768300ae16274ce656006e9199869ad68684b74400d963e1c82deddf3a22ad
BLAKE2b-256 checksum
How to use checksums
6a89baae2b407101c4cb02f19216123900c147af8fd87cdb1ed7eba139472734
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty-0.0.89-py3-none-macosx_11_0_arm64.whl

Download URL ty-0.0.89-py3-none-macosx_11_0_arm64.whl
Size 12.9 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b0631291af5c850a15007c0ffb906d813966466e4ec12173c44977c0c5a2d51d
BLAKE2b-256 checksum
How to use checksums
7ef988648f0ba9400dfd642c1e8dc0aeecb87945b121f3ff51f3902883c016d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty-0.0.89-py3-none-macosx_10_12_x86_64.whl

Download URL ty-0.0.89-py3-none-macosx_10_12_x86_64.whl
Size 13.8 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
47ebc98480c8a301955e18a8bdd67ef07090071ad47349b3254f325d3d5ab4e7
BLAKE2b-256 checksum
How to use checksums
e5d55afe09bf5c83c4e3a9e5913386a460e240a7029f2ae5fc96df5b43563a91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ty-0.0.89-py3-none-linux_armv6l.whl

Download URL ty-0.0.89-py3-none-linux_armv6l.whl
Size 14.3 MB
Tags Python 3 linux armv6l
SHA-256 checksum
How to use checksums
739b087e8873e177ffda99ff8a3600a4a7704d06523a8e88c4493021eee40b8a
BLAKE2b-256 checksum
How to use checksums
c584e199d9a3dc3c94c804ddd9e94b63dbe543ae7f39329574963b6a6a95872f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.0.89 This release

18 release files

0.0.8

18 release files

0.0.7

18 release files

0.0.6

18 release files

0.0.5

18 release files

0.0.4

18 release files

0.0.3

18 release files

0.0.2

18 release files

0.0.1

11 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page