ruff/crates/ty
Ibraheem Ahmed e9da1750a1
Add progress bar for ty check (#17965)
## Summary

Adds a simple progress bar for the `ty check` CLI command. The style is
taken from uv, and like uv the bar is always shown - for smaller
projects it is fast enough that it isn't noticeable. We could
alternatively hide it completely based on some heuristic for the number
of files, or only show it after some amount of time.

I also disabled it when `--watch` is passed, cancelling inflight checks
was leading to zombie progress bars. I think we can fix this by using
[`MultiProgress`](https://docs.rs/indicatif/latest/indicatif/struct.MultiProgress.html)
and managing all the bars globally, but I left that out for now.

Resolves https://github.com/astral-sh/ty/issues/98.
2025-05-09 13:32:27 -04:00
..
docs [ty] Document nearly all lints (#17981) 2025-05-09 18:06:56 +01:00
src Add progress bar for ty check (#17965) 2025-05-09 13:32:27 -04:00
tests Add progress bar for ty check (#17965) 2025-05-09 13:32:27 -04:00
build.rs Parse dist-workspace.toml for version (#17868) 2025-05-06 12:18:17 +00:00
Cargo.toml Add progress bar for ty check (#17965) 2025-05-09 13:32:27 -04:00
README.md Rename Red Knot (#17820) 2025-05-03 19:49:15 +02:00

ty

ty is an extremely fast type checker. Currently, it is a work-in-progress and not ready for user testing.

ty is designed to prioritize good type inference, even in unannotated code, and aims to avoid false positives.

While ty will produce similar results to mypy and pyright on many codebases, 100% compatibility with these tools is a non-goal. On some codebases, ty's design decisions lead to different outcomes than you would get from running one of these more established tools.

Contributing

Core type checking tests are written as Markdown code blocks. They can be found in ty_python_semantic/resources/mdtest. See ty_test/README.md for more information on the test framework itself.

The list of open issues can be found here.