telemetry-dev-openrouter 0.2.0__tar.gz → 0.2.2__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: telemetry-dev-openrouter
3
- Version: 0.2.0
3
+ Version: 0.2.2
4
4
  Summary: OpenRouter integration for telemetry.dev Python SDK
5
5
  Keywords: telemetry,opentelemetry,openrouter,llm,genai,tracing
6
6
  Author: telemetry.dev
@@ -14,7 +14,7 @@ Classifier: Programming Language :: Python :: 3.11
14
14
  Classifier: Programming Language :: Python :: 3.12
15
15
  Classifier: Programming Language :: Python :: 3.13
16
16
  Classifier: Typing :: Typed
17
- Requires-Dist: telemetry-dev>=0.2.6
17
+ Requires-Dist: telemetry-dev>=0.3.0
18
18
  Requires-Dist: openrouter>=1.1.0,<2
19
19
  Requires-Python: >=3.10
20
20
  Project-URL: Homepage, https://telemetry.dev
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "telemetry-dev-openrouter"
3
- version = "0.2.0"
3
+ version = "0.2.2"
4
4
  description = "OpenRouter integration for telemetry.dev Python SDK"
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -25,7 +25,7 @@ classifiers = [
25
25
  "Typing :: Typed",
26
26
  ]
27
27
  dependencies = [
28
- "telemetry-dev>=0.2.6",
28
+ "telemetry-dev>=0.3.0",
29
29
  "openrouter>=1.1.0,<2",
30
30
  ]
31
31
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "telemetry-dev-openrouter"
3
- version = "0.2.0"
3
+ version = "0.2.2"
4
4
  description = "OpenRouter integration for telemetry.dev Python SDK"
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -19,7 +19,7 @@ classifiers = [
19
19
  "Typing :: Typed",
20
20
  ]
21
21
  dependencies = [
22
- "telemetry-dev>=0.2.6",
22
+ "telemetry-dev>=0.3.0",
23
23
  "openrouter>=1.1.0,<2",
24
24
  ]
25
25
 
@@ -12,7 +12,7 @@ from openrouter.chat import Chat
12
12
  from openrouter.embeddings import Embeddings
13
13
  from openrouter.responses import Responses
14
14
 
15
- __version__ = "0.2.0"
15
+ __version__ = "0.2.2"
16
16
 
17
17
  RequestMapper = Callable[[Mapping[str, Any]], tuple[str, dict[str, Any]]]
18
18
  ResponseMapper = Callable[[Any], dict[str, Any]]
@@ -174,6 +174,12 @@ def _cost_usd(raw_usage: Any) -> float | None:
174
174
  return cost if cost is not None else upstream_cost
175
175
 
176
176
 
177
+ def _prompt_attributes(messages: object) -> dict[str, Any]:
178
+ # Older cores have no prompt_attributes_for and record a prompt only inside with_prompt.
179
+ read = getattr(telemetry_dev, "prompt_attributes_for", None)
180
+ return cast("dict[str, Any]", read(messages)) if callable(read) else {}
181
+
182
+
177
183
  def _chat_request(params: Mapping[str, Any]) -> tuple[str, dict[str, Any]]:
178
184
  model = _string(params.get("model"))
179
185
  max_completion_tokens = _number(params.get("max_completion_tokens"))
@@ -193,6 +199,7 @@ def _chat_request(params: Mapping[str, Any]) -> tuple[str, dict[str, Any]]:
193
199
  "seed": _number(params.get("seed")),
194
200
  "frequency_penalty": _number(params.get("frequency_penalty")),
195
201
  "presence_penalty": _number(params.get("presence_penalty")),
202
+ "attributes": _prompt_attributes(params.get("messages")) or None,
196
203
  },
197
204
  )
198
205
 
@@ -260,6 +267,7 @@ def _responses_request(params: Mapping[str, Any]) -> tuple[str, dict[str, Any]]:
260
267
  "max_tokens": _number(params.get("max_output_tokens")),
261
268
  "frequency_penalty": _number(params.get("frequency_penalty")),
262
269
  "presence_penalty": _number(params.get("presence_penalty")),
270
+ "attributes": _prompt_attributes(params.get("input")) or None,
263
271
  },
264
272
  )
265
273