sentry-sdk 2.69.0__tar.gz → 2.69.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.
Files changed (541) hide show
  1. {sentry_sdk-2.69.0/sentry_sdk.egg-info → sentry_sdk-2.69.2}/PKG-INFO +1 -1
  2. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/client.py +11 -2
  3. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/consts.py +4 -2
  4. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/aiohttp.py +42 -1
  5. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/aws_lambda.py +42 -26
  6. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/bottle.py +13 -0
  7. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/clickhouse_driver.py +1 -1
  8. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/django/__init__.py +54 -10
  9. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/google_genai/utils.py +1 -1
  10. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/pydantic_ai/patches/tools.py +12 -6
  11. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/stdlib.py +2 -5
  12. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/serializer.py +2 -2
  13. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/traces.py +19 -17
  14. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/utils.py +0 -40
  15. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2/sentry_sdk.egg-info}/PKG-INFO +1 -1
  16. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk.egg-info/SOURCES.txt +2 -0
  17. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/setup.py +1 -1
  18. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aiohttp/test_aiohttp.py +88 -3
  19. sentry_sdk-2.69.2/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkSpanStreamingDataCollectionUserInfoOff/index.py +20 -0
  20. sentry_sdk-2.69.2/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkSpanStreamingDataCollectionUserInfoOn/index.py +20 -0
  21. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/test_aws_lambda.py +74 -0
  22. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/bottle/test_bottle.py +33 -0
  23. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/clickhouse_driver/test_clickhouse_driver.py +12 -0
  24. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/cohere/test_cohere.py +145 -58
  25. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/asgi/test_asgi.py +27 -0
  26. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/test_basic.py +20 -0
  27. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/test_cache_module.py +2 -3
  28. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/fastmcp/test_fastmcp.py +0 -209
  29. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/huggingface_hub/test_huggingface_hub.py +514 -116
  30. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/logging/test_logging.py +18 -0
  31. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/mcp/test_mcp.py +146 -65
  32. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/openai_agents/test_openai_agents.py +442 -114
  33. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/pydantic_ai/test_pydantic_ai.py +0 -252
  34. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/pymongo/test_pymongo.py +1 -1
  35. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_basics.py +183 -66
  36. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/utils/test_general.py +0 -55
  37. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/LICENSE +0 -0
  38. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/MANIFEST.in +0 -0
  39. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/README.md +0 -0
  40. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/pyproject.toml +0 -0
  41. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/__init__.py +0 -0
  42. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/_batcher.py +0 -0
  43. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/_compat.py +0 -0
  44. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/_init_implementation.py +0 -0
  45. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/_log_batcher.py +0 -0
  46. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/_lru_cache.py +0 -0
  47. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/_metrics_batcher.py +0 -0
  48. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/_queue.py +0 -0
  49. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/_span_batcher.py +0 -0
  50. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/_types.py +0 -0
  51. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/_werkzeug.py +0 -0
  52. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/ai/__init__.py +0 -0
  53. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/ai/_openai_completions_api.py +0 -0
  54. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/ai/_openai_responses_api.py +0 -0
  55. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/ai/consts.py +0 -0
  56. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/ai/monitoring.py +0 -0
  57. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/ai/utils.py +0 -0
  58. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/api.py +0 -0
  59. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/attachments.py +0 -0
  60. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/crons/__init__.py +0 -0
  61. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/crons/api.py +0 -0
  62. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/crons/consts.py +0 -0
  63. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/crons/decorator.py +0 -0
  64. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/data_collection.py +0 -0
  65. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/debug.py +0 -0
  66. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/envelope.py +0 -0
  67. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/feature_flags.py +0 -0
  68. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/hub.py +0 -0
  69. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/__init__.py +0 -0
  70. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/_asgi_common.py +0 -0
  71. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/_wsgi_common.py +0 -0
  72. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/aiomysql.py +0 -0
  73. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/anthropic.py +0 -0
  74. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/argv.py +0 -0
  75. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/ariadne.py +0 -0
  76. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/arq.py +0 -0
  77. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/asgi.py +0 -0
  78. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/asyncio.py +0 -0
  79. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/asyncpg.py +0 -0
  80. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/atexit.py +0 -0
  81. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/beam.py +0 -0
  82. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/boto3.py +0 -0
  83. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/celery/__init__.py +0 -0
  84. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/celery/beat.py +0 -0
  85. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/celery/utils.py +0 -0
  86. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/chalice.py +0 -0
  87. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/cloud_resource_context.py +0 -0
  88. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/cohere.py +0 -0
  89. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/dedupe.py +0 -0
  90. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/django/asgi.py +0 -0
  91. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/django/caching.py +0 -0
  92. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/django/middleware.py +0 -0
  93. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/django/signals_handlers.py +0 -0
  94. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/django/tasks.py +0 -0
  95. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/django/templates.py +0 -0
  96. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/django/transactions.py +0 -0
  97. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/django/views.py +0 -0
  98. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/dramatiq.py +0 -0
  99. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/excepthook.py +0 -0
  100. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/executing.py +0 -0
  101. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/falcon.py +0 -0
  102. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/fastapi.py +0 -0
  103. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/flask.py +0 -0
  104. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/gcp.py +0 -0
  105. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/gnu_backtrace.py +0 -0
  106. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/google_genai/__init__.py +0 -0
  107. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/google_genai/consts.py +0 -0
  108. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/google_genai/streaming.py +0 -0
  109. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/gql.py +0 -0
  110. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/graphene.py +0 -0
  111. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/grpc/__init__.py +0 -0
  112. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/grpc/aio/__init__.py +0 -0
  113. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/grpc/aio/client.py +0 -0
  114. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/grpc/aio/server.py +0 -0
  115. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/grpc/client.py +0 -0
  116. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/grpc/consts.py +0 -0
  117. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/grpc/server.py +0 -0
  118. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/httpx.py +0 -0
  119. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/httpx2.py +0 -0
  120. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/huey.py +0 -0
  121. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/huggingface_hub.py +0 -0
  122. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/langchain.py +0 -0
  123. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/langgraph.py +0 -0
  124. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/launchdarkly.py +0 -0
  125. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/litellm.py +0 -0
  126. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/litestar.py +0 -0
  127. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/logging.py +1 -1
  128. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/loguru.py +0 -0
  129. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/mcp.py +0 -0
  130. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/modules.py +0 -0
  131. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/openai.py +0 -0
  132. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/openai_agents/__init__.py +0 -0
  133. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/openai_agents/consts.py +0 -0
  134. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/openai_agents/patches/__init__.py +0 -0
  135. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/openai_agents/patches/agent_run.py +0 -0
  136. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/openai_agents/patches/error_tracing.py +0 -0
  137. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/openai_agents/patches/models.py +0 -0
  138. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/openai_agents/patches/runner.py +0 -0
  139. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/openai_agents/patches/tools.py +0 -0
  140. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/openai_agents/spans/__init__.py +0 -0
  141. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/openai_agents/spans/agent_workflow.py +0 -0
  142. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/openai_agents/spans/ai_client.py +0 -0
  143. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/openai_agents/spans/execute_tool.py +0 -0
  144. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/openai_agents/spans/handoff.py +0 -0
  145. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/openai_agents/spans/invoke_agent.py +0 -0
  146. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/openai_agents/utils.py +0 -0
  147. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/openfeature.py +0 -0
  148. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/opentelemetry/__init__.py +0 -0
  149. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/opentelemetry/consts.py +0 -0
  150. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/opentelemetry/integration.py +0 -0
  151. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/opentelemetry/propagator.py +0 -0
  152. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/opentelemetry/span_processor.py +0 -0
  153. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/otlp.py +0 -0
  154. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/pure_eval.py +0 -0
  155. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/pydantic_ai/__init__.py +0 -0
  156. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/pydantic_ai/consts.py +0 -0
  157. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/pydantic_ai/patches/__init__.py +0 -0
  158. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/pydantic_ai/patches/agent_run.py +0 -0
  159. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/pydantic_ai/patches/graph_nodes.py +0 -0
  160. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/pydantic_ai/spans/__init__.py +0 -0
  161. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/pydantic_ai/spans/ai_client.py +0 -0
  162. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/pydantic_ai/spans/execute_tool.py +0 -0
  163. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/pydantic_ai/spans/invoke_agent.py +0 -0
  164. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/pydantic_ai/spans/utils.py +0 -0
  165. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/pydantic_ai/utils.py +0 -0
  166. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/pymongo.py +0 -0
  167. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/pyramid.py +0 -0
  168. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/pyreqwest.py +0 -0
  169. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/quart.py +0 -0
  170. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/ray.py +0 -0
  171. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/redis/__init__.py +0 -0
  172. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/redis/_async_common.py +0 -0
  173. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/redis/_sync_common.py +0 -0
  174. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/redis/consts.py +0 -0
  175. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/redis/modules/__init__.py +0 -0
  176. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/redis/modules/caches.py +0 -0
  177. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/redis/modules/queries.py +0 -0
  178. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/redis/rb.py +0 -0
  179. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/redis/redis.py +0 -0
  180. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/redis/redis_cluster.py +0 -0
  181. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/redis/redis_py_cluster_legacy.py +0 -0
  182. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/redis/utils.py +0 -0
  183. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/rq.py +0 -0
  184. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/rust_tracing.py +0 -0
  185. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/sanic.py +0 -0
  186. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/serverless.py +0 -0
  187. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/socket.py +0 -0
  188. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/spark/__init__.py +0 -0
  189. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/spark/spark_driver.py +0 -0
  190. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/spark/spark_worker.py +0 -0
  191. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/sqlalchemy.py +0 -0
  192. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/starlette.py +0 -0
  193. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/starlite.py +0 -0
  194. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/statsig.py +0 -0
  195. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/strawberry.py +0 -0
  196. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/sys_exit.py +0 -0
  197. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/threading.py +0 -0
  198. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/tornado.py +0 -0
  199. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/trytond.py +0 -0
  200. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/typer.py +0 -0
  201. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/unleash.py +0 -0
  202. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/unraisablehook.py +0 -0
  203. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/integrations/wsgi.py +0 -0
  204. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/logger.py +0 -0
  205. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/metrics.py +0 -0
  206. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/monitor.py +0 -0
  207. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/profiler/__init__.py +0 -0
  208. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/profiler/continuous_profiler.py +0 -0
  209. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/profiler/transaction_profiler.py +0 -0
  210. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/profiler/utils.py +0 -0
  211. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/py.typed +0 -0
  212. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/scope.py +0 -0
  213. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/scrubber.py +0 -0
  214. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/session.py +0 -0
  215. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/sessions.py +0 -0
  216. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/spotlight.py +0 -0
  217. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/tracing.py +0 -0
  218. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/tracing_utils.py +0 -0
  219. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/transport.py +0 -0
  220. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/types.py +0 -0
  221. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk/worker.py +0 -0
  222. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk.egg-info/dependency_links.txt +0 -0
  223. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk.egg-info/entry_points.txt +0 -0
  224. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk.egg-info/not-zip-safe +0 -0
  225. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk.egg-info/requires.txt +0 -0
  226. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/sentry_sdk.egg-info/top_level.txt +0 -0
  227. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/setup.cfg +0 -0
  228. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/__init__.py +0 -0
  229. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/conftest.py +0 -0
  230. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/__init__.py +0 -0
  231. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aiohttp/__init__.py +0 -0
  232. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aiohttp/aiohttp_helpers/__init__.py +0 -0
  233. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aiohttp/aiohttp_helpers/helpers.py +0 -0
  234. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aiomysql/__init__.py +0 -0
  235. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aiomysql/test_aiomysql.py +0 -0
  236. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/anthropic/__init__.py +0 -0
  237. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/anthropic/test_anthropic.py +0 -0
  238. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/argv/test_argv.py +0 -0
  239. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/ariadne/__init__.py +0 -0
  240. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/ariadne/test_ariadne.py +0 -0
  241. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/arq/__init__.py +0 -0
  242. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/arq/test_arq.py +0 -0
  243. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/asgi/__init__.py +0 -0
  244. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/asgi/test_asgi.py +0 -0
  245. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/asyncio/__init__.py +0 -0
  246. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/asyncio/test_asyncio.py +0 -0
  247. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/asyncpg/__init__.py +0 -0
  248. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/asyncpg/asyncpg_helpers/__init__.py +0 -0
  249. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/asyncpg/asyncpg_helpers/helpers.py +0 -0
  250. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/asyncpg/test_asyncpg.py +0 -0
  251. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/__init__.py +0 -0
  252. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions/BasicException/index.py +0 -0
  253. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions/BasicOk/index.py +0 -0
  254. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions/InitError/index.py +0 -0
  255. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions/TimeoutError/index.py +0 -0
  256. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkDataCollectionAllowlist/.gitignore +0 -0
  257. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkDataCollectionAllowlist/.lock +0 -0
  258. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkDataCollectionAllowlist/index.py +0 -0
  259. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkDataCollectionDenylist/.gitignore +0 -0
  260. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkDataCollectionDenylist/.lock +0 -0
  261. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkDataCollectionDenylist/index.py +0 -0
  262. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkDataCollectionOff/.gitignore +0 -0
  263. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkDataCollectionOff/.lock +0 -0
  264. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkDataCollectionOff/index.py +0 -0
  265. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkDataCollectionUrlQueryAllowlist/.gitignore +0 -0
  266. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkDataCollectionUrlQueryAllowlist/index.py +0 -0
  267. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkDataCollectionUrlQueryDenylist/.gitignore +0 -0
  268. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkDataCollectionUrlQueryDenylist/index.py +0 -0
  269. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkDataCollectionUrlQueryOff/.gitignore +0 -0
  270. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkDataCollectionUrlQueryOff/index.py +0 -0
  271. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkDataCollectionUserInfoOff/.gitignore +0 -0
  272. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkDataCollectionUserInfoOff/index.py +0 -0
  273. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkDataCollectionUserInfoOn/.gitignore +0 -0
  274. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkDataCollectionUserInfoOn/index.py +0 -0
  275. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkSendDefaultPii/.gitignore +0 -0
  276. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkSendDefaultPii/.lock +0 -0
  277. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkSendDefaultPii/index.py +0 -0
  278. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkSpanStreaming/.gitignore +0 -0
  279. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkSpanStreaming/index.py +0 -0
  280. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkSpanStreamingDataCollection/.gitignore +0 -0
  281. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkSpanStreamingDataCollection/index.py +0 -0
  282. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkSpanStreamingPii/.gitignore +0 -0
  283. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkSpanStreamingPii/index.py +0 -0
  284. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/RaiseErrorPerformanceDisabled/.gitignore +0 -0
  285. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/RaiseErrorPerformanceDisabled/index.py +0 -0
  286. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/RaiseErrorPerformanceEnabled/.gitignore +0 -0
  287. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/RaiseErrorPerformanceEnabled/index.py +0 -0
  288. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/RaiseErrorSpanStreaming/.gitignore +0 -0
  289. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/RaiseErrorSpanStreaming/index.py +0 -0
  290. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/TimeoutErrorScopeModified/.gitignore +0 -0
  291. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/TimeoutErrorScopeModified/index.py +0 -0
  292. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/TracesSampler/.gitignore +0 -0
  293. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/TracesSampler/index.py +0 -0
  294. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/aws_lambda/utils.py +0 -0
  295. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/beam/__init__.py +0 -0
  296. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/beam/test_beam.py +0 -0
  297. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/boto3/__init__.py +0 -0
  298. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/boto3/aws_mock.py +0 -0
  299. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/boto3/s3_list.xml +0 -0
  300. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/boto3/test_aws_http_connection.py +0 -0
  301. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/boto3/test_s3.py +0 -0
  302. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/boto3/test_trace_propagation.py +0 -0
  303. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/bottle/__init__.py +0 -0
  304. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/celery/__init__.py +0 -0
  305. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/celery/integration_tests/__init__.py +0 -0
  306. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/celery/integration_tests/test_celery_beat_cron_monitoring.py +0 -0
  307. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/celery/test_celery.py +0 -0
  308. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/celery/test_celery_beat_crons.py +0 -0
  309. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/celery/test_update_celery_task_headers.py +0 -0
  310. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/chalice/__init__.py +0 -0
  311. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/chalice/test_chalice.py +0 -0
  312. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/clickhouse_driver/__init__.py +0 -0
  313. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/cloud_resource_context/__init__.py +0 -0
  314. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/cloud_resource_context/test_cloud_resource_context.py +0 -0
  315. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/cohere/__init__.py +0 -0
  316. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/conftest.py +0 -0
  317. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/__init__.py +0 -0
  318. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/asgi/__init__.py +0 -0
  319. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/asgi/image.png +0 -0
  320. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/django_helpers/__init__.py +0 -0
  321. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/django_helpers/views.py +0 -0
  322. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/myapp/__init__.py +0 -0
  323. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/myapp/asgi.py +0 -0
  324. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/myapp/custom_urls.py +0 -0
  325. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/myapp/manage.py +0 -0
  326. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/myapp/management/__init__.py +0 -0
  327. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/myapp/management/commands/__init__.py +0 -0
  328. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/myapp/management/commands/mycrash.py +0 -0
  329. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/myapp/middleware.py +0 -0
  330. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/myapp/routing.py +0 -0
  331. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/myapp/settings.py +0 -0
  332. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/myapp/signals.py +0 -0
  333. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/myapp/templates/error.html +0 -0
  334. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/myapp/templates/trace_meta.html +0 -0
  335. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/myapp/templates/user_name.html +0 -0
  336. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/myapp/urls.py +0 -0
  337. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/myapp/views.py +0 -0
  338. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/myapp/wsgi.py +0 -0
  339. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/test_data_scrubbing.py +0 -0
  340. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/test_db_query_data.py +0 -0
  341. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/test_db_transactions.py +0 -0
  342. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/test_middleware.py +0 -0
  343. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/test_tasks.py +0 -0
  344. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/test_transactions.py +0 -0
  345. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/django/utils.py +0 -0
  346. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/dramatiq/__init__.py +0 -0
  347. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/dramatiq/test_dramatiq.py +0 -0
  348. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/excepthook/test_excepthook.py +0 -0
  349. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/falcon/__init__.py +0 -0
  350. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/falcon/test_falcon.py +0 -0
  351. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/fastapi/__init__.py +0 -0
  352. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/fastapi/photo.jpg +0 -0
  353. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/fastapi/test_fastapi.py +0 -0
  354. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/fastmcp/__init__.py +0 -0
  355. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/flask/__init__.py +0 -0
  356. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/flask/test_flask.py +0 -0
  357. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/gcp/__init__.py +0 -0
  358. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/gcp/test_gcp.py +0 -0
  359. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/google_genai/__init__.py +0 -0
  360. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/google_genai/test_google_genai.py +0 -0
  361. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/gql/__init__.py +0 -0
  362. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/gql/test_gql.py +0 -0
  363. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/graphene/__init__.py +0 -0
  364. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/graphene/test_graphene.py +0 -0
  365. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/grpc/__init__.py +0 -0
  366. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/grpc/compile_test_services.sh +0 -0
  367. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/grpc/grpc_test_service_pb2.py +0 -0
  368. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/grpc/grpc_test_service_pb2.pyi +0 -0
  369. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/grpc/grpc_test_service_pb2_grpc.py +0 -0
  370. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/grpc/protos/grpc_test_service.proto +0 -0
  371. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/grpc/test_grpc.py +0 -0
  372. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/grpc/test_grpc_aio.py +0 -0
  373. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/httpx/__init__.py +0 -0
  374. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/httpx/httpx_helpers/__init__.py +0 -0
  375. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/httpx/httpx_helpers/helpers.py +0 -0
  376. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/httpx/test_httpx.py +0 -0
  377. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/httpx2/__init__.py +0 -0
  378. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/httpx2/httpx2_helpers/__init__.py +0 -0
  379. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/httpx2/httpx2_helpers/helpers.py +0 -0
  380. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/httpx2/test_httpx2.py +0 -0
  381. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/huey/__init__.py +0 -0
  382. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/huey/test_huey.py +0 -0
  383. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/huggingface_hub/__init__.py +0 -0
  384. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/langchain/__init__.py +0 -0
  385. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/langchain/test_langchain.py +0 -0
  386. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/langgraph/__init__.py +0 -0
  387. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/langgraph/test_langgraph.py +0 -0
  388. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/launchdarkly/__init__.py +0 -0
  389. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/launchdarkly/test_launchdarkly.py +0 -0
  390. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/litellm/__init__.py +0 -0
  391. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/litellm/test_litellm.py +0 -0
  392. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/litestar/__init__.py +0 -0
  393. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/litestar/test_litestar.py +0 -0
  394. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/loguru/__init__.py +0 -0
  395. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/loguru/test_loguru.py +0 -0
  396. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/mcp/__init__.py +0 -0
  397. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/modules/test_modules.py +0 -0
  398. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/openai/__init__.py +0 -0
  399. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/openai/test_openai.py +0 -0
  400. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/openai_agents/__init__.py +0 -0
  401. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/openfeature/__init__.py +0 -0
  402. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/openfeature/test_openfeature.py +0 -0
  403. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/opentelemetry/__init__.py +0 -0
  404. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/opentelemetry/test_entry_points.py +0 -0
  405. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/opentelemetry/test_experimental.py +0 -0
  406. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/opentelemetry/test_propagator.py +0 -0
  407. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/opentelemetry/test_span_processor.py +0 -0
  408. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/otlp/__init__.py +0 -0
  409. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/otlp/test_otlp.py +0 -0
  410. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/pure_eval/__init__.py +0 -0
  411. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/pure_eval/test_pure_eval.py +0 -0
  412. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/pydantic_ai/__init__.py +0 -0
  413. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/pymongo/__init__.py +0 -0
  414. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/pyramid/__init__.py +0 -0
  415. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/pyramid/test_pyramid.py +0 -0
  416. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/pyreqwest/__init__.py +0 -0
  417. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/pyreqwest/pyreqwest_helpers/__init__.py +0 -0
  418. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/pyreqwest/pyreqwest_helpers/helpers.py +0 -0
  419. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/pyreqwest/test_pyreqwest.py +0 -0
  420. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/quart/__init__.py +0 -0
  421. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/quart/test_quart.py +0 -0
  422. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/ray/__init__.py +0 -0
  423. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/ray/test_ray.py +0 -0
  424. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/redis/__init__.py +0 -0
  425. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/redis/asyncio/__init__.py +0 -0
  426. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/redis/asyncio/test_redis_asyncio.py +0 -0
  427. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/redis/cluster/__init__.py +0 -0
  428. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/redis/cluster/test_redis_cluster.py +0 -0
  429. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/redis/cluster_asyncio/__init__.py +0 -0
  430. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/redis/cluster_asyncio/test_redis_cluster_asyncio.py +0 -0
  431. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/redis/test_redis.py +0 -0
  432. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/redis/test_redis_cache_module.py +0 -0
  433. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/redis/test_redis_cache_module_async.py +0 -0
  434. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/redis_py_cluster_legacy/__init__.py +0 -0
  435. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/redis_py_cluster_legacy/test_redis_py_cluster_legacy.py +0 -0
  436. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/requests/__init__.py +0 -0
  437. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/requests/test_requests.py +0 -0
  438. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/rq/__init__.py +0 -0
  439. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/rq/test_rq.py +0 -0
  440. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/rust_tracing/__init__.py +0 -0
  441. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/rust_tracing/test_rust_tracing.py +0 -0
  442. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/sanic/__init__.py +0 -0
  443. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/sanic/test_sanic.py +0 -0
  444. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/serverless/test_serverless.py +0 -0
  445. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/socket/__init__.py +0 -0
  446. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/socket/test_socket.py +0 -0
  447. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/spark/__init__.py +0 -0
  448. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/spark/test_spark.py +0 -0
  449. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/sqlalchemy/__init__.py +0 -0
  450. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/sqlalchemy/sqlalchemy_helpers/__init__.py +0 -0
  451. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/sqlalchemy/sqlalchemy_helpers/helpers.py +0 -0
  452. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/sqlalchemy/test_sqlalchemy.py +0 -0
  453. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/starlette/__init__.py +0 -0
  454. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/starlette/photo.jpg +0 -0
  455. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/starlette/templates/trace_meta.html +0 -0
  456. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/starlette/test_starlette.py +0 -0
  457. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/starlite/__init__.py +0 -0
  458. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/starlite/test_starlite.py +0 -0
  459. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/statsig/__init__.py +0 -0
  460. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/statsig/test_statsig.py +0 -0
  461. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/stdlib/__init__.py +0 -0
  462. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/stdlib/httplib_helpers/__init__.py +0 -0
  463. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/stdlib/httplib_helpers/helpers.py +0 -0
  464. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/stdlib/test_httplib.py +0 -0
  465. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/stdlib/test_subprocess.py +0 -0
  466. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/strawberry/__init__.py +0 -0
  467. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/strawberry/test_strawberry.py +0 -0
  468. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/sys_exit/test_sys_exit.py +0 -0
  469. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/test_gnu_backtrace.py +0 -0
  470. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/threading/test_threading.py +0 -0
  471. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/tornado/__init__.py +0 -0
  472. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/tornado/test_tornado.py +0 -0
  473. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/trytond/__init__.py +0 -0
  474. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/trytond/test_trytond.py +0 -0
  475. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/typer/__init__.py +0 -0
  476. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/typer/test_typer.py +0 -0
  477. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/unleash/__init__.py +0 -0
  478. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/unleash/test_unleash.py +0 -0
  479. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/unleash/testutils.py +0 -0
  480. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/unraisablehook/test_unraisablehook.py +0 -0
  481. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/utils.py +0 -0
  482. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/integrations/wsgi/test_wsgi.py +0 -0
  483. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/new_scopes_compat/__init__.py +0 -0
  484. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/new_scopes_compat/conftest.py +0 -0
  485. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/new_scopes_compat/test_new_scopes_compat.py +0 -0
  486. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/new_scopes_compat/test_new_scopes_compat_event.py +0 -0
  487. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/profiler/__init__.py +0 -0
  488. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/profiler/test_continuous_profiler.py +0 -0
  489. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/profiler/test_transaction_profiler.py +0 -0
  490. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test.key +0 -0
  491. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test.pem +0 -0
  492. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_ai_integration_deactivation.py +0 -0
  493. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_ai_monitoring.py +0 -0
  494. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_api.py +0 -0
  495. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_attributes.py +0 -0
  496. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_client.py +0 -0
  497. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_conftest.py +0 -0
  498. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_crons.py +0 -0
  499. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_data_collection.py +0 -0
  500. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_dsc.py +0 -0
  501. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_envelope.py +0 -0
  502. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_exceptiongroup.py +0 -0
  503. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_feature_flags.py +0 -0
  504. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_full_stack_frames.py +0 -0
  505. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_gevent.py +0 -0
  506. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_import.py +0 -0
  507. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_logs.py +0 -0
  508. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_lru_cache.py +0 -0
  509. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_metrics.py +0 -0
  510. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_monitor.py +0 -0
  511. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_propagationcontext.py +0 -0
  512. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_scope.py +0 -0
  513. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_scrubber.py +0 -0
  514. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_serializer.py +0 -0
  515. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_sessions.py +0 -0
  516. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_shadowed_module.py +0 -0
  517. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_spotlight.py +0 -0
  518. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_tracing_utils.py +0 -0
  519. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_transport.py +0 -0
  520. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_types.py +0 -0
  521. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/test_utils.py +0 -0
  522. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/tracing/test_baggage.py +0 -0
  523. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/tracing/test_conversation_id.py +0 -0
  524. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/tracing/test_decorator.py +0 -0
  525. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/tracing/test_deprecated.py +0 -0
  526. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/tracing/test_http_headers.py +0 -0
  527. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/tracing/test_ignore_status_codes.py +0 -0
  528. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/tracing/test_integration_tests.py +0 -0
  529. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/tracing/test_misc.py +0 -0
  530. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/tracing/test_noop_span.py +0 -0
  531. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/tracing/test_propagation.py +0 -0
  532. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/tracing/test_sample_rand.py +0 -0
  533. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/tracing/test_sample_rand_propagation.py +0 -0
  534. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/tracing/test_sampling.py +0 -0
  535. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/tracing/test_span_batcher.py +0 -0
  536. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/tracing/test_span_name.py +0 -0
  537. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/tracing/test_span_origin.py +0 -0
  538. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/tracing/test_span_streaming.py +0 -0
  539. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/utils/__init__.py +0 -0
  540. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/utils/test_contextvars.py +0 -0
  541. {sentry_sdk-2.69.0 → sentry_sdk-2.69.2}/tests/utils/test_transaction.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sentry-sdk
