Speculative: Tools for wrapping Python libraries
- Dominant language
- Julia
- Stars
- 1.5k
- Forks
- 186
- PR merge metrics
- No merged PRs in 30d
Description
Is there any interest in expanding the scope of this package to include more tools for conveniently wrapping Python libraries? I'm thinking of functionality like
- Functions for creating Julia types corresponding to Python classes. Perhaps the function could take an example instance of the PyObject, examine its `__dict__` and slots attributes, and heuristically create a Julia type with corresponding fields.
- Macros for creating functions corresponding to methods for a given Pythton class
- A documented and easy-to-use API for users to hook into the PyAny conversion mechanism
I realize that these things can't be done in full generality since fields and methods can be dynamically created in Python at any time and the types of an instance's attributes might change at any time, but many Python packages don't really rely on that functionality.
Contributor guide
No contributing guide indexed for this repository
Research direction
This is a speculative proposal rather than a scoped implementation task. Start by reviewing PyCall.jl's existing Python interoperation and PyAny conversion mechanism, then determine whether the proposed Julia types, method macros, and conversion API have an agreed design. Done would require a narrowed proposal with defined scope and acceptance criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia, python
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100