bidirectional Symbol conversion
- Dominant language
- Julia
- Stars
- 1.5k
- Forks
- 186
- PR merge metrics
- No merged PRs in 30d
Description
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.
Contributor guide
No contributing guide indexed for this repository
Research direction
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.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia, python
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100