Support `ty` type checker for Flyte V2 function signatures
- Dominant language
- Go
- Stars
- 7.5k
- Forks
- 886
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 120
Description
## Problem / User need
Delve Bio uses `ty` (Astral's type checker) when developing new Flyte V2 workflows. Clean type signatures are one of the benefits they're excited about in V2. However, `ty` reports errors on Flyte's decorated function signatures, which forces them to ignore typing entirely and undercuts the value of adopting `ty`.
## Current behavior
MyPy checks Flyte V2 code without issue, but `ty` errors on Flyte's function signatures — specifically some `@overload`s that `ty` fails to resolve. The user's current workaround is to suppress/ignore typing for the affected code.
## Proposed solution
Make Flyte V2's public API type-check cleanly under `ty`. Per the customer, the gap is likely narrow — a handful of overloads `ty` can't resolve — so this may be a relatively small typing fix rather than broad rework. Add `ty` to CI to prevent regressions.
## Success criteria
* Flyte V2 workflow/task code type-checks under `ty` with no false-positive errors on Flyte-provided signatures.
* Parity with the MyPy experience.
## Impact
* Customer: **Delve Bio** (actively migrating V1 → V2). Improved typing/DX is one of their stated V2 migration drivers.
* Union is independently interested in `ty` and uses it internally, so this aligns with internal tooling direction.
## Additional context
* Raised by Greg Gydush in the 2026-06-17 monthly sync (\~27:30). Greg offered to share the specific `ty` errors he's seeing.
* Not the customer's highest priority, but a recurring nice-to-have as they build out V2.
Contributor guide
Research direction
Start by locating Flyte V2's public Python APIs and the overloads mentioned in the issue, then reproduce the specific `ty` errors when Greg's examples are available. Compare the results with MyPy and identify the affected signatures; done means Flyte V2 workflow and task code type-checks cleanly under `ty`, with CI coverage to prevent regressions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100