JuliaPy / JuliaPy/PyCall.jl

bidirectional Symbol conversion

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

説明

Currently, `PyObject(s::Symbol)` produces a Python string, and `convert(Symbol, o)` converts a Python string object back into a `Symbol`. However, automatic type conversion does not work, i.e. `convert(PyAny, PyObject(:Foo))` produces `"Foo"` not `:Foo`.

One way to fix this might be to define a new Python string subtype, and instantiate this type from `PyObject(s::Symbol)`. That way, it will be usable as a string in Python but `convert(PyAny, ...)` will be able to detect that it is "really" a symbol and convert it appropriately.

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

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

調査の方向性

Start by tracing the PyObject(s::Symbol), convert(Symbol, o), and convert(PyAny, PyObject(:Foo)) paths described in the issue. Confirm that a Symbol remains identifiable during Python string use and that converting it back produces :Foo rather than a plain string.

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

評価

技術スタック
julia, python
領域
api, backend
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

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

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