An extremely fast Python type checker, written in Rust.
Project description
ty
An extremely fast Python type checker and language server, written in Rust.
WARNING:
ty is in preview and is not ready for production use.
We're working hard to make ty stable and feature-complete, but until then, expect to encounter bugs, missing features, and fatal errors.
Getting started
Try out the online playground, or run ty with uvx to get started quickly:
uvx ty
For other ways to install ty, see the installation documentation.
If you do not provide a subcommand, ty will list available commands — for detailed information about command-line options, see the CLI reference.
Use the check
command to run the type checker:
uvx ty check
ty will run on all Python files in the working directory and or subdirectories. If used from a
project, ty will run on all Python files in the project (starting in the directory with the
pyproject.toml
)
You can also provide specific paths to check:
uvx ty check example.py
When type checking, ty will find installed packages in the active virtual environment (via
VIRTUAL_ENV
) or discover a virtual environment named .venv
in the project root or working
directory. It will not find packages in non-virtual environments without specifying the target path
with --python
. See the module discovery documentation for
details.
Learning more
To learn more about using ty, see the documentation.
Getting involved
If you have questions or want to report a bug, please open an issue in this repository.
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.
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file ty-0.0.1a13.tar.gz
.
File metadata
- Download URL: ty-0.0.1a13.tar.gz
- Upload date:
- Size: 3.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
2a0a96146540e66264dd8ead9530cc77f4283256b97f2c25588283572e012717
|
|
MD5 |
dd13a1c816529c25966f848c8b9388b6
|
|
BLAKE2b-256 |
a0b309d622729551bc5071e41ce13cc6c57a71eae0a100c993d8a6024c60ce2d
|
File details
Details for the file ty-0.0.1a13-py3-none-win_arm64.whl
.
File metadata
- Download URL: ty-0.0.1a13-py3-none-win_arm64.whl
- Upload date:
- Size: 6.7 MB
- Tags: Python 3, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
5f2237bb301078d51d006170992abb1e5f3b37cec47a11e6db416a76346f60b5
|
|
MD5 |
32cdc2f1dc532bd3961155692c68bc5e
|
|
BLAKE2b-256 |
c762fe6cc92db2aa1a344937e5313ba3bbdaed24e54332b8a12fe28a92d314ce
|
File details
Details for the file ty-0.0.1a13-py3-none-win_amd64.whl
.
File metadata
- Download URL: ty-0.0.1a13-py3-none-win_amd64.whl
- Upload date:
- Size: 7.1 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
6e0dc212853166c4083fc2d5d9253f32d97f94b8afd90224dfea78bceffc2569
|
|
MD5 |
056064457c273e77ee93e31a119e6649
|
|
BLAKE2b-256 |
6e9193df4ef3b0368cbd59a20c5d72c4806169d0c0f125241148ededdc712896
|
File details
Details for the file ty-0.0.1a13-py3-none-win32.whl
.
File metadata
- Download URL: ty-0.0.1a13-py3-none-win32.whl
- Upload date:
- Size: 6.5 MB
- Tags: Python 3, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
18234d30b30ab6df9a5c1891051cf137184ea5bc446172200c25f497cd49eb2a
|
|
MD5 |
2161811673403f498677d82a9d9b56b4
|
|
BLAKE2b-256 |
b4f17d2afa92c10e57e3a5cd106fb13b0b327d3518cc45e62088c005786e2cdb
|
File details
Details for the file ty-0.0.1a13-py3-none-musllinux_1_2_x86_64.whl
.
File metadata
- Download URL: ty-0.0.1a13-py3-none-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 7.4 MB
- Tags: Python 3, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
2e86c4348961bbc23543c59a642aad324d7735dc4a3abdce9e7f828bf566b49b
|
|
MD5 |
861ec42ed6e7800d01c21b742f2bd7f2
|
|
BLAKE2b-256 |
2131392fc16133ce393b2271248ac8505c29bd682aacaf1dc9067b02a5c332b0
|
File details
Details for the file ty-0.0.1a13-py3-none-musllinux_1_2_i686.whl
.
File metadata
- Download URL: ty-0.0.1a13-py3-none-musllinux_1_2_i686.whl
- Upload date:
- Size: 7.2 MB
- Tags: Python 3, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
64d7239718a3bb7bc771c51da1d7d7f3239eead03903a97bc689fff10f4ae9e4
|
|
MD5 |
82d144c37c4704bf8175c7373fcbd0cf
|
|
BLAKE2b-256 |
a2da107a3beb2768a9591b6753f630dcb64b336eb9e44379e9cca22635fb5706
|
File details
Details for the file ty-0.0.1a13-py3-none-musllinux_1_2_armv7l.whl
.
File metadata
- Download URL: ty-0.0.1a13-py3-none-musllinux_1_2_armv7l.whl
- Upload date:
- Size: 6.8 MB
- Tags: Python 3, musllinux: musl 1.2+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
d4dd460a78d2931415fdbe114a91533a811b83e02b57960486ccb7e9d038bd55
|
|
MD5 |
7b484b1cafa0cd48d0b7bf6f52886e60
|
|
BLAKE2b-256 |
b9398f81eb2b01623725c838437ccdf2733502de8c28a2302a3705d04f6cb681
|
File details
Details for the file ty-0.0.1a13-py3-none-musllinux_1_2_aarch64.whl
.
File metadata
- Download URL: ty-0.0.1a13-py3-none-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 6.7 MB
- Tags: Python 3, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
082d430c12b6c8fd58774cd1f5a9e7337d5900ef3cb56a567f21915e975ea02c
|
|
MD5 |
c06a0031fca82f4fe96f0ffb3f6e34bb
|
|
BLAKE2b-256 |
4718c72ff3354022b8918f6cd0e169b64e1e85f7ccb739343985fefb4ecf09f5
|
File details
Details for the file ty-0.0.1a13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: ty-0.0.1a13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 7.3 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
d0f36beac8c8833e4fb9dcba47c7028a2be25736c10f9c8836e46981b93c030b
|
|
MD5 |
0a98cf53ca02f66a43e7d749be74683a
|
|
BLAKE2b-256 |
6dfb85fd217563c68c6e4db419a4e8c4db4b5cdcdc29af4ba736123d6a2224dc
|
File details
Details for the file ty-0.0.1a13-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
.
File metadata
- Download URL: ty-0.0.1a13-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
- Upload date:
- Size: 7.5 MB
- Tags: Python 3, manylinux: glibc 2.17+ s390x
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
58836d12a8238550dcad0e9258af646c8d83e07485b97213ec0cdad0b6afc108
|
|
MD5 |
d07bd32703bf24f93e424a4ff6927b64
|
|
BLAKE2b-256 |
8ac4d6d9e5f53ae3f3ce82eafb68ab053758a604cabedb29122f1d3f4bcbbb80
|
File details
Details for the file ty-0.0.1a13-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
.
File metadata
- Download URL: ty-0.0.1a13-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
- Upload date:
- Size: 7.7 MB
- Tags: Python 3, manylinux: glibc 2.17+ ppc64le
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
3e58e41fdaf4e8c4639718e29945322070c2c70eea2daa33800d8b2e677b4582
|
|
MD5 |
53d07ace75faf526c525ff17f46c2247
|
|
BLAKE2b-256 |
e13f00eefb65b61574816efaecb4779b2f7b8e81de1a90b890aea5d3c9a989dc
|
File details
Details for the file ty-0.0.1a13-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
.
File metadata
- Download URL: ty-0.0.1a13-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
- Upload date:
- Size: 8.0 MB
- Tags: Python 3, manylinux: glibc 2.17+ ppc64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
0f8d957620c1bc7dba6a996915a4527ae6b252b552bee71b2fd85cecc2b62e69
|
|
MD5 |
699f29272fb53f37e738b5d1e2a83852
|
|
BLAKE2b-256 |
723cb4260108b51f9e1212e06f82fbe5134546159f90239207ef6ebe5746533c
|
File details
Details for the file ty-0.0.1a13-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: ty-0.0.1a13-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 7.6 MB
- Tags: Python 3, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
8ee3278edffbf1f4ad2abbd679fa31d2f6f39ab6fb652effc17866441559b77f
|
|
MD5 |
80ca05c6068d0b87ae93ec65f4c95144
|
|
BLAKE2b-256 |
d3ef31d4f3ca9eac47ad32b8f245af3f944f0f2cf08fb91d2977c5b1a5fda243
|
File details
Details for the file ty-0.0.1a13-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
.
File metadata
- Download URL: ty-0.0.1a13-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
- Upload date:
- Size: 6.8 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
a9f398130e9db4be33d162c7a2ddcaf2e7ec6a4c3db895be419857d30960f14a
|
|
MD5 |
c1c88fefba9d48d1a8debf3c39c1c18e
|
|
BLAKE2b-256 |
9674062881a4eb2009702d46c75dafe3f7ba275ff97bdb8a3e6b68ba19c1a049
|
File details
Details for the file ty-0.0.1a13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
.
File metadata
- Download URL: ty-0.0.1a13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 6.8 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
186ac4ec02746ac46f39651dec2b65ebc5bc026650452e28c55d8b58422ed649
|
|
MD5 |
e3f5a7c5a5e7fc7145d74352516fe2f9
|
|
BLAKE2b-256 |
b59ed0b2d3bb147704effeb3ad06276708c90038af709e7fa30f3bac1729c267
|
File details
Details for the file ty-0.0.1a13-py3-none-macosx_11_0_arm64.whl
.
File metadata
- Download URL: ty-0.0.1a13-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 6.6 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
c824899c45377af42c46a798c19d0dac00b91e5155f8766c701df4fd98a043fd
|
|
MD5 |
a5d73165d5db4e12540690807659bbc0
|
|
BLAKE2b-256 |
7e374345064293bd6543242ba9e627763ab3b2b13fc17d360a9aebc58189b6e4
|
File details
Details for the file ty-0.0.1a13-py3-none-macosx_10_12_x86_64.whl
.
File metadata
- Download URL: ty-0.0.1a13-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 7.0 MB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
abd2e52b66b6f30ebb645b26232bd80ef6cb5a06ce71f0ff55aeb7a038491116
|
|
MD5 |
c1787dbb97d2b4c0d593ac0c3fbb5b70
|
|
BLAKE2b-256 |
5a06a4b21058fc7b2671641ffd51f8bdc37334de0e85b80433ce664afc6dbcac
|
File details
Details for the file ty-0.0.1a13-py3-none-linux_armv6l.whl
.
File metadata
- Download URL: ty-0.0.1a13-py3-none-linux_armv6l.whl
- Upload date:
- Size: 6.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
9c35d6782d88231c72be8fd525183a63e10b3eaae70d425c9697f06a2beaa08b
|
|
MD5 |
6ec957d73207561ede1927696f7fade8
|
|
BLAKE2b-256 |
415eeadff1754c3b59797077b069202d12b9187b32f6fcd529bebcac54c6f299
|