> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-sdk-testing-latest.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# op

> weave.trace.op の Python SDK リファレンス

export const SourceLink = ({url}) => <a href={url} target="_blank" rel="noopener noreferrer" className="source-link">
    ソース
  </a>;

<div id="api-overview">
  # API 概要
</div>

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L96" />

## <kbd>クラス</kbd> `DisplayNameFuncError`

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L99" />

## <kbd>クラス</kbd> `OpCallError`

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L215" />

## <kbd>クラス</kbd> `OpKwargs`

op() のキーワード引数を表す TypedDict。

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L120" />

## <kbd>クラス</kbd> `Sentinel`

Sentinel(package: 'str', path: 'str', name: 'str')

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/../../../../weave/trace/op/__init__" />

### <kbd>method</kbd> `__init__`

```python theme={null}
__init__(package: 'str', path: 'str', name: 'str') → None
```

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L209" />

## <kbd>クラス</kbd> `WeaveKwargs`

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L1460" />

### <kbd>関数</kbd> `as_op`

```python theme={null}
as_op(fn: 'Callable[P, R]') → Op[P, R]
```

@weave.op でデコレートされた関数を受け取り、その Op を返します。

@weave.op でデコレートされた関数はすでに Op のインスタンスであるため、この関数は実行時には実質的に何もしません。ただし、OpDef の属性に型安全にアクセスする必要がある場合は、型チェッカーを満たすために使用できます。

**引数:**

* <b>`fn`</b>: weave.op でデコレートされた関数。
  **戻り値:**
  関数の Op。

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L1164" />

### <kbd>関数</kbd> `call`

```python theme={null}
call(
    op: 'Op',
    *args: 'Any',
    __weave: 'WeaveKwargs | None' = None,
    __should_raise: 'bool' = False,
    __require_explicit_finish: 'bool' = False,
    **kwargs: 'Any'
) → tuple[Any, Call] | Coroutine[Any, Any, tuple[Any, Call]]
```

op を実行し、結果と実行を表す Call の両方を返します。

この関数は例外を送出しません。エラーはすべて Call オブジェクトに記録されます。

この method は、`@weave.op` でデコレートされたすべての関数に自動的にバインドされるため、次のように使用できます。

```python theme={null}
@weave.op
def add(a: int, b: int) -> int:
     return a + b

result, call = add.call(1, 2)
```

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L1210" />

### <kbd>関数</kbd> `calls`

```python theme={null}
calls(op: 'Op') → CallsIter
```

この op に対するすべての Call を反復処理するイテレータを取得します。

この method は、`@weave.op` でデコレートされた任意の 関数 に自動的にバインドされるため、次のように使用できます。

```python theme={null}
@weave.op
def add(a: int, b: int) -> int:
     return a + b

calls = add.calls()
for call in calls:
     print(call)
```

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L1406" />

### <kbd>関数</kbd> `get_captured_code`

```python theme={null}
get_captured_code(op: 'Op') → str
```

op のキャプチャ済みコードを取得します。

これは、ref から取得した op に対してのみ機能します。パターンは次のとおりです。

ref = weave.publish(func) op = ref.get() captured\_code = op.get\_captured\_code()

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L1452" />

### <kbd>関数</kbd> `is_op`

```python theme={null}
is_op(obj: 'Any') → TypeIs[Op]
```

オブジェクトが Op かどうかを確認します。

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L437" />

### <kbd>関数</kbd> `is_placeholder_call`

```python theme={null}
is_placeholder_call(call: 'Call') → TypeIs[NoOpCall]
```

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L405" />

### <kbd>関数</kbd> `is_tracing_setting_disabled`

```python theme={null}
is_tracing_setting_disabled() → bool
```

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L1423" />

### <kbd>関数</kbd> `maybe_bind_method`

```python theme={null}
maybe_bind_method(func: 'Callable', self: 'Any' = None) → Callable | MethodType
```

任意のオブジェクト (class でないものも含む) に関数をバインドします。

self が None の場合は、関数をそのまま返します。

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L1435" />

### <kbd>関数</kbd> `maybe_unbind_method`

```python theme={null}
maybe_unbind_method(oplike: 'Op | MethodType | partial') → Op
```

Op のような method または partial のバインドを解除し、通常の Op 関数にします。

対象:

* methods: 束縛された `self` パラメータを削除します
* partials: あらかじめ設定されたパラメータを削除します

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L1234" />

### <kbd>関数</kbd> `op`

```python theme={null}
op(
    func: 'Callable[P, R] | None' = None,
    name: 'str | None' = None,
    call_display_name: 'str | CallDisplayNameFunc | None' = None,
    postprocess_inputs: 'PostprocessInputsFunc | None' = None,
    postprocess_output: 'PostprocessOutputFunc | None' = None,
    tracing_sample_rate: 'float' = 1.0,
    enable_code_capture: 'bool' = True,
    accumulator: 'Callable[[Any | None, Any], Any] | None' = None,
    kind: 'OpKind | None' = None,
    color: 'OpColor | None' = None,
    eager_call_start: 'bool' = False
) → Callable[[Callable[P, R]], Op[P, R]] | Op[P, R]
```

関数またはmethodをWeaveのopに変換するデコレータです。同期・非同期の両方に対応しています。イテレータ関数を自動的に検出し、それに応じた適切な動作を適用します。

**引数:**

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L430" />

### <kbd>関数</kbd> `placeholder_call`

```python theme={null}
placeholder_call() → Call
```

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L230" />

### <kbd>関数</kbd> `setup_dunder_weave_dict`

```python theme={null}
setup_dunder_weave_dict(op: 'Op', d: 'WeaveKwargs | None' = None) → WeaveKwargs
```

ops に WeaveKwargs を渡すために使用する \_\_weave dict を設定します。

* <b>`func`</b>: デコレートする関数。

* <b>`name`</b>: op のカスタム名。デフォルトでは関数名になります。

* <b>`call_display_name`</b>: Call の表示名。文字列または callable を指定できます。

* <b>`postprocess_inputs`</b>: logging の前に入力を変換する関数。

* <b>`postprocess_output`</b>: logging の前に出力を変換する関数。

* <b>`tracing_sample_rate`</b>: トレースする Call の割合 (0.0 ～ 1.0)。

* <b>`enable_code_capture`</b>: この op のソースコードを取得するかどうか。

* <b>`accumulator`</b>: ストリーミング ops の結果を蓄積する関数。

* <b>`eager_call_start`</b>: True の場合、Call の開始はバッチ処理ではなく直ちに送信されます。UI にすぐ表示する必要がある評価のような長時間実行される operation に便利です。
  **引数:**

* <b>`d`</b>: 更新対象の既存の WeaveKwargs dict (省略可) 。

* <b>`op`</b>: kind と color の抽出元となる op。
  **戻り値:**
  attributes、display\_name、および必要に応じて kind/color が設定された WeaveKwargs dict。

***

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.42/weave/trace/op.py#L416" />

### <kbd>関数</kbd> `should_skip_tracing_for_op`

```python theme={null}
should_skip_tracing_for_op(op: 'Op') → bool
```
