| 307 | timestamp: "datetime.datetime | None"=None |
| 308 | ) -> "None", text_signature = "(name: str, *, handle: ScopeHandle | None = None, data: object | None = None, metadata: object | None = None, timestamp: datetime.datetime | None = None) -> None")] |
| 309 | fn event( |
| 310 | name: &str, |
| 311 | handle: Option<PyScopeHandle>, |
| 312 | data: Option<&Bound<'_, PyAny>>, |
| 313 | metadata: Option<&Bound<'_, PyAny>>, |
| 314 | timestamp: Option<&Bound<'_, PyAny>>, |
| 315 | ) -> PyResult<()> { |
| 316 | let data = opt_py_to_json(data)?; |
| 317 | let metadata = opt_py_to_json(metadata)?; |
| 318 | let timestamp = opt_py_to_timestamp(timestamp)?; |
| 319 | core_scope_api::event( |
| 320 | core_scope_api::EmitMarkEventParams::builder() |
| 321 | .name(name) |
| 322 | .parent_opt(handle.as_ref().map(|h| &h.inner)) |
| 323 | .data_opt(data) |
| 324 | .metadata_opt(metadata) |
| 325 | .timestamp_opt(timestamp) |
| 326 | .build(), |
| 327 | ) |
| 328 | .map_err(to_py_err) |
| 329 | } |
| 330 | |
| 331 | // --------------------------------------------------------------------------- |
| 332 | // Tool lifecycle |