ioa-observe-sdk 1.0.10__tar.gz → 1.0.11__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/PKG-INFO +2 -1
  2. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/decorators/base.py +37 -15
  3. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe_sdk.egg-info/PKG-INFO +2 -1
  4. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe_sdk.egg-info/requires.txt +1 -0
  5. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/pyproject.toml +2 -1
  6. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/LICENSE.md +0 -0
  7. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/README.md +0 -0
  8. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/__init__.py +0 -0
  9. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/__init__.py +0 -0
  10. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/client/__init__.py +0 -0
  11. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/client/client.py +0 -0
  12. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/client/http.py +0 -0
  13. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/config/__init__.py +0 -0
  14. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/connectors/__init__.py +0 -0
  15. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/connectors/slim.py +0 -0
  16. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/decorators/__init__.py +0 -0
  17. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/decorators/util.py +0 -0
  18. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/instrumentations/__init__.py +0 -0
  19. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/instrumentations/a2a.py +0 -0
  20. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/instrumentations/slim.py +0 -0
  21. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/instruments.py +0 -0
  22. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/logging/__init__.py +0 -0
  23. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/logging/logging.py +0 -0
  24. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/metrics/__init__.py +0 -0
  25. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/metrics/agent.py +0 -0
  26. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/metrics/agents/__init__.py +0 -0
  27. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/metrics/agents/agent_connections.py +0 -0
  28. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/metrics/agents/availability.py +0 -0
  29. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/metrics/agents/heuristics.py +0 -0
  30. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/metrics/agents/recovery_tracker.py +0 -0
  31. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/metrics/agents/tool_call_tracker.py +0 -0
  32. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/metrics/agents/tracker.py +0 -0
  33. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/metrics/metrics.py +0 -0
  34. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/telemetry.py +0 -0
  35. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/tracing/__init__.py +0 -0
  36. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/tracing/content_allow_list.py +0 -0
  37. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/tracing/context_manager.py +0 -0
  38. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/tracing/context_utils.py +0 -0
  39. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/tracing/manual.py +0 -0
  40. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/tracing/tracing.py +0 -0
  41. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/utils/__init__.py +0 -0
  42. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/utils/const.py +0 -0
  43. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/utils/in_memory_span_exporter.py +0 -0
  44. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/utils/json_encoder.py +0 -0
  45. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/utils/package_check.py +0 -0
  46. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe/sdk/version.py +0 -0
  47. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe_sdk.egg-info/SOURCES.txt +0 -0
  48. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe_sdk.egg-info/dependency_links.txt +0 -0
  49. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/ioa_observe_sdk.egg-info/top_level.txt +0 -0
  50. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/setup.cfg +0 -0
  51. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/tests/test_client.py +0 -0
  52. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/tests/test_instrumentor.py +0 -0
  53. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/tests/test_manual_instrumentation.py +0 -0
  54. {ioa_observe_sdk-1.0.10 → ioa_observe_sdk-1.0.11}/tests/test_version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ioa-observe-sdk
3
- Version: 1.0.10
3
+ Version: 1.0.11
4
4
  Summary: IOA Observability SDK
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
@@ -44,6 +44,7 @@ Requires-Dist: opentelemetry-instrumentation-logging==0.54b1
44
44
  Requires-Dist: opentelemetry-instrumentation-openai==0.40.8
45
45
  Requires-Dist: opentelemetry-instrumentation-llamaindex==0.40.8
46
46
  Requires-Dist: opentelemetry-instrumentation-ollama==0.40.8
47
+ Requires-Dist: opentelemetry-instrumentation-anthropic==0.40.8
47
48
  Requires-Dist: opentelemetry-instrumentation-langchain==0.40.8
48
49
  Requires-Dist: opentelemetry-instrumentation-threading==00.54b1
49
50
  Requires-Dist: opentelemetry-instrumentation-urllib3==0.54b1
