An extremely fast Python type checker and language server, written in Rust.
Find a file
David Peter 6a408d5f98
Some checks failed
CI / python package (push) Has been cancelled
CI / pre-commit (push) Has been cancelled
CI / Check generated files unedited (push) Has been cancelled
CI / mkdocs (push) Has been cancelled
Bump version to 0.0.1a13 (#756)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2025-07-02 19:39:04 +02:00
.github Build the documentation in CI (#734) 2025-07-02 09:40:49 -05:00
docs Bump version to 0.0.1a13 (#756) 2025-07-02 19:39:04 +02:00
python/ty add py.typed (#276) 2025-05-08 09:00:10 -07:00
ruff@f76d3f87cf Bump version to 0.0.1a13 (#756) 2025-07-02 19:39:04 +02:00
scripts [CI] Add check for changes in autogenerated files (#415) 2025-05-16 08:05:04 +02:00
.editorconfig Move TOML indent size config (#251) 2025-05-07 18:13:32 +00:00
.gitattributes [CI] Add check for changes in autogenerated files (#415) 2025-05-16 08:05:04 +02:00
.gitignore Initial commit 2025-05-02 11:37:31 -05:00
.gitmodules Add ruff as a submodule 2025-05-02 11:41:08 -05:00
.markdownlint.yaml Setup pre-commit (#28) 2025-05-05 16:38:54 +02:00
.pre-commit-config.yaml Add reference for editor settings (#343) 2025-05-13 11:19:13 +02:00
.python-version Commit the uv.lock and .python-version files (#61) 2025-05-06 09:45:39 -05:00
_typos.toml Update email in code of conduct (#55) 2025-05-06 08:32:29 +02:00
CHANGELOG.md Bump version to 0.0.1a13 (#756) 2025-07-02 19:39:04 +02:00
CODE_OF_CONDUCT.md Update email in code of conduct (#55) 2025-05-06 08:32:29 +02:00
CONTRIBUTING.md Use 'origin' as the default remote name (#755) 2025-07-02 18:25:34 +02:00
dist-workspace.toml Bump version to 0.0.1a13 (#756) 2025-07-02 19:39:04 +02:00
Dockerfile Enable Docker build workflow (#38) 2025-05-05 15:48:32 -05:00
LICENSE Drop -MIT suffix from license file (#26) 2025-05-05 08:31:14 -05:00
mkdocs.insiders.yml Copy basic template and styling for documentation from uv (#729) 2025-07-02 09:40:49 -05:00
mkdocs.public.yml Copy basic template and styling for documentation from uv (#729) 2025-07-02 09:40:49 -05:00
mkdocs.template.yml Rename "Introduction" to "Getting started" (#753) 2025-07-02 09:40:49 -05:00
pyproject.toml Bump version to 0.0.1a13 (#756) 2025-07-02 19:39:04 +02:00
README.md Update documentation links to point to https://docs.astral.sh/ty/ 2025-07-02 09:40:49 -05:00
SECURITY.md Add SECURITY.md (#23) 2025-05-05 15:18:41 +02:00
uv.lock Bump version to 0.0.1a13 (#756) 2025-07-02 19:39:04 +02:00

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.