The uv check command prepares isolated environments and runs ty, unifying dependency sync and type checking in one step.
*Astral unveils a preview linking its uv package manager with the ty type checker. The merge promises script‑level dependency awareness and a single uv check command, reshaping Python workflows.*
Astral announced on October 13, 2026 that its uv package manager and ty type checker are now experimentally integrated. The move delivers first‑class support for Python scripts that declare dependencies via PEP 723, letting uv spin up precise environments that ty immediately consumes. Developers can run a single uv check command to sync dependencies and type‑check code, collapsing two traditionally separate steps into one streamlined workflow. The preview targets both CLI usage and editor extensions, promising tighter feedback loops and fewer version mismatches across teams.
The preview binds uv’s project‑wide environment data to ty’s code analysis. uv reads PEP 723 inline metadata, builds an isolated environment for each script, and hands that environment to ty. Ty then type‑checks, offers completions, hover info, and Go‑to‑Definition based on the exact dependencies declared for that script. Scripts in the same repo can declare divergent Python versions and packages, and each is evaluated against its own lockfile. The result is a per‑script, dependency‑accurate type check that scales across large workspaces without manual environment juggling.
uv check adds a single diagnostic entry point. When invoked, it prepares the project’s environment, installs required packages, and runs ty automatically. Users can target a single package with --package, all packages with --all-packages, or a specific script with --script. The command pulls the ty version from the project lockfile, guaranteeing consistent analysis across developers and CI pipelines. The pre‑commit hook also leverages uv check, ensuring every commit is type‑checked in the correct environment without extra setup.
Support for PEP 723 scripts and the uv check command starts at uv 0.12.3 and ty 0.0.76. To try the feature in VS Code, install uv, the ty VS Code extension, and add "ty.experimental.useUv": "on" to settings.json. The integration is opt‑in because environment creation can execute third‑party code. On the command line, setting the environment variable TY_UV= scripts and running uv check activates the feature without further configuration.
Astral labels the uv‑ty link as experimental and is soliciting feedback. Future work will expand uv check to include Ruff linting, merging lint and type diagnostics under one command. The team also plans checks that cross‑reference dependency graphs with type usage to flag unused packages. A stable release of ty is in progress, and broader script support will move from preview to default behavior as the integration matures.
Install uv and the ty VS Code extension, then add "ty.experimental.useUv": "on" to your settings.json.
Support requires uv 0.12.3 or later and ty 0.0.76 or later.
uv check prepares the script’s environment, installs declared dependencies, and runs ty type checking using the ty version from the lockfile.
The uv‑ty preview signals a shift toward monolithic Python toolchains that eliminate friction between dependency management and static analysis. If the community embraces the opt‑in model, Astral could set a new standard where a single command guarantees reproducible environments and reliable type safety. The next iteration, with Ruff integration and unused‑dependency detection, may force competing tool vendors to rethink siloed designs.
Sources: Hacker News (https://astral.sh/blog/uv-ty-integration)