@@ -43,7 +43,6 @@ from ioa_observe.sdk.utils.const import (
43
43
  from ioa_observe.sdk.utils.json_encoder import JSONEncoder
44
44
  from ioa_observe.sdk.metrics.agent import topology_dynamism, determinism_score
45
45
 
46
-
47
46
  P = ParamSpec("P")
48
47
 
49
48
  R = TypeVar("R")
@@ -554,30 +553,53 @@ def entity_class(
554
553
  # Specific method specified - existing behavior
555
554
  methods_to_wrap = [method_name]
556
555
  else:
557
- # No method specified - wrap all public methods
556
+ # No method specified - wrap all public methods defined in this class
558
557
  for attr_name in dir(cls):
559
558
  if (
560
559
  not attr_name.startswith("_") # Skip private/built-in methods
561
560
  and attr_name != "mro" # Skip class method
562
561
  and hasattr(cls, attr_name)
563
- and callable(getattr(cls, attr_name))
564
- and not isinstance(
565
- getattr(cls, attr_name), (classmethod, staticmethod, property)
566
- )
567
562
  ):
568
- methods_to_wrap.append(attr_name)
563
+ attr = getattr(cls, attr_name)
564
+ # Only wrap functions defined in this class (not inherited methods or built-ins)
565
+ if (
566
+ inspect.isfunction(attr) # Functions defined in the class
567
+ and not isinstance(attr, (classmethod, staticmethod, property))
568
+ and hasattr(attr, "__qualname__") # Has qualname attribute
569
+ and attr.__qualname__.startswith(
570
+ cls.__name__ + "."
571
+ ) # Defined in this class
572
+ ):
573
+ # Additional check: ensure the function has a proper signature with 'self' parameter
574
+ try:
575
+ sig = inspect.signature(attr)
576
+ params = list(sig.parameters.keys())
577
+ if params and params[0] == "self":
578
+ methods_to_wrap.append(attr_name)
579
+ except (ValueError, TypeError):
580
+ # Skip methods that can't be inspected
581
+ continue
569
582
 
570
583
  # Wrap all detected methods
571
584
  for method_to_wrap in methods_to_wrap:
572
585
  if hasattr(cls, method_to_wrap):
573
- method = getattr(cls, method_to_wrap)
574
- wrapped_method = entity_method(
575
- name=f"{task_name}.{method_to_wrap}",
576
- description=description,
577
- version=version,
578
- tlp_span_kind=tlp_span_kind,
579
- )(method)
580
- setattr(cls, method_to_wrap, wrapped_method)
586
+ original_method = getattr(cls, method_to_wrap)
587
+ # Only wrap actual functions defined in this class
588
+ if inspect.isfunction(original_method):
589
+ try:
590
+ # Verify the method has a proper signature
591
+ sig = inspect.signature(original_method)
592
+ wrapped_method = entity_method(
593
+ name=f"{task_name}.{method_to_wrap}",
594
+ description=description,
595
+ version=version,
596
+ tlp_span_kind=tlp_span_kind,
597
+ )(original_method)
598
+ # Set the wrapped method on the class
599
+ setattr(cls, method_to_wrap, wrapped_method)
600
+ except Exception:
601
+ # Don't wrap methods that can't be properly decorated
602
+ continue
581
603
 
582
604
  return cls
583
605
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ioa-observe-sdk
3
- Version: 1.0.10
3
+ Version: 1.0.11
4
4
  Summary: IOA Observability SDK
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
@@ -44,6 +44,7 @@ Requires-Dist: opentelemetry-instrumentation-logging==0.54b1
44
44
  Requires-Dist: opentelemetry-instrumentation-openai==0.40.8
45
45
  Requires-Dist: opentelemetry-instrumentation-llamaindex==0.40.8
46
46
  Requires-Dist: opentelemetry-instrumentation-ollama==0.40.8
47
+ Requires-Dist: opentelemetry-instrumentation-anthropic==0.40.8
47
48
  Requires-Dist: opentelemetry-instrumentation-langchain==0.40.8
48
49
  Requires-Dist: opentelemetry-instrumentation-threading==00.54b1
49
50
  Requires-Dist: opentelemetry-instrumentation-urllib3==0.54b1
@@ -37,6 +37,7 @@ opentelemetry-instrumentation-logging==0.54b1
37
37
  opentelemetry-instrumentation-openai==0.40.8
38
38
  opentelemetry-instrumentation-llamaindex==0.40.8
39
39
  opentelemetry-instrumentation-ollama==0.40.8
40
+ opentelemetry-instrumentation-anthropic==0.40.8
40
41
  opentelemetry-instrumentation-langchain==0.40.8
41
42
  opentelemetry-instrumentation-threading==00.54b1
42
43
  opentelemetry-instrumentation-urllib3==0.54b1
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
 
6
6
  [project]
7
7
  name = "ioa-observe-sdk"
8
- version = "1.0.10"
8
+ version = "1.0.11"
9
9
  description = "IOA Observability SDK"
10
10
  readme = "README.md"
11
11
  requires-python = ">=3.10"
@@ -49,6 +49,7 @@ dependencies = [
49
49
  "opentelemetry-instrumentation-openai==0.40.8",
50
50
  "opentelemetry-instrumentation-llamaindex==0.40.8",
51
51
  "opentelemetry-instrumentation-ollama==0.40.8",
52
+ "opentelemetry-instrumentation-anthropic==0.40.8",
52
53
  "opentelemetry-instrumentation-langchain==0.40.8",
53
54
  "opentelemetry-instrumentation-threading==00.54b1",
54
55
  "opentelemetry-instrumentation-urllib3==0.54b1",