Roadmap for PyCall 2.0
- 主要言語
- Julia
- スター
- 1.5k
- フォーク
- 186
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
Now that #517 is merged, there are a few things remaining to do before we try to move all PyCall users to the new interface.
First, we need to deprecate some more things (probably in a "1.9" release or similar) to help with the transition:
- [x] deprecate `@pyimport` and `pywrap` — just do `pyimport` now. #633
- [x] deprecate `getindex(::PyObject, ::Integer)` and similar — these will stop subtracting 1 in PyCall 2.0, so they will have to be deprecated for now. #632
- [x] Make sure major PyCall-using packages (PyPlot, SymPy, etcetera) continue to work with PyCall master, albeit with lots of deprecation warnings.
Some other things I would like to change/fix during the big transition:
- [ ] Make automatic conversion more conservative about producing native Julia objects. Convert Python lists to `PyVector`, dictionaries to `PyDict`, and NumPy arrays to `PyArray` by default, but don't convert subclasses of these? (see #617)
- [x] Audit calls to`PyPtr` to see if they need `GC.@protect` for gc safety. #630
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
まず、まだチェックされていない自動変換項目と issue #617 を読み、その後 PyCall の既存の変換経路を確認します。Python のリスト、辞書、NumPy 配列、およびそれらのサブクラスに対して提案された保守的な処理が実装され、完了済みの非推奨化と GC 安全性のタスクも引き続き考慮されていれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- julia, numpy, python
- 領域
- backend
- issue の種類
- リファクタリング
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100