JuliaPy / JuliaPy/PyCall.jl

Speculative: Tools for wrapping Python libraries

Open
#61 4 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.