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.

Release files for ty 0.0.83

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.83
File Size Uploaded
ty-0.0.83.tar.gz 7.4 MB Details

Built distributions (wheels)

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

Total release size: 244.2 MB

Release files / ty-0.0.83.tar.gz

Download URL ty-0.0.83.tar.gz
Size 7.4 MB
Tags Source
SHA-256 checksum
How to use checksums
db118de73c05ac476faceb4d42d59782feaeddfc4d721fd3ae8b807a0a2ae4e4
BLAKE2b-256 checksum
How to use checksums
3b7d2fd9575bce2d14e2281bec82d0713dee68329b0dc944e9c06c2e36b761fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.83-py3-none-win_arm64.whl

Download URL ty-0.0.83-py3-none-win_arm64.whl
Size 13.6 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
a916a3d7d68fe30b7aacdb9fe16d461fa944d722e59e96ea0fa9d206a1b6625f
BLAKE2b-256 checksum
How to use checksums
9f27a06061513f1de25569c2e8898018bd552ab7b31afa7cfe818703269b3350
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.83-py3-none-win_amd64.whl

Download URL ty-0.0.83-py3-none-win_amd64.whl
Size 13.9 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
1b67d86f5bbad4076ae1a2ff23a6a4493219885d72d4b148cb0193e090390060
BLAKE2b-256 checksum
How to use checksums
b28a5eef9458505698b144643cbd2062f465c5d860d8cf86a8710d74505ad9a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.83-py3-none-win32.whl

Download URL ty-0.0.83-py3-none-win32.whl
Size 13.1 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
0391017dac6ba3e452e0322301f50bba12fbccadac07d7fd888c46951ad37638
BLAKE2b-256 checksum
How to use checksums
d8b2c941ce83a59e46ef31dd04bdf6067530e7ec77d5f0cdd1e223fbc6fc351b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.83-py3-none-musllinux_1_2_x86_64.whl

Download URL ty-0.0.83-py3-none-musllinux_1_2_x86_64.whl
Size 14.3 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
626d6ad00f05a5d9b7ea80de44b12931d0c0fb50e64eab20b7fcc13e9aff2a68
BLAKE2b-256 checksum
How to use checksums
2fc03ea45c2ec3a82fddb7137e457ccb2a452446905430d225adaa4990cdc338
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.83-py3-none-musllinux_1_2_i686.whl

Download URL ty-0.0.83-py3-none-musllinux_1_2_i686.whl
Size 13.9 MB
Tags Linux musl 1.2+ x86-32 Python 3
SHA-256 checksum
How to use checksums
bdf5dfa157f5c127ba096fe0561b47877e6e79562c7fc2b35906ba5e9f6bb723
BLAKE2b-256 checksum
How to use checksums
d7e394ebbe1573b76660fa09f2dbce96da6d0bb69a2d29c7b6ad538b452979d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.83-py3-none-musllinux_1_2_armv7l.whl

Download URL ty-0.0.83-py3-none-musllinux_1_2_armv7l.whl
Size 13.7 MB
Tags Linux musl 1.2+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
3e5206def2d6e1df93c75ed8dc763255233ccc3153647509d125bada10ad770a
BLAKE2b-256 checksum
How to use checksums
50209862431662d4453527cd52cf0f30d5975cd1801aa39e570bf45fb299be77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.83-py3-none-musllinux_1_2_aarch64.whl

Download URL ty-0.0.83-py3-none-musllinux_1_2_aarch64.whl
Size 13.4 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
feb72080f0835fa2b27485e3b11fa50dc57c30e0ba73808a3f7d64b56db83f6f
BLAKE2b-256 checksum
How to use checksums
6713bb6f57923231f51b626931625ada71e219d64541f8fadf96065bc5034358
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.83-py3-none-manylinux_2_31_riscv64.whl

Download URL ty-0.0.83-py3-none-manylinux_2_31_riscv64.whl
Size 14.6 MB
Tags Linux glibc 2.31+ RISC-V 64 Python 3
SHA-256 checksum
How to use checksums
2a4550a08fc1899a33e4a08787a73ec9daa99d292268df4f0a5f1c24c63854c3
BLAKE2b-256 checksum
How to use checksums
0dbc82e730247d53cb02acd5a91237c0c62f215b2e0379689a550176d307ed89
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.83-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ty-0.0.83-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 14.1 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
aa95b4376447e5309fe3ccc98ee75916a9082714e6a029b99427ca62021dc94a
BLAKE2b-256 checksum
How to use checksums
d4ffb6c879f1c3121387edd19ebdb1fb02af30691f88f632278a5d467fb5f348
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.83-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL ty-0.0.83-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 14.7 MB
Tags Linux glibc 2.17+ IBM System/390x Python 3
SHA-256 checksum
How to use checksums
7701bdae3b52271cf0835abe4202aa3b23b735425d8c5a3e6a8ca1c68d39ead8
BLAKE2b-256 checksum
How to use checksums
54040077a53bcf6ceb41365a45d8091b52094c91a5f4b071c2a6d705ed8bb65b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.83-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL ty-0.0.83-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 15.0 MB
Tags Linux glibc 2.17+ PowerPC 64-le Python 3
SHA-256 checksum
How to use checksums
8453786c274f48e2a89b78e8a505a4f449323f357f2ce26a9b90a4bd68176f67
BLAKE2b-256 checksum
How to use checksums
8edb5b0d0d24d16d24d781f29ee842ee718903e453dc4068acb02bef860d5540
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.83-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL ty-0.0.83-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Size 14.5 MB
Tags Linux glibc 2.17+ x86-32 Python 3
SHA-256 checksum
How to use checksums
dea3680911340ecf93dff5786dbeefd69c9399df685a22751e1fbd27e6007b50
BLAKE2b-256 checksum
How to use checksums
d4c411872e823653c568468ef7f0c3b23aed7ad2d33652e20144d28d5bfad58a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.83-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL ty-0.0.83-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 13.7 MB
Tags Linux glibc 2.17+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
57eae4aa55dab1af5d1423227c6517ccab1e658fe265c8e5a58caa584ca2876b
BLAKE2b-256 checksum
How to use checksums
2e12aef645b13c5bd15e3e5993537dbc23f7d65475f3cf1755d07b4d3e56850d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.83-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL ty-0.0.83-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 13.5 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
c5b80d66c7f9c8d60f25ccfd40c6eaebe8fd7c9005074904e0e164dd89c13d03
BLAKE2b-256 checksum
How to use checksums
4978e647f190bd9513d09db30d45309e9b5df070b5caa44af2de3290fab59fbe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.83-py3-none-macosx_11_0_arm64.whl

Download URL ty-0.0.83-py3-none-macosx_11_0_arm64.whl
Size 13.5 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3515776d01ee3b1be974dafa73d449d0bc711afbc12ba341f82f70bc641ff4ee
BLAKE2b-256 checksum
How to use checksums
a05463080d8cfd59a53810499a69a2ebc995724be27618b70d7f099e73ace317
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.83-py3-none-macosx_10_12_x86_64.whl

Download URL ty-0.0.83-py3-none-macosx_10_12_x86_64.whl
Size 13.5 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
0f1fb029fe076c7dca404d98e38fdb5fdbc2038a09407f89d43be1fdd9b2c459
BLAKE2b-256 checksum
How to use checksums
d2309527386ade8dd71fc52f65cde3c094411af7ad0d505f9063ef0841998702
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.83-py3-none-linux_armv6l.whl

Download URL ty-0.0.83-py3-none-linux_armv6l.whl
Size 13.9 MB
Tags Python 3 linux armv6l
SHA-256 checksum
How to use checksums
836bc08bad96ecc7e38baf1a6ddaec15aa8c8b46ae99a96365397b5f6481b7a5
BLAKE2b-256 checksum
How to use checksums
bf857259431bade2317d8b82fa27220ae4618c21396acf0ca28a7bd75e92afd7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.83 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