PyJulia Custom Structure Dispatch
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 20/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
調査の方向性
まず example.py と example.jl の例を再現し、次に Python オブジェクトと Julia のディスパッチに関連する PyJulia のドキュメントおよび型変換の挙動を読みます。カスタム Python 構造体を、Julia のディスパッチで個別の型として扱えるよう公開できるかどうかを明らかにするか、その制限とサポートされている代替手段を文書化できれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Hello, I've got a quistion as for the PyJulia functionality. How do I dispatch a Julia method for different objects defined in Python?
I assume the existence of an underlying mapping between native Python and Julia types: int -> Integer, float -> Float64, but at the same time np.array -> Array, which makes me think that I can customize this sort of mapping and connect MyClassPy -> MyClassJulia. Is that so?
Thank you in advance!
example.py
class MyClassA:
pass
class MyClassB:
pass
from julia import Julia
julia = Julia()
julia.eval("@eval Main import Base.MainInclude: include")
from julia import Main
Main.include("example.jl")
foo(MyClassA()) # "Dispatched to MyClassA version"
foo(MyClassB()) # "Dispatched to MyClassB version"
example.jl
# How can I access MyClassA and MyClassB types in Julia?
some_magic_way_to_include_structures_defined_in_python()
function foo( custom_pyobject :: MyClassA )
println("Dispatched to MyClassA version")
end
function foo( custom_pyobject :: MyClassB )
println("Dispatched to MyClassB version")
end
- 主要言語
- Python
- スター
- 893
- フォーク
- 101
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
JuliaPy/pyjulia のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 20/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
JuliaPy/pyjulia の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
ok-oldking/ok-wuthering-waves#1785 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
healthchecks/healthchecks#1349 ·
-
deployment release-lag
難易度 1/5 1時間未満 初心者へのやさしさ 68/100
nolte/kamerplanter#2374 ·
メンテナーはふだん 1 日以内に返信
-
bug v1 v2
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
modelcontextprotocol/python-sdk#3725 ·
メンテナーはふだん 1 日以内に返信
-
batchterms() drops queries without a similar() clause, misaligning results with inputs対応中かも @MohammadHijjawi97 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
メンテナーはふだん 1 日以内に返信