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

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.82
File Size Uploaded
ty-0.0.82.tar.gz 7.3 MB Details

Built distributions (wheels)

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

Total release size: 243.5 MB

Release files / ty-0.0.82.tar.gz

Download URL ty-0.0.82.tar.gz
Size 7.3 MB
Tags Source
SHA-256 checksum
How to use checksums
586e3bf784cece42113929bb64b4761bed5c2127ae6cea294bb82da670066356
BLAKE2b-256 checksum
How to use checksums
f6dfb9f35d0b8860f1bbfcb852fbef363301b5ca4b5590cadc6f2a810646d579
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.82-py3-none-win_arm64.whl

Download URL ty-0.0.82-py3-none-win_arm64.whl
Size 13.6 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
a6f0e8a1f961518746edbccc5986945c01a56a917ebe37117aa028a038d54ae3
BLAKE2b-256 checksum
How to use checksums
8bfc3b95100993d28acb2f3bcf3a49846985f5b2aafab6562627d018f6d23788
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.82-py3-none-win_amd64.whl

Download URL ty-0.0.82-py3-none-win_amd64.whl
Size 14.0 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
1e4a6c1ca2dc1a6929517d73a47cd626989bb8bd67811425fbe022d06eb2bf73
BLAKE2b-256 checksum
How to use checksums
1322faa427b65baf39915f52a6fa079ece4253e831f3364c567bf91bc1eef65a
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.82-py3-none-win32.whl

Download URL ty-0.0.82-py3-none-win32.whl
Size 13.1 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
0eb66c5ce58434a48d2cae2780d25285c7ca19e07a0d38b1fe39d1a0f75d6fa3
BLAKE2b-256 checksum
How to use checksums
a6db5505229835171d19adcaaeec3a15e0b533b578d24de1329db5da9306c4c6
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.82-py3-none-musllinux_1_2_x86_64.whl

Download URL ty-0.0.82-py3-none-musllinux_1_2_x86_64.whl
Size 14.2 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
f751044ae63ea9e73ce2eae4c23a839efa4a04d6487d6ea411a590fbe43360b6
BLAKE2b-256 checksum
How to use checksums
0c4ea58d530c0f5abe7b846e2d05af9e3f1fb44a1b620ae0abe3892cd3f9596c
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.82-py3-none-musllinux_1_2_i686.whl

Download URL ty-0.0.82-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
32a3fe7b1a50f20679fe76c85c0087280419365d900300898a7b95cbcfe510fc
BLAKE2b-256 checksum
How to use checksums
d79da4a487db72e78413bba2ee9cd49f79b8f461be93e7f6c4dd790febae1cd7
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.82-py3-none-musllinux_1_2_armv7l.whl

Download URL ty-0.0.82-py3-none-musllinux_1_2_armv7l.whl
Size 13.6 MB
Tags Linux musl 1.2+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
f4ed8fc714e35dc11ef4209832e73ad461cf29c9161099eb6c2c541c6b9a3e0e
BLAKE2b-256 checksum
How to use checksums
b4191ccc2429399d6ef3d98180340c7abc6793bd90c5039ad41a9003cb8de6df
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.82-py3-none-musllinux_1_2_aarch64.whl

Download URL ty-0.0.82-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
2964202b09108c72232760119c2680cefc33191c428b09e6f620b6c0ab9c6b0f
BLAKE2b-256 checksum
How to use checksums
3ab6016f9b36096a9ccd0492ee000380bd75fb51dc4ec7bfef4d6d93f6b3ec2e
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.82-py3-none-manylinux_2_31_riscv64.whl

Download URL ty-0.0.82-py3-none-manylinux_2_31_riscv64.whl
Size 14.5 MB
Tags Linux glibc 2.31+ RISC-V 64 Python 3
SHA-256 checksum
How to use checksums
14a0ae8591e08aca5911b545d100e51c9b796350a85b2b36d82219820552d662
BLAKE2b-256 checksum
How to use checksums
b7f86025627cec4d6370fb34a2c5cdcf36d89dd4e4ac75b023bda68231e17dfc
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.82-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ty-0.0.82-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
c2024a33209b37525ffa85a29036985e9ef53a013c0ff321231bd8b23987cf71
BLAKE2b-256 checksum
How to use checksums
aecd956ceae4dbe0b116ebc9ecb75dcbe9a0294c50146f76c4c59004e6eb2d77
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.82-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL ty-0.0.82-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
16fff2729fbaa3998ba1cab536dc7d176aef28927b09200588e50982394c56df
BLAKE2b-256 checksum
How to use checksums
0ad2a1c6315907afd080b4e98d2972441b4803a70c9663a8c7a7f6fd554c7361
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.82-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL ty-0.0.82-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 14.9 MB
Tags Linux glibc 2.17+ PowerPC 64-le Python 3
SHA-256 checksum
How to use checksums
28c141ab481748f1b889eb572e803172ea452af621e514c30a2f30884753b020
BLAKE2b-256 checksum
How to use checksums
6f3386ff8f1e15c71096838eb0fdfe0f5b578dc717575de6cba591d96baf3b06
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.82-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL ty-0.0.82-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
b7aa6e4e157c6e0b770c327a5d966371b2a7bc7ad4f22d662ac068623cba00eb
BLAKE2b-256 checksum
How to use checksums
cebe0c7a39e277a25bca21bbd2dcf640eb4d80cf98f318ef611092cda1222399
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.82-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL ty-0.0.82-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 13.6 MB
Tags Linux glibc 2.17+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
c899643f2a4c1782c06a4bf4959909d1aa2d9d2cac7c1ac3de3161dfcb6909f8
BLAKE2b-256 checksum
How to use checksums
5292b9519a7854189aa8da4309ecb9c6ff5ab8ac91a433e201322b15c98f9388
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.82-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL ty-0.0.82-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 13.4 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
7f5ef0401743c2eeac8039ef9ff1bc5dd612bd17ed0259b9b0794e19696548a6
BLAKE2b-256 checksum
How to use checksums
e714e2af8c64004cd891691915b1522f105a5d601dd8d76a635fec112911f251
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.82-py3-none-macosx_11_0_arm64.whl

Download URL ty-0.0.82-py3-none-macosx_11_0_arm64.whl
Size 13.4 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4f08bd5b751c3b2c46eabe8aee890e7fa54e3bcd97ffa4b8338b0a2508d928c2
BLAKE2b-256 checksum
How to use checksums
d5eb31fc4bdecb2ff0053443d4ec1e6719a3f3171636ad6da7a8a642c879a4f4
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.82-py3-none-macosx_10_12_x86_64.whl

Download URL ty-0.0.82-py3-none-macosx_10_12_x86_64.whl
Size 13.4 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
c080ba9a816cfbb3e34c0d3a0071829c602d14bb992bc799d885d4b30008b4ab
BLAKE2b-256 checksum
How to use checksums
70f6c8a1f70989cf44cf2cada5527e268b4216015a7f28f1d8817e4ef1e84a52
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.82-py3-none-linux_armv6l.whl

Download URL ty-0.0.82-py3-none-linux_armv6l.whl
Size 13.8 MB
Tags Python 3 linux armv6l
SHA-256 checksum
How to use checksums
be58e089e317e1ada7a655216828e76d369386dc958f7a3b3d455ab6dc7f02b6
BLAKE2b-256 checksum
How to use checksums
310e259760638b7b1a875743f1f3975253392932ff74397c8e174df7bfb143c3
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.82 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