Skip to content

[ty] Preserve generic functools.partial signatures#24583

Draft
charliermarsh wants to merge 3 commits intocharlie/partial-ifrom
charlie/partial-ii
Draft

[ty] Preserve generic functools.partial signatures#24583
charliermarsh wants to merge 3 commits intocharlie/partial-ifrom
charlie/partial-ii

Conversation

@charliermarsh
Copy link
Copy Markdown
Member

@charliermarsh charliermarsh commented Apr 13, 2026

Summary

This PR improves our functools.partial support to preserve unbound generics, e.g., in the following:

from functools import partial
from typing import TypeVar

T = TypeVar("T")
U = TypeVar("U")

def combine(a: T, b: U) -> tuple[T, U]:
    return (a, b)

# partial[[U](b: U) -> tuple[Literal[1], U]]
p = partial(combine, 1)

We also support overriding default keyword generic arguments that were bound at constructor time, as in:

from functools import partial
from typing import TypeVar

T = TypeVar("T")

def pair(a: T, b: T) -> tuple[T, T]:
    return (a, b)

# By default: (a: int, *, b: int = 1) -> tuple[int, int]
# But with an override: [T](a: T, *, b: T) -> tuple[T, T]
p = partial(pair, b=1)

See: astral-sh/ty#1536.

@astral-sh-bot astral-sh-bot bot added the ty Multi-file analysis & type inference label Apr 13, 2026
@astral-sh-bot
Copy link
Copy Markdown

astral-sh-bot bot commented Apr 13, 2026

Typing conformance results

No changes detected ✅

Current numbers
The percentage of diagnostics emitted that were expected errors held steady at 87.94%. The percentage of expected errors that received a diagnostic held steady at 83.21%. The number of fully passing files held steady at 79/133.

@astral-sh-bot
Copy link
Copy Markdown

astral-sh-bot bot commented Apr 13, 2026

Memory usage report

Memory usage unchanged ✅

@astral-sh-bot
Copy link
Copy Markdown

astral-sh-bot bot commented Apr 13, 2026

ecosystem-analyzer results

Lint rule Added Removed Changed
invalid-argument-type 16 0 0
unresolved-attribute 0 0 2
invalid-assignment 1 0 0
invalid-return-type 1 0 0
Total 18 0 2
Raw diff (20 changes)
hydra-zen (https://github.com/mit-ll-responsible-ai/hydra-zen)
+ src/hydra_zen/wrapper/_implementations.py:434:32 error[invalid-assignment] Object of type `F2@__init__ | ((**P@Zen) -> R@Zen) | partial[[**_P](**_P) -> Unknown]` is not assignable to `(**P@Zen) -> R@Zen`

jax (https://github.com/google/jax)
+ jax/_src/export/_export.py:865:19 error[invalid-argument-type] Argument to function `export` is incorrect: Expected `Wrapped`, found `(...) -> Unknown`
+ jax/_src/interpreters/pxla.py:876:46 error[invalid-argument-type] Argument to function `const_args_shardings` is incorrect: Expected `Sequence[Array | ndarray[tuple[Any, ...], dtype[Any]]]`, found `tuple[Array | ndarray[tuple[Any, ...], dtype[Any]] | numpy.bool[builtins.bool] | ... omitted 4 union elements, ...]`
+ jax/_src/interpreters/pxla.py:897:9 error[invalid-argument-type] Argument is incorrect: Expected `Sequence[ShapedArray]`, found `list[AbstractValue]`
+ jax/_src/lax/control_flow/loops.py:238:7 error[invalid-argument-type] Argument to function `scan_nocarry` is incorrect: Expected `(Unknown, Unknown, /) -> tuple[Unknown, Unknown]`, found `def body_no_carry(x) -> Unknown`
+ jax/_src/lax/control_flow/loops.py:240:10 error[invalid-return-type] Return type does not match returned value: expected `tuple[Carry@scan3, Y@scan3]`, found `tuple[Unknown, tuple[Unknown, Unknown]]`
+ jax/_src/pjit.py:1385:39 error[invalid-argument-type] Argument to function `const_args_shardings` is incorrect: Expected `Sequence[Array | ndarray[tuple[Any, ...], dtype[Any]]]`, found `tuple[Array | ndarray[tuple[Any, ...], dtype[Any]] | numpy.bool[builtins.bool] | ... omitted 4 union elements, ...]`
+ jax/_src/shard_map.py:161:36 error[invalid-argument-type] Argument to function `_shard_map` is incorrect: Expected `AbstractSet[Hashable]`, found `Mesh | AbstractMesh | None | ... omitted 4 union elements`
+ jax/_src/shard_map.py:161:36 error[invalid-argument-type] Argument to function `_shard_map` is incorrect: Expected `Mesh | AbstractMesh | None`, found `Mesh | AbstractMesh | None | ... omitted 4 union elements`
+ jax/_src/shard_map.py:161:36 error[invalid-argument-type] Argument to function `_shard_map` is incorrect: Expected `bool`, found `Mesh | AbstractMesh | None | ... omitted 4 union elements`
+ jax/_src/shard_map.py:161:36 error[invalid-argument-type] Argument to function `_shard_map` is incorrect: Expected `bool`, found `Mesh | AbstractMesh | None | ... omitted 4 union elements`
+ jax/_src/shard_map.py:162:24 error[invalid-argument-type] Argument to function `_shard_map` is incorrect: Expected `AbstractSet[Hashable]`, found `Mesh | AbstractMesh | None | ... omitted 4 union elements`
+ jax/_src/shard_map.py:162:24 error[invalid-argument-type] Argument to function `_shard_map` is incorrect: Expected `Mesh | AbstractMesh | None`, found `Mesh | AbstractMesh | None | ... omitted 4 union elements`
+ jax/_src/shard_map.py:162:24 error[invalid-argument-type] Argument to function `_shard_map` is incorrect: Expected `bool`, found `Mesh | AbstractMesh | None | ... omitted 4 union elements`
+ jax/_src/shard_map.py:162:24 error[invalid-argument-type] Argument to function `_shard_map` is incorrect: Expected `bool`, found `Mesh | AbstractMesh | None | ... omitted 4 union elements`
+ jax/experimental/jax2tf/tests/jax2tf_test.py:1218:10 error[invalid-argument-type] Argument to function `export` is incorrect: Expected `Wrapped`, found `JitWrapped | (Unknown & <Protocol with members 'trace'>) | ((() -> Unknown) & <Protocol with members 'trace'>)`

pandas (https://github.com/pandas-dev/pandas)
- pandas/tests/groupby/aggregate/test_aggregate.py:843:9 error[unresolved-attribute] Unresolved attribute `__name__` on type `partial[Overload[(a: _SupportsArray[dtype[Unknown]] | _NestedSequence[_SupportsArray[dtype[Unknown]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> Unknown, (a: _SupportsArray[dtype[Unknown]] | _NestedSequence[_SupportsArray[dtype[Unknown]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: SupportsIndex | Sequence[SupportsIndex], out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[Unknown]], (a: _SupportsArray[dtype[Unknown]] | _NestedSequence[_SupportsArray[dtype[Unknown]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[True], weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[Unknown]], (a: _NestedSequence[int | float] | _SupportsArray[dtype[bool[bool] | integer[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any]]]] | int, *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> float64, (a: _NestedSequence[int | float] | _SupportsArray[dtype[bool[bool] | integer[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any]]]] | int, *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: SupportsIndex | Sequence[SupportsIndex], out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[float64]], (a: _NestedSequence[int | float] | _SupportsArray[dtype[bool[bool] | integer[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any]]]] | int, *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[True], weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[float64]], (a: list[int | float | complex] | _NestedSequence[list[int | float | complex]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> complex128, (a: list[int | float | complex] | _NestedSequence[list[int | float | complex]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: SupportsIndex | Sequence[SupportsIndex], out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[complex128]], (a: list[int | float | complex] | _NestedSequence[list[int | float | complex]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[True], weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[complex128]], (a: _SupportsArray[dtype[object_]] | _NestedSequence[_SupportsArray[dtype[object_]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> Any, (a: _SupportsArray[dtype[object_]] | _NestedSequence[_SupportsArray[dtype[object_]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: SupportsIndex | Sequence[SupportsIndex], out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[object_]], (a: _SupportsArray[dtype[object_]] | _NestedSequence[_SupportsArray[dtype[object_]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[True], weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[object_]], (a: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omitted 5 union elements, *, q: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | float | _NestedSequence[int | float] = 50, axis: SupportsIndex | Sequence[SupportsIndex] | None, out: Unknown, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: bool = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> Unknown, (a: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omitted 5 union elements, *, q: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | float | _NestedSequence[int | float] = 50, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: Unknown, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: bool = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> Unknown, (a: _SupportsArray[dtype[bool[bool] | number[Any, int | float | complex]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | number[Any, int | float | complex]]]] | int | ... omitted 5 union elements, *, q: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | float | _NestedSequence[int | float] = 50, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: bool = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> Any]]`
+ pandas/tests/groupby/aggregate/test_aggregate.py:843:9 error[unresolved-attribute] Unresolved attribute `__name__` on type `partial[Overload[[_InexactDateTimeT](a: _SupportsArray[dtype[_InexactDateTimeT]] | _NestedSequence[_SupportsArray[dtype[_InexactDateTimeT]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> _InexactDateTimeT, [_InexactDateTimeT](a: _SupportsArray[dtype[_InexactDateTimeT]] | _NestedSequence[_SupportsArray[dtype[_InexactDateTimeT]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: SupportsIndex | Sequence[SupportsIndex], out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[_InexactDateTimeT]], [_InexactDateTimeT](a: _SupportsArray[dtype[_InexactDateTimeT]] | _NestedSequence[_SupportsArray[dtype[_InexactDateTimeT]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[True], weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[_InexactDateTimeT]], (a: _NestedSequence[int | float] | _SupportsArray[dtype[bool[bool] | integer[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any]]]] | int, *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> float64, (a: _NestedSequence[int | float] | _SupportsArray[dtype[bool[bool] | integer[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any]]]] | int, *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: SupportsIndex | Sequence[SupportsIndex], out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[float64]], (a: _NestedSequence[int | float] | _SupportsArray[dtype[bool[bool] | integer[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any]]]] | int, *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[True], weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[float64]], (a: list[int | float | complex] | _NestedSequence[list[int | float | complex]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> complex128, (a: list[int | float | complex] | _NestedSequence[list[int | float | complex]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: SupportsIndex | Sequence[SupportsIndex], out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[complex128]], (a: list[int | float | complex] | _NestedSequence[list[int | float | complex]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[True], weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[complex128]], (a: _SupportsArray[dtype[object_]] | _NestedSequence[_SupportsArray[dtype[object_]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> Any, (a: _SupportsArray[dtype[object_]] | _NestedSequence[_SupportsArray[dtype[object_]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: SupportsIndex | Sequence[SupportsIndex], out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[object_]], (a: _SupportsArray[dtype[object_]] | _NestedSequence[_SupportsArray[dtype[object_]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 50, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[True], weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[object_]], [_ArrayT](a: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omitted 5 union elements, *, q: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | float | _NestedSequence[int | float] = 50, axis: SupportsIndex | Sequence[SupportsIndex] | None, out: _ArrayT, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: bool = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> _ArrayT, [_ArrayT](a: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omitted 5 union elements, *, q: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | float | _NestedSequence[int | float] = 50, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: _ArrayT, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: bool = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> _ArrayT, (a: _SupportsArray[dtype[bool[bool] | number[Any, int | float | complex]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | number[Any, int | float | complex]]]] | int | ... omitted 5 union elements, *, q: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | float | _NestedSequence[int | float] = 50, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: bool = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> Any]]`
- pandas/tests/groupby/aggregate/test_aggregate.py:844:9 error[unresolved-attribute] Unresolved attribute `__name__` on type `partial[Overload[(a: _SupportsArray[dtype[Unknown]] | _NestedSequence[_SupportsArray[dtype[Unknown]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> Unknown, (a: _SupportsArray[dtype[Unknown]] | _NestedSequence[_SupportsArray[dtype[Unknown]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: SupportsIndex | Sequence[SupportsIndex], out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[Unknown]], (a: _SupportsArray[dtype[Unknown]] | _NestedSequence[_SupportsArray[dtype[Unknown]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[True], weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[Unknown]], (a: _NestedSequence[int | float] | _SupportsArray[dtype[bool[bool] | integer[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any]]]] | int, *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> float64, (a: _NestedSequence[int | float] | _SupportsArray[dtype[bool[bool] | integer[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any]]]] | int, *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: SupportsIndex | Sequence[SupportsIndex], out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[float64]], (a: _NestedSequence[int | float] | _SupportsArray[dtype[bool[bool] | integer[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any]]]] | int, *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[True], weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[float64]], (a: list[int | float | complex] | _NestedSequence[list[int | float | complex]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> complex128, (a: list[int | float | complex] | _NestedSequence[list[int | float | complex]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: SupportsIndex | Sequence[SupportsIndex], out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[complex128]], (a: list[int | float | complex] | _NestedSequence[list[int | float | complex]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[True], weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[complex128]], (a: _SupportsArray[dtype[object_]] | _NestedSequence[_SupportsArray[dtype[object_]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> Any, (a: _SupportsArray[dtype[object_]] | _NestedSequence[_SupportsArray[dtype[object_]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: SupportsIndex | Sequence[SupportsIndex], out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[object_]], (a: _SupportsArray[dtype[object_]] | _NestedSequence[_SupportsArray[dtype[object_]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[True], weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[object_]], (a: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omitted 5 union elements, *, q: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | float | _NestedSequence[int | float] = 70, axis: SupportsIndex | Sequence[SupportsIndex] | None, out: Unknown, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: bool = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> Unknown, (a: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omitted 5 union elements, *, q: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | float | _NestedSequence[int | float] = 70, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: Unknown, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: bool = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> Unknown, (a: _SupportsArray[dtype[bool[bool] | number[Any, int | float | complex]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | number[Any, int | float | complex]]]] | int | ... omitted 5 union elements, *, q: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | float | _NestedSequence[int | float] = 70, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: bool = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> Any]]`
+ pandas/tests/groupby/aggregate/test_aggregate.py:844:9 error[unresolved-attribute] Unresolved attribute `__name__` on type `partial[Overload[[_InexactDateTimeT](a: _SupportsArray[dtype[_InexactDateTimeT]] | _NestedSequence[_SupportsArray[dtype[_InexactDateTimeT]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> _InexactDateTimeT, [_InexactDateTimeT](a: _SupportsArray[dtype[_InexactDateTimeT]] | _NestedSequence[_SupportsArray[dtype[_InexactDateTimeT]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: SupportsIndex | Sequence[SupportsIndex], out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[_InexactDateTimeT]], [_InexactDateTimeT](a: _SupportsArray[dtype[_InexactDateTimeT]] | _NestedSequence[_SupportsArray[dtype[_InexactDateTimeT]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[True], weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[_InexactDateTimeT]], (a: _NestedSequence[int | float] | _SupportsArray[dtype[bool[bool] | integer[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any]]]] | int, *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> float64, (a: _NestedSequence[int | float] | _SupportsArray[dtype[bool[bool] | integer[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any]]]] | int, *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: SupportsIndex | Sequence[SupportsIndex], out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[float64]], (a: _NestedSequence[int | float] | _SupportsArray[dtype[bool[bool] | integer[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any]]]] | int, *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[True], weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[float64]], (a: list[int | float | complex] | _NestedSequence[list[int | float | complex]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> complex128, (a: list[int | float | complex] | _NestedSequence[list[int | float | complex]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: SupportsIndex | Sequence[SupportsIndex], out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[complex128]], (a: list[int | float | complex] | _NestedSequence[list[int | float | complex]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[True], weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[complex128]], (a: _SupportsArray[dtype[object_]] | _NestedSequence[_SupportsArray[dtype[object_]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> Any, (a: _SupportsArray[dtype[object_]] | _NestedSequence[_SupportsArray[dtype[object_]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: SupportsIndex | Sequence[SupportsIndex], out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[False] = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[object_]], (a: _SupportsArray[dtype[object_]] | _NestedSequence[_SupportsArray[dtype[object_]]], *, q: int | float | floating[Any] | integer[Any] | bool[bool] = 70, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: Literal[True], weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> ndarray[tuple[Any, ...], dtype[object_]], [_ArrayT](a: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omitted 5 union elements, *, q: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | float | _NestedSequence[int | float] = 70, axis: SupportsIndex | Sequence[SupportsIndex] | None, out: _ArrayT, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: bool = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> _ArrayT, [_ArrayT](a: _Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | ... omitted 5 union elements, *, q: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | float | _NestedSequence[int | float] = 70, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: _ArrayT, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: bool = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> _ArrayT, (a: _SupportsArray[dtype[bool[bool] | number[Any, int | float | complex]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | number[Any, int | float | complex]]]] | int | ... omitted 5 union elements, *, q: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | float | _NestedSequence[int | float] = 70, axis: SupportsIndex | Sequence[SupportsIndex] | None = None, out: None = None, overwrite_input: bool = False, method: Literal["inverted_cdf", "averaged_inverted_cdf", "closest_observation", "interpolated_inverted_cdf", "hazen", ... omitted 8 literals] = "linear", keepdims: bool = False, weights: _SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]] | _NestedSequence[_SupportsArray[dtype[bool[bool] | integer[Any] | floating[Any]]]] | int | ... omitted 3 union elements = None) -> Any]]`

xarray (https://github.com/pydata/xarray)
+ xarray/tests/test_backends_api.py:320:17 error[invalid-argument-type] Argument to function `open_dataset` is incorrect: Expected `str | PathLike[Any] | ReadBuffer[Unknown] | ... omitted 3 union elements`, found `Dataset`
+ xarray/tests/test_dataarray.py:7619:22 error[invalid-argument-type] Argument to bound method `stack` is incorrect: Expected `Sequence[Hashable]`, found `EllipsisType`

Full report with detailed diff (timing results)

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq bot commented Apr 13, 2026

Merging this PR will degrade performance by 5.76%

❌ 1 regressed benchmark
✅ 46 untouched benchmarks
⏩ 60 skipped benchmarks1

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
WallTime altair 5.2 s 5.5 s -5.76%

Comparing charlie/partial-ii (ace8d9d) with charlie/partial-i (8c40171)

Open in CodSpeed

Footnotes

  1. 60 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

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.

1 participant