3
- Version: 2.69.0
3
+ Version: 2.69.2
4
4
  Summary: Python client for Sentry (https://sentry.io)
5
5
  Home-page: https://github.com/getsentry/sentry-python
6
6
  Author: Sentry Team and Contributors
@@ -42,7 +42,8 @@ from sentry_sdk.scrubber import EventScrubber
42
42
  from sentry_sdk.serializer import serialize
43
43
  from sentry_sdk.sessions import SessionFlusher
44
44
  from sentry_sdk.traces import SpanStatus, StreamedSpan
45
- from sentry_sdk.tracing import trace
45
+ from sentry_sdk.traces import trace as streaming_trace
46
+ from sentry_sdk.tracing import trace as legacy_trace
46
47
  from sentry_sdk.tracing_utils import has_span_streaming_enabled
47
48
  from sentry_sdk.transport import (
48
49
  AsyncHttpTransport,
@@ -533,8 +534,14 @@ class _Client(BaseClient):
533
534
  self, functions_to_trace: "Sequence[Dict[str, str]]"
534
535
  ) -> None:
535
536
  """
536
- Instruments the functions given in the list `functions_to_trace` with the `@sentry_sdk.tracing.trace` decorator.
537
+ Instruments the functions given in the list `functions_to_trace` with a trace decorator.
537
538
  """
539
+ trace = (
540
+ streaming_trace
541
+ if has_span_streaming_enabled(self.options)
542
+ else legacy_trace
543
+ )
544
+
538
545
  for function in functions_to_trace:
539
546
  class_name = None
540
547
  function_qualname = function["qualified_name"]
@@ -776,6 +783,7 @@ class _Client(BaseClient):
776
783
  event["timestamp"] = datetime.now(timezone.utc)
777
784
 
778
785
  is_transaction = event.get("type") == "transaction"
786
+ is_checkin = event.get("type") == "check_in"
779
787
 
780
788
  if scope is not None:
781
789
  spans_before = len(cast(List[Dict[str, object]], event.get("spans", [])))
@@ -830,6 +838,7 @@ class _Client(BaseClient):
830
838
 
831
839
  if (
832
840
  not is_transaction
841
+ and not is_checkin
833
842
  and self.options["attach_stacktrace"]
834
843
  and "exception" not in event
835
844
  and "stacktrace" not in event
@@ -7,6 +7,8 @@ DEFAULT_MAX_VALUE_LENGTH = None
7
7
  DEFAULT_MAX_STACK_FRAMES = 100
8
8
  DEFAULT_ADD_FULL_STACK = False
9
9
 
10
+ _SENTRY_HEADER_NAMES = frozenset(("baggage", "sentry-trace"))
11
+
10
12
 
11
13
  # Also needs to be at the top to prevent circular import
12
14
  class EndpointType(Enum):
@@ -1335,7 +1337,7 @@ class ClientConstructor:
1335
1337
  profile_lifecycle: 'Literal["manual", "trace"]' = "manual",
1336
1338
  profile_session_sample_rate: "Optional[float]" = None,
1337
1339
  auto_enabling_integrations: bool = True,
1338
- disabled_integrations: "Optional[Sequence[sentry_sdk.integrations.Integration]]" = None,
1340
+ disabled_integrations: "Optional[Sequence[Union[sentry_sdk.integrations.Integration, type[sentry_sdk.integrations.Integration]]]]" = None,
1339
1341
  auto_session_tracking: bool = True,
1340
1342
  send_client_reports: bool = True,
1341
1343
  _experiments: "Experiments" = {}, # noqa: B006
@@ -1846,4 +1848,4 @@ DEFAULT_OPTIONS = _get_default_options()
1846
1848
  del _get_default_options
1847
1849
 
1848
1850
 
1849
- VERSION = "2.69.0"
1851
+ VERSION = "2.69.2"
@@ -4,7 +4,7 @@ from functools import wraps
4
4
 
5
5
  import sentry_sdk
6
6
  from sentry_sdk.api import continue_trace
7
- from sentry_sdk.consts import OP, SPANDATA, SPANSTATUS
7
+ from sentry_sdk.consts import _SENTRY_HEADER_NAMES, OP, SPANDATA, SPANSTATUS
8
8
  from sentry_sdk.data_collection import (
9
9
  _apply_data_collection_filtering_to_query_string,
10
10
  )
@@ -29,6 +29,7 @@ from sentry_sdk.traces import (
29
29
  )
30
30
  from sentry_sdk.tracing import (
31
31
  BAGGAGE_HEADER_NAME,
32
+ SENTRY_TRACE_HEADER_NAME,
32
33
  SOURCE_FOR_STYLE,
33
34
  TransactionSource,
34
35
  )
@@ -43,6 +44,8 @@ from sentry_sdk.utils import (
43
44
  HAS_REAL_CONTEXTVARS,
44
45
  SENSITIVE_DATA_SUBSTITUTE,
45
46
  AnnotatedValue,
47
+ _get_aws_sigv4_signed_headers_from_authorization_header,
48
+ _get_aws_sigv4_signed_headers_from_url_query_string,
46
49
  _register_control_flow_exception,
47
50
  capture_internal_exceptions,
48
51
  ensure_integration_enabled,
@@ -464,12 +467,50 @@ def create_trace_config() -> "TraceConfig":
464
467
  span = legacy_span
465
468
 
466
469
  if should_propagate_trace(client, str(params.url)):
470
+ # existing `sentry-trace`: skip so it is not duplicated.
471
+ headers_to_skip: "set[str]" = set()
472
+ if SENTRY_TRACE_HEADER_NAME in params.headers:
473
+ headers_to_skip.add(SENTRY_TRACE_HEADER_NAME)
474
+
475
+ with capture_internal_exceptions():
476
+ authorization = params.headers.get("Authorization")
477
+ if authorization:
478
+ if isinstance(authorization, bytes):
479
+ authorization = authorization.decode("latin-1")
480
+ # `SignedHeaders` lists fields covered by SigV4.
481
+ signed_headers = (
482
+ _get_aws_sigv4_signed_headers_from_authorization_header(
483
+ authorization
484
+ )
485
+ )
486
+ # skip signed `sentry-trace` and `baggage`.
487
+ headers_to_skip.update(
488
+ _SENTRY_HEADER_NAMES.intersection(signed_headers)
489
+ )
490
+
491
+ # presigned URLs list signed names in the query string.
492
+ query_signed_headers = (
493
+ _get_aws_sigv4_signed_headers_from_url_query_string(str(params.url))
494
+ )
495
+ headers_to_skip.update(
496
+ _SENTRY_HEADER_NAMES.intersection(query_signed_headers)
497
+ )
498
+
467
499
  for (
468
500
  key,
469
501
  value,
470
502
  ) in sentry_sdk.get_current_scope().iter_trace_propagation_headers(
471
503
  span=span
472
504
  ):
505
+ # skip signed headers and an existing `sentry-trace`.
506
+ if key.lower() in headers_to_skip:
507
+ logger.debug(
508
+ "[Tracing] Not adding `{key}` header to outgoing request "
509
+ "to {url}: it already exists or is covered by the AWS "
510
+ "SigV4 signature.".format(key=key, url=params.url)
511
+ )
512
+ continue
513
+
473
514
  logger.debug(
474
515
  "[Tracing] Adding `{key}` header {value} to outgoing request to {url}.".format(
475
516
  key=key, value=value, url=params.url
@@ -45,6 +45,27 @@ TIMEOUT_WARNING_BUFFER = 1500 # Buffer time required to send timeout warning to
45
45
  MILLIS_TO_SECONDS = 1000.0
46
46
 
47
47
 
48
+ def _get_user_from_event(aws_event: "dict[str, Any]") -> "dict[str, Any]":
49
+ if not isinstance(aws_event, dict):
50
+ return {}
51
+
52
+ identity = aws_event.get("requestContext", {}).get("identity")
53
+ if identity is None:
54
+ return {}
55
+
56
+ user_info: "dict[str, Any]" = {}
57
+
58
+ user_arn = identity.get("userArn")
59
+ if user_arn is not None:
60
+ user_info["id"] = user_arn
61
+
62
+ ip = identity.get("sourceIp")
63
+ if ip is not None:
64
+ user_info["ip_address"] = ip
65
+
66
+ return user_info
67
+
68
+
48
69
  def _wrap_init_error(init_error: "F") -> "F":
49
70
  @ensure_integration_enabled(AwsLambdaIntegration, init_error)
50
71
  def sentry_init_error(*args: "Any", **kwargs: "Any") -> "Any":
@@ -181,6 +202,17 @@ def _wrap_handler(handler: "F") -> "F":
181
202
  elif should_send_default_pii():
182
203
  additional_attributes["url.query"] = urlencode(qs)
183
204
 
205
+ if not scope._user:
206
+ if has_data_collection_enabled(client.options):
207
+ if client.options["data_collection"]["user_info"]:
208
+ user_info = _get_user_from_event(request_data)
209
+ if user_info:
210
+ scope.set_user(user_info)
211
+ elif should_send_default_pii():
212
+ user_info = _get_user_from_event(request_data)
213
+ if user_info:
214
+ scope.set_user(user_info)
215
+
184
216
  sampling_context = {
185
217
  "aws_event": aws_event,
186
218
  "aws_context": aws_context,
@@ -440,38 +472,22 @@ def _make_request_event_processor(
440
472
  client_options = sentry_sdk.get_client().options
441
473
  if has_data_collection_enabled(client_options):
442
474
  if client_options["data_collection"]["user_info"]:
443
- user_info = sentry_event.setdefault("user", {})
444
-
445
- identity = aws_event.get("requestContext", {}).get("identity")
446
- if identity is None:
447
- identity = {}
448
-
449
- id = identity.get("userArn")
450
- if id is not None:
451
- user_info.setdefault("id", id)
452
-
453
- ip = identity.get("sourceIp")
454
- if ip is not None:
455
- user_info.setdefault("ip_address", ip)
475
+ extracted_user = _get_user_from_event(aws_event)
476
+ if extracted_user:
477
+ user_info = sentry_event.setdefault("user", {})
478
+ for key, value in extracted_user.items():
479
+ user_info.setdefault(key, value)
456
480
 
457
481
  if "incoming_request" in client_options["data_collection"]["http_bodies"]:
458
482
  if "body" in aws_event:
459
483
  request["data"] = aws_event.get("body", "")
460
484
 
461
485
  elif should_send_default_pii():
462
- user_info = sentry_event.setdefault("user", {})
463
-
464
- identity = aws_event.get("requestContext", {}).get("identity")
465
- if identity is None:
466
- identity = {}
467
-
468
- id = identity.get("userArn")
469
- if id is not None:
470
- user_info.setdefault("id", id)
471
-
472
- ip = identity.get("sourceIp")
473
- if ip is not None:
474
- user_info.setdefault("ip_address", ip)
486
+ extracted_user = _get_user_from_event(aws_event)
487
+ if extracted_user:
488
+ user_info = sentry_event.setdefault("user", {})
489
+ for key, value in extracted_user.items():
490
+ user_info.setdefault(key, value)
475
491
 
476
492
  if "body" in aws_event:
477
493
  request["data"] = aws_event.get("body", "")
@@ -75,6 +75,19 @@ class BottleIntegration(Integration):
75
75
  version = parse_version(BOTTLE_VERSION)
76
76
  _check_minimum_version(BottleIntegration, version)
77
77
 
78
+ # Bottle's Route.__repr__ might lead to a never-terminating while True
79
+ # loop when attach_stacktrace=True.
80
+ def _sentry_route_repr(self: "Route") -> str:
81
+ cb = self.callback
82
+ return "<%s %s -> %s:%s>" % (
83
+ self.method,
84
+ self.rule,
85
+ getattr(cb, "__module__", "?"),
86
+ getattr(cb, "__name__", "?"),
87
+ )
88
+
89
+ Route.__sentry_repr__ = _sentry_route_repr
90
+
78
91
  old_app = Bottle.__call__
79
92
 
80
93
  @ensure_integration_enabled(BottleIntegration, old_app)
@@ -161,7 +161,7 @@ def _wrap_end(f: "Callable[P, T]") -> "Callable[P, T]":
161
161
  sentry_sdk.get_isolation_scope().add_breadcrumb(
162
162
  message=query,
163
163
  category="query",
164
- data={"db.result": res, **breadcrumb_data},
164
+ data=breadcrumb_data,
165
165
  )
166
166
 
167
167
  span = getattr(instance.connection, "_sentry_span", None)
@@ -451,7 +451,10 @@ def _patch_django_asgi_handler() -> None:
451
451
 
452
452
 
453
453
  def _set_transaction_name_and_source(
454
- scope: "sentry_sdk.Scope", transaction_style: str, request: "WSGIRequest"
454
+ scope: "sentry_sdk.Scope",
455
+ transaction_style: str,
456
+ request: "WSGIRequest",
457
+ route_path: "Optional[str]",
455
458
  ) -> None:
456
459
  try:
457
460
  transaction_name = None
@@ -459,13 +462,8 @@ def _set_transaction_name_and_source(
459
462
  fn = resolve(request.path).func
460
463
  transaction_name = transaction_from_function(getattr(fn, "view_class", fn))
461
464
 
462
- elif transaction_style == "url":
463
- if hasattr(request, "urlconf"):
464
- transaction_name = LEGACY_RESOLVER.resolve(
465
- request.path_info, urlconf=request.urlconf
466
- )
467
- else:
468
- transaction_name = LEGACY_RESOLVER.resolve(request.path_info)
465
+ elif transaction_style == "url" and route_path is not None:
466
+ transaction_name = route_path
469
467
 
470
468
  if transaction_name is None:
471
469
  transaction_name = request.path_info
@@ -477,6 +475,11 @@ def _set_transaction_name_and_source(
477
475
  transaction_name,
478
476
  source=source,
479
477
  )
478
+
479
+ if transaction_style == "url" and route_path is not None:
480
+ server_span = scope._server_segment_span
481
+ if server_span is not None:
482
+ server_span.set_attribute(SPANDATA.HTTP_ROUTE, route_path)
480
483
  except Resolver404:
481
484
  urlconf = import_module(settings.ROOT_URLCONF)
482
485
  # This exception only gets thrown when transaction_style is `function_name`
@@ -501,8 +504,29 @@ def _before_get_response(request: "WSGIRequest") -> None:
501
504
  _patch_drf()
502
505
 
503
506
  scope = sentry_sdk.get_current_scope()
507
+
508
+ route_path = None
509
+ if hasattr(request, "urlconf"):
510
+ try:
511
+ route_path = LEGACY_RESOLVER.resolve(
512
+ request.path_info, urlconf=request.urlconf
513
+ )
514
+ except Exception:
515
+ pass
516
+ else:
517
+ try:
518
+ route_path = LEGACY_RESOLVER.resolve(request.path_info)
519
+ except Exception:
520
+ pass
521
+
522
+ server_span = sentry_sdk.get_current_scope()._server_segment_span
523
+ if server_span is not None and route_path is not None:
524
+ server_span.set_attribute(SPANDATA.HTTP_ROUTE, route_path)
525
+
504
526
  # Rely on WSGI middleware to start a trace
505
- _set_transaction_name_and_source(scope, integration.transaction_style, request)
527
+ _set_transaction_name_and_source(
528
+ scope, integration.transaction_style, request, route_path=route_path
529
+ )
506
530
 
507
531
  scope.add_event_processor(
508
532
  _make_wsgi_request_event_processor(weakref.ref(request), integration)
@@ -520,7 +544,27 @@ def _attempt_resolve_again(
520
544
  if not hasattr(request, "urlconf"):
521
545
  return
522
546
 
523
- _set_transaction_name_and_source(scope, transaction_style, request)
547
+ route_path = None
548
+ if hasattr(request, "urlconf"):
549
+ try:
550
+ route_path = LEGACY_RESOLVER.resolve(
551
+ request.path_info, urlconf=request.urlconf
552
+ )
553
+ except Exception:
554
+ pass
555
+ else:
556
+ try:
557
+ route_path = LEGACY_RESOLVER.resolve(request.path_info)
558
+ except Exception:
559
+ pass
560
+
561
+ server_span = sentry_sdk.get_current_scope()._server_segment_span
562
+ if server_span is not None and route_path is not None:
563
+ server_span.set_attribute(SPANDATA.HTTP_ROUTE, route_path)
564
+
565
+ _set_transaction_name_and_source(
566
+ scope, transaction_style, request, route_path=route_path
567
+ )
524
568
 
525
569
 
526
570
  def _get_user_from_request_and_set_on_scope(request: "WSGIRequest") -> None:
@@ -608,7 +608,7 @@ def extract_tool_calls(
608
608
 
609
609
  # Extract from candidates, sometimes tool calls are nested under the content.parts object
610
610
  candidates = getattr(response, "candidates", [])
611
- if response is not None:
611
+ if candidates and response is not None:
612
612
  for candidate in candidates:
613
613
  if not hasattr(candidate, "content") or not getattr(
614
614
  candidate.content, "parts", []
@@ -1,4 +1,5 @@
1
1
  import sys
2
+ from contextlib import nullcontext
2
3
  from functools import wraps
3
4
  from typing import TYPE_CHECKING
4
5
 
@@ -60,11 +61,15 @@ def _patch_execute_tool_call() -> None:
60
61
  # Create execute_tool span
61
62
  # Nesting is handled by isolation_scope() to ensure proper parent-child relationships
62
63
  with sentry_sdk.isolation_scope():
63
- with execute_tool_span(
64
- name,
65
- args_dict,
66
- agent,
67
- tool_definition=selected_tool_definition,
64
+ with (
65
+ execute_tool_span(
66
+ name,
67
+ args_dict,
68
+ agent,
69
+ tool_definition=selected_tool_definition,
70
+ )
71
+ if validated.args_valid
72
+ else nullcontext()
68
73
  ) as span:
69
74
  try:
70
75
  result = await original_execute_tool_call(
@@ -73,7 +78,8 @@ def _patch_execute_tool_call() -> None:
73
78
  *args,
74
79
  **kwargs,
75
80
  )
76
- update_execute_tool_span(span, result)
81
+ if span is not None:
82
+ update_execute_tool_span(span, result)
77
83
  return result
78
84
  except ToolRetryError as exc:
79
85
  exc_info = sys.exc_info()
@@ -6,11 +6,11 @@ from http.client import HTTPConnection, HTTPResponse
6
6
  from typing import TYPE_CHECKING
7
7
 
8
8
  import sentry_sdk
9
- from sentry_sdk.consts import OP, SPANDATA
9
+ from sentry_sdk.consts import _SENTRY_HEADER_NAMES, OP, SPANDATA
10
10
  from sentry_sdk.integrations import Integration
11
11
  from sentry_sdk.scope import add_global_event_processor
12
12
  from sentry_sdk.traces import StreamedSpan
13
- from sentry_sdk.tracing import BAGGAGE_HEADER_NAME, SENTRY_TRACE_HEADER_NAME, Span
13
+ from sentry_sdk.tracing import SENTRY_TRACE_HEADER_NAME, Span
14
14
  from sentry_sdk.tracing_utils import (
15
15
  EnvironHeaders,
16
16
  add_http_breadcrumb,
@@ -42,9 +42,6 @@ _RUNTIME_CONTEXT: "dict[str, object]" = {
42
42
  "version": "%s.%s.%s" % (sys.version_info[:3]),
43
43
  "build": sys.version,
44
44
  }
45
-
46
- _SENTRY_HEADER_NAMES = frozenset((BAGGAGE_HEADER_NAME, SENTRY_TRACE_HEADER_NAME))
47
-
48
45
  try:
49
46
  from botocore.awsrequest import AWSHTTPConnection, AWSHTTPSConnection
50
47
  except ImportError:
@@ -43,8 +43,8 @@ MAX_EVENT_BYTES = 10**6
43
43
 
44
44
  # Maximum depth and breadth of databags. Excess data will be trimmed. If
45
45
  # max_request_body_size is "always", request bodies won't be trimmed.
46
- MAX_DATABAG_DEPTH = 5
47
- MAX_DATABAG_BREADTH = 10
46
+ MAX_DATABAG_DEPTH: int = 5
47
+ MAX_DATABAG_BREADTH: int = 10
48
48
  CYCLE_MARKER = "<cyclic>"
49
49
 
50
50
 
@@ -1,10 +1,21 @@
1
1
  """
2
- EXPERIMENTAL. Do not use in production.
2
+ The API in this file is only meant to be used in span streaming mode. It should
3
+ not be mixed with the legacy tracing API (sentry_sdk.start_transaction,
4
+ sentry_sdk.start_span, etc.).
3
5
 
4
- The API in this file is only meant to be used in span streaming mode.
6
+ You can enable span streaming mode via:
5
7
 
6
- You can enable span streaming mode via
7
- sentry_sdk.init(trace_lifecycle="stream").
8
+ ```
9
+ import sentry_sdk
10
+
11
+ sentry_sdk.init(
12
+ trace_lifecycle="stream",
13
+ )
14
+ ```
15
+
16
+ See
17
+ https://docs.sentry.io/platforms/python/tracing/streamed-spans/migration-guide/
18
+ for how to migrate to span streaming.
8
19
  """
9
20
 
10
21
  import sys
@@ -110,10 +121,7 @@ def start_span(
110
121
  active: bool = True,
111
122
  ) -> "StreamedSpan":
112
123
  """
113
- Start a span.
114
-
115
- EXPERIMENTAL. Use sentry_sdk.start_transaction() and sentry_sdk.start_span()
116
- instead.
124
+ Start a span in streaming mode.
117
125
 
118
126
  The span's parent, unless provided explicitly via the `parent_span` argument,
119
127
  will be the current active span, if any. If there is none, this span will
@@ -185,9 +193,7 @@ def start_span(
185
193
 
186
194
  def continue_trace(incoming: "dict[str, Any]") -> None:
187
195
  """
188
- Continue a trace from headers or environment variables.
189
-
190
- EXPERIMENTAL. Use sentry_sdk.continue_trace() instead.
196
+ Continue a trace from headers or environment variables in streaming mode.
191
197
 
192
198
  This function sets the propagation context on the scope. Any span started
193
199
  in the updated scope will belong under the trace extracted from the
@@ -211,9 +217,7 @@ def continue_trace(incoming: "dict[str, Any]") -> None:
211
217
 
212
218
  def new_trace() -> None:
213
219
  """
214
- Resets the propagation context, forcing a new trace.
215
-
216
- EXPERIMENTAL.
220
+ Resets the propagation context, forcing a new trace, in streaming mode.
217
221
 
218
222
  This function sets the propagation context on the scope. Any span started
219
223
  in the updated scope will start its own trace.
@@ -811,9 +815,7 @@ def trace(
811
815
  active: bool = True,
812
816
  ) -> "Union[Callable[P, R], Callable[[Callable[P, R]], Callable[P, R]]]":
813
817
  """
814
- Decorator to start a span around a function call.
815
-
816
- EXPERIMENTAL. Use @sentry_sdk.trace instead.
818
+ Decorator to start a span around a function call in streaming mode.
817
819
 
818
820
  This decorator automatically creates a new span when the decorated function
819
821
  is called, and finishes the span when the function returns or raises an exception.
@@ -1,4 +1,3 @@
1
- import base64
2
1
  import copy
3
2
  import json
4
3
  import linecache
@@ -85,8 +84,6 @@ logger = logging.getLogger("sentry_sdk.errors")
85
84
 
86
85
  _installed_modules = None
87
86
 
88
- BASE64_ALPHABET = re.compile(r"^[a-zA-Z0-9/+=]*$")
89
-
90
87
  FALSY_ENV_VALUES = frozenset(("false", "f", "n", "no", "off", "0"))
91
88
  TRUTHY_ENV_VALUES = frozenset(("true", "t", "y", "yes", "on", "1"))
92
89
  _AWS_SIGV4_SIGNING_ALGORITHMS = frozenset(
@@ -1620,43 +1617,6 @@ class TimeoutThread(threading.Thread):
1620
1617
  )
1621
1618
 
1622
1619
 
1623
- def to_base64(original: str) -> "Optional[str]":
1624
- """
1625
- Convert a string to base64, via UTF-8. Returns None on invalid input.
1626
- """
1627
- base64_string = None
1628
-
1629
- try:
1630
- utf8_bytes = original.encode("UTF-8")
1631
- base64_bytes = base64.b64encode(utf8_bytes)
1632
- base64_string = base64_bytes.decode("UTF-8")
1633
- except Exception as err:
1634
- logger.warning("Unable to encode {orig} to base64:".format(orig=original), err)
1635
-
1636
- return base64_string
1637
-
1638
-
1639
- def from_base64(base64_string: str) -> "Optional[str]":
1640
- """
1641
- Convert a string from base64, via UTF-8. Returns None on invalid input.
1642
- """
1643
- utf8_string = None
1644
-
1645
- try:
1646
- only_valid_chars = BASE64_ALPHABET.match(base64_string)
1647
- assert only_valid_chars
1648
-
1649
- base64_bytes = base64_string.encode("UTF-8")
1650
- utf8_bytes = base64.b64decode(base64_bytes)
1651
- utf8_string = utf8_bytes.decode("UTF-8")
1652
- except Exception as err:
1653
- logger.warning(
1654
- "Unable to decode {b64} from base64:".format(b64=base64_string), err
1655
- )
1656
-
1657
- return utf8_string
1658
-
1659
-
1660
1620
  Components = namedtuple("Components", ["scheme", "netloc", "path", "query", "fragment"])
1661
1621
 
1662
1622
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sentry-sdk
3
- Version: 2.69.0
3
+ Version: 2.69.2
4
4
  Summary: Python client for Sentry (https://sentry.io)
5
5
  Home-page: https://github.com/getsentry/sentry-python
6
6
  Author: Sentry Team and Contributors
@@ -297,6 +297,8 @@ tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkSpanStre
297
297
  tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkSpanStreaming/index.py
298
298
  tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkSpanStreamingDataCollection/.gitignore
299
299
  tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkSpanStreamingDataCollection/index.py
300
+ tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkSpanStreamingDataCollectionUserInfoOff/index.py
301
+ tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkSpanStreamingDataCollectionUserInfoOn/index.py
300
302
  tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkSpanStreamingPii/.gitignore
301
303
  tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/BasicOkSpanStreamingPii/index.py
302
304
  tests/integrations/aws_lambda/lambda_functions_with_embedded_sdk/RaiseErrorPerformanceDisabled/.gitignore
@@ -22,7 +22,7 @@ def get_file_text(file_name):
22
22
 
23
23
  setup(
24
24
  name="sentry-sdk",
25
- version="2.69.0",
25
+ version="2.69.2",
26
26
  author="Sentry Team and Contributors",
27
27
  author_email="hello@sentry.io",
28
28
  url="https://github.com/getsentry/sentry-python",