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

# op

> Référence du SDK Python pour weave.trace.op

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

<div id="api-overview">
  # Aperçu de l’API
</div>

***

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

## <kbd>classe</kbd> `DisplayNameFuncError`

***

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

## <kbd>classe</kbd> `OpCallError`

***

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

## <kbd>classe</kbd> `OpKwargs`

TypedDict des arguments nommés de op().

***

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

## <kbd>classe</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>méthode</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>classe</kbd> `WeaveKwargs`

***

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

### <kbd>fonction</kbd> `as_op`

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

Étant donné une fonction décorée avec @weave.op, renvoie son Op.

Les fonctions décorées avec @weave.op sont déjà des instances d’Op ; cette fonction ne devrait donc être sans effet à l’exécution. Vous pouvez toutefois l’utiliser pour satisfaire les vérificateurs de types si vous devez accéder aux attributs d’OpDef de manière sûre du point de vue du typage.

**Arguments :**

* <b>`fn`</b>: Une fonction décorée avec @weave.op.
  **Retourne :**
  L’Op de la fonction.

***

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

### <kbd>fonction</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]]
```

Exécute l'op et renvoie à la fois le résultat et un Appel représentant l'exécution.

Cette fonction ne lèvera jamais d'exception. Toute erreur est capturée dans l'objet Appel.

Cette méthode est automatiquement associée à toute fonction décorée avec `@weave.op`, ce qui permet une utilisation comme suit :

```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>fonction</kbd> `calls`

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

Obtenez un itérateur de tous les appels à cet op.

Cette méthode est automatiquement associée à toute fonction décorée par `@weave.op`, ce qui permet une utilisation comme :

```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>fonction</kbd> `get_captured_code`

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

Obtenir le code capturé de l’op.

Cela fonctionne uniquement lorsque vous obtenez un op depuis une ref. Le schéma est le suivant :

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>fonction</kbd> `is_op`

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

Vérifie si un objet est une op.

***

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

### <kbd>fonction</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>fonction</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>fonction</kbd> `maybe_bind_method`

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

Associez une fonction à n’importe quel objet (même s’il ne s’agit pas d’une classe).

Si self est None, renvoyez la fonction telle quelle.

***

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

### <kbd>fonction</kbd> `maybe_unbind_method`

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

Délie une méthode de type op ou une fonction partielle pour obtenir une fonction op simple.

Pour :

* les méthodes, supprime le paramètre `self` prédéfini
* les fonctions partielles, supprime tous les paramètres prédéfinis

***

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

### <kbd>fonction</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]
```

Un décorateur pour convertir une fonction ou une méthode en op Weave. Fonctionne aussi bien en synchrone qu'en asynchrone. Détecte automatiquement les fonctions itératrices et applique le comportement approprié.

**Arguments :**

***

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

### <kbd>fonction</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>fonction</kbd> `setup_dunder_weave_dict`

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

Configure un dict \_\_weave utilisé pour transmettre des WeaveKwargs aux ops.

* <b>`func`</b> : La fonction à décorer.

* <b>`name`</b> : Nom personnalisé pour l’op. Valeur par défaut : le nom de la fonction.

* <b>`call_display_name`</b> : Nom d’affichage des appels, peut être une chaîne ou un callable.

* <b>`postprocess_inputs`</b> : Fonction pour transformer les entrées avant la journalisation.

* <b>`postprocess_output`</b> : Fonction pour transformer la sortie avant la journalisation.

* <b>`tracing_sample_rate`</b> : Fraction des appels à tracer (de 0.0 à 1.0).

* <b>`enable_code_capture`</b> : Indique s’il faut capturer le code source pour cet op.

* <b>`accumulator`</b> : Fonction pour accumuler les résultats pour les ops de flux.

* <b>`eager_call_start`</b> : Si True, les démarrages d’appel sont envoyés immédiatement au lieu d’être regroupés par lots.  Utile pour les opérations de longue durée comme les évaluations, qui doivent être visibles immédiatement dans l’interface utilisateur.
  **Arguments :**

* <b>`d`</b> : dict WeaveKwargs existant facultatif à mettre à jour.

* <b>`op`</b> : op à partir duquel extraire kind et color.
  **Retourne :**
  dict WeaveKwargs avec attributes, display\_name et, éventuellement, kind/color définis.

***

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

### <kbd>fonction</kbd> `should_skip_tracing_for_op`

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