Decorator to upgrade methods to cloudpickle
まだ誰も着手していません。
評価
調査の方向性
要求されたエントリーポイント from cloudpickle import inline から始め、ローカルで定義された関数に対する executor.submit 周辺のサンプル InlineWrapper の動作を確認してください。提案するデコレーターでその使い方が可能になり、通常の callable としての動作が維持され、シリアライゼーションの動作がテストで検証されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
This is a suggestion/feature request. The idea is to provide a decorator to upgrade any callable to use cloudpickle by default. This comes handy for example to use a locally defined function via any standard executor.
The syntax would be something like:
from cloudpickle import inline
@inline
def myfunc(...):
...
executor.submit(myfunc)
Below is some sample code to achieve the equivalent:
import pickle
import cloudpickle
class InlineWrapper:
"""
Function wrapper with __reduce__ based on cloudpickle.dumps
Makes the callable pickleable even if defined in __main__
"""
def __init__(self, func):
self.func = func
def __reduce__(self):
data = cloudpickle.dumps(self.func)
return pickle.loads, (data,)
def __call__(self, *args, **kwargs):
return self.func(*args, **kwargs)
def inline(func):
""" Decorator for InlineWrapper """
return InlineWrapper(func)
- 主要言語
- Python
- スター
- 1.9k
- フォーク
- 197
- 平均マージ
- 1日 10時間
- マージ済み PR(30日)
- 1
環境構築
このプロジェクトの環境構築ファイルはまだ確認していません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
cloudpipe/cloudpickle のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
cloudpipe/cloudpickle#593 · コメント 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 42/100
cloudpipe/cloudpickle#595 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
cloudpipe/cloudpickle#592 · コメント 2 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
cloudpipe/cloudpickle#589 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
cloudpipe/cloudpickle#587 ·
cloudpipe/cloudpickle の issue をすべて見る
似ている issue
-
[Bug] @deck.gl/arcgis dist import resolves to unpublished @deck.gl/core source path (9.3.11, 9.4.0)オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
workflow: a tick's dispatch counts as 'only this step', and no review self-grants a round unattendedオープンworkflow
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
kristofdegrave/homeassistant-smart-charging#1505 ·
メンテナーはふだん 1 日以内に返信
-
metadata submission
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
canonical/content-cache-operator#163 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
[submission]オープンsubmission
難易度 1/5 1時間未満 初心者へのやさしさ 65/100
leanprover/lean-eval-submissions#1852 ·
メンテナーはふだん 1 日以内に返信