Skip to main content

An extremely fast Python type checker, written in Rust.

Project description

ty

PyPI Discord

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ty-0.0.1a13.tar.gz (3.1 MB view details)

Uploaded Source

Built Distributions

ty-0.0.1a13-py3-none-win_arm64.whl (6.7 MB view details)

Uploaded Python 3Windows ARM64

ty-0.0.1a13-py3-none-win_amd64.whl (7.1 MB view details)

Uploaded Python 3Windows x86-64

ty-0.0.1a13-py3-none-win32.whl (6.5 MB view details)

Uploaded Python 3Windows x86

ty-0.0.1a13-py3-none-musllinux_1_2_x86_64.whl (7.4 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

ty-0.0.1a13-py3-none-musllinux_1_2_i686.whl (7.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

ty-0.0.1a13-py3-none-musllinux_1_2_armv7l.whl (6.8 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

ty-0.0.1a13-py3-none-musllinux_1_2_aarch64.whl (6.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

ty-0.0.1a13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

ty-0.0.1a13-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (7.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

ty-0.0.1a13-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (7.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

ty-0.0.1a13-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl (8.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64

ty-0.0.1a13-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (7.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

ty-0.0.1a13-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (6.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

ty-0.0.1a13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

ty-0.0.1a13-py3-none-macosx_11_0_arm64.whl (6.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

ty-0.0.1a13-py3-none-macosx_10_12_x86_64.whl (7.0 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

ty-0.0.1a13-py3-none-linux_armv6l.whl (6.9 MB view details)

Uploaded Python 3

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

Hashes for ty-0.0.1a13.tar.gz
Algorithm Hash digest
SHA256 2a0a96146540e66264dd8ead9530cc77f4283256b97f2c25588283572e012717
MD5 dd13a1c816529c25966f848c8b9388b6
BLAKE2b-256 a0b309d622729551bc5071e41ce13cc6c57a71eae0a100c993d8a6024c60ce2d

See more details on using hashes here.

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

Hashes for ty-0.0.1a13-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 5f2237bb301078d51d006170992abb1e5f3b37cec47a11e6db416a76346f60b5
MD5 32cdc2f1dc532bd3961155692c68bc5e
BLAKE2b-256 c762fe6cc92db2aa1a344937e5313ba3bbdaed24e54332b8a12fe28a92d314ce

See more details on using hashes here.

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

Hashes for ty-0.0.1a13-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 6e0dc212853166c4083fc2d5d9253f32d97f94b8afd90224dfea78bceffc2569
MD5 056064457c273e77ee93e31a119e6649
BLAKE2b-256 6e9193df4ef3b0368cbd59a20c5d72c4806169d0c0f125241148ededdc712896

See more details on using hashes here.

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

Hashes for ty-0.0.1a13-py3-none-win32.whl
Algorithm Hash digest
SHA256 18234d30b30ab6df9a5c1891051cf137184ea5bc446172200c25f497cd49eb2a
MD5 2161811673403f498677d82a9d9b56b4
BLAKE2b-256 b4f17d2afa92c10e57e3a5cd106fb13b0b327d3518cc45e62088c005786e2cdb

See more details on using hashes here.

File details

Details for the file ty-0.0.1a13-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ty-0.0.1a13-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2e86c4348961bbc23543c59a642aad324d7735dc4a3abdce9e7f828bf566b49b
MD5 861ec42ed6e7800d01c21b742f2bd7f2
BLAKE2b-256 2131392fc16133ce393b2271248ac8505c29bd682aacaf1dc9067b02a5c332b0

See more details on using hashes here.

File details

Details for the file ty-0.0.1a13-py3-none-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for ty-0.0.1a13-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 64d7239718a3bb7bc771c51da1d7d7f3239eead03903a97bc689fff10f4ae9e4
MD5 82d144c37c4704bf8175c7373fcbd0cf
BLAKE2b-256 a2da107a3beb2768a9591b6753f630dcb64b336eb9e44379e9cca22635fb5706

See more details on using hashes here.

File details

Details for the file ty-0.0.1a13-py3-none-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for ty-0.0.1a13-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 d4dd460a78d2931415fdbe114a91533a811b83e02b57960486ccb7e9d038bd55
MD5 7b484b1cafa0cd48d0b7bf6f52886e60
BLAKE2b-256 b9398f81eb2b01623725c838437ccdf2733502de8c28a2302a3705d04f6cb681

See more details on using hashes here.

File details

Details for the file ty-0.0.1a13-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ty-0.0.1a13-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 082d430c12b6c8fd58774cd1f5a9e7337d5900ef3cb56a567f21915e975ea02c
MD5 c06a0031fca82f4fe96f0ffb3f6e34bb
BLAKE2b-256 4718c72ff3354022b8918f6cd0e169b64e1e85f7ccb739343985fefb4ecf09f5

See more details on using hashes here.

File details

Details for the file ty-0.0.1a13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ty-0.0.1a13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d0f36beac8c8833e4fb9dcba47c7028a2be25736c10f9c8836e46981b93c030b
MD5 0a98cf53ca02f66a43e7d749be74683a
BLAKE2b-256 6dfb85fd217563c68c6e4db419a4e8c4db4b5cdcdc29af4ba736123d6a2224dc

See more details on using hashes here.

File details

Details for the file ty-0.0.1a13-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for ty-0.0.1a13-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 58836d12a8238550dcad0e9258af646c8d83e07485b97213ec0cdad0b6afc108
MD5 d07bd32703bf24f93e424a4ff6927b64
BLAKE2b-256 8ac4d6d9e5f53ae3f3ce82eafb68ab053758a604cabedb29122f1d3f4bcbbb80

See more details on using hashes here.

File details

Details for the file ty-0.0.1a13-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for ty-0.0.1a13-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 3e58e41fdaf4e8c4639718e29945322070c2c70eea2daa33800d8b2e677b4582
MD5 53d07ace75faf526c525ff17f46c2247
BLAKE2b-256 e13f00eefb65b61574816efaecb4779b2f7b8e81de1a90b890aea5d3c9a989dc

See more details on using hashes here.

File details

Details for the file ty-0.0.1a13-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl.

File metadata

File hashes

Hashes for ty-0.0.1a13-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
Algorithm Hash digest
SHA256 0f8d957620c1bc7dba6a996915a4527ae6b252b552bee71b2fd85cecc2b62e69
MD5 699f29272fb53f37e738b5d1e2a83852
BLAKE2b-256 723cb4260108b51f9e1212e06f82fbe5134546159f90239207ef6ebe5746533c

See more details on using hashes here.

File details

Details for the file ty-0.0.1a13-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for ty-0.0.1a13-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8ee3278edffbf1f4ad2abbd679fa31d2f6f39ab6fb652effc17866441559b77f
MD5 80ca05c6068d0b87ae93ec65f4c95144
BLAKE2b-256 d3ef31d4f3ca9eac47ad32b8f245af3f944f0f2cf08fb91d2977c5b1a5fda243

See more details on using hashes here.

File details

Details for the file ty-0.0.1a13-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for ty-0.0.1a13-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a9f398130e9db4be33d162c7a2ddcaf2e7ec6a4c3db895be419857d30960f14a
MD5 c1c88fefba9d48d1a8debf3c39c1c18e
BLAKE2b-256 9674062881a4eb2009702d46c75dafe3f7ba275ff97bdb8a3e6b68ba19c1a049

See more details on using hashes here.

File details

Details for the file ty-0.0.1a13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ty-0.0.1a13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 186ac4ec02746ac46f39651dec2b65ebc5bc026650452e28c55d8b58422ed649
MD5 e3f5a7c5a5e7fc7145d74352516fe2f9
BLAKE2b-256 b59ed0b2d3bb147704effeb3ad06276708c90038af709e7fa30f3bac1729c267

See more details on using hashes here.

File details

Details for the file ty-0.0.1a13-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ty-0.0.1a13-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c824899c45377af42c46a798c19d0dac00b91e5155f8766c701df4fd98a043fd
MD5 a5d73165d5db4e12540690807659bbc0
BLAKE2b-256 7e374345064293bd6543242ba9e627763ab3b2b13fc17d360a9aebc58189b6e4

See more details on using hashes here.

File details

Details for the file ty-0.0.1a13-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ty-0.0.1a13-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 abd2e52b66b6f30ebb645b26232bd80ef6cb5a06ce71f0ff55aeb7a038491116
MD5 c1787dbb97d2b4c0d593ac0c3fbb5b70
BLAKE2b-256 5a06a4b21058fc7b2671641ffd51f8bdc37334de0e85b80433ce664afc6dbcac

See more details on using hashes here.

File details

Details for the file ty-0.0.1a13-py3-none-linux_armv6l.whl.

File metadata

File hashes

Hashes for ty-0.0.1a13-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 9c35d6782d88231c72be8fd525183a63e10b3eaae70d425c9697f06a2beaa08b
MD5 6ec957d73207561ede1927696f7fade8
BLAKE2b-256 415eeadff1754c3b59797077b069202d12b9187b32f6fcd529bebcac54c6f299

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page