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.1a15.tar.gz (3.9 MB view details)

Uploaded Source

Built Distributions

ty-0.0.1a15-py3-none-win_arm64.whl (7.6 MB view details)

Uploaded Python 3Windows ARM64

ty-0.0.1a15-py3-none-win_amd64.whl (8.0 MB view details)

Uploaded Python 3Windows x86-64

ty-0.0.1a15-py3-none-win32.whl (7.4 MB view details)

Uploaded Python 3Windows x86

ty-0.0.1a15-py3-none-musllinux_1_2_x86_64.whl (8.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

ty-0.0.1a15-py3-none-musllinux_1_2_i686.whl (8.1 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

ty-0.0.1a15-py3-none-musllinux_1_2_armv7l.whl (7.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

ty-0.0.1a15-py3-none-musllinux_1_2_aarch64.whl (7.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

ty-0.0.1a15-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

ty-0.0.1a15-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (8.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

ty-0.0.1a15-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (8.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

ty-0.0.1a15-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl (8.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64

ty-0.0.1a15-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (8.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

ty-0.0.1a15-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (7.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

ty-0.0.1a15-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

ty-0.0.1a15-py3-none-macosx_11_0_arm64.whl (7.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

ty-0.0.1a15-py3-none-macosx_10_12_x86_64.whl (7.9 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

ty-0.0.1a15-py3-none-linux_armv6l.whl (7.8 MB view details)

Uploaded Python 3

File details

Details for the file ty-0.0.1a15.tar.gz.

File metadata

  • Download URL: ty-0.0.1a15.tar.gz
  • Upload date:
  • Size: 3.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.8.0

File hashes

Hashes for ty-0.0.1a15.tar.gz
Algorithm Hash digest
SHA256 b601eb50e981bd3fb857eb17b473cad3728dab67f53370b6790dfc342797eb20
MD5 b22d1823b07ba8a6de0b266a2017f89e
BLAKE2b-256 28baabedc672a4d706241106923595d68573e995f85aced13aa3ef2e6d5069cf

See more details on using hashes here.

File details

Details for the file ty-0.0.1a15-py3-none-win_arm64.whl.

File metadata

  • Download URL: ty-0.0.1a15-py3-none-win_arm64.whl
  • Upload date:
  • Size: 7.6 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.8.0

File hashes

Hashes for ty-0.0.1a15-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 9ea13096dda97437284b61915da92384d283cd096dbe730a3f63ee644721d2d5
MD5 3521ae31b47c0621e7130b300f846c38
BLAKE2b-256 24e94d8c22801c7348ce79456c9c071914d94783c5f575ddddb30161b98a7c34

See more details on using hashes here.

File details

Details for the file ty-0.0.1a15-py3-none-win_amd64.whl.

File metadata

  • Download URL: ty-0.0.1a15-py3-none-win_amd64.whl
  • Upload date:
  • Size: 8.0 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.8.0

File hashes

Hashes for ty-0.0.1a15-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 2563111b072ea132443629a5fe0ec0cefed94c610cc694fc1bd2f48e179ca966
MD5 7cae2a1638350571ce276a8f047d82de
BLAKE2b-256 d414fc292587c6e85e0b2584562c2cee26ece7c86e0679a690de86f53ad367bf

See more details on using hashes here.

File details

Details for the file ty-0.0.1a15-py3-none-win32.whl.

File metadata

  • Download URL: ty-0.0.1a15-py3-none-win32.whl
  • Upload date:
  • Size: 7.4 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.8.0

File hashes

Hashes for ty-0.0.1a15-py3-none-win32.whl
Algorithm Hash digest
SHA256 42f8d40aa30ef0c2187b70528151e740b74db47eb84a568fbc636c7294a1046e
MD5 c1f4b6b3888feff82a041a0167099606
BLAKE2b-256 2eae90d6008d3afe0762d089b5b363be62c3e19d9730c0b04f823448a56aa5fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ty-0.0.1a15-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 26b28ed6e6ea80766fdd2608ea6e4daeb211e8de2b4b88376f574667bb90f489
MD5 9453c759013dabf1ae1a4fd2e96482d4
BLAKE2b-256 2ef2a6e94b8b0189af49e871210b7244c4d49c5ac9cc1167f16dd0f28e026745

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ty-0.0.1a15-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 07d53cb7c9c322be41dc79c373024422f6c6cd9e96f658e4b1b3289fe6130274
MD5 f2011f9a9d4a83c2919e9bf0b7ec82f5
BLAKE2b-256 2bba5569b0a1a90d302e0636718a73a7c3d7029cfa03670f6cc716a4ab318709

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ty-0.0.1a15-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 745355c15574d50229c3644e47bad1192e261faaf3a11870641b4902a8d9d8fe
MD5 f0421668865057000a39dc3374b92232
BLAKE2b-256 890828b33a1125128f57b09a71d043e6ee06502c773ef0fab03fb54bd58dcfa4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ty-0.0.1a15-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 60c330a9f37b260ebdf7d3e7e05ec483fab15116f11317ffd76b0e09598038b0
MD5 4d856b41e9a1a9486657ebaf83785c6a
BLAKE2b-256 0d0b959d4186d87fc99af7c0cb1c425d351d7204d4ed54638925c21915c338ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ty-0.0.1a15-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 32deff2b8b05e8a8b8bf0f48ca1eef72ec299b9cc546ef9aba7185a033de28b1
MD5 417ad913b3a2e3c510f10ef3d331bf82
BLAKE2b-256 402fc58c08165edb2e13b5c10f81fa2fc3f9c576992e7abb2c56d636245a49f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ty-0.0.1a15-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 0045fe7905813296fa821dad4aaabbe0f011ce34915fdfabf651db5b5f7b9d72
MD5 989c3eec90d0d8af129486e8815a9ee4
BLAKE2b-256 e7776b65b83e28d162951e72212f31a1f9fdf7d30023a37702cb35d451df9fb8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ty-0.0.1a15-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 d5a38db0c2ceb2f0c20241ef6a1a5b0996dad45532bb50661faf46f28b64b9f0
MD5 4451a3dead60d2d4eb2747bc02c8ecc4
BLAKE2b-256 e1537958aa2a730fea926f992cd217f33363c9d0dd0cb688a7c9afa5d083863e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ty-0.0.1a15-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
Algorithm Hash digest
SHA256 1a8de6d3185afbf7cc199932d7fc508887e7ddad95a15c930efc4b5445eae6de
MD5 e54482d091e56849f61c7faee929b25e
BLAKE2b-256 16bac4a246026dbdd9f537d882aa51fa34e3a43288b493952724f71a59fb93cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ty-0.0.1a15-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 38cae5d28b2882e66f4786825e87d500cfbb806c30bbcac745f20e459cf92482
MD5 0abe686a3c5b6543d82b8656fcef17c9
BLAKE2b-256 2cb9c1d8c8e268fe46a65e77b8a61ef5e76ebf6ce5eec2beeb6a063ab23042fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ty-0.0.1a15-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 c9c6b70ae331585984b79a4574f28619d5ff755515b93b5454d04f5c521ca864
MD5 1bf4b9870dc994a67714b56413b08f3f
BLAKE2b-256 2a35b12e34103638089848d58bb4a2813e9e77969fa7b4479212c9a263e7a176

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ty-0.0.1a15-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7648b0931177233e31d952723f068f2925696e464c436ed8bd820b775053474b
MD5 bce64d11280878b5d18c87ccb2be3bba
BLAKE2b-256 a4118fa1eba381f2bc70eb8eccb2f93aa6f674b9578a1281cdf4984100de8009

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ty-0.0.1a15-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a20b21ea9683d92d541de4a534b68b4b595c2d04bf77be0ebfe05c9768ef47e7
MD5 ce4da74989e3d8a89e6517c7113249d1
BLAKE2b-256 cb5ec37942782de2ed347ea24227fab61ad80383cee7f339af2be65a7732c4a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ty-0.0.1a15-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 855401e2fc1d4376f007ef7684dd9173e6a408adc2bc4610013f40c2a1d68d0f
MD5 668ff926c1fe89f8fec6dec53074252f
BLAKE2b-256 e7bdb4ee15ffbf0fda9853aefb6cdfaa8d15a07af6ab1c6c874f7ad9adcdc2bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ty-0.0.1a15-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 6110b5afee7ae1b0c8d00770eef4937ed0b700b823da04db04486bc661dc0f80
MD5 8da06b0db914ccacd8b8e694e0fa6fd3
BLAKE2b-256 17864846900f8b7f3dc7c2ec4e0bbd6bc4a4797f27443d3c9878ece5dfcb1446

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