Skip to content

Commit c19e4e6

Browse files
committed
typecheck fixes
1 parent 4be03c4 commit c19e4e6

File tree

3 files changed

+18
-15
lines changed

3 files changed

+18
-15
lines changed

util/opentelemetry-util-genai/src/opentelemetry/util/genai/data.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# limitations under the License.
1414

1515
from dataclasses import dataclass
16-
from typing import Type
16+
from typing import Optional, Type
1717

1818

1919
@dataclass
@@ -44,7 +44,7 @@ def _to_part_dict(self):
4444
class ChatGeneration:
4545
content: str
4646
type: str
47-
finish_reason: str = None
47+
finish_reason: Optional[str] = None
4848

4949

5050
@dataclass

util/opentelemetry-util-genai/src/opentelemetry/util/genai/emitters.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
"""
3434

3535
from dataclasses import dataclass, field
36-
from typing import Dict, List, Optional
36+
from typing import Any, Dict, List, Optional, cast
3737
from uuid import UUID
3838

3939
from opentelemetry import trace
@@ -71,15 +71,18 @@ class _SpanState:
7171
children: List[UUID] = field(default_factory=list)
7272

7373

74-
def _get_property_value(obj, property_name) -> object:
74+
def _get_property_value(obj: Any, property_name: str) -> Any:
7575
if isinstance(obj, dict):
76-
return obj.get(property_name, None)
76+
return cast(Any, obj.get(property_name, None))
7777

78-
return getattr(obj, property_name, None)
78+
return cast(Any, getattr(obj, property_name, None))
7979

8080

8181
def _message_to_log_record(
82-
message: Message, provider_name, framework, capture_content: bool
82+
message: Message,
83+
provider_name: Optional[str],
84+
framework: Optional[str],
85+
capture_content: bool,
8386
) -> Optional[LogRecord]:
8487
content = _get_property_value(message, "content")
8588
message_type = _get_property_value(message, "type")
@@ -88,7 +91,7 @@ def _message_to_log_record(
8891
if content and capture_content:
8992
body = {"type": message_type, "content": content}
9093

91-
attributes = {
94+
attributes: Dict[str, Any] = {
9295
# TODO: add below to opentelemetry.semconv._incubating.attributes.gen_ai_attributes
9396
"gen_ai.framework": framework,
9497
# TODO: Convert below to constant once opentelemetry.semconv._incubating.attributes.gen_ai_attributes is available
@@ -107,9 +110,9 @@ def _message_to_log_record(
107110

108111
def _chat_generation_to_log_record(
109112
chat_generation: ChatGeneration,
110-
index,
111-
provider_name,
112-
framework,
113+
index: int,
114+
provider_name: Optional[str],
115+
framework: Optional[str],
113116
capture_content: bool,
114117
) -> Optional[LogRecord]:
115118
if not chat_generation:

util/opentelemetry-util-genai/tests/test_utils.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ def telemetry_setup():
3737
trace.set_tracer_provider(trace.NoOpTracerProvider())
3838

3939

40-
def test_llm_start_and_stop_creates_span(telemetry_setup):
41-
memory_exporter = telemetry_setup
42-
40+
def test_llm_start_and_stop_creates_span(
41+
telemetry_setup: InMemorySpanExporter,
42+
):
4343
run_id = uuid4()
4444
message = Message(content="hello world", type="Human", name="message name")
4545
chat_generation = ChatGeneration(content="hello back", type="AI")
@@ -53,7 +53,7 @@ def test_llm_start_and_stop_creates_span(telemetry_setup):
5353
)
5454

5555
# Get the spans that were created
56-
spans = memory_exporter.get_finished_spans()
56+
spans = telemetry_setup.get_finished_spans()
5757

5858
# Verify span was created
5959
assert len(spans) == 1

0 commit comments

Comments
 (0)