openlit 1.22.2__tar.gz → 1.22.4__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 (65) hide show
  1. {openlit-1.22.2 → openlit-1.22.4}/PKG-INFO +1 -1
  2. {openlit-1.22.2 → openlit-1.22.4}/pyproject.toml +1 -1
  3. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/__init__.py +9 -1
  4. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/langchain/langchain.py +2 -2
  5. {openlit-1.22.2 → openlit-1.22.4}/LICENSE +0 -0
  6. {openlit-1.22.2 → openlit-1.22.4}/README.md +0 -0
  7. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/__helpers.py +0 -0
  8. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/anthropic/__init__.py +0 -0
  9. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/anthropic/anthropic.py +0 -0
  10. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/anthropic/async_anthropic.py +0 -0
  11. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/azure_ai_inference/__init__.py +0 -0
  12. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/azure_ai_inference/async_azure_ai_inference.py +0 -0
  13. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/azure_ai_inference/azure_ai_inference.py +0 -0
  14. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/bedrock/__init__.py +0 -0
  15. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/bedrock/bedrock.py +0 -0
  16. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/chroma/__init__.py +0 -0
  17. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/chroma/chroma.py +0 -0
  18. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/cohere/__init__.py +0 -0
  19. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/cohere/cohere.py +0 -0
  20. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/elevenlabs/__init__.py +0 -0
  21. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/elevenlabs/async_elevenlabs.py +0 -0
  22. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/elevenlabs/elevenlabs.py +0 -0
  23. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/embedchain/__init__.py +0 -0
  24. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/embedchain/embedchain.py +0 -0
  25. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/google_ai_studio/__init__.py +0 -0
  26. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/google_ai_studio/async_google_ai_studio.py +0 -0
  27. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/google_ai_studio/google_ai_studio.py +0 -0
  28. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/gpt4all/__init__.py +0 -0
  29. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/gpt4all/gpt4all.py +0 -0
  30. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/gpu/__init__.py +0 -0
  31. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/groq/__init__.py +0 -0
  32. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/groq/async_groq.py +0 -0
  33. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/groq/groq.py +0 -0
  34. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/haystack/__init__.py +0 -0
  35. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/haystack/haystack.py +0 -0
  36. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/langchain/__init__.py +0 -0
  37. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/llamaindex/__init__.py +0 -0
  38. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/llamaindex/llamaindex.py +0 -0
  39. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/milvus/__init__.py +0 -0
  40. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/milvus/milvus.py +0 -0
  41. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/mistral/__init__.py +0 -0
  42. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/mistral/async_mistral.py +0 -0
  43. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/mistral/mistral.py +0 -0
  44. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/ollama/__init__.py +0 -0
  45. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/ollama/async_ollama.py +0 -0
  46. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/ollama/ollama.py +0 -0
  47. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/openai/__init__.py +0 -0
  48. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/openai/async_azure_openai.py +0 -0
  49. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/openai/async_openai.py +0 -0
  50. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/openai/azure_openai.py +0 -0
  51. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/openai/openai.py +0 -0
  52. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/pinecone/__init__.py +0 -0
  53. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/pinecone/pinecone.py +0 -0
  54. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/qdrant/__init__.py +0 -0
  55. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/qdrant/qdrant.py +0 -0
  56. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/transformers/__init__.py +0 -0
  57. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/transformers/transformers.py +0 -0
  58. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/vertexai/__init__.py +0 -0
  59. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/vertexai/async_vertexai.py +0 -0
  60. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/vertexai/vertexai.py +0 -0
  61. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/vllm/__init__.py +0 -0
  62. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/instrumentation/vllm/vllm.py +0 -0
  63. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/otel/metrics.py +0 -0
  64. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/otel/tracing.py +0 -0
  65. {openlit-1.22.2 → openlit-1.22.4}/src/openlit/semcov/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: openlit
3
- Version: 1.22.2
3
+ Version: 1.22.4
4
4
  Summary: OpenTelemetry-native Auto instrumentation library for monitoring LLM Applications and GPUs, facilitating the integration of observability into your GenAI-driven projects
5
5
  Home-page: https://github.com/openlit/openlit/tree/main/openlit/python
6
6
  Keywords: OpenTelemetry,otel,otlp,llm,tracing,openai,anthropic,claude,cohere,llm monitoring,observability,monitoring,gpt,Generative AI,chatGPT,gpu
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "openlit"
3
- version = "1.22.2"
3
+ version = "1.22.4"
4
4
  description = "OpenTelemetry-native Auto instrumentation library for monitoring LLM Applications and GPUs, facilitating the integration of observability into your GenAI-driven projects"
5
5
  authors = ["OpenLIT"]
6
6
  repository = "https://github.com/openlit/openlit/tree/main/openlit/python"
@@ -130,6 +130,13 @@ class OpenlitConfig:
130
130
  cls.trace_content = trace_content
131
131
  cls.disable_metrics = disable_metrics
132
132
 
133
+ def module_exists(module_name):
134
+ """Check if nested modules exist, addressing the dot notation issue."""
135
+ parts = module_name.split(".")
136
+ for i in range(1, len(parts) + 1):
137
+ if find_spec(".".join(parts[:i])) is None:
138
+ return False
139
+ return True
133
140
 
134
141
  def instrument_if_available(
135
142
  instrumentor_name,
@@ -150,7 +157,7 @@ def instrument_if_available(
150
157
  return
151
158
 
152
159
  try:
153
- if find_spec(module_name) is not None:
160
+ if module_exists(module_name):
154
161
  instrumentor_instance.instrument(
155
162
  environment=config.environment,
156
163
  application_name=config.application_name,
@@ -167,6 +174,7 @@ def instrument_if_available(
167
174
  except Exception as e:
168
175
  logger.error("Failed to instrument %s: %s", instrumentor_name, e)
169
176
 
177
+
170
178
  def init(environment="default", application_name="default", tracer=None, otlp_endpoint=None,
171
179
  otlp_headers=None, disable_batch=False, trace_content=True, disabled_instrumentors=None,
172
180
  meter=None, disable_metrics=False, pricing_json=None, collect_gpu_stats=False):
@@ -619,8 +619,8 @@ def achat(gen_ai_endpoint, version, environment, application_name,
619
619
  response = await wrapped(*args, **kwargs)
620
620
 
621
621
  try:
622
- input_tokens = response.response_metadata["prompt_eval_count"] or 0
623
- output_tokens = response.response_metadata["eval_count"] or 0
622
+ input_tokens = response.response_metadata.get("prompt_eval_count", 0)
623
+ output_tokens = response.response_metadata.get("eval_count", 0)
624
624
 
625
625
  # Calculate cost of the operation
626
626
  cost = get_chat_model_cost(
File without changes
File without changes