Skip to content
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ jobs:
- "3.11"
- "3.12"
- "3.13"
- "3.14"

name: Test on Python version ${{ matrix.python-version }}
steps:
Expand Down
19 changes: 3 additions & 16 deletions langfuse/_client/attributes.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,16 @@

import json
from datetime import datetime
from typing import Any, Dict, List, Literal, Optional, Union
from typing import Any, Dict, Literal, Optional, Union

from langfuse._client.constants import (
ObservationTypeGenerationLike,
ObservationTypeSpanLike,
)
from langfuse._utils.serializer import EventSerializer
from langfuse.api import MapValue
from langfuse.model import PromptClient
from langfuse.types import MapValue, SpanLevel
from langfuse.types import SpanLevel


class LangfuseOtelSpanAttributes:
Expand Down Expand Up @@ -73,28 +74,14 @@ class LangfuseOtelSpanAttributes:

def create_trace_attributes(
*,
name: Optional[str] = None,
user_id: Optional[str] = None,
session_id: Optional[str] = None,
version: Optional[str] = None,
release: Optional[str] = None,
input: Optional[Any] = None,
output: Optional[Any] = None,
metadata: Optional[Any] = None,
tags: Optional[List[str]] = None,
public: Optional[bool] = None,
) -> dict:
attributes = {
LangfuseOtelSpanAttributes.TRACE_NAME: name,
LangfuseOtelSpanAttributes.TRACE_USER_ID: user_id,
LangfuseOtelSpanAttributes.TRACE_SESSION_ID: session_id,
LangfuseOtelSpanAttributes.VERSION: version,
LangfuseOtelSpanAttributes.RELEASE: release,
LangfuseOtelSpanAttributes.TRACE_INPUT: _serialize(input),
LangfuseOtelSpanAttributes.TRACE_OUTPUT: _serialize(output),
LangfuseOtelSpanAttributes.TRACE_TAGS: tags,
LangfuseOtelSpanAttributes.TRACE_PUBLIC: public,
**_flatten_and_serialize_metadata(metadata, "trace"),
}

return {k: v for k, v in attributes.items() if v is not None}
Expand Down
Loading
Loading