Skip to content

[ty] Support TypeVarTuple and Unpack#25240

Draft
dhruvmanila wants to merge 4 commits into
mainfrom
dhruv/codex/typevartuple-support
Draft

[ty] Support TypeVarTuple and Unpack#25240
dhruvmanila wants to merge 4 commits into
mainfrom
dhruv/codex/typevartuple-support

Conversation

@dhruvmanila

@dhruvmanila dhruvmanila commented May 19, 2026

Copy link
Copy Markdown
Member

Summary

WIP: Opening to look at ecosystem changes...

closes: astral-sh/ty#156
closes: astral-sh/ty#1746

Test Plan

@dhruvmanila dhruvmanila added the ty Multi-file analysis & type inference label May 19, 2026
@dhruvmanila dhruvmanila changed the title [ty] Add initial TypeVarTuple support [ty] Add initial TypeVarTuple support May 19, 2026
@dhruvmanila dhruvmanila force-pushed the dhruv/codex/typevartuple-support branch from 81058e6 to c9b3969 Compare May 19, 2026 15:00
@astral-sh-bot

astral-sh-bot Bot commented May 19, 2026

Copy link
Copy Markdown

Typing conformance results improved 🎉

The percentage of diagnostics emitted that were expected errors increased from 94.36% to 96.92%. The percentage of expected errors that received a diagnostic increased from 88.82% to 90.87%. The number of fully passing files improved from 93/134 to 98/134.

Summary

How are test cases classified?

Each test case represents one expected error annotation or a group of annotations sharing a tag. Counts are per test case, not per diagnostic — multiple diagnostics on the same line count as one. Required annotations (E) are true positives when ty flags the expected location and false negatives when it does not. Optional annotations (E?) are true positives when flagged but true negatives (not false negatives) when not. Tagged annotations (E[tag]) require ty to flag exactly one of the tagged lines; tagged multi-annotations (E[tag+]) allow any number up to the tag count. Flagging unexpected locations counts as a false positive.

Metric Old New Diff Outcome
True Positives 953 975 +22 ⏫ (✅)
False Positives 57 31 -26 ⏬ (✅)
False Negatives 120 98 -22 ⏬ (✅)
Total Diagnostics 1058 1056 -2
Precision 94.36% 96.92% +2.56% ⏫ (✅)
Recall 88.82% 90.87% +2.05% ⏫ (✅)
Passing Files 93/134 98/134 +5 ⏫ (✅)

Test file breakdown

8 files altered
File True Positives False Positives False Negatives Status
generics_typevartuple_specialization.py 6 (+4) ✅ 0 (-15) ✅ 0 (-4) ✅ ✅ Newly Passing 🎉
generics_typevartuple_args.py 8 (+8) ✅ 0 (-3) ✅ 0 (-8) ✅ ✅ Newly Passing 🎉
generics_typevartuple_basic.py 13 (+8) ✅ 1 1 (-8) ✅ 📈 Improving
generics_typevartuple_callable.py 1 (+1) ✅ 0 (-3) ✅ 0 (-1) ✅ ✅ Newly Passing 🎉
generics_defaults.py 5 4 (-3) ✅ 1 📈 Improving
generics_typevartuple_unpack.py 1 (+1) ✅ 0 0 (-1) ✅ ✅ Newly Passing 🎉
aliases_type_statement.py 24 0 (-1) ✅ 1 📈 Improving
generics_typevartuple_concat.py 0 0 (-1) ✅ 0 ✅ Newly Passing 🎉
Total (all files) 975 (+22) ✅ 31 (-26) ✅ 98 (-22) ✅ 98/134

True positives added (22)

22 diagnostics
Test case Diff

generics_typevartuple_args.py:33

+error[invalid-argument-type] Argument to function `exec_le` is incorrect: Expected `tuple[Literal[0], Env]`, found `tuple[Literal[0], Literal[""]]`

generics_typevartuple_args.py:34

+error[invalid-argument-type] Argument to function `exec_le` is incorrect: Expected `tuple[Literal[0], Env]`, found `tuple[Literal[0], Literal[""]]`

generics_typevartuple_args.py:48

+error[invalid-argument-type] Argument to function `func1` is incorrect: Expected `tuple[int, ...]`, found `tuple[Literal[1], Literal["2"], Literal[3]]`

generics_typevartuple_args.py:57

+error[invalid-argument-type] Argument to function `func2` is incorrect: Expected `tuple[int, *tuple[str, ...], str]`, found `tuple[Literal[1], Literal[1], Literal[""]]`

generics_typevartuple_args.py:58

+error[invalid-argument-type] Argument to function `func2` is incorrect: Expected `tuple[int, *tuple[str, ...], str]`, found `tuple[Literal[1]]`

generics_typevartuple_args.py:59

+error[invalid-argument-type] Argument to function `func2` is incorrect: Expected `tuple[int, *tuple[str, ...], str]`, found `tuple[Literal[""]]`

generics_typevartuple_args.py:67

+error[invalid-argument-type] Argument to function `func3` is incorrect: Expected `tuple[int, str]`, found `tuple[Literal[1]]`

generics_typevartuple_args.py:75

+error[invalid-argument-type] Argument to function `func4` is incorrect: Expected `tuple[Literal[0]]`, found `tuple[Literal[1], Literal[2]]`

generics_typevartuple_basic.py:100

+error[invalid-argument-type] Argument to function `multiply` is incorrect: Expected `Array[Height | Width]`, found `Array[Height]`
+error[invalid-argument-type] Argument to function `multiply` is incorrect: Expected `Array[Height | Width]`, found `Array[Width]`

generics_typevartuple_basic.py:101

+error[invalid-argument-type] Argument to function `multiply` is incorrect: Expected `Array[Height]`, found `Array[Height, Width]`

generics_typevartuple_basic.py:43

+error[invalid-assignment] Object of type `Array[Shape@Array]` is not assignable to `Array[Batch, Height, Width]`
+error[invalid-argument-type] Argument to `Array.__init__` is incorrect: Expected `tuple[Batch, Height, Width]`, found `tuple[Batch, Width]`

generics_typevartuple_basic.py:53

+error[invalid-type-form] Bare TypeVarTuple `Shape` is not valid in this context in a parameter annotation

generics_typevartuple_basic.py:56

+error[invalid-type-form] Bare TypeVarTuple `Shape` is not valid in this context in a return type annotation

generics_typevartuple_basic.py:59

+error[invalid-type-form] Bare TypeVarTuple `Shape` is not valid in this context in a parameter annotation

generics_typevartuple_basic.py:91

+error[invalid-argument-type] Argument to function `func2` is incorrect: Expected `tuple[Literal[0], Literal[0]]`, found `tuple[Literal[0]]`

generics_typevartuple_basic.py:44

+error[invalid-assignment] Object of type `Array[Time, Batch, Width, Height]` is not assignable to `Array[Time, Batch, Height, Width]`

generics_typevartuple_callable.py:26

+error[invalid-argument-type] Argument to `Process.__init__` is incorrect: Expected `(int | Literal[""], str | Literal[0], /) -> None`, found `def func1(arg1: int, arg2: str) -> None`

generics_typevartuple_specialization.py:109

+error[invalid-type-form] `*` can only unpack a tuple type or `TypeVarTuple`

generics_typevartuple_specialization.py:110

+error[invalid-type-form] `Unpack` can only be used with a fixed tuple type in this context

generics_typevartuple_specialization.py:127

+error[invalid-type-arguments] No type arguments provided for required type variables `T1`, `T2`

generics_typevartuple_specialization.py:163

+error[invalid-type-form] A TypeVarTuple cannot be split to provide a fixed type argument

generics_typevartuple_unpack.py:30

+error[invalid-argument-type] Argument to function `process_batch_channels` is incorrect: Expected `Array[*tuple[Batch, *tuple[Any, ...], Channels]]`, found `Array[Batch]`

False positives removed (29)

29 diagnostics
Test case Diff

aliases_type_statement.py:10

-error[invalid-type-arguments] Too many type arguments: expected 2, got 3
-error[invalid-type-form] `...` is not allowed in this context in a type alias value

generics_defaults.py:139

-error[type-assertion-failure] Type `tuple[@Todo(TypeVarTuple), ...]` does not match asserted type `tuple[str, int]`

generics_defaults.py:140

-error[type-assertion-failure] Type `Class_TypeVarTuple` does not match asserted type `@Todo(specialized non-generic class)`

generics_defaults.py:200

-error[invalid-type-form] The first argument to `Callable` must be either a list of types, ParamSpec, Concatenate, or `...`

generics_defaults.py:207

-error[type-assertion-failure] Type `@Todo(specialized non-generic class)` does not match asserted type `tuple[int, str]`

generics_defaults.py:208

-error[type-assertion-failure] Type `@Todo(specialized non-generic class)` does not match asserted type `(bytes, /) -> None`

generics_typevartuple_args.py:29

-error[type-assertion-failure] Type `tuple[@Todo(TypeVarTuple), ...]` does not match asserted type `tuple[int, str]`

generics_typevartuple_args.py:31

-error[type-assertion-failure] Type `tuple[@Todo(TypeVarTuple), ...]` does not match asserted type `tuple[()]`

generics_typevartuple_args.py:32

-error[type-assertion-failure] Type `tuple[@Todo(TypeVarTuple), ...]` does not match asserted type `tuple[int, str]`

generics_typevartuple_basic.py:85

-error[type-assertion-failure] Type `tuple[@Todo(TypeVarTuple), ...]` does not match asserted type `tuple[int]`

generics_typevartuple_callable.py:41

-error[type-assertion-failure] Type `tuple[@Todo(TypeVarTuple), ...]` does not match asserted type `tuple[str, int, int | float | complex]`

generics_typevartuple_callable.py:42

-error[type-assertion-failure] Type `tuple[@Todo(TypeVarTuple), ...]` does not match asserted type `tuple[str]`

generics_typevartuple_callable.py:50

-error[type-assertion-failure] Type `tuple[@Todo(TypeVarTuple), ...]` does not match asserted type `tuple[int | float | complex, str, int | float]`

generics_typevartuple_concat.py:53

-error[type-assertion-failure] Type `tuple[@Todo(TypeVarTuple), ...]` does not match asserted type `tuple[int, bool, str]`

generics_typevartuple_specialization.py:135

-error[type-assertion-failure] Type `tuple[tuple[@Todo(TypeVarTuple), ...], Unknown, Unknown]` does not match asserted type `tuple[tuple[()], str, bool]`

generics_typevartuple_specialization.py:136

-error[type-assertion-failure] Type `tuple[tuple[@Todo(TypeVarTuple), ...], Unknown, Unknown]` does not match asserted type `tuple[tuple[str], bool, int | float]`

generics_typevartuple_specialization.py:137

-error[type-assertion-failure] Type `tuple[tuple[@Todo(TypeVarTuple), ...], Unknown, Unknown]` does not match asserted type `tuple[tuple[str, bool], int | float, int]`

