> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-serverless-sft-revamp.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">
    Source
  </a>;

# API 概要

***

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

## <kbd>class</kbd> `DisplayNameFuncError`

***

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

## <kbd>class</kbd> `OpCallError`

***

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

## <kbd>class</kbd> `OpKwargs`

`op()` のキーワード引数用の `TypedDict` です。

***

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

## <kbd>class</kbd> `Sentinel`

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

<SourceLink url="https://github.com/wandb/weave/blob/v0.52.24/../../../../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.24/weave/trace/op.py#L182" />

## <kbd>class</kbd> `WeaveKwargs`

***

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

### <kbd>function</kbd> `as_op`

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

`@weave.op` でデコレートされた関数が与えられた場合、その `Op` を返します。

`@weave.op` でデコレートされた関数はすでに `Op` のインスタンスであるため、この関数は実行時には no-op（何もしない操作）となるはずです。しかし、型安全な方法で `OpDef` 属性にアクセスする必要がある場合に、型チェッカーを満足させるために使用できます。

**引数:**

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

***

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

### <kbd>function</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` オブジェクトに記録されます。

このメソッドは `@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.24/weave/trace/op.py#L1178" />

### <kbd>function</kbd> `calls`

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

この `op` に対するすべての呼び出し（calls）を反復処理するイテレータを取得します。

このメソッドは `@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.24/weave/trace/op.py#L1334" />

### <kbd>function</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.24/weave/trace/op.py#L1380" />

### <kbd>function</kbd> `is_op`

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

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

***

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

### <kbd>function</kbd> `is_placeholder_call`

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

***

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

### <kbd>function</kbd> `is_tracing_setting_disabled`

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

***

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

### <kbd>function</kbd> `maybe_bind_method`

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

関数を任意のオブジェクトにバインドします（クラスでなくても可能です）。

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

***

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

### <kbd>function</kbd> `maybe_unbind_method`

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

Opライクなメソッドまたは `partial` を、プレーンな `Op` 関数にアンバインドします。

対象:

* メソッドの場合：設定された `self` パラメータを削除します
* partial の場合：あらかじめ設定されたパラメータをすべて削除します

***

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

### <kbd>function</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
) → Callable[[Callable[P, R]], Op[P, R]] | Op[P, R]
```

関数またはメソッドを Weave の `op` に変換するためのデコレータです。同期・非同期の両方に対応しています。イテレータ関数を自動的に検出し、適切な 振る舞い を適用します。

***

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

### <kbd>function</kbd> `placeholder_call`

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

***

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

### <kbd>function</kbd> `setup_dunder_weave_dict`

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

WeaveKwargs を `op` に渡すために使用される `__weave` 辞書をセットアップします。

**引数:**

* <b>`d`</b>: 更新対象となる既存の `WeaveKwargs` 辞書（任意）。
* <b>`op`</b>: `kind` と `color` を抽出するための `Op` 。
  **結果:**
  `attributes` 、 `display_name` 、およびオプションで `kind`/`color` が設定された `WeaveKwargs` 辞書。

***

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

### <kbd>function</kbd> `should_skip_tracing_for_op`

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