| .github | ||
| docs | ||
| python/ty | ||
| ruff@7a48477c67 | ||
| scripts | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| .markdownlint.yaml | ||
| .pre-commit-config.yaml | ||
| .python-version | ||
| _typos.toml | ||
| CHANGELOG.md | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| dist-workspace.toml | ||
| Dockerfile | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
| SECURITY.md | ||
| uv.lock | ||
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
Installation
uv tool install ty@latest
or add ty to your project:
uv add --dev ty
# With pip.
pip install ty
First steps
After installing ty, you can check that ty is available by running the ty command:
ty
An extremely fast Python type checker.
Usage: ty <COMMAND>
...
You should see a help menu listing the available commands.
For detailed information about command-line options, see the commands reference.
Checking a project
The easiest way to type check your project is by running ty through uv. To do that, add ty as a project dependency:
uv add --dev ty
and then just run uv run ty check to type check all python files in the project's root. If you don't have a project yet, run uv init to create one.
uv run ty check
WARN ty is pre-release software and not ready for production use. Expect to encounter bugs, missing features, and fatal errors.
All checks passed!
Note
As an alternative to
uv run, you can also run ty by activating the project's virtual environment (source.venv/bin/activeon Linux and macOS, or.venv\Scripts\activateon Windows) and runningty checkdirectly.
ty checks the entire project by default, but you can also pass specific paths to check:
uv run ty check src/main.py
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.