generics_typevartuple_specialization.py:148

-error[type-assertion-failure] Type `tuple[tuple[@Todo(TypeVarTuple), ...], Unknown, Unknown, Unknown]` does not match asserted type `tuple[tuple[()], str, bool, int | float]`

generics_typevartuple_specialization.py:149

-error[type-assertion-failure] Type `tuple[tuple[@Todo(TypeVarTuple), ...], Unknown, Unknown, Unknown]` does not match asserted type `tuple[tuple[bool], str, int | float, int]`

generics_typevartuple_specialization.py:157

-error[type-assertion-failure] Type `tuple[@Todo(TypeVarTuple), ...]` does not match asserted type `tuple[*tuple[int, ...], int]`

generics_typevartuple_specialization.py:158

-error[type-assertion-failure] Type `tuple[@Todo(TypeVarTuple), ...]` does not match asserted type `tuple[*tuple[int, ...], str]`

generics_typevartuple_specialization.py:159

-error[type-assertion-failure] Type `tuple[@Todo(TypeVarTuple), ...]` does not match asserted type `tuple[*tuple[int, ...], str]`

generics_typevartuple_specialization.py:45

-error[not-subscriptable] Cannot subscript non-generic type `<class 'tuple[str, @Todo(specialized non-generic class)]'>`

generics_typevartuple_specialization.py:46

-error[type-assertion-failure] Type `tuple[@Todo(TypeVarTuple), ...]` does not match asserted type `tuple[int, int | float, bool]`

generics_typevartuple_specialization.py:47

-error[type-assertion-failure] Type `Unknown` does not match asserted type `tuple[str, @Todo(specialized non-generic class)]`

generics_typevartuple_specialization.py:51

-error[type-assertion-failure] Type `tuple[@Todo(TypeVarTuple), ...]` does not match asserted type `tuple[int]`

generics_typevartuple_specialization.py:93

-error[type-assertion-failure] Type `tuple[@Todo(TypeVarTuple), ...]` does not match asserted type `tuple[str, int]`

generics_typevartuple_specialization.py:94

-error[type-assertion-failure] Type `tuple[@Todo(TypeVarTuple), ...]` does not match asserted type `tuple[int | float]`

generics_typevartuple_specialization.py:95

-error[type-assertion-failure] Type `tuple[@Todo(TypeVarTuple), ...]` does not match asserted type `tuple[Any, *tuple[Any, ...]]`

True positives changed (4)

4 diagnostics
Test case Diff

generics_typevartuple_basic.py:42

-error[invalid-argument-type] Argument to `Array.__init__` is incorrect: Expected `tuple[@Todo(TypeVarTuple), ...]`, found `Height`
+error[invalid-assignment] Object of type `Array[Shape@Array]` is not assignable to `Array[Height, Width]`
+error[invalid-argument-type] Argument to `Array.__init__` is incorrect: Expected `tuple[Height, Width]`, found `Height`

generics_typevartuple_basic.py:65

-error[unknown-argument] Argument `covariant` does not match any known parameter of constructor `TypeVarTuple.__new__`
+error[invalid-legacy-type-variable] The `covariant` parameter of `typing.TypeVarTuple` was added in Python 3.15

generics_typevartuple_basic.py:66

-error[too-many-positional-arguments] Too many positional arguments to constructor `TypeVarTuple.__new__`: expected 2, got 4
+error[invalid-legacy-type-variable] `TypeVarTuple` can only have one positional argument

generics_typevartuple_basic.py:67

-error[unknown-argument] Argument `bound` does not match any known parameter of constructor `TypeVarTuple.__new__`
+error[invalid-legacy-type-variable] The `bound` parameter of `typing.TypeVarTuple` was added in Python 3.15

False positives changed (2)

2 diagnostics
Test case Diff

generics_defaults.py:204

-error[type-assertion-failure] Type `@Todo(specialized non-generic class)` does not match asserted type `tuple[int, str]`
+error[type-assertion-failure] Type `tuple[int]` does not match asserted type `tuple[int, str]`

generics_defaults.py:205

-error[type-assertion-failure] Type `@Todo(specialized non-generic class)` does not match asserted type `(int | float, bool, /) -> None`
+error[type-assertion-failure] Type `(...) -> None` does not match asserted type `(int | float, bool, /) -> None`

False positives added (3)

3 diagnostics
Test case Diff

generics_defaults.py:144

+error[invalid-type-form] `Unpack` can only unpack a tuple type or `TypeVarTuple`

generics_defaults.py:203

+error[invalid-type-arguments] Type argument for `ParamSpec` must be either a list of types, `ParamSpec`, `Concatenate`, or `...`

generics_typevartuple_basic.py:54

+error[unbound-type-variable] Type variable `Shape` is not bound to any outer generic context

@astral-sh-bot

astral-sh-bot Bot commented May 19, 2026

Copy link
Copy Markdown

Memory usage report

Summary

Project Old New Diff Outcome
prefect 553.98MB 554.04MB +0.01% (61.67kB)
trio 86.49MB 86.50MB +0.01% (13.05kB)
sphinx 203.55MB 203.55MB +0.00% (788.00B)
flake8 35.05MB 35.05MB -0.00% (1.64kB) ⬇️

Significant changes

Click to expand detailed breakdown

prefect

Name Old New Diff Outcome
infer_expression_types_impl 54.11MB 54.12MB +0.02% (8.75kB)
Type<'db>::apply_specialization_inner_::interned_arguments 2.78MB 2.79MB +0.24% (6.95kB)
Type<'db>::apply_specialization_inner_ 3.16MB 3.16MB +0.20% (6.55kB)
FunctionType 4.42MB 4.42MB +0.07% (3.05kB)
infer_definition_types 76.12MB 76.12MB +0.00% (2.47kB)
member_lookup_with_policy_inner 14.13MB 14.13MB +0.02% (2.46kB)
Specialization 2.49MB 2.50MB +0.10% (2.45kB)
when_constraint_set_assignable_to_owned_impl 2.89MB 2.89MB +0.08% (2.45kB)
CallableType 2.69MB 2.70MB +0.08% (2.22kB)
TupleType 760.11kB 762.28kB +0.29% (2.17kB)
Type<'db>::class_member_with_policy_ 10.86MB 10.86MB +0.02% (1.96kB)
GenericContext 334.12kB 335.80kB +0.50% (1.67kB)
is_redundant_with_impl::interned_arguments 2.32MB 2.32MB +0.06% (1.46kB)
is_redundant_with_impl 1.93MB 1.93MB +0.06% (1.23kB)
FunctionType<'db>::signature_ 2.86MB 2.86MB +0.04% (1.13kB)
... 55 more

trio

Name Old New Diff Outcome
Type<'db>::apply_specialization_inner_::interned_arguments 503.83kB 507.42kB +0.71% (3.59kB)
Type<'db>::apply_specialization_inner_ 554.68kB 557.66kB +0.54% (2.98kB)
CallableType 667.71kB 669.85kB +0.32% (2.14kB)
TupleType 101.64kB 103.30kB +1.63% (1.66kB)
GenericContext 133.28kB 134.91kB +1.22% (1.62kB)
when_constraint_set_assignable_to_owned_impl 384.04kB 385.29kB +0.33% (1.25kB)
BoundTypeVarInstance 183.59kB 184.84kB +0.68% (1.25kB)
infer_definition_types 6.67MB 6.67MB -0.02% (1.20kB)
infer_scope_types_impl 3.73MB 3.73MB +0.02% (952.00B)
Specialization 453.77kB 454.52kB +0.17% (768.00B)
TypeVarIdentity 18.28kB 18.94kB +3.59% (672.00B)
TypeVarInstance 63.47kB 64.12kB +1.03% (672.00B)
infer_expression_types_impl 6.50MB 6.50MB -0.01% (660.00B)
when_constraint_set_assignable_to_owned_impl::interned_arguments 79.32kB 79.84kB +0.65% (528.00B)
InferableTypeVarsInner 73.84kB 74.26kB +0.57% (432.00B)
... 36 more

sphinx

Name Old New Diff Outcome
infer_definition_types 20.88MB 20.88MB -0.00% (924.00B)
is_redundant_with_impl::interned_arguments 1.13MB 1.13MB +0.05% (616.00B)
infer_expression_types_impl 20.19MB 20.19MB +0.00% (592.00B)
TupleType 552.98kB 553.45kB +0.08% (480.00B)
infer_deferred_types 4.11MB 4.11MB -0.01% (420.00B)
FunctionType<'db>::signature_ 1.74MB 1.74MB -0.02% (392.00B)
GenericContext 149.86kB 150.20kB +0.23% (352.00B)
is_redundant_with_impl 898.49kB 898.82kB +0.04% (336.00B)
place_by_id 1.61MB 1.61MB -0.02% (336.00B)
UnionType 651.48kB 651.72kB +0.04% (240.00B)
BoundTypeVarInstance 695.62kB 695.86kB +0.03% (240.00B)
BoundMethodType<'db>::bound_signatures_ 379.80kB 380.02kB +0.06% (232.00B)
place_by_id::interned_arguments 1.03MB 1.03MB -0.02% (216.00B)
Type<'db>::apply_specialization_inner_ 1.51MB 1.51MB +0.01% (196.00B)
TypeVarIdentity 17.25kB 17.44kB +1.09% (192.00B)
... 28 more

flake8

Name Old New Diff Outcome
infer_definition_types 1.59MB 1.59MB -0.06% (1.05kB) ⬇️
is_redundant_with_impl::interned_arguments 89.12kB 89.63kB +0.58% (528.00B) ⬇️
infer_deferred_types 453.25kB 452.74kB -0.11% (516.00B) ⬇️
place_by_id 164.73kB 164.30kB -0.26% (440.00B) ⬇️
FunctionType<'db>::signature_ 272.82kB 272.41kB -0.15% (416.00B) ⬇️
IntersectionType 50.27kB 50.59kB +0.65% (336.00B) ⬇️
place_by_id::interned_arguments 105.47kB 105.19kB -0.27% (288.00B) ⬇️
TupleType 76.20kB 76.48kB +0.37% (288.00B) ⬇️
is_redundant_with_impl 75.15kB 75.43kB +0.37% (288.00B) ⬇️
BoundMethodType<'db>::bound_signatures_ 30.21kB 30.44kB +0.75% (232.00B) ⬇️
TupleType<'db>::to_class_type_ 13.71kB 13.88kB +1.28% (180.00B) ⬇️
is_possibly_constraint_set_assignable::interned_arguments 18.82kB 18.65kB -0.91% (176.00B) ⬇️
lookup_dunder_new_inner 13.78kB 13.62kB -1.16% (164.00B) ⬇️
Specialization 170.36kB 170.52kB +0.09% (160.00B) ⬇️
Type<'db>::class_member_with_policy_ 340.72kB 340.57kB -0.04% (152.00B) ⬇️
... 27 more

