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

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.87
File Size Uploaded
ty-0.0.87.tar.gz 7.9 MB Details

Built distributions (wheels)

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

Total release size: 246.8 MB

Release files / ty-0.0.87.tar.gz

Download URL ty-0.0.87.tar.gz
Size 7.9 MB
Tags Source
SHA-256 checksum
How to use checksums
0f844e1fe0725a69753d22b46cb3dce653f3331ae8e332e46b0f22349a244093
BLAKE2b-256 checksum
How to use checksums
17158a1e8008a4580c3c7bbf2a2e1a6e0001abbd265728426ffe7fc3eab29e98
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.87-py3-none-win_arm64.whl

Download URL ty-0.0.87-py3-none-win_arm64.whl
Size 13.2 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
db4aa3a464c43d155ac8a3387a76173183ce4c141a8de1b6cb956e6a5a5e7d52
BLAKE2b-256 checksum
How to use checksums
9489aa0eb234360cb6c8efc6ac45694000dfe3c3e590a30e87f2f9631190d339
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.87-py3-none-win_amd64.whl

Download URL ty-0.0.87-py3-none-win_amd64.whl
Size 13.7 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
767219b8fedd2f48875c1ea3557f39734642073a2e039c6ab67ce5a50b65ddf0
BLAKE2b-256 checksum
How to use checksums
4e6eecfc716c98bb1eeac9d8743221403c5e7f2f0ed69858af881a0e5b775739
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.87-py3-none-win32.whl

Download URL ty-0.0.87-py3-none-win32.whl
Size 13.1 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
12c85c47d62d3b03c3ef00e1e74a31788aac5de3102d86b687d928d889cfbe83
BLAKE2b-256 checksum
How to use checksums
793909f9274119899ed4e15630a544735c31b32f6bbaeea4c40a788cecf8df3d
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.87-py3-none-musllinux_1_2_x86_64.whl

Download URL ty-0.0.87-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
1ed384e2d5e72b14664344e676d091f7ec693ad580d69cd204e01732542e4bf7
BLAKE2b-256 checksum
How to use checksums
2199500885b4ee1f825bde8b3c45ef42dff869d4f30328f34bac90c75065953e
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.87-py3-none-musllinux_1_2_i686.whl

Download URL ty-0.0.87-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
4a1eb91eb6de896a3f93847e171d1cf63e3490518bfa3cc69b0e635e9d16d7d0
BLAKE2b-256 checksum
How to use checksums
023b042a2dd75d83f7bd94afe2c1fd25dbbbbe01ec56c27a4108804068f8e0d2
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.87-py3-none-musllinux_1_2_armv7l.whl

Download URL ty-0.0.87-py3-none-musllinux_1_2_armv7l.whl
Size 13.9 MB
Tags Linux musl 1.2+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
2791e65f320cd8af1a7b46eed458b09710efb455add9138d4a973352b171ca30
BLAKE2b-256 checksum
How to use checksums
fbceca367cee9e4ea5cee7b0b60c37f1d091789e4c784192003ba7695dc18f53
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.87-py3-none-musllinux_1_2_aarch64.whl

Download URL ty-0.0.87-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
547226807687a240bb2e3c52ef37cdf25b2b33f200dcc659bfa3aac61028b259
BLAKE2b-256 checksum
How to use checksums
feb938ea15b4c4c5167f9c93ab5062fe438acff9e7851af615c7580722da2aaa
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.87-py3-none-manylinux_2_31_riscv64.whl

Download URL ty-0.0.87-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
930b045a2965f3332d5dbad8ed47076aaeb5c6ead6addf3d4d4e10bc37929901
BLAKE2b-256 checksum
How to use checksums
35762fd26f136ae967095f222ce75ad58d2c8472da355fc4a6d24662d8c98123
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.87-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ty-0.0.87-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
e8caa3316ea81e794fcd98d1e4d3aaa5fae84790154d88c3e85ac3bd01c537bd
BLAKE2b-256 checksum
How to use checksums
3a62dc4d7135c5ea1bf6f5429509113e1c8092ff4e55399f527c508edaba20bb
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.87-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL ty-0.0.87-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 15.1 MB
Tags Linux glibc 2.17+ IBM System/390x Python 3
SHA-256 checksum
How to use checksums
75bf154f9f4ea24c3fa2b8d610aee4bfb2ee7ba8f78d9cd763a896a829a87a2a
BLAKE2b-256 checksum
How to use checksums
9c98fa7b9a8dce2248436b13728ad6462f47293c01141ec4afc0184073e6d93f
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.87-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL ty-0.0.87-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
61c3fded55b32db1a6944f12079c859c7d03da17cd666858ae8acca5a6c15af7
BLAKE2b-256 checksum
How to use checksums
eaef6339f9af05479215a5f351c287e86b2acacd941c918dbe3f702dced32c97
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.87-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL ty-0.0.87-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Size 14.8 MB
Tags Linux glibc 2.17+ x86-32 Python 3
SHA-256 checksum
How to use checksums
73d540684ec438b5087cbb218898b6030395055698e9132fccc52267e5820522
BLAKE2b-256 checksum
How to use checksums
61ba6f444935dc40ba16805aedefcd0ee942a682de1fb85c794620233320cbab
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.87-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL ty-0.0.87-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 13.9 MB
Tags Linux glibc 2.17+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
b9a3538293a2aef66fb618cf70ef60f5dca23479dc008ad4ff4b861cff043e78
BLAKE2b-256 checksum
How to use checksums
e76e8e59624cbb81358fd6560fe7a2d0994b6531052dd9729e972b8a362325ca
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.87-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL ty-0.0.87-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
a6ed0a498db9fa8ffb421014698fbca6fa32699d9544156aeeda763b8d8984d0
BLAKE2b-256 checksum
How to use checksums
8abedb90201ef1ce9a79e5cefbf7d8faa80eadc2b4f05a7a32ac126b1d33c815
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.87-py3-none-macosx_11_0_arm64.whl

Download URL ty-0.0.87-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
d38ebf4da3fb234676236b38e03d24014aa3522af8533c6f0f5eccd4a9de147e
BLAKE2b-256 checksum
How to use checksums
f1037cc79acc2a01b3e7146ae8c3df2445c7fe4930e54c3d8b9c052bfa27f389
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.87-py3-none-macosx_10_12_x86_64.whl

Download URL ty-0.0.87-py3-none-macosx_10_12_x86_64.whl
Size 13.7 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
7e4a164821ca74733bcaf1a5cca05e0fb7b2bd7b846385b3aa2a042a60d0a0bc
BLAKE2b-256 checksum
How to use checksums
67126c93cf5f2ce2a00176e8d580d06fc6deb79c13def13c64d833b25860c34f
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.87-py3-none-linux_armv6l.whl

Download URL ty-0.0.87-py3-none-linux_armv6l.whl
Size 14.1 MB
Tags Python 3 linux armv6l
SHA-256 checksum
How to use checksums
1b78781402464a152da80b37d4af503912c0f8b882134cdfcdc2dbbd3f914024
BLAKE2b-256 checksum
How to use checksums
e8316462292e264fc1fcd61bf3179d197e4e7cc21fe95f25660e6b59b6494af3
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.87 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