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.88

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.88
File Size Uploaded
ty-0.0.88.tar.gz 8.0 MB Details

Built distributions (wheels)

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

Total release size: 247.5 MB

Release files / ty-0.0.88.tar.gz

Download URL ty-0.0.88.tar.gz
Size 8.0 MB
Tags Source
SHA-256 checksum
How to use checksums
5e3165a05b3757edd5a08b1fc6cb4a00c3b067100416d50afb2d13a5ec102206
BLAKE2b-256 checksum
How to use checksums
f5e8303e333a45289c2f1f006661c9aa535de83b316a6bfc2d2f97ba815be143
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.88-py3-none-win_arm64.whl

Download URL ty-0.0.88-py3-none-win_arm64.whl
Size 13.3 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
9b4289f6dec4123cf671a5b3d9512cdbf03889996d6895efc595bdc50573eafc
BLAKE2b-256 checksum
How to use checksums
7016bc82e209f0d4de6213d41f58dd619b3e65d24cb58a6da0cd7c6665dd6654
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.88-py3-none-win_amd64.whl

Download URL ty-0.0.88-py3-none-win_amd64.whl
Size 13.7 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
c76f1c65a492fed594bc14a1c70a1fdacd8a3165440a1eaa5af7f3c248fee963
BLAKE2b-256 checksum
How to use checksums
49a1db4113fa72d44a28aeeccf3a71f9a803b278d945b11fa7b070a703d8bffd
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.88-py3-none-win32.whl

Download URL ty-0.0.88-py3-none-win32.whl
Size 13.2 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
954cc19cd68015d4e92eb3f9218760d324dbdf67daae0e0da2c0179b644f450f
BLAKE2b-256 checksum
How to use checksums
5f16426272696ea754575305868787b35f18c23a3851c363827f27c7c8093cff
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.88-py3-none-musllinux_1_2_x86_64.whl

Download URL ty-0.0.88-py3-none-musllinux_1_2_x86_64.whl
Size 14.6 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
092522f2fa87becfb3b098a1f58ec1b82dfd7c87eaa0533c5ce500a743d8e79e
BLAKE2b-256 checksum
How to use checksums
5e5a8a5e7c43b5d981d1f383602ddeaea91e0fde18900d1808ee74e1c894570c
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.88-py3-none-musllinux_1_2_i686.whl

Download URL ty-0.0.88-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
591ef09e37bec260399cd526d694a815b8f1dab55dc841a44bd9ccb78cca84a1
BLAKE2b-256 checksum
How to use checksums
6712f9fc5e038dd2f0372be8ffbf5b1e429ef084035efdede5288a6fae74c52f
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.88-py3-none-musllinux_1_2_armv7l.whl

Download URL ty-0.0.88-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
90407c5c7e0387295aab0e2d4de0ed7a7942f9793a4628942f367257d431e55c
BLAKE2b-256 checksum
How to use checksums
c5df2eb1ddfafd986fdfa7be9941f2665945fe6dbcc952309195ba536f6394fd
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.88-py3-none-musllinux_1_2_aarch64.whl

Download URL ty-0.0.88-py3-none-musllinux_1_2_aarch64.whl
Size 13.6 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
c245fab62af678d3df2e8bf26550c0f81f5567b72de670863e300cab07d0b891
BLAKE2b-256 checksum
How to use checksums
84e75918d99b7aff20c4a55f50d64620186af822a023ca767b65d965a3fd4858
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.88-py3-none-manylinux_2_31_riscv64.whl

Download URL ty-0.0.88-py3-none-manylinux_2_31_riscv64.whl
Size 14.7 MB
Tags Linux glibc 2.31+ RISC-V 64 Python 3
SHA-256 checksum
How to use checksums
96940e5393ec00732bfaa747825979ebd971f0bafe538538d164bcba4cec5408
BLAKE2b-256 checksum
How to use checksums
1774be3cd8bee9ad01615449a1c22c6be2cc9a5d652eb6c1e9b2e993dc8b9141
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.88-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ty-0.0.88-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 14.4 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
6ec0c364abad7e81013c1b4ec788d811078b9b20a8a2e07ac8613499eb6f104f
BLAKE2b-256 checksum
How to use checksums
e49ea8a0af89ce94e87f6b4fdec62dce473d2858223ba7298276911c568f413c
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.88-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL ty-0.0.88-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
6784a5398c69ea39ad43512ba5fa7850599d8f371b7caa974dc8603b9634e63f
BLAKE2b-256 checksum
How to use checksums
091a1a214f674e66c65347380cc8b637ffbb50624ab4ff7dc0d6f0bf34c64303
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.88-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL ty-0.0.88-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 15.2 MB
Tags Linux glibc 2.17+ PowerPC 64-le Python 3
SHA-256 checksum
How to use checksums
7dfb625a98f8fb02995aa3e3fb762c910158f1419bf38d1d1dcb97f35526e4b0
BLAKE2b-256 checksum
How to use checksums
268b706b59938c4c83caed1df9a74f9b6d1e9d7d196b5006f3655b618daab5da
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.88-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL ty-0.0.88-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
6aa805d8d4ab6512ca9591c221f828d818c000cdd5bd5108923eb21405eefebd
BLAKE2b-256 checksum
How to use checksums
575d0753dd860127f2601333156948ce2680ac2f65534ee39c81e9d4623f51aa
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.88-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL ty-0.0.88-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
a8beb5fe8ae4ee8853891647d27cec7b65f6547532e9250cd3439181993aa973
BLAKE2b-256 checksum
How to use checksums
18c94d7ec25675e9d2d70d9a8635d47b4737540818852e35fc6b7ca47b3e7f99
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.88-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL ty-0.0.88-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 13.6 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
bcd956e6c3c8b038a3725f2bf255a45a284ece64a012a4e790fbf23db862af84
BLAKE2b-256 checksum
How to use checksums
2ea4266f2dacbded7fac1f567292363ad05d4d03b246a8bd5ccd68206d0c9ce0
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.88-py3-none-macosx_11_0_arm64.whl

Download URL ty-0.0.88-py3-none-macosx_11_0_arm64.whl
Size 12.8 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
021bd4a6d01d4a39e48a87e308161e7adea851b8cab9f4c71452dde6e365aa15
BLAKE2b-256 checksum
How to use checksums
8ca691d2aa967a69535845445660d3a9412f7f4f746597c650e5d3a799c9e286
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.88-py3-none-macosx_10_12_x86_64.whl

Download URL ty-0.0.88-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
957f0db83b9b0f837b86fe4a0a8fb98db8da89444555246871e6eb2820629c1b
BLAKE2b-256 checksum
How to use checksums
77b0ca23cf93931c6dcf790376c2dac6d2cbcbc1c5fbbead6a536c52eae6ac22
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.88-py3-none-linux_armv6l.whl

Download URL ty-0.0.88-py3-none-linux_armv6l.whl
Size 14.2 MB
Tags Python 3 linux armv6l
SHA-256 checksum
How to use checksums
19f24e69e97d9edfb05fb2e1c7fe2b6fcce275338415e2f7de23d74627f2b436
BLAKE2b-256 checksum
How to use checksums
de7ea62ddf5c56cf0f96fdc268bb0ec4bfe16e28b50d9158de8e7038b004e515
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.88 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