aidial-sdk 0.45.0.dev1__tar.gz → 0.45.0.dev2__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 (62) hide show
  1. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/PKG-INFO +1 -1
  2. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/telemetry/init.py +18 -0
  3. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/telemetry/types.py +4 -0
  4. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/pyproject.toml +1 -1
  5. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/LICENSE +0 -0
  6. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/README.md +0 -0
  7. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/__init__.py +0 -0
  8. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/_errors.py +0 -0
  9. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/_pydantic/__init__.py +0 -0
  10. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/_pydantic/_compat.py +0 -0
  11. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/_pydantic/_model_config.py +0 -0
  12. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/application.py +0 -0
  13. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/chat_completion/__init__.py +0 -0
  14. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/chat_completion/_cache.py +0 -0
  15. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/chat_completion/_types.py +0 -0
  16. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/chat_completion/base.py +0 -0
  17. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/chat_completion/choice.py +0 -0
  18. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/chat_completion/choice_base.py +0 -0
  19. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/chat_completion/chunks.py +0 -0
  20. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/chat_completion/enums.py +0 -0
  21. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/chat_completion/form.py +0 -0
  22. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/chat_completion/function_call.py +0 -0
  23. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/chat_completion/function_tool_call.py +0 -0
  24. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/chat_completion/request.py +0 -0
  25. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/chat_completion/response.py +0 -0
  26. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/chat_completion/stage.py +0 -0
  27. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/deployment/__init__.py +0 -0
  28. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/deployment/_headers.py +0 -0
  29. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/deployment/configuration.py +0 -0
  30. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/deployment/from_request_mixin.py +0 -0
  31. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/deployment/rate.py +0 -0
  32. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/deployment/tokenize.py +0 -0
  33. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/deployment/truncate_prompt.py +0 -0
  34. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/embeddings/__init__.py +0 -0
  35. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/embeddings/base.py +0 -0
  36. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/embeddings/request.py +0 -0
  37. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/embeddings/response.py +0 -0
  38. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/exceptions.py +0 -0
  39. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/header_propagator.py +0 -0
  40. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/py.typed +0 -0
  41. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/pydantic/v2.py +0 -0
  42. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/pydantic_v1/__init__.py +0 -0
  43. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/response_headers.py +0 -0
  44. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/telemetry/__init__.py +0 -0
  45. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/telemetry/_context.py +0 -0
  46. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/utils/__init__.py +0 -0
  47. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/utils/_attachment.py +0 -0
  48. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/utils/_cancel_scope.py +0 -0
  49. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/utils/_content_stream.py +0 -0
  50. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/utils/_disconnect_middleware.py +0 -0
  51. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/utils/_indexed_list.py +0 -0
  52. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/utils/_json_log_formatter.py +0 -0
  53. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/utils/_logging.py +0 -0
  54. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/utils/_reflection.py +0 -0
  55. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/utils/env.py +0 -0
  56. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/utils/errors.py +0 -0
  57. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/utils/json.py +0 -0
  58. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/utils/log_config.py +0 -0
  59. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/utils/logging.py +0 -0
  60. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/utils/merge_chunks.py +0 -0
  61. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/utils/pydantic.py +0 -0
  62. {aidial_sdk-0.45.0.dev1 → aidial_sdk-0.45.0.dev2}/aidial_sdk/utils/streaming.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aidial-sdk
3
- Version: 0.45.0.dev1
3
+ Version: 0.45.0.dev2
4
4
  Summary: Framework to create applications and model adapters for AI DIAL
5
5
  License-Expression: Apache-2.0
6
6
  License-File: LICENSE
@@ -37,6 +37,8 @@ from prometheus_client import start_http_server
37
37
  from aidial_sdk.telemetry.types import TelemetryConfig
38
38
  from aidial_sdk.utils._logging import remove_stream_handlers
39
39
 
40
+ _log = logging.getLogger(__name__)
41
+
40
42
 
41
43
  def init_telemetry(app: FastAPI | None, config: TelemetryConfig):
42
44
  resource = Resource.create(
@@ -142,4 +144,20 @@ def init_telemetry(app: FastAPI | None, config: TelemetryConfig):
142
144
 
143
145
  if app and (config.tracing is not None or config.metrics is not None):
144
146
  # FastAPI instrumentor reports both metrics and traces
147
+ excl = config.tracing.excluded_asgi_spans if config.tracing else []
148
+ _instrument_fastapi_app(app, excl)
149
+
150
+
151
+ def _instrument_fastapi_app(app: FastAPI, exclude_spans: list[str]) -> None:
152
+ if not exclude_spans:
153
+ FastAPIInstrumentor.instrument_app(app)
154
+ return
155
+
156
+ try:
157
+ FastAPIInstrumentor.instrument_app(app, exclude_spans=exclude_spans) # type: ignore
158
+ except TypeError:
159
+ _log.warning(
160
+ "OTEL_PYTHON_FASTAPI_EXCLUDE_SPANS is ignored: it requires "
161
+ "opentelemetry-instrumentation-fastapi>=0.48b0."
162
+ )
145
163
  FastAPIInstrumentor.instrument_app(app)
@@ -16,6 +16,9 @@ OTEL_EXPORTER_PROMETHEUS_PORT = int(
16
16
  OTEL_PYTHON_LOG_CORRELATION = (
17
17
  os.getenv("OTEL_PYTHON_LOG_CORRELATION", "false").lower() == "true"
18
18
  )
19
+ OTEL_PYTHON_FASTAPI_EXCLUDE_SPANS = env_var_list(
20
+ "OTEL_PYTHON_FASTAPI_EXCLUDE_SPANS"
21
+ )
19
22
 
20
23
 
21
24
  class LogsConfig(BaseModel):
@@ -30,6 +33,7 @@ class LogsConfig(BaseModel):
30
33
  class TracingConfig(BaseModel):
31
34
  otlp_export: bool = "otlp" in OTEL_TRACES_EXPORTER
32
35
  logging: bool = OTEL_PYTHON_LOG_CORRELATION
36
+ excluded_asgi_spans: list[str] = OTEL_PYTHON_FASTAPI_EXCLUDE_SPANS
33
37
 
34
38
 
35
39
  class MetricsConfig(BaseModel):
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "aidial-sdk"
3
- version = "0.45.0.dev1"
3
+ version = "0.45.0.dev2"
4
4
  description = "Framework to create applications and model adapters for AI DIAL"
5
5
  authors = [{ name = "EPAM RAIL", email = "SpecialEPM-DIALDevTeam@epam.com" }]
6
6
  license = "Apache-2.0"