JuliaPy / JuliaPy/PyCall.jl

shift + tab python function signature

オープン
#454 コメント 5 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Julia
スター
1.5k
フォーク
186
PR マージ指標
30日以内にマージされた PR はありません

説明

This was something I was missing when working with my python code, specifically interactively in the Jupyter notebook.

I don't know how to implement this in a safe way so I'll propose it here as an enhancement. Basically, on shift + tab we should grab the python function signature like IPython does in the Jupyter Notebook.

```julia
@pyimport IPython.core.oinspect as oinspect
function pyobjsignature(o::PyObject)
s = oinspect.signature(o)[:__str__]()
if haskey(o, "__name__")
s = string(o["__name__"][:__str__](), s)
else
s = string("function_call -> ", s)
end
if haskey(o, "__doc__")
d = o[:__doc__]
end
if typeof(d) <: AbstractString
return Base.Docs.Text(join([s, convert(AbstractString, d)], "\n"))
else
return Base.Docs.Text(join([s, "No Python Docstring"], "\n"))
end
end
Base.Docs.getdoc(o::PyObject) = pyobjsignature(o)
```

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

この issue では PyCall.jl、IPython.core.oinspect、Jupyter Notebook が挙げられていますが、リポジトリのファイルやテストは挙げられていません。まず PyObject のドキュメントとシグネチャの処理を見つけ、次にそれを提案されている pyobjsignature の動作と比較してください。完了条件は、インタラクティブなワークフローで Shift+Tab により Python のシグネチャと docstring が安全に表示されることです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
julia, jupyter-notebook, python
領域
developer-experience, tooling
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
30/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。