@astral-sh-bot

astral-sh-bot Bot commented May 19, 2026

Copy link
Copy Markdown

ecosystem-analyzer results

Lint rule Added Removed Changed
invalid-argument-type 207 1 35
unused-type-ignore-comment 0 83 0
not-subscriptable 1 52 0
unresolved-attribute 17 16 18
unused-ignore-comment 23 0 0
invalid-return-type 10 2 3
no-matching-overload 12 3 0
invalid-assignment 9 2 1
invalid-yield 7 0 4
unsupported-operator 10 0 1
type-assertion-failure 2 4 0
invalid-type-form 3 0 1
invalid-generic-class 2 0 0
possibly-unresolved-reference 0 2 0
empty-body 0 0 1
invalid-method-override 1 0 0
not-iterable 0 0 1
unbound-type-variable 0 1 0
Total 304 166 65

Flaky changes detected. This PR summary excludes flaky changes; see the HTML report for details.

Showing a random sample of 284 of 535 changes. See the HTML report for the full diff.

Raw diff sample (284 of 535 changes)
anyio (https://github.com/agronholm/anyio)
+ src/anyio/_core/_fileio.py:277:30 error[invalid-argument-type] Argument to `Path.__init__` is incorrect: Expected `str | PathLike[str]`, found `(_T@next & ~None) | (_T@next & ~None) | (_VT@next & ~None)`
+ src/anyio/_core/_tempfile.py:554:37 error[invalid-argument-type] Argument to function `run_sync` is incorrect: Expected `(AnyStr@mkstemp | None | str | bytes, AnyStr@mkstemp | None | str | bytes, AnyStr@mkstemp | None | str | ... omitted 3 union elements, bool, /) -> tuple[int, str] | tuple[int, bytes]`, found `Overload[(suffix: str | None = None, prefix: str | None = None, dir: str | PathLike[str] | None = None, text: bool = False) -> tuple[int, str], (suffix: bytes | None = None, prefix: bytes | None = None, dir: bytes | PathLike[bytes] | None = None, text: bool = False) -> tuple[int, bytes]]`

core (https://github.com/home-assistant/core)
- homeassistant/components/cast/const.py:22:22 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/components/cast/const.py:25:29 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/components/device_tracker/const.py:66:31 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/components/ffmpeg/const.py:8:22 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/components/ffmpeg/const.py:9:25 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/components/homekit/const.py:15:25 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalTypeFormat'>`
- homeassistant/components/mqtt/discovery.py:75:22 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalTypeFormat'>`
- homeassistant/util/signal_type.py:10:24 error[not-subscriptable] Cannot subscript non-generic type `<class '_SignalTypeBase'>`
+ homeassistant/util/logging.py:235:16 error[invalid-return-type] Return type does not match returned value: expected `((*_Ts@catch_log_exception) -> None) | ((*_Ts@catch_log_exception) -> Coroutine[Any, Any, None])`, found `_Wrapped[(*_Ts@catch_log_exception), Any, (), None]`
+ homeassistant/components/backblaze_b2/backup.py:224:27 error[invalid-yield] Yield type `(_T@next & ~None) | (_T@next & ~None) | (_VT@next & ~None)` does not match annotated yield type `bytes`
+ homeassistant/components/backup/manager.py:1975:46 error[invalid-argument-type] Argument to bound method `HomeAssistant.async_add_executor_job` is incorrect: Expected `(bytes | str, /) -> int`, found `(bound method TextIOWrapper[_WrappedBuffer].write(s: str, /) -> int) | (Overload[(s: Buffer, /) -> int, (s: bytes, /) -> int]) | (Overload[(s: Buffer, /) -> int, (s: Any, /) -> int])`
+ homeassistant/components/backup/manager.py:2003:61 error[invalid-argument-type] Argument to bound method `HomeAssistant.async_add_executor_job` is incorrect: Expected `(int | None, /) -> str`, found `(bound method TextIOWrapper[_WrappedBuffer].read(size: int | None = -1, /) -> str) | (bound method BinaryIO.read(n: int = -1, /) -> bytes) | (bound method IO[Any].read(n: int = -1, /) -> Any)`
+ homeassistant/components/backup/manager.py:2065:50 error[invalid-argument-type] Argument to bound method `HomeAssistant.async_add_executor_job` is incorrect: Expected `(bytes | str, /) -> int`, found `(bound method TextIOWrapper[_WrappedBuffer].write(s: str, /) -> int) | (Overload[(s: Buffer, /) -> int, (s: bytes, /) -> int]) | (Overload[(s: Buffer, /) -> int, (s: Any, /) -> int])`
- homeassistant/components/cloud/__init__.py:96:29 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/components/icloud/config_flow.py:216:36 error[invalid-argument-type] Argument to constructor `enumerate.__new__` is incorrect: Expected `Iterable[Any]`, found `Any | None | bool | list[Any] | dict[Any, Any]`
+ homeassistant/components/icloud/config_flow.py:216:36 error[invalid-argument-type] Argument to constructor `enumerate.__new__` is incorrect: Expected `Iterable[Any]`, found `Any | None | bool | ... omitted 3 union elements`
+ homeassistant/components/icloud/config_flow.py:226:32 error[not-subscriptable] Cannot subscript object of type `_T@getattr` with no `__getitem__` method
- homeassistant/components/knx/telegrams.py:26:22 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/components/knx/telegrams.py:27:40 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/components/media_player/__init__.py:1023:52 error[invalid-argument-type] Argument to bound method `HomeAssistant.async_add_executor_job` is incorrect: Expected `(...) -> Unknown`, found `object`
+ homeassistant/components/media_player/__init__.py:1023:52 error[invalid-argument-type] Argument to bound method `HomeAssistant.async_add_executor_job` is incorrect: Expected `() -> Unknown`, found `object`
- homeassistant/components/media_player/__init__.py:1074:52 error[invalid-argument-type] Argument to bound method `HomeAssistant.async_add_executor_job` is incorrect: Expected `(...) -> Unknown`, found `object`
+ homeassistant/components/media_player/__init__.py:1074:52 error[invalid-argument-type] Argument to bound method `HomeAssistant.async_add_executor_job` is incorrect: Expected `() -> Unknown`, found `object`
+ homeassistant/components/mqtt/client.py:1006:28 error[no-matching-overload] No overload of function `catch_log_exception` matches arguments
+ homeassistant/components/netgear/config_flow.py:199:17 error[invalid-argument-type] Argument to bound method `HomeAssistant.async_add_executor_job` is incorrect: Expected `(Any | str, Any | str | None, Unknown | bool | str | None, Unknown | int | None, Unknown | bool, /) -> Unknown`, found `def get_api(password: str, host: str | None = None, username: str | None = None, port: int | None = None, ssl: bool = False) -> Unknown`
- homeassistant/components/onewire/onewirehub.py:45:31 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/helpers/dispatcher.py:37:34 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/helpers/dispatcher.py:49:13 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/helpers/dispatcher.py:66:18 error[not-subscriptable] Cannot subscript non-generic type `TypeAliasType`
- homeassistant/helpers/dispatcher.py:67:13 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/helpers/dispatcher.py:87:34 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/helpers/dispatcher.py:101:13 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/helpers/dispatcher.py:110:18 error[not-subscriptable] Cannot subscript non-generic type `TypeAliasType`
- homeassistant/helpers/dispatcher.py:130:34 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/helpers/dispatcher.py:151:13 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/helpers/dispatcher.py:173:34 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/helpers/dispatcher.py:184:34 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/helpers/dispatcher.py:205:34 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/helpers/dispatcher.py:218:18 error[not-subscriptable] Cannot subscript non-generic type `TypeAliasType`
- homeassistant/helpers/script.py:157:29 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalTypeFormat'>`
- homeassistant/util/signal_type.pyi:24:30 error[not-subscriptable] Cannot subscript non-generic type `<class '_SignalTypeBase'>`
- homeassistant/util/signal_type.pyi:52:15 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/util/signal_type.pyi:53:27 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
- homeassistant/util/signal_type.pyi:61:20 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalTypeFormat'>`
- homeassistant/util/signal_type.pyi:63:5 error[type-assertion-failure] Type `SignalTypeFormat[]` does not match asserted type `Unknown`
- homeassistant/util/signal_type.pyi:64:27 error[not-subscriptable] Cannot subscript non-generic type `<class 'SignalType'>`
+ homeassistant/util/signal_type.pyi:55:5 error[no-matching-overload] No overload of function `async_dispatcher_connect` matches arguments
+ homeassistant/util/signal_type.pyi:65:5 error[no-matching-overload] No overload of function `async_dispatcher_connect` matches arguments
+ homeassistant/util/signal_type.pyi:67:5 error[no-matching-overload] No overload of function `async_dispatcher_send` matches arguments

django-modern-rest (https://github.com/wemake-services/django-modern-rest)
- dmr/problem_details.py:175:14 error[invalid-type-form] Tuple literals are not allowed in this context in a type expression
+ dmr/problem_details.py:175:14 error[invalid-type-form] Tuple literals are not allowed in this context in a type expression: Did you mean `tuple[ProblemDetailsModel, tuple[Unknown, ...]]`?

egglog-python (https://github.com/egraphs-good/egglog-python)
- python/egglog/thunk.py:41:21 error[unbound-type-variable] Type variable `T` is not bound to any outer generic context
- python/egglog/thunk.py:50:31 error[invalid-argument-type] Argument is incorrect: Expected `(...) -> TypeVar`, found `(...) -> T@fn`
- python/egglog/thunk.py:56:27 error[invalid-return-type] Function can implicitly return `None`, which is not assignable to return type `T@__call__`
- python/egglog/builtins.py:489:21 error[no-matching-overload] No overload of function `get_callable_args` matches arguments
+ python/egglog/builtins.py:1115:57 error[invalid-type-form] Function calls are not allowed in type expressions
+ python/egglog/builtins.py:1117:63 error[invalid-type-form] Function calls are not allowed in type expressions
+ python/egglog/builtins.py:1119:54 error[invalid-type-form] Function calls are not allowed in type expressions
- python/egglog/builtins.py:1111:39 error[empty-body] Function always implicitly returns `None`, which is not assignable to return type `T@__call__`
+ python/egglog/builtins.py:1111:39 error[empty-body] Function always implicitly returns `None`, which is not assignable to return type `T@UnstableFn`
+ python/egglog/deconstruct.py:158:24 error[invalid-return-type] Return type does not match returned value: expected `tuple[*TS@get_callable_args] | None`, found `tuple[object, ...]`
+ python/egglog/egraph.py:537:54 error[invalid-argument-type] Argument to bound method `Thunk.fn` is incorrect: Expected `(*args: Unknown) -> Unknown`, found `bound method Self@__call__.create_decls(fn: (...) -> Unknown) -> tuple[Declarations, FunctionRef | ConstantRef | MethodRef | ... omitted 5 union elements]`
+ python/egglog/egraph.py:680:9 error[invalid-argument-type] Argument to bound method `Thunk.fn` is incorrect: Expected `(*args: Unknown) -> Unknown`, found `def _add_default_rewrite_function(decls: Declarations, ref: FunctionRef | MethodRef | PropertyRef | ClassMethodRef | InitRef, fn: (...) -> Unknown, args: Iterable[TypedExprDecl], ruleset: Ruleset | None, subsume: bool, res_type: TypeVarRef | TypeRefWithVars, mutates_first_arg: bool) -> None`
+ python/egglog/egraph.py:722:28 error[invalid-argument-type] Argument to bound method `Thunk.fn` is incorrect: Expected `(*args: Unknown) -> Unknown`, found `def _relation_decls(ident: Ident, tps: tuple[type, ...], egg_fn: str | None) -> Declarations`
+ python/egglog/egraph.py:1657:53 error[invalid-argument-type] Argument to bound method `Thunk.fn` is incorrect: Expected `(*args: Unknown) -> Unknown`, found `def _rewrite_or_rule_generator(gen: (...) -> Iterable[RewriteOrRule], frame: FrameType) -> Iterable[RewriteOrRule]`
+ python/tests/test_unstable_fn.py:103:15 error[invalid-argument-type] Argument to bound method `MathList.map` is incorrect: Expected `UnstableFn[Math, Math]`, found `UnstableFn[Math, Math | i64 | int | String | str]`
+ python/tests/test_unstable_fn.py:111:37 error[invalid-argument-type] Argument to bound method `MathList.map` is incorrect: Expected `UnstableFn[Math, Math]`, found `UnstableFn[Math, Math | i64 | int | String | str]`
+ python/tests/test_unstable_fn.py:132:35 error[invalid-argument-type] Argument to `UnstableFn.__init__` is incorrect: Expected `(UnstableFn[Math, Math | i64 | int | String | str], UnstableFn[Math, Math | i64 | int | String | str], Math, /) -> Math`, found `def composed_math(f: UnstableFn[Math, Math], g: UnstableFn[Math, Math], x: Math) -> Math`
+ python/tests/test_unstable_fn.py:134:15 error[invalid-argument-type] Argument to bound method `MathList.map` is incorrect: Expected `UnstableFn[Math, Math]`, found `UnstableFn[T@UnstableFn, TS@UnstableFn]`
+ python/tests/test_unstable_fn.py:154:47 error[invalid-argument-type] Argument to function `composed_i64_math` is incorrect: Expected `UnstableFn[i64, i64]`, found `UnstableFn[i64, i64 | int]`
+ python/tests/test_unstable_fn.py:167:58 error[invalid-argument-type] Argument to bound method `MathList.map` is incorrect: Expected `UnstableFn[Math, Math]`, found `UnstableFn[Math, Math | i64 | int | String | str]`
+ python/tests/test_unstable_fn.py:171:29 error[invalid-argument-type] Argument to bound method `MathList.map` is incorrect: Expected `UnstableFn[Math, Math]`, found `partial[(other: Math | i64 | int | String | str) -> Math]`
+ python/tests/test_unstable_fn.py:171:82 error[invalid-argument-type] Argument to bound method `MathList.map` is incorrect: Expected `UnstableFn[Math, Math]`, found `UnstableFn[Math, Math | i64 | int | String | str]`

scipy-stubs (https://github.com/scipy/scipy-stubs)
+ scipy-stubs/integrate/_odepack_py.pyi:36:56 error[unused-ignore-comment] Unused `ty: ignore` directive
+ scipy-stubs/integrate/_odepack_py.pyi:87:56 error[unused-ignore-comment] Unused `ty: ignore` directive
+ scipy-stubs/integrate/_odepack_py.pyi:91:62 error[unused-ignore-comment] Unused `ty: ignore` directive
+ scipy-stubs/integrate/_odepack_py.pyi:164:49 error[unused-ignore-comment] Unused `ty: ignore` directive
+ scipy-stubs/integrate/_odepack_py.pyi:194:55 error[unused-ignore-comment] Unused `ty: ignore` directive
+ scipy-stubs/integrate/_odepack_py.pyi:216:49 error[unused-ignore-comment] Unused `ty: ignore` directive
+ scipy-stubs/optimize/_lbfgsb_py.pyi:70:38 error[unused-ignore-comment] Unused `ty: ignore` directive
+ scipy-stubs/optimize/_lbfgsb_py.pyi:88:36 error[unused-ignore-comment] Unused `ty: ignore` directive
+ scipy-stubs/stats/_morestats.pyi:240:22 error[invalid-generic-class] Variance of type variable `_NDT_co` is incompatible with base class `BaseBunch`
- tests/integrate/test_ode.pyi:22:1 error[type-assertion-failure] Type `@Todo` does not match asserted type `int | float`
+ tests/integrate/test_ode.pyi:27:18 error[invalid-argument-type] Argument to `ode.__init__` is incorrect: Expected `(int | float, Unknown, /, *args: tuple[Any, ...]) -> int | float | complex | ToComplex1D`, found `def f(t: int | float, y: ndarray[tuple[Any, ...], dtype[complex128]], arg1: int | float) -> list[complex128]`
+ tests/integrate/test_ode.pyi:28:1 error[type-assertion-failure] Type `complex_ode[_Ts@complex_ode]` does not match asserted type `complex_ode[int | float]`
+ tests/integrate/test_ode.pyi:29:63 error[invalid-argument-type] Argument to bound method `ode.set_jac_params` is incorrect: Expected `_Ts@complex_ode`, found `float`
+ tests/optimize/test_fmin_l_bfgs_b.pyi:35:1 error[no-matching-overload] No overload of function `fmin_l_bfgs_b` matches arguments

setuptools (https://github.com/pypa/setuptools)
+ setuptools/_distutils/command/sdist.py:414:13 error[invalid-argument-type] Argument to bound method `Command.execute` is incorrect: Expected `(str | bytes | PathLike[str] | PathLike[bytes] | None, Iterable[str], /) -> object`, found `def write_file(filename: str | bytes | PathLike[str] | PathLike[bytes], contents: Iterable[str]) -> None`

starlette (https://github.com/encode/starlette)
- tests/test_requests.py:260:19 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
+ starlette/concurrency.py:57:19 error[invalid-yield] Yield type `T@_next` does not match annotated yield type `T@iterate_in_threadpool`

static-frame (https://github.com/static-frame/static-frame)
+ static_frame/core/node_transpose.py:97:16 error[invalid-argument-type] Argument to bound method `IndexHierarchy._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceTranspose` does not satisfy upper bound `IndexHierarchy[TVIndices@IndexHierarchy]` of type variable `Self`
+ static_frame/core/node_transpose.py:113:16 error[invalid-argument-type] Argument to bound method `Frame._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceTranspose` does not satisfy upper bound `Frame[TVIndex@Frame, TVColumns@Frame, TVDtypes@Frame]` of type variable `Self`
+ static_frame/core/node_transpose.py:128:16 error[invalid-argument-type] Argument to bound method `Frame._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceTranspose` does not satisfy upper bound `Frame[TVIndex@Frame, TVColumns@Frame, TVDtypes@Frame]` of type variable `Self`
+ static_frame/core/node_transpose.py:128:16 error[invalid-argument-type] Argument to bound method `IndexHierarchy._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceTranspose` does not satisfy upper bound `IndexHierarchy[TVIndices@IndexHierarchy]` of type variable `Self`
+ static_frame/core/node_transpose.py:160:16 error[invalid-argument-type] Argument to bound method `Frame._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceTranspose` does not satisfy upper bound `Frame[TVIndex@Frame, TVColumns@Frame, TVDtypes@Frame]` of type variable `Self`
+ static_frame/core/node_transpose.py:176:16 error[invalid-argument-type] Argument to bound method `IndexHierarchy._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceTranspose` does not satisfy upper bound `IndexHierarchy[TVIndices@IndexHierarchy]` of type variable `Self`
+ static_frame/core/node_transpose.py:184:16 error[invalid-argument-type] Argument to bound method `Frame._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceTranspose` does not satisfy upper bound `Frame[TVIndex@Frame, TVColumns@Frame, TVDtypes@Frame]` of type variable `Self`
+ static_frame/core/node_transpose.py:184:16 error[invalid-argument-type] Argument to bound method `IndexHierarchy._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceTranspose` does not satisfy upper bound `IndexHierarchy[TVIndices@IndexHierarchy]` of type variable `Self`
+ static_frame/core/node_transpose.py:192:16 error[invalid-argument-type] Argument to bound method `Frame._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceTranspose` does not satisfy upper bound `Frame[TVIndex@Frame, TVColumns@Frame, TVDtypes@Frame]` of type variable `Self`
+ static_frame/core/node_transpose.py:200:16 error[invalid-argument-type] Argument to bound method `IndexHierarchy._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceTranspose` does not satisfy upper bound `IndexHierarchy[TVIndices@IndexHierarchy]` of type variable `Self`
+ static_frame/core/node_transpose.py:216:16 error[invalid-argument-type] Argument to bound method `IndexHierarchy._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceTranspose` does not satisfy upper bound `IndexHierarchy[TVIndices@IndexHierarchy]` of type variable `Self`
+ static_frame/core/node_transpose.py:224:16 error[invalid-argument-type] Argument to bound method `IndexHierarchy._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceTranspose` does not satisfy upper bound `IndexHierarchy[TVIndices@IndexHierarchy]` of type variable `Self`
+ static_frame/core/node_transpose.py:240:16 error[invalid-argument-type] Argument to bound method `Frame._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceTranspose` does not satisfy upper bound `Frame[TVIndex@Frame, TVColumns@Frame, TVDtypes@Frame]` of type variable `Self`
+ static_frame/core/node_transpose.py:249:16 error[invalid-argument-type] Argument to bound method `IndexHierarchy._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceTranspose` does not satisfy upper bound `IndexHierarchy[TVIndices@IndexHierarchy]` of type variable `Self`
+ static_frame/core/node_transpose.py:288:16 error[invalid-argument-type] Argument to bound method `Frame._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceTranspose` does not satisfy upper bound `Frame[TVIndex@Frame, TVColumns@Frame, TVDtypes@Frame]` of type variable `Self`
+ static_frame/test/typing/test_index_hierarchy.py:42:16 error[invalid-argument-type] Argument to function `proc1` is incorrect: Expected `IndexHierarchy[*tuple[Index[signedinteger[_64Bit]], ...]]`, found `IndexHierarchy[Index[signedinteger[_64Bit]], Index[signedinteger[_64Bit]], Index[signedinteger[_64Bit]]]`
- static_frame/core/archive_npy.py:1362:56 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
+ static_frame/core/container_util.py:1321:49 error[invalid-argument-type] Argument to bound method `IndexBase.values_at_depth` is incorrect: Expected `int | list[int]`, found `int | (list[int] & Top[integer[Any]]) | (ndarray[Any, dtype[signedinteger[_64Bit]]] & Top[integer[Any]])`
- static_frame/core/frame.py:590:43 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/frame.py:635:47 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/frame.py:885:87 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/frame.py:2678:55 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/frame.py:2736:24 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/frame.py:3674:48 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/frame.py:4478:31 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/frame.py:5003:28 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/frame.py:5013:28 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/frame.py:5018:24 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/frame.py:6666:47 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/frame.py:8334:60 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/frame.py:9383:52 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/frame.py:10584:81 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
+ static_frame/core/frame.py:3033:16 error[invalid-return-type] Return type does not match returned value: expected `Self@from_sqlite`, found `Frame[Any, Any, *tuple[Any, ...]]`
+ static_frame/core/frame.py:6049:24 error[invalid-yield] Yield type `tuple[Hashable, TypeBlocks | ndarray[Any, Any]]` does not match annotated yield type `tuple[Hashable, Frame[Any, Any, *tuple[Any, ...]] | ndarray[Any, Any]]`
+ static_frame/core/frame.py:6668:38 error[invalid-assignment] Object of type `list[ndarray[Any, Any] | Any | Series[Any, Any]]` is not assignable to `list[ndarray[Any, Any]] | None`
+ static_frame/core/frame.py:10502:24 error[unresolved-attribute] Attribute `_blocks` is not defined on `Series[Any, Any]` in union `Series[Any, Any] | Frame[Any, Any, *tuple[Any, ...]]`
+ static_frame/core/frame.py:6702:38 error[invalid-assignment] Object of type `list[ndarray[Any, Any] | ndarray[tuple[Any, ...], Any] | Any | Series[Any, Any]]` is not assignable to `list[ndarray[Any, Any]] | None`
+ static_frame/core/index.py:603:13 error[invalid-argument-type] Argument to `IterNode.__init__` is incorrect: Argument type `Self@iter_label` does not satisfy constraints (`Frame[Any, Any, *tuple[Any, ...]]`, `Series[Any, Any]`, `Bus[Any]`, `Quilt`, `Yarn[Any]`) of type variable `TContainerAny`
+ static_frame/core/index_hierarchy.py:1354:13 error[invalid-argument-type] Argument to `IterNode.__init__` is incorrect: Argument type `Self@iter_label` does not satisfy constraints (`Frame[Any, Any, *tuple[Any, ...]]`, `Series[Any, Any]`, `Bus[Any]`, `Quilt`, `Yarn[Any]`) of type variable `TContainerAny`
- static_frame/core/join.py:302:91 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/join.py:307:49 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/mfc_mapping.py:57:20 error[invalid-yield] Yield type `tuple[Hashable, @Todo]` does not match annotated yield type `tuple[TVKeys@MFCMappingItemsView, @Todo]`
+ static_frame/core/mfc_mapping.py:57:20 error[invalid-yield] Yield type `tuple[Hashable, Frame[Any, Any, *tuple[Any, ...]]]` does not match annotated yield type `tuple[TVKeys@MFCMappingItemsView, Frame[Any, Any, *tuple[Any, ...]]]`
+ static_frame/core/node_fill_value.py:154:29 error[invalid-assignment] Object of type `TVContainer_co@InterfaceFillValue` is not assignable to `Series[Any, Any]`
+ static_frame/core/node_fill_value.py:277:16 error[invalid-argument-type] Argument to bound method `Frame._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Frame[TVIndex@Frame, TVColumns@Frame, TVDtypes@Frame]` of type variable `Self`
+ static_frame/core/node_fill_value.py:277:16 error[invalid-argument-type] Argument to bound method `Series._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Series[TVIndex@Series, TVDtype@Series]` of type variable `Self`
+ static_frame/core/node_fill_value.py:301:16 error[invalid-argument-type] Argument to bound method `Frame._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Frame[TVIndex@Frame, TVColumns@Frame, TVDtypes@Frame]` of type variable `Self`
+ static_frame/core/node_fill_value.py:301:16 error[invalid-argument-type] Argument to bound method `Series._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Series[TVIndex@Series, TVDtype@Series]` of type variable `Self`
+ static_frame/core/node_fill_value.py:309:16 error[invalid-argument-type] Argument to bound method `Frame._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Frame[TVIndex@Frame, TVColumns@Frame, TVDtypes@Frame]` of type variable `Self`
+ static_frame/core/node_fill_value.py:309:16 error[invalid-argument-type] Argument to bound method `Series._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Series[TVIndex@Series, TVDtype@Series]` of type variable `Self`
+ static_frame/core/node_fill_value.py:317:16 error[invalid-argument-type] Argument to bound method `Frame._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Frame[TVIndex@Frame, TVColumns@Frame, TVDtypes@Frame]` of type variable `Self`
+ static_frame/core/node_fill_value.py:317:16 error[invalid-argument-type] Argument to bound method `Series._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Series[TVIndex@Series, TVDtype@Series]` of type variable `Self`
+ static_frame/core/node_fill_value.py:325:16 error[invalid-argument-type] Argument to bound method `Frame._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Frame[TVIndex@Frame, TVColumns@Frame, TVDtypes@Frame]` of type variable `Self`
+ static_frame/core/node_fill_value.py:341:16 error[invalid-argument-type] Argument to bound method `Series._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Series[TVIndex@Series, TVDtype@Series]` of type variable `Self`
+ static_frame/core/node_fill_value.py:349:16 error[invalid-argument-type] Argument to bound method `Series._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Series[TVIndex@Series, TVDtype@Series]` of type variable `Self`
+ static_frame/core/node_fill_value.py:357:16 error[invalid-argument-type] Argument to bound method `Frame._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Frame[TVIndex@Frame, TVColumns@Frame, TVDtypes@Frame]` of type variable `Self`
+ static_frame/core/node_fill_value.py:365:16 error[invalid-argument-type] Argument to bound method `Series._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Series[TVIndex@Series, TVDtype@Series]` of type variable `Self`
+ static_frame/core/node_fill_value.py:373:16 error[invalid-argument-type] Argument to bound method `Frame._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Frame[TVIndex@Frame, TVColumns@Frame, TVDtypes@Frame]` of type variable `Self`
+ static_frame/core/node_fill_value.py:373:16 error[invalid-argument-type] Argument to bound method `Series._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Series[TVIndex@Series, TVDtype@Series]` of type variable `Self`
+ static_frame/core/node_fill_value.py:381:16 error[invalid-argument-type] Argument to bound method `Series._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Series[TVIndex@Series, TVDtype@Series]` of type variable `Self`
+ static_frame/core/node_fill_value.py:389:16 error[invalid-argument-type] Argument to bound method `Frame._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Frame[TVIndex@Frame, TVColumns@Frame, TVDtypes@Frame]` of type variable `Self`
+ static_frame/core/node_fill_value.py:389:16 error[invalid-argument-type] Argument to bound method `Series._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Series[TVIndex@Series, TVDtype@Series]` of type variable `Self`
+ static_frame/core/node_fill_value.py:413:16 error[invalid-argument-type] Argument to bound method `Frame._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Frame[TVIndex@Frame, TVColumns@Frame, TVDtypes@Frame]` of type variable `Self`
+ static_frame/core/node_fill_value.py:422:16 error[invalid-argument-type] Argument to bound method `Series._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Series[TVIndex@Series, TVDtype@Series]` of type variable `Self`
+ static_frame/core/node_fill_value.py:430:16 error[invalid-argument-type] Argument to bound method `Frame._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Frame[TVIndex@Frame, TVColumns@Frame, TVDtypes@Frame]` of type variable `Self`
+ static_frame/core/node_fill_value.py:438:16 error[invalid-argument-type] Argument to bound method `Frame._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Frame[TVIndex@Frame, TVColumns@Frame, TVDtypes@Frame]` of type variable `Self`
+ static_frame/core/node_fill_value.py:438:16 error[invalid-argument-type] Argument to bound method `Series._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Series[TVIndex@Series, TVDtype@Series]` of type variable `Self`
+ static_frame/core/node_fill_value.py:462:16 error[invalid-argument-type] Argument to bound method `Frame._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Frame[TVIndex@Frame, TVColumns@Frame, TVDtypes@Frame]` of type variable `Self`
+ static_frame/core/node_fill_value.py:462:16 error[invalid-argument-type] Argument to bound method `Series._ufunc_binary_operator` is incorrect: Argument type `TVContainer_co@InterfaceFillValue` does not satisfy upper bound `Series[TVIndex@Series, TVDtype@Series]` of type variable `Self`
- static_frame/core/pivot.py:447:74 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/pivot.py:448:72 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/pivot.py:582:62 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
+ static_frame/core/pivot.py:546:31 error[invalid-argument-type] Argument is incorrect: Expected `Iterable[Sequence[Hashable]]`, found `IndexBase`
+ static_frame/core/pivot.py:627:30 error[invalid-argument-type] Argument is incorrect: Expected `Iterable[Sequence[Hashable]]`, found `list[Hashable]`
- static_frame/core/protocol_dfi.py:317:37 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/protocol_dfi.py:323:73 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/quilt.py:542:37 error[unresolved-attribute] Attribute `level_drop` is not defined on `None` in union `@Todo | IndexHierarchy | None`
- static_frame/core/quilt.py:546:17 error[invalid-assignment] Object of type `@Todo | IndexHierarchy | None` is not assignable to attribute `_columns` of type `IndexBase`
- static_frame/core/reduce.py:232:25 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/reduce.py:524:83 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/store.py:154:63 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/store.py:180:41 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/core/store.py:247:51 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
+ static_frame/core/store.py:182:26 error[unresolved-attribute] Object of type `IndexBase` has no attribute `dtypes`
+ static_frame/core/store.py:461:23 error[invalid-yield] Yield type `object` does not match annotated yield type `Frame[Any, Any, *tuple[Any, ...]]`
- static_frame/core/store_config.py:160:86 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
+ static_frame/core/store_xlsx.py:400:23 error[invalid-yield] Yield type `object` does not match annotated yield type `Frame[Any, Any, *tuple[Any, ...]]`
- static_frame/core/store_zip.py:173:52 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
+ static_frame/core/store_zip.py:612:27 error[invalid-yield] Yield type `object` does not match annotated yield type `Frame[Any, Any, *tuple[Any, ...]]`
- static_frame/core/yarn.py:492:37 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
+ static_frame/core/yarn.py:195:17 error[invalid-assignment] Object of type `Hashable` is not assignable to `int`
- static_frame/test/property/strategies.py:1025:1 error[unresolved-attribute] Unresolved attribute `__name__` on type `partial[(*, min_rows: int = 1, max_rows: int = 12, min_columns: int = 1, max_columns: int = 12, cls: type[Frame] = ..., dtype_group: DTGroup = DTGroup.ALL, index_cls: type[Index[Any]] = ..., index_dtype_group: DTGroup | None = None, columns_cls: type[Index[Any]] = ..., columns_dtype_group: DTGroup | None = None) -> Unknown]`
+ static_frame/test/property/strategies.py:1025:1 error[unresolved-attribute] Unresolved attribute `__name__` on type `partial[(*, min_rows: int = 1, max_rows: int = 12, min_columns: int = 1, max_columns: int = 12, cls: type[Frame[Any, Any, *tuple[Any, ...]]] = ..., dtype_group: DTGroup = DTGroup.ALL, index_cls: type[Index[Any]] = ..., index_dtype_group: DTGroup | None = None, columns_cls: type[Index[Any]] = ..., columns_dtype_group: DTGroup | None = None) -> Unknown]`
+ static_frame/test/property/test_archive_npy.py:65:35 error[unresolved-attribute] Object of type `Frame[Any, Any, *tuple[Any, ...]]` has no attribute `flat`
+ static_frame/test/property/test_archive_npy.py:74:49 error[invalid-argument-type] Argument to bound method `TestCase.assertAlmostEqualArray` is incorrect: Expected `ndarray[Any, Any]`, found `Frame[Any, Any, *tuple[Any, ...]]`
+ static_frame/test/typing/test_frame.py:96:21 error[invalid-assignment] Object of type `Series[Any, Any]` is not assignable to `Frame[Any, Any, *tuple[Any, ...]]`
+ static_frame/test/typing/test_frame.py:133:21 error[invalid-assignment] Object of type `Series[Any, Any]` is not assignable to `Frame[Any, Any, *tuple[Any, ...]]`
+ static_frame/test/typing/test_frame.py:290:21 error[invalid-assignment] Object of type `Frame[IndexDate, Index[str_], signedinteger[_64Bit], numpy.bool[builtins.bool]]` is not assignable to `Frame[IndexDate, Index[str_], *tuple[*tuple[signedinteger[_64Bit], ...], numpy.bool[builtins.bool]]]`
+ static_frame/test/typing/test_frame.py:291:21 error[invalid-assignment] Object of type `Frame[IndexDate, Index[str_], signedinteger[_64Bit], signedinteger[_64Bit], signedinteger[_64Bit], numpy.bool[builtins.bool]]` is not assignable to `Frame[IndexDate, Index[str_], *tuple[*tuple[signedinteger[_64Bit], ...], numpy.bool[builtins.bool]]]`
- static_frame/test/unit/test_archive_npy.py:229:48 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/test/unit/test_archive_npy.py:230:50 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
+ static_frame/test/unit/test_batch.py:2206:43 error[invalid-argument-type] Argument to bound method `TestCase.assertEqualFrames` is incorrect: Expected `Frame[Any, Any, *tuple[Any, ...]]`, found `Frame[Any, Any, *tuple[Any, ...]] | Series[Any, Any]`
+ static_frame/test/unit/test_batch.py:2229:43 error[invalid-argument-type] Argument to bound method `TestCase.assertEqualFrames` is incorrect: Expected `Frame[Any, Any, *tuple[Any, ...]]`, found `Frame[Any, Any, *tuple[Any, ...]] | Series[Any, Any]`
- static_frame/test/unit/test_batch.py:48:12 error[invalid-return-type] Return type does not match returned value: expected `Frame`, found `Series[Any, Any]`
+ static_frame/test/unit/test_batch.py:48:12 error[invalid-return-type] Return type does not match returned value: expected `Frame[Any, Any, *tuple[Any, ...]]`, found `Series[Any, Any]`
- static_frame/test/unit/test_batch.py:256:20 error[invalid-argument-type] Argument to `Batch.__init__` is incorrect: Expected `Iterator[tuple[Hashable, Frame | Series[Any, Any]]]`, found `IterNodeDelegateReducible[@Todo]`
+ static_frame/test/unit/test_batch.py:256:20 error[invalid-argument-type] Argument to `Batch.__init__` is incorrect: Expected `Iterator[tuple[Hashable, Frame[Any, Any, *tuple[Any, ...]] | Series[Any, Any]]]`, found `IterNodeDelegateReducible[Frame[Any, Any, *tuple[Any, ...]]]`
- static_frame/test/unit/test_batch.py:2312:19 error[invalid-argument-type] Argument to `Batch.__init__` is incorrect: Expected `Iterator[tuple[Hashable, Frame | Series[Any, Any]]]`, found `IterNodeDelegateReducible[@Todo]`
+ static_frame/test/unit/test_batch.py:2312:19 error[invalid-argument-type] Argument to `Batch.__init__` is incorrect: Expected `Iterator[tuple[Hashable, Frame[Any, Any, *tuple[Any, ...]] | Series[Any, Any]]]`, found `IterNodeDelegateReducible[Frame[Any, Any, *tuple[Any, ...]]]`
+ static_frame/test/unit/test_bus.py:1274:17 error[invalid-argument-type] Method `__getitem__` of type `Overload[(key: int | integer[Any]) -> Any, (key: ndarray[Any, Any] | list[int] | slice[Any, Any, Any] | None) -> IndexBase]` cannot be called with key of type `Series[Any, Any]` on object of type `IndexBase`
+ static_frame/test/unit/test_bus.py:1323:17 error[invalid-argument-type] Method `__getitem__` of type `Overload[(key: int | integer[Any]) -> Any, (key: ndarray[Any, Any] | list[int] | slice[Any, Any, Any] | None) -> IndexBase]` cannot be called with key of type `Series[Any, Any]` on object of type `IndexBase`
+ static_frame/test/unit/test_bus.py:1363:22 error[invalid-argument-type] Method `__getitem__` of type `Overload[(key: int | integer[Any]) -> Any, (key: ndarray[Any, Any] | list[int] | slice[Any, Any, Any] | None) -> IndexBase]` cannot be called with key of type `Series[Any, Any]` on object of type `IndexBase`
+ static_frame/test/unit/test_bus.py:2734:30 error[unresolved-attribute] Object of type `Frame[Any, Any, *tuple[Any, ...]]` has no attribute `status`
- static_frame/test/unit/test_bus.py:2110:26 error[unresolved-attribute] Attribute `to_pairs` is not defined on `ndarray[Any, Any]` in union `Series[Any, Any] | @Todo | ndarray[Any, Any]`
+ static_frame/test/unit/test_bus.py:2110:26 error[unresolved-attribute] Attribute `to_pairs` is not defined on `ndarray[Any, Any]` in union `Series[Any, Any] | Frame[Any, Any, *tuple[Any, ...]] | ndarray[Any, Any]`
- static_frame/test/unit/test_bus.py:2111:26 error[unresolved-attribute] Attribute `to_pairs` is not defined on `ndarray[Any, Any]` in union `Series[Any, Any] | @Todo | ndarray[Any, Any]`
+ static_frame/test/unit/test_bus.py:2111:26 error[unresolved-attribute] Attribute `to_pairs` is not defined on `ndarray[Any, Any]` in union `Series[Any, Any] | Frame[Any, Any, *tuple[Any, ...]] | ndarray[Any, Any]`
- static_frame/test/unit/test_bus.py:2139:26 error[unresolved-attribute] Attribute `to_pairs` is not defined on `ndarray[Any, Any]` in union `Series[Any, Any] | @Todo | ndarray[Any, Any]`
+ static_frame/test/unit/test_bus.py:2139:26 error[unresolved-attribute] Attribute `to_pairs` is not defined on `ndarray[Any, Any]` in union `Series[Any, Any] | Frame[Any, Any, *tuple[Any, ...]] | ndarray[Any, Any]`
- static_frame/test/unit/test_container_util.py:131:13 error[unresolved-attribute] Object of type `ndarray[Any, Any]` has no attribute `to_pairs`
- static_frame/test/unit/test_container_util.py:137:13 error[unresolved-attribute] Object of type `ndarray[Any, Any]` has no attribute `to_pairs`
- static_frame/test/unit/test_container_util.py:147:13 error[unresolved-attribute] Object of type `ndarray[Any, Any]` has no attribute `to_pairs`
- static_frame/test/unit/test_container_util.py:163:26 error[unresolved-attribute] Object of type `generic[Any]` has no attribute `to_pairs`
- static_frame/test/unit/test_container_util.py:213:64 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/test/unit/test_container_util.py:226:13 error[unresolved-attribute] Object of type `ndarray[Any, Any]` has no attribute `to_pairs`
+ static_frame/test/unit/test_container_util.py:128:26 error[no-matching-overload] No overload of function `matmul` matches arguments
+ static_frame/test/unit/test_container_util.py:134:26 error[no-matching-overload] No overload of function `matmul` matches arguments
+ static_frame/test/unit/test_container_util.py:207:26 error[no-matching-overload] No overload of function `matmul` matches arguments
+ static_frame/test/unit/test_container_util.py:214:26 error[no-matching-overload] No overload of function `matmul` matches arguments
+ static_frame/test/unit/test_container_util.py:933:40 error[invalid-argument-type] Argument to function `container_to_exporter_attr` is incorrect: Expected `type[Frame[Any, Any, *tuple[Any, ...]]]`, found `<class 'Series'>`
- static_frame/test/unit/test_frame.py:343:48 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/test/unit/test_frame.py:6228:25 error[unresolved-attribute] Attribute `equals` is not defined on `signedinteger[_64Bit]` in union `signedinteger[_64Bit] | Frame`
- static_frame/test/unit/test_frame.py:6230:25 error[unresolved-attribute] Object of type `float64` has no attribute `equals`
- static_frame/test/unit/test_frame.py:6231:25 error[unresolved-attribute] Attribute `equals` is not defined on `signedinteger[_64Bit]` in union `signedinteger[_64Bit] | Frame`
- static_frame/test/unit/test_frame.py:6232:25 error[unresolved-attribute] Attribute `equals` is not defined on `signedinteger[_64Bit]` in union `signedinteger[_64Bit] | Frame`
- static_frame/test/unit/test_frame.py:7732:52 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/test/unit/test_frame.py:12501:71 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/test/unit/test_frame.py:14964:84 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/test/unit/test_frame.py:15087:79 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/test/unit/test_frame.py:17763:49 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
+ static_frame/test/unit/test_frame.py:2385:25 error[invalid-argument-type] Argument to bound method `FrameGO.extend_items` is incorrect: Expected `Iterable[tuple[Hashable, Series[Any, Any]]]`, found `_odict_items[str, ndarray[tuple[Any, ...], dtype[Unknown]]]`
+ static_frame/test/unit/test_frame.py:2467:23 error[invalid-argument-type] Argument to bound method `FrameGO.extend` is incorrect: Expected `Frame[Any, Any, *tuple[Any, ...]] | Series[Any, Any]`, found `Literal["a"]`
+ static_frame/test/unit/test_frame.py:2734:27 error[invalid-argument-type] Argument to bound method `Frame._insert` is incorrect: Expected `Frame[Any, Any, *tuple[Any, ...]] | Series[Any, Any]`, found `Literal["a"]`
+ static_frame/test/unit/test_frame.py:7751:60 error[invalid-argument-type] Argument to bound method `IndexHierarchy.from_labels` is incorrect: Expected `Iterable[Sequence[Hashable]]`, found `IndexBase`
+ static_frame/test/unit/test_frame.py:15841:25 error[invalid-argument-type] Argument to bound method `Frame.clip` is incorrect: Expected `int | float | Series[Any, Any] | Frame[Any, Any, *tuple[Any, ...]] | None`, found `tuple[Literal[3], Literal[4]]`
- static_frame/test/unit/test_frame_iter.py:224:47 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
+ static_frame/test/unit/test_frame_iter.py:255:27 error[unresolved-attribute] Attribute `tolist` is not defined on `tuple[Any, Any]` in union `Any | tuple[Any, Any]`
+ static_frame/test/unit/test_frame_iter.py:365:27 error[unresolved-attribute] Attribute `p` is not defined on `tuple[Any, Any]` in union `Any | tuple[Any, Any]`
+ static_frame/test/unit/test_frame_iter.py:366:27 error[unresolved-attribute] Attribute `r` is not defined on `tuple[Any, Any]` in union `Any | tuple[Any, Any]`
+ static_frame/test/unit/test_frame_iter.py:385:27 error[unresolved-attribute] Attribute `r` is not defined on `tuple[Any, Any]` in union `Any | tuple[Any, Any]`
+ static_frame/test/unit/test_frame_iter.py:1266:48 error[invalid-argument-type] Argument to bound method `IterNodeDepthLevelAxis.__call__` is incorrect: Expected `int | list[int]`, found `tuple[Literal[1], Literal[2]]`
- static_frame/test/unit/test_frame_iter.py:1838:13 error[unresolved-attribute] Attribute `to_pairs` is not defined on `ndarray[Any, Any]` in union `@Todo | ndarray[Any, Any]`
+ static_frame/test/unit/test_frame_iter.py:1838:13 error[unresolved-attribute] Attribute `to_pairs` is not defined on `ndarray[Any, Any]` in union `Frame[Any, Any, *tuple[Any, ...]] | ndarray[Any, Any]`
- static_frame/test/unit/test_frame_iter.py:1847:13 error[unresolved-attribute] Attribute `to_pairs` is not defined on `ndarray[Any, Any]` in union `@Todo | ndarray[Any, Any]`
+ static_frame/test/unit/test_frame_iter.py:1847:13 error[unresolved-attribute] Attribute `to_pairs` is not defined on `ndarray[Any, Any]` in union `Frame[Any, Any, *tuple[Any, ...]] | ndarray[Any, Any]`
- static_frame/test/unit/test_frame_iter.py:1853:13 error[unresolved-attribute] Attribute `to_pairs` is not defined on `ndarray[Any, Any]` in union `@Todo | ndarray[Any, Any]`
+ static_frame/test/unit/test_frame_iter.py:1853:13 error[unresolved-attribute] Attribute `to_pairs` is not defined on `ndarray[Any, Any]` in union `Frame[Any, Any, *tuple[Any, ...]] | ndarray[Any, Any]`
- static_frame/test/unit/test_frame_via_fill_value.py:351:23 error[unresolved-attribute] Attribute `columns` is not defined on `Series[Any, Any]` in union `@Todo | Series[Any, Any]`
+ static_frame/test/unit/test_frame_via_fill_value.py:351:23 error[unresolved-attribute] Attribute `columns` is not defined on `Series[Any, Any]` in union `Frame[Any, Any, *tuple[Any, ...]] | Series[Any, Any]`
+ static_frame/test/unit/test_index.py:130:23 error[invalid-argument-type] Argument to `Index.__init__` is incorrect: Expected `Iterable[Hashable]`, found `Frame[Any, Any, *tuple[Any, ...]]`
- static_frame/test/unit/test_index_hierarchy.py:77:25 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/test/unit/test_index_hierarchy.py:3315:13 error[unresolved-attribute] Object of type `str` has no attribute `tolist`
- static_frame/test/unit/test_index_hierarchy.py:4708:45 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
+ static_frame/test/unit/test_index_hierarchy.py:1825:41 error[invalid-argument-type] Argument to bound method `IndexHierarchy.from_tree` is incorrect: Expected `dict[Hashable, Divergent]`, found `OrderedDict[str, OrderedDict[str, tuple[int, int]]]`
+ static_frame/test/unit/test_index_hierarchy.py:2122:41 error[invalid-argument-type] Argument to bound method `IndexHierarchy.from_tree` is incorrect: Expected `dict[Hashable, Divergent]`, found `OrderedDict[str, OrderedDict[str, tuple[int] | tuple[int, int]]]`
+ static_frame/test/unit/test_index_hierarchy.py:2168:42 error[invalid-argument-type] Argument to bound method `IndexHierarchy.from_tree` is incorrect: Expected `dict[Hashable, Divergent]`, found `OrderedDict[str, OrderedDict[str, tuple[int] | tuple[int, int]]]`
+ static_frame/test/unit/test_index_hierarchy.py:2177:42 error[invalid-argument-type] Argument to bound method `IndexHierarchy.from_tree` is incorrect: Expected `dict[Hashable, Divergent]`, found `OrderedDict[str, OrderedDict[str, tuple[int] | tuple[int, int]]]`
+ static_frame/test/unit/test_index_hierarchy.py:3145:27 error[unsupported-operator] Operator `*` is not supported between objects of type `IndexHierarchy[*tuple[Any, ...]]` and `Literal[2]`
+ static_frame/test/unit/test_index_hierarchy.py:3162:27 error[unsupported-operator] Operator `@` is not supported between two objects of type `IndexHierarchy[*tuple[Any, ...]]`
+ static_frame/test/unit/test_index_hierarchy.py:3183:14 error[unsupported-operator] Operator `+` is not supported between two objects of type `IndexHierarchyGO[*tuple[Any, ...]]`
+ static_frame/test/unit/test_index_hierarchy.py:3202:14 error[unsupported-operator] Operator `@` is not supported between two objects of type `IndexHierarchy[*tuple[Any, ...]]`
+ static_frame/test/unit/test_index_hierarchy.py:3220:26 error[unresolved-attribute] Object of type `bool` has no attribute `tolist`
+ static_frame/test/unit/test_index_hierarchy.py:3318:15 error[unsupported-operator] Operator `*` is not supported between objects of type `IndexHierarchy[*tuple[Any, ...]]` and `Literal[2]`
+ static_frame/test/unit/test_index_hierarchy.py:5259:17 error[unsupported-operator] Operator `*` is not supported between objects of type `IndexHierarchyGO[*tuple[Any, ...]]` and `Literal[15]`
+ static_frame/test/unit/test_index_hierarchy.py:5270:17 error[unsupported-operator] Operator `*` is not supported between two objects of type `IndexHierarchyGO[*tuple[Any, ...]]`
+ static_frame/test/unit/test_interface.py:37:32 error[invalid-argument-type] Argument to constructor `int.__new__` is incorrect: Expected `str | Buffer | SupportsInt | SupportsIndex | SupportsTrunc`, found `Iterable[tuple[Hashable, Any]]`
- static_frame/test/unit/test_quilt.py:1729:20 error[invalid-argument-type] Argument to `Batch.__init__` is incorrect: Expected `Iterator[tuple[Hashable, Frame | Series[Any, Any]]]`, found `IterNodeDelegate[Quilt]`
+ static_frame/test/unit/test_quilt.py:1729:20 error[invalid-argument-type] Argument to `Batch.__init__` is incorrect: Expected `Iterator[tuple[Hashable, Frame[Any, Any, *tuple[Any, ...]] | Series[Any, Any]]]`, found `IterNodeDelegate[Quilt]`
- static_frame/test/unit/test_quilt.py:1790:20 error[invalid-argument-type] Argument to `Batch.__init__` is incorrect: Expected `Iterator[tuple[Hashable, Frame | Series[Any, Any]]]`, found `IterNodeDelegate[Quilt]`
+ static_frame/test/unit/test_quilt.py:1790:20 error[invalid-argument-type] Argument to `Batch.__init__` is incorrect: Expected `Iterator[tuple[Hashable, Frame[Any, Any, *tuple[Any, ...]] | Series[Any, Any]]]`, found `IterNodeDelegate[Quilt]`
- static_frame/test/unit/test_series.py:3938:51 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- static_frame/test/unit/test_store.py:188:17 error[invalid-argument-type] Argument is incorrect: Expected `((Hashable, @Todo, /) -> @Todo) | None`, found `int | ((x) -> Unknown)`
+ static_frame/test/unit/test_store.py:188:17 error[invalid-argument-type] Argument is incorrect: Expected `((Hashable, Frame[Any, Any, *tuple[Any, ...]], /) -> Frame[Any, Any, *tuple[Any, ...]]) | None`, found `int | ((x) -> Unknown)`
- static_frame/test/unit/test_store_config.py:91:29 error[unresolved-attribute] Object of type `(...) -> Any` has no attribute `__name__`
+ static_frame/test/unit/test_store_config.py:91:29 error[unresolved-attribute] Object of type `((...) -> Any) | ((...) -> Frame[Any, Any, *tuple[Any, ...]])` has no attribute `__name__`
- static_frame/test/unit/test_store_zip.py:342:24 error[invalid-yield] Yield type `tuple[Hashable, Frame]` does not match annotated yield type `tuple[str, Frame]`
+ static_frame/test/unit/test_store_zip.py:342:24 error[invalid-yield] Yield type `tuple[Hashable, Frame[Any, Any, *tuple[Any, ...]]]` does not match annotated yield type `tuple[str, Frame[Any, Any, *tuple[Any, ...]]]`
- static_frame/test/unit/test_store_zip.py:427:29 error[invalid-argument-type] Argument is incorrect: Expected `((Hashable, @Todo, /) -> @Todo) | None`, found `int | Unknown`
+ static_frame/test/unit/test_store_zip.py:427:29 error[invalid-argument-type] Argument is incorrect: Expected `((Hashable, Frame[Any, Any, *tuple[Any, ...]], /) -> Frame[Any, Any, *tuple[Any, ...]]) | None`, found `int | Unknown`
+ static_frame/test/unit/test_yarn.py:461:31 error[invalid-argument-type] Argument to bound method `Yarn.from_concat` is incorrect: Expected `Iterable[Yarn[Any]]`, found `tuple[Frame[Any, Any, *tuple[Any, ...]], Frame[Any, Any, *tuple[Any, ...]], Frame[Any, Any, *tuple[Any, ...]]]`
+ static_frame/test/unit/test_yarn.py:505:31 error[invalid-argument-type] Argument to bound method `Yarn.from_concat` is incorrect: Expected `Iterable[Yarn[Any]]`, found `tuple[Frame[Any, Any, *tuple[Any, ...]], Frame[Any, Any, *tuple[Any, ...]], Frame[Any, Any, *tuple[Any, ...]]]`
+ static_frame/test/unit/test_yarn.py:767:25 error[unresolved-attribute] Object of type `Frame[Any, Any, *tuple[Any, ...]]` has no attribute `_hierarchy`

trio (https://github.com/python-trio/trio)
- src/trio/_core/_tests/type_tests/nursery_start.py:58:34 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- src/trio/_core/_tests/type_tests/nursery_start.py:59:34 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- src/trio/_core/_tests/type_tests/nursery_start.py:61:37 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- src/trio/_core/_tests/type_tests/nursery_start.py:63:38 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- src/trio/_core/_tests/type_tests/nursery_start.py:67:41 warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
+ src/trio/_core/_tests/test_guest_mode.py:496:13 error[invalid-argument-type] Argument to function `start_guest_run` is incorrect: Expected `(() -> object, /) -> object`, found `bound method AbstractEventLoop.call_soon_threadsafe[*_Ts](callback: (*_Ts) -> object, *args: _Ts, *, context: Context | None = None) -> Handle`
+ src/trio/_core/_tests/test_io.py:485:32 error[invalid-argument-type] Argument to bound method `Nursery.start_soon` is incorrect: Expected `(def wait_writable(fd: int | _HasFileNo) -> CoroutineType[Any, Any, None], socket, /) -> Awaitable[object]`, found `def allow_OSError[**ArgsT](async_func: (**ArgsT) -> Awaitable[object], *args: ArgsT.args, **kwargs: ArgsT.kwargs) -> CoroutineType[Any, Any, None]`
+ src/trio/_core/_tests/test_io.py:512:32 error[invalid-argument-type] Argument to bound method `Nursery.start_soon` is incorrect: Expected `(def wait_readable(fd: int | _HasFileNo) -> CoroutineType[Any, Any, None], socket, /) -> Awaitable[object]`, found `def allow_OSError[**ArgsT](async_func: (**ArgsT) -> Awaitable[object], *args: ArgsT.args, **kwargs: ArgsT.kwargs) -> CoroutineType[Any, Any, None]`
+ src/trio/_core/_tests/test_io.py:513:32 error[invalid-argument-type] Argument to bound method `Nursery.start_soon` is incorrect: Expected `(def wait_writable(fd: int | _HasFileNo) -> CoroutineType[Any, Any, None], socket, /) -> Awaitable[object]`, found `def allow_OSError[**ArgsT](async_func: (**ArgsT) -> Awaitable[object], *args: ArgsT.args, **kwargs: ArgsT.kwargs) -> CoroutineType[Any, Any, None]`
+ src/trio/_core/_tests/test_run.py:84:19 error[invalid-argument-type] Argument to function `run` is incorrect: Expected `() -> Awaitable[T@trivial]`, found `def trivial[T](x: T) -> CoroutineType[Any, Any, T]`
+ src/trio/_core/_tests/type_tests/run.py:46:10 error[invalid-argument-type] Argument to function `run` is incorrect: Expected `(Literal[7], Literal[8], /) -> Awaitable[int]`, found `def has_optional(arg: int | None = None) -> CoroutineType[Any, Any, int]`
+ src/trio/_core/_tests/type_tests/run.py:51:22 error[invalid-argument-type] Argument to function `run` is incorrect: Expected `(str | int, /) -> Awaitable[str | int]`, found `Overload[(arg: int) -> CoroutineType[Any, Any, str], (arg: str) -> CoroutineType[Any, Any, int]]`
+ src/trio/_dtls.py:1222:17 error[invalid-argument-type] Argument to function `spawn_system_task` is incorrect: Expected `(ReferenceType[Self@_ensure_receive_loop] | ReferenceType[DTLSEndpoint], SocketType, /) -> Awaitable[object]`, found `def dtls_receive_loop(endpoint_ref: ReferenceType[DTLSEndpoint], sock: SocketType) -> CoroutineType[Any, Any, None]`
+ src/trio/_tests/test_ssl.py:169:17 error[invalid-argument-type] Argument to bound method `Nursery.start_soon` is incorrect: Expected `(partial[(*, expect_fail: bool = ...) -> None], /) -> Awaitable[object]`, found `def to_thread_run_sync[*Ts, RetT](sync_fn: (*Ts) -> RetT, *args: Ts, *, thread_name: str | None = None, abandon_on_cancel: bool = False, limiter: CapacityLimiter | None = None) -> CoroutineType[Any, Any, RetT]`
+ src/trio/_tests/test_threads.py:732:34 error[invalid-argument-type] Argument to function `to_thread_run_sync` is incorrect: Expected `(def sync_fn() -> None, /) -> Unknown`, found `def from_thread_run[*Ts, RetT](afn: (*Ts) -> Awaitable[RetT], *args: Ts, *, trio_token: TrioToken | None = None) -> RetT`
+ src/trio/_tests/test_threads.py:921:45 error[invalid-argument-type] Argument to function `to_thread_run_sync` is incorrect: Expected `(def current_task() -> Task, /) -> Unknown`, found `def from_thread_run_sync[*Ts, RetT](fn: (*Ts) -> RetT, *args: Ts, *, trio_token: TrioToken | None = None) -> RetT`
+ src/trio/_tests/test_threads.py:922:45 error[invalid-argument-type] Argument to function `to_thread_run_sync` is incorrect: Expected `(def async_current_task() -> CoroutineType[Any, Any, Task], /) -> Unknown`, found `def from_thread_run[*Ts, RetT](afn: (*Ts) -> Awaitable[RetT], *args: Ts, *, trio_token: TrioToken | None = None) -> RetT`
+ src/trio/_tests/test_threads.py:990:34 error[invalid-argument-type] Argument to function `to_thread_run_sync` is incorrect: Expected `(def async_time_bomb() -> CoroutineType[Any, Any, None], /) -> Unknown`, found `def from_thread_run[*Ts, RetT](afn: (*Ts) -> Awaitable[RetT], *args: Ts, *, trio_token: TrioToken | None = None) -> RetT`
+ src/trio/_tests/test_threads.py:1121:38 error[invalid-argument-type] Argument to function `to_thread_run_sync` is incorrect: Expected `(def sleep(seconds: int | float) -> CoroutineType[Any, Any, None], Literal[0], /) -> Unknown`, found `def from_thread_run[*Ts, RetT](afn: (*Ts) -> Awaitable[RetT], *args: Ts, *, trio_token: TrioToken | None = None) -> RetT`
- src/trio/_tests/test_util.py:122:36 error[invalid-argument-type] Argument to function `coroutine_or_error` is incorrect: Expected `(...) -> Awaitable[Unknown]`, found `Generator[Coroutine[None, None, None], None, None]`
+ src/trio/_tests/test_util.py:122:36 error[invalid-argument-type] Argument to function `coroutine_or_error` is incorrect: Expected `() -> Awaitable[Unknown]`, found `Generator[Coroutine[None, None, None], None, None]`
- src/trio/_tests/test_util.py:153:32 error[invalid-argument-type] Argument to function `coroutine_or_error` is incorrect: Expected `(...) -> Awaitable[Unknown]`, found `def async_gen(_: object) -> AsyncGenerator[None, None]`
+ src/trio/_tests/test_util.py:153:32 error[invalid-argument-type] Argument to function `coroutine_or_error` is incorrect: Expected `(object, /) -> Awaitable[Unknown]`, found `def async_gen(_: object) -> AsyncGenerator[None, None]`
+ src/trio/_tests/test_wait_for_object.py:84:13 error[invalid-argument-type] Argument to bound method `Nursery.start_soon` is incorrect: Expected `(*args: Unknown) -> Awaitable[object]`, found `def to_thread_run_sync[*Ts, RetT](sync_fn: (*Ts) -> RetT, *args: Ts, *, thread_name: str | None = None, abandon_on_cancel: bool = False, limiter: CapacityLimiter | None = None) -> CoroutineType[Any, Any, RetT]`
+ src/trio/_tests/test_wait_for_object.py:103:13 error[invalid-argument-type] Argument to bound method `Nursery.start_soon` is incorrect: Expected `(*args: Unknown) -> Awaitable[object]`, found `def to_thread_run_sync[*Ts, RetT](sync_fn: (*Ts) -> RetT, *args: Ts, *, thread_name: str | None = None, abandon_on_cancel: bool = False, limiter: CapacityLimiter | None = None) -> CoroutineType[Any, Any, RetT]`

Full report with detailed diff (timing results)

@dhruvmanila dhruvmanila force-pushed the dhruv/codex/typevartuple-support branch from c9b3969 to 4479d6b Compare May 19, 2026 16:08
@codspeed-hq

codspeed-hq Bot commented May 19, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 6.16%

❌ 1 regressed benchmark
✅ 126 untouched benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
WallTime static_frame 22.4 s 23.9 s -6.16%

Tip

Investigate this regression with the CodSpeed MCP and your agent.


Comparing dhruv/codex/typevartuple-support (18b9e55) with main (f381eb1)

Open in CodSpeed

@dhruvmanila dhruvmanila force-pushed the dhruv/codex/typevartuple-support branch 3 times, most recently from f0dc84f to 37e8025 Compare May 22, 2026 11:46
@dhruvmanila dhruvmanila force-pushed the dhruv/codex/typevartuple-support branch from 37e8025 to fc2e4d0 Compare May 27, 2026 10:34
@dhruvmanila dhruvmanila force-pushed the dhruv/codex/typevartuple-support branch 2 times, most recently from 5ce4724 to 24c8463 Compare June 5, 2026 11:42
@astral-sh-bot

astral-sh-bot Bot commented Jun 5, 2026

Copy link
Copy Markdown

ruff-ecosystem results

Linter (stable)

✅ ecosystem check detected no linter changes.

Linter (preview)

✅ ecosystem check detected no linter changes.

@dhruvmanila dhruvmanila changed the title [ty] Add initial TypeVarTuple support [ty] Support TypeVarTuple and Unpack Jun 5, 2026
@dhruvmanila dhruvmanila force-pushed the dhruv/codex/typevartuple-support branch from f764d13 to 3241dca Compare June 5, 2026 15:22
@dhruvmanila dhruvmanila force-pushed the dhruv/codex/typevartuple-support branch from 3241dca to 9dad1bf Compare June 8, 2026 07:45
@dhruvmanila dhruvmanila force-pushed the dhruv/codex/typevartuple-support branch 5 times, most recently from 23676d2 to 3422a91 Compare June 11, 2026 15:38
@dhruvmanila dhruvmanila force-pushed the dhruv/codex/typevartuple-support branch 2 times, most recently from 66d1878 to 4760148 Compare June 11, 2026 15:58
@dhruvmanila dhruvmanila force-pushed the dhruv/codex/typevartuple-support branch from 4760148 to cedc5f6 Compare June 11, 2026 16:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ty Multi-file analysis & type inference

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support typing.Unpack support TypeVarTuple

1 participant