This repository was archived by the owner on Jul 12, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Argument 2 to "path" has incompatible type "_ASGIApplicationProtocol", with django url patterns #1
Copy link
Copy link
Closed
Description
This code:
# WebSocket URL patterns for chat rooms
websocket_urlpatterns = [
django.urls.path(r"ws/chat/<int:turnaround_id>/", consumers.ChatConsumer.as_asgi()),
]
triggers this mypy error:
$ poetry run mypy --follow-imports=silent chat/routing.py
chat/routing.py:8: error: Argument 2 to "path" has incompatible type "_ASGIApplicationProtocol"; expected "Callable[..., HttpResponseBase]" [arg-type]
chat/routing.py:8: note: "_ASGIApplicationProtocol.__call__" has type "Callable[[Arg(HTTPScope | WebSocketScope | LifespanScope, 'scope'), Arg(Callable[[], Awaitable[HTTPRequestEvent | HTTPDisconnectEvent | WebSocketConnectEvent | WebSocketReceiveEvent | WebSocketDisconnectEvent | LifespanStartupEvent | LifespanShutdownEvent]], 'receive'), Arg(Callable[[HTTPResponseStartEvent | HTTPResponseBodyEvent | HTTPResponseTrailersEvent | HTTPServerPushEvent | HTTPDisconnectEvent | WebSocketAcceptEvent | WebSocketSendEvent | WebSocketResponseStartEvent | WebSocketResponseBodyEvent | WebSocketCloseEvent | LifespanStartupCompleteEvent | LifespanStartupFailedEvent | LifespanShutdownCompleteEvent | LifespanShutdownFailedEvent], Awaitable[None]], 'send')], Awaitable[None]]"
Found 1 error in 1 file (checked 1 source file)
reveal type of (django.urls.path) is:
Revealed type is "Overload(def (route: Union[builtins.str, django.utils.functional._StrPromise], view: def (*Any, **Any) -> django.http.response.HttpResponseBase, kwargs: builtins.dict[builtins.str, Any] =, name: builtins.str =) -> django.urls.resolvers.URLPattern, def (route: Union[builtins.str, django.utils.functional._StrPromise], view: def (*Any, **Any) -> typing.Coroutine[Any, Any, django.http.response.HttpResponseBase], kwargs: builtins.dict[builtins.str, Any] =, name: builtins.str =) -> django.urls.resolvers.URLPattern, def (route: Union[builtins.str, django.utils.functional._StrPromise], view: tuple[typing.Sequence[Union[django.urls.resolvers.URLResolver, django.urls.resolvers.URLPattern]], Union[builtins.str, None], Union[builtins.str, None]], kwargs: builtins.dict[builtins.str, Any] =, name: builtins.str =) -> django.urls.resolvers.URLResolver, def (route: Union[builtins.str, django.utils.functional._StrPromise], view: typing.Sequence[Union[django.urls.resolvers.URLResolver, builtins.str]], kwargs: builtins.dict[builtins.str, Any] =, name: builtins.str =) -> django.urls.resolvers.URLResolver)"
I don't know much about typing, I hope I gave all the informations you need. I am available for more information if needed.
Metadata
Metadata
Assignees
Labels
No labels