You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hey!
I saw this topic was already brought here a few times, so I excuse for doing this again, but I coulnd't find any workarounds and don't know what to do.
I am working on some sort of SDK with a sync client version and async one and I am really don't want to copypaste all of the methods signatures all over my codebase.
Do signatures work without .pyi? I would personally be surprised if they do, because I do not feel like we support ParamSpec.
I feel like the docstring should work with @wraps without the annotation of coro: Callable[...]. But otherwise this is kind of annoyinng to get working, because we would need to ignore the annotations of run_sync and simply do type inference on the inner part.
Do signatures work without .pyi? I would personally be surprised if they do, because I do not feel like we support ParamSpec.
Nope
I feel like the docstring should work with @wraps without the annotation of coro: Callable[...]
Nope, but for some reason half of the params works
I would personally be surprised if they do, because I do not feel like we support ParamSpec.
I checked output Scipt.infer on a line with a call of a decorated method, and it gives just Callable.
Anyway, my research concluded that there is no good way to handle this problem (at least right now), and even if I will manage to fix it for jedi, there are still will be left PyCharm with probably different autocomplition engine, soooo I decided to copypaste all of the methods signatures into my sync client plus write a test which will check signatures are not different in sync & async clients. Maybe in some future I will bring codegeneration for this task.
Hey!
I saw this topic was already brought here a few times, so I excuse for doing this again, but I coulnd't find any workarounds and don't know what to do.
I am working on some sort of SDK with a sync client version and async one and I am really don't want to copypaste all of the methods signatures all over my codebase.
So I have next decorator:
and I use this decorator next way:
I am using jedi=0.19.1, python=3.8 and typing_extensions for a ParamSpec and Concatenate.
I tried to use .pyi to get some hint to Jedi, and it works from a signature perspective, but it is still losing a doctstring.
Thanks in advance!
The text was updated successfully, but these errors were encountered: