-
Notifications
You must be signed in to change notification settings - Fork 219
Closed
astral-sh/ruff
#22416Milestone
Description
Summary
Example code (sorry, I did not manage to reproduce this without importing prefect):
from prefect.futures import wait
from prefect import flow, task
@task
def task_get() -> int:
"""Task get integer."""
return 42
@task
def task_add(x: int, y: int) -> int:
"""Task add two integers."""
print(f"Adding {x} and {y}")
return x + y
@flow
def my_flow():
"""My flow."""
x = 23
future_y = task_get.submit()
future_xy = task_add.submit(x, future_y)
future_yy = task_add.submit(future_y, future_y)
future_xx = task_add.submit(x, x)
xx = task_add(x, x)
yy = task_add(future_y, future_y)
xy = task_add(x, future_y)
wait([future_xy, future_yy, future_xx])
if __name__ == "__main__":
my_flow()ty check output:
error[invalid-argument-type]: Argument to bound method `submit` is incorrect
--> tmp/tmp.py:21:33
|
19 | future_y = task_get.submit()
20 |
21 | future_xy = task_add.submit(x, future_y)
| ^ Expected `(x: int, y: int)`, found `Literal[23]`
22 | future_yy = task_add.submit(future_y, future_y)
23 | future_xx = task_add.submit(x, x)
|
info: Matching overload defined here
--> .venv/lib/python3.12/site-packages/prefect/tasks.py:1066:9
|
1065 | @overload
1066 | def submit(
| ^^^^^^
1067 | self: "Task[P, R]",
1068 | *args: P.args,
| ------------- Parameter declared here
1069 | **kwargs: P.kwargs,
1070 | ) -> PrefectFuture[R]: ...
|
info: Non-matching overloads for bound method `submit`:
info: (self: Task[P@Task, Coroutine[Any, Any, R@Task]], *args: [email protected], *, return_state: Literal[False], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> PrefectFuture[R@Task]
info: (self: Task[P@Task, R@Task], *args: [email protected], *, return_state: Literal[False], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> PrefectFuture[R@Task]
info: (self: Task[P@Task, Coroutine[Any, Any, R@Task]], *args: [email protected], *, return_state: Literal[True], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> State[R@Task]
info: (self: Task[P@Task, R@Task], *args: [email protected], *, return_state: Literal[True], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> State[R@Task]
info: rule `invalid-argument-type` is enabled by default
error[invalid-argument-type]: Argument to bound method `submit` is incorrect
--> tmp/tmp.py:21:36
|
19 | future_y = task_get.submit()
20 |
21 | future_xy = task_add.submit(x, future_y)
| ^^^^^^^^ Expected `(x: int, y: int)`, found `PrefectFuture[int]`
22 | future_yy = task_add.submit(future_y, future_y)
23 | future_xx = task_add.submit(x, x)
|
info: Matching overload defined here
--> .venv/lib/python3.12/site-packages/prefect/tasks.py:1066:9
|
1065 | @overload
1066 | def submit(
| ^^^^^^
1067 | self: "Task[P, R]",
1068 | *args: P.args,
| ------------- Parameter declared here
1069 | **kwargs: P.kwargs,
1070 | ) -> PrefectFuture[R]: ...
|
info: Non-matching overloads for bound method `submit`:
info: (self: Task[P@Task, Coroutine[Any, Any, R@Task]], *args: [email protected], *, return_state: Literal[False], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> PrefectFuture[R@Task]
info: (self: Task[P@Task, R@Task], *args: [email protected], *, return_state: Literal[False], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> PrefectFuture[R@Task]
info: (self: Task[P@Task, Coroutine[Any, Any, R@Task]], *args: [email protected], *, return_state: Literal[True], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> State[R@Task]
info: (self: Task[P@Task, R@Task], *args: [email protected], *, return_state: Literal[True], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> State[R@Task]
info: rule `invalid-argument-type` is enabled by default
error[invalid-argument-type]: Argument to bound method `submit` is incorrect
--> tmp/tmp.py:22:33
|
21 | future_xy = task_add.submit(x, future_y)
22 | future_yy = task_add.submit(future_y, future_y)
| ^^^^^^^^ Expected `(x: int, y: int)`, found `PrefectFuture[int]`
23 | future_xx = task_add.submit(x, x)
|
info: Matching overload defined here
--> .venv/lib/python3.12/site-packages/prefect/tasks.py:1066:9
|
1065 | @overload
1066 | def submit(
| ^^^^^^
1067 | self: "Task[P, R]",
1068 | *args: P.args,
| ------------- Parameter declared here
1069 | **kwargs: P.kwargs,
1070 | ) -> PrefectFuture[R]: ...
|
info: Non-matching overloads for bound method `submit`:
info: (self: Task[P@Task, Coroutine[Any, Any, R@Task]], *args: [email protected], *, return_state: Literal[False], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> PrefectFuture[R@Task]
info: (self: Task[P@Task, R@Task], *args: [email protected], *, return_state: Literal[False], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> PrefectFuture[R@Task]
info: (self: Task[P@Task, Coroutine[Any, Any, R@Task]], *args: [email protected], *, return_state: Literal[True], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> State[R@Task]
info: (self: Task[P@Task, R@Task], *args: [email protected], *, return_state: Literal[True], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> State[R@Task]
info: rule `invalid-argument-type` is enabled by default
error[invalid-argument-type]: Argument to bound method `submit` is incorrect
--> tmp/tmp.py:22:43
|
21 | future_xy = task_add.submit(x, future_y)
22 | future_yy = task_add.submit(future_y, future_y)
| ^^^^^^^^ Expected `(x: int, y: int)`, found `PrefectFuture[int]`
23 | future_xx = task_add.submit(x, x)
|
info: Matching overload defined here
--> .venv/lib/python3.12/site-packages/prefect/tasks.py:1066:9
|
1065 | @overload
1066 | def submit(
| ^^^^^^
1067 | self: "Task[P, R]",
1068 | *args: P.args,
| ------------- Parameter declared here
1069 | **kwargs: P.kwargs,
1070 | ) -> PrefectFuture[R]: ...
|
info: Non-matching overloads for bound method `submit`:
info: (self: Task[P@Task, Coroutine[Any, Any, R@Task]], *args: [email protected], *, return_state: Literal[False], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> PrefectFuture[R@Task]
info: (self: Task[P@Task, R@Task], *args: [email protected], *, return_state: Literal[False], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> PrefectFuture[R@Task]
info: (self: Task[P@Task, Coroutine[Any, Any, R@Task]], *args: [email protected], *, return_state: Literal[True], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> State[R@Task]
info: (self: Task[P@Task, R@Task], *args: [email protected], *, return_state: Literal[True], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> State[R@Task]
info: rule `invalid-argument-type` is enabled by default
error[invalid-argument-type]: Argument to bound method `submit` is incorrect
--> tmp/tmp.py:23:33
|
21 | future_xy = task_add.submit(x, future_y)
22 | future_yy = task_add.submit(future_y, future_y)
23 | future_xx = task_add.submit(x, x)
| ^ Expected `(x: int, y: int)`, found `Literal[23]`
24 |
25 | xx = task_add(x, x)
|
info: Matching overload defined here
--> .venv/lib/python3.12/site-packages/prefect/tasks.py:1066:9
|
1065 | @overload
1066 | def submit(
| ^^^^^^
1067 | self: "Task[P, R]",
1068 | *args: P.args,
| ------------- Parameter declared here
1069 | **kwargs: P.kwargs,
1070 | ) -> PrefectFuture[R]: ...
|
info: Non-matching overloads for bound method `submit`:
info: (self: Task[P@Task, Coroutine[Any, Any, R@Task]], *args: [email protected], *, return_state: Literal[False], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> PrefectFuture[R@Task]
info: (self: Task[P@Task, R@Task], *args: [email protected], *, return_state: Literal[False], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> PrefectFuture[R@Task]
info: (self: Task[P@Task, Coroutine[Any, Any, R@Task]], *args: [email protected], *, return_state: Literal[True], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> State[R@Task]
info: (self: Task[P@Task, R@Task], *args: [email protected], *, return_state: Literal[True], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> State[R@Task]
info: rule `invalid-argument-type` is enabled by default
error[invalid-argument-type]: Argument to bound method `submit` is incorrect
--> tmp/tmp.py:23:36
|
21 | future_xy = task_add.submit(x, future_y)
22 | future_yy = task_add.submit(future_y, future_y)
23 | future_xx = task_add.submit(x, x)
| ^ Expected `(x: int, y: int)`, found `Literal[23]`
24 |
25 | xx = task_add(x, x)
|
info: Matching overload defined here
--> .venv/lib/python3.12/site-packages/prefect/tasks.py:1066:9
|
1065 | @overload
1066 | def submit(
| ^^^^^^
1067 | self: "Task[P, R]",
1068 | *args: P.args,
| ------------- Parameter declared here
1069 | **kwargs: P.kwargs,
1070 | ) -> PrefectFuture[R]: ...
|
info: Non-matching overloads for bound method `submit`:
info: (self: Task[P@Task, Coroutine[Any, Any, R@Task]], *args: [email protected], *, return_state: Literal[False], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> PrefectFuture[R@Task]
info: (self: Task[P@Task, R@Task], *args: [email protected], *, return_state: Literal[False], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> PrefectFuture[R@Task]
info: (self: Task[P@Task, Coroutine[Any, Any, R@Task]], *args: [email protected], *, return_state: Literal[True], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> State[R@Task]
info: (self: Task[P@Task, R@Task], *args: [email protected], *, return_state: Literal[True], wait_for: PrefectFuture[Any] | Any | Iterable[PrefectFuture[Any] | Any] | None = None, **kwargs: [email protected]) -> State[R@Task]
info: rule `invalid-argument-type` is enabled by default
Found 6 diagnostics
maybe related to #2027 ?
Version
0.0.3
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels