sentry-sdk 2.32.0__tar.gz → 2.33.0__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.

Potentially problematic release.


This version of sentry-sdk might be problematic. Click here for more details.

Files changed (200) hide show
  1. {sentry_sdk-2.32.0/sentry_sdk.egg-info → sentry_sdk-2.33.0}/PKG-INFO +1 -1
  2. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/ai/monitoring.py +7 -3
  3. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/consts.py +1 -1
  4. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/langchain.py +38 -19
  5. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/openai_agents/spans/ai_client.py +2 -1
  6. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/openai_agents/utils.py +2 -1
  7. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/sessions.py +8 -9
  8. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0/sentry_sdk.egg-info}/PKG-INFO +1 -1
  9. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/setup.py +1 -1
  10. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_api.py +0 -10
  11. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_client.py +2 -1
  12. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/LICENSE +0 -0
  13. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/MANIFEST.in +0 -0
  14. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/README.md +0 -0
  15. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/pyproject.toml +0 -0
  16. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/__init__.py +0 -0
  17. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/_compat.py +0 -0
  18. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/_init_implementation.py +0 -0
  19. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/_log_batcher.py +0 -0
  20. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/_lru_cache.py +0 -0
  21. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/_queue.py +0 -0
  22. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/_types.py +0 -0
  23. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/_werkzeug.py +0 -0
  24. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/ai/__init__.py +0 -0
  25. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/ai/utils.py +0 -0
  26. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/api.py +0 -0
  27. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/attachments.py +0 -0
  28. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/client.py +0 -0
  29. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/crons/__init__.py +0 -0
  30. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/crons/api.py +0 -0
  31. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/crons/consts.py +0 -0
  32. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/crons/decorator.py +0 -0
  33. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/debug.py +0 -0
  34. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/envelope.py +0 -0
  35. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/feature_flags.py +0 -0
  36. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/hub.py +0 -0
  37. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/__init__.py +0 -0
  38. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/_asgi_common.py +0 -0
  39. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/_wsgi_common.py +0 -0
  40. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/aiohttp.py +0 -0
  41. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/anthropic.py +0 -0
  42. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/argv.py +0 -0
  43. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/ariadne.py +0 -0
  44. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/arq.py +0 -0
  45. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/asgi.py +0 -0
  46. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/asyncio.py +0 -0
  47. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/asyncpg.py +0 -0
  48. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/atexit.py +0 -0
  49. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/aws_lambda.py +0 -0
  50. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/beam.py +0 -0
  51. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/boto3.py +0 -0
  52. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/bottle.py +0 -0
  53. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/celery/__init__.py +0 -0
  54. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/celery/beat.py +0 -0
  55. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/celery/utils.py +0 -0
  56. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/chalice.py +0 -0
  57. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/clickhouse_driver.py +0 -0
  58. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/cloud_resource_context.py +0 -0
  59. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/cohere.py +0 -0
  60. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/dedupe.py +0 -0
  61. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/django/__init__.py +0 -0
  62. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/django/asgi.py +0 -0
  63. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/django/caching.py +0 -0
  64. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/django/middleware.py +0 -0
  65. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/django/signals_handlers.py +0 -0
  66. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/django/templates.py +0 -0
  67. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/django/transactions.py +0 -0
  68. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/django/views.py +0 -0
  69. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/dramatiq.py +0 -0
  70. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/excepthook.py +0 -0
  71. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/executing.py +0 -0
  72. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/falcon.py +0 -0
  73. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/fastapi.py +0 -0
  74. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/flask.py +0 -0
  75. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/gcp.py +0 -0
  76. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/gnu_backtrace.py +0 -0
  77. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/gql.py +0 -0
  78. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/graphene.py +0 -0
  79. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/grpc/__init__.py +0 -0
  80. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/grpc/aio/__init__.py +0 -0
  81. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/grpc/aio/client.py +0 -0
  82. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/grpc/aio/server.py +0 -0
  83. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/grpc/client.py +0 -0
  84. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/grpc/consts.py +0 -0
  85. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/grpc/server.py +0 -0
  86. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/httpx.py +0 -0
  87. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/huey.py +0 -0
  88. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/huggingface_hub.py +0 -0
  89. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/launchdarkly.py +0 -0
  90. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/litestar.py +0 -0
  91. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/logging.py +0 -0
  92. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/loguru.py +0 -0
  93. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/modules.py +0 -0
  94. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/openai.py +0 -0
  95. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/openai_agents/__init__.py +0 -0
  96. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/openai_agents/consts.py +0 -0
  97. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/openai_agents/patches/__init__.py +0 -0
  98. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/openai_agents/patches/agent_run.py +0 -0
  99. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/openai_agents/patches/models.py +0 -0
  100. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/openai_agents/patches/runner.py +0 -0
  101. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/openai_agents/patches/tools.py +0 -0
  102. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/openai_agents/spans/__init__.py +0 -0
  103. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/openai_agents/spans/agent_workflow.py +0 -0
  104. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/openai_agents/spans/execute_tool.py +0 -0
  105. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/openai_agents/spans/handoff.py +0 -0
  106. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/openai_agents/spans/invoke_agent.py +0 -0
  107. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/openfeature.py +0 -0
  108. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/opentelemetry/__init__.py +0 -0
  109. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/opentelemetry/consts.py +0 -0
  110. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/opentelemetry/integration.py +0 -0
  111. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/opentelemetry/propagator.py +0 -0
  112. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/opentelemetry/span_processor.py +0 -0
  113. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/pure_eval.py +0 -0
  114. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/pymongo.py +0 -0
  115. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/pyramid.py +0 -0
  116. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/quart.py +0 -0
  117. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/ray.py +0 -0
  118. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/redis/__init__.py +0 -0
  119. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/redis/_async_common.py +0 -0
  120. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/redis/_sync_common.py +0 -0
  121. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/redis/consts.py +0 -0
  122. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/redis/modules/__init__.py +0 -0
  123. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/redis/modules/caches.py +0 -0
  124. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/redis/modules/queries.py +0 -0
  125. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/redis/rb.py +0 -0
  126. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/redis/redis.py +0 -0
  127. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/redis/redis_cluster.py +0 -0
  128. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/redis/redis_py_cluster_legacy.py +0 -0
  129. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/redis/utils.py +0 -0
  130. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/rq.py +0 -0
  131. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/rust_tracing.py +0 -0
  132. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/sanic.py +0 -0
  133. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/serverless.py +0 -0
  134. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/socket.py +0 -0
  135. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/spark/__init__.py +0 -0
  136. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/spark/spark_driver.py +0 -0
  137. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/spark/spark_worker.py +0 -0
  138. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/sqlalchemy.py +0 -0
  139. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/starlette.py +0 -0
  140. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/starlite.py +0 -0
  141. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/statsig.py +0 -0
  142. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/stdlib.py +0 -0
  143. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/strawberry.py +0 -0
  144. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/sys_exit.py +0 -0
  145. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/threading.py +0 -0
  146. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/tornado.py +0 -0
  147. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/trytond.py +0 -0
  148. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/typer.py +0 -0
  149. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/unleash.py +0 -0
  150. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/integrations/wsgi.py +0 -0
  151. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/logger.py +0 -0
  152. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/metrics.py +0 -0
  153. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/monitor.py +0 -0
  154. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/profiler/__init__.py +0 -0
  155. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/profiler/continuous_profiler.py +0 -0
  156. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/profiler/transaction_profiler.py +0 -0
  157. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/profiler/utils.py +0 -0
  158. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/py.typed +0 -0
  159. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/scope.py +0 -0
  160. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/scrubber.py +0 -0
  161. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/serializer.py +0 -0
  162. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/session.py +0 -0
  163. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/spotlight.py +0 -0
  164. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/tracing.py +0 -0
  165. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/tracing_utils.py +0 -0
  166. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/transport.py +0 -0
  167. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/types.py +0 -0
  168. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/utils.py +0 -0
  169. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk/worker.py +0 -0
  170. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk.egg-info/SOURCES.txt +0 -0
  171. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk.egg-info/dependency_links.txt +0 -0
  172. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk.egg-info/entry_points.txt +0 -0
  173. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk.egg-info/not-zip-safe +0 -0
  174. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk.egg-info/requires.txt +0 -0
  175. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/sentry_sdk.egg-info/top_level.txt +0 -0
  176. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/setup.cfg +0 -0
  177. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_ai_monitoring.py +0 -0
  178. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_basics.py +0 -0
  179. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_conftest.py +0 -0
  180. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_crons.py +0 -0
  181. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_dsc.py +0 -0
  182. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_envelope.py +0 -0
  183. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_exceptiongroup.py +0 -0
  184. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_feature_flags.py +0 -0
  185. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_full_stack_frames.py +0 -0
  186. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_import.py +0 -0
  187. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_logs.py +0 -0
  188. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_lru_cache.py +0 -0
  189. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_metrics.py +0 -0
  190. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_monitor.py +0 -0
  191. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_propagationcontext.py +0 -0
  192. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_scope.py +0 -0
  193. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_scrubber.py +0 -0
  194. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_serializer.py +0 -0
  195. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_sessions.py +0 -0
  196. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_spotlight.py +0 -0
  197. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_tracing_utils.py +0 -0
  198. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_transport.py +0 -0
  199. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_types.py +0 -0
  200. {sentry_sdk-2.32.0 → sentry_sdk-2.33.0}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sentry-sdk
3
- Version: 2.32.0
3
+ Version: 2.33.0
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
@@ -102,15 +102,19 @@ def record_token_usage(
102
102
  ai_pipeline_name = get_ai_pipeline_name()
103
103
  if ai_pipeline_name:
104
104
  span.set_data(SPANDATA.AI_PIPELINE_NAME, ai_pipeline_name)
105
+
105
106
  if prompt_tokens is not None:
106
- span.set_measurement("ai_prompt_tokens_used", value=prompt_tokens)
107
+ span.set_data(SPANDATA.GEN_AI_USAGE_INPUT_TOKENS, prompt_tokens)
108
+
107
109
  if completion_tokens is not None:
108
- span.set_measurement("ai_completion_tokens_used", value=completion_tokens)
110
+ span.set_data(SPANDATA.GEN_AI_USAGE_OUTPUT_TOKENS, completion_tokens)
111
+
109
112
  if (
110
113
  total_tokens is None
111
114
  and prompt_tokens is not None
112
115
  and completion_tokens is not None
113
116
  ):
114
117
  total_tokens = prompt_tokens + completion_tokens
118
+
115
119
  if total_tokens is not None:
116
- span.set_measurement("ai_total_tokens_used", total_tokens)
120
+ span.set_data(SPANDATA.GEN_AI_USAGE_TOTAL_TOKENS, total_tokens)
@@ -1181,4 +1181,4 @@ DEFAULT_OPTIONS = _get_default_options()
1181
1181
  del _get_default_options
1182
1182
 
1183
1183
 
1184
- VERSION = "2.32.0"
1184
+ VERSION = "2.33.0"
@@ -23,6 +23,7 @@ try:
23
23
  from langchain_core.callbacks import (
24
24
  manager,
25
25
  BaseCallbackHandler,
26
+ BaseCallbackManager,
26
27
  Callbacks,
27
28
  )
28
29
  from langchain_core.agents import AgentAction, AgentFinish
@@ -434,12 +435,20 @@ def _wrap_configure(f):
434
435
  **kwargs,
435
436
  )
436
437
 
437
- callbacks_list = local_callbacks or []
438
-
439
- if isinstance(callbacks_list, BaseCallbackHandler):
440
- callbacks_list = [callbacks_list]
441
- elif not isinstance(callbacks_list, list):
442
- logger.debug("Unknown callback type: %s", callbacks_list)
438
+ local_callbacks = local_callbacks or []
439
+
440
+ # Handle each possible type of local_callbacks. For each type, we
441
+ # extract the list of callbacks to check for SentryLangchainCallback,
442
+ # and define a function that would add the SentryLangchainCallback
443
+ # to the existing callbacks list.
444
+ if isinstance(local_callbacks, BaseCallbackManager):
445
+ callbacks_list = local_callbacks.handlers
446
+ elif isinstance(local_callbacks, BaseCallbackHandler):
447
+ callbacks_list = [local_callbacks]
448
+ elif isinstance(local_callbacks, list):
449
+ callbacks_list = local_callbacks
450
+ else:
451
+ logger.debug("Unknown callback type: %s", local_callbacks)
443
452
  # Just proceed with original function call
444
453
  return f(
445
454
  callback_manager_cls,
@@ -449,28 +458,38 @@ def _wrap_configure(f):
449
458
  **kwargs,
450
459
  )
451
460
 
452
- inheritable_callbacks_list = (
453
- inheritable_callbacks if isinstance(inheritable_callbacks, list) else []
454
- )
461
+ # Handle each possible type of inheritable_callbacks.
462
+ if isinstance(inheritable_callbacks, BaseCallbackManager):
463
+ inheritable_callbacks_list = inheritable_callbacks.handlers
464
+ elif isinstance(inheritable_callbacks, list):
465
+ inheritable_callbacks_list = inheritable_callbacks
466
+ else:
467
+ inheritable_callbacks_list = []
455
468
 
456
469
  if not any(
457
470
  isinstance(cb, SentryLangchainCallback)
458
471
  for cb in itertools.chain(callbacks_list, inheritable_callbacks_list)
459
472
  ):
460
- # Avoid mutating the existing callbacks list
461
- callbacks_list = [
462
- *callbacks_list,
463
- SentryLangchainCallback(
464
- integration.max_spans,
465
- integration.include_prompts,
466
- integration.tiktoken_encoding_name,
467
- ),
468
- ]
473
+ sentry_handler = SentryLangchainCallback(
474
+ integration.max_spans,
475
+ integration.include_prompts,
476
+ integration.tiktoken_encoding_name,
477
+ )
478
+ if isinstance(local_callbacks, BaseCallbackManager):
479
+ local_callbacks = local_callbacks.copy()
480
+ local_callbacks.handlers = [
481
+ *local_callbacks.handlers,
482
+ sentry_handler,
483
+ ]
484
+ elif isinstance(local_callbacks, BaseCallbackHandler):
485
+ local_callbacks = [local_callbacks, sentry_handler]
486
+ else: # local_callbacks is a list
487
+ local_callbacks = [*local_callbacks, sentry_handler]
469
488
 
470
489
  return f(
471
490
  callback_manager_cls,
472
491
  inheritable_callbacks,
473
- callbacks_list,
492
+ local_callbacks,
474
493
  *args,
475
494
  **kwargs,
476
495
  )
@@ -19,9 +19,10 @@ if TYPE_CHECKING:
19
19
  def ai_client_span(agent, get_response_kwargs):
20
20
  # type: (Agent, dict[str, Any]) -> sentry_sdk.tracing.Span
21
21
  # TODO-anton: implement other types of operations. Now "chat" is hardcoded.
22
+ model_name = agent.model.model if hasattr(agent.model, "model") else agent.model
22
23
  span = sentry_sdk.start_span(
23
24
  op=OP.GEN_AI_CHAT,
24
- description=f"chat {agent.model}",
25
+ description=f"chat {model_name}",
25
26
  origin=SPAN_ORIGIN,
26
27
  )
27
28
  # TODO-anton: remove hardcoded stuff and replace something that also works for embedding and so on
@@ -53,7 +53,8 @@ def _set_agent_data(span, agent):
53
53
  )
54
54
 
55
55
  if agent.model:
56
- span.set_data(SPANDATA.GEN_AI_REQUEST_MODEL, agent.model)
56
+ model_name = agent.model.model if hasattr(agent.model, "model") else agent.model
57
+ span.set_data(SPANDATA.GEN_AI_REQUEST_MODEL, model_name)
57
58
 
58
59
  if agent.model_settings.presence_penalty:
59
60
  span.set_data(
@@ -1,7 +1,6 @@
1
1
  import os
2
- import time
3
2
  import warnings
4
- from threading import Thread, Lock
3
+ from threading import Thread, Lock, Event
5
4
  from contextlib import contextmanager
6
5
 
7
6
  import sentry_sdk
@@ -162,7 +161,7 @@ class SessionFlusher:
162
161
  self._thread_lock = Lock()
163
162
  self._aggregate_lock = Lock()
164
163
  self._thread_for_pid = None # type: Optional[int]
165
- self._running = True
164
+ self.__shutdown_requested = Event()
166
165
 
167
166
  def flush(self):
168
167
  # type: (...) -> None
@@ -208,10 +207,10 @@ class SessionFlusher:
208
207
 
209
208
  def _thread():
210
209
  # type: (...) -> None
211
- while self._running:
212
- time.sleep(self.flush_interval)
213
- if self._running:
214
- self.flush()
210
+ running = True
211
+ while running:
212
+ running = not self.__shutdown_requested.wait(self.flush_interval)
213
+ self.flush()
215
214
 
216
215
  thread = Thread(target=_thread)
217
216
  thread.daemon = True
@@ -220,7 +219,7 @@ class SessionFlusher:
220
219
  except RuntimeError:
221
220
  # Unfortunately at this point the interpreter is in a state that no
222
221
  # longer allows us to spawn a thread and we have to bail.
223
- self._running = False
222
+ self.__shutdown_requested.set()
224
223
  return None
225
224
 
226
225
  self._thread = thread
@@ -271,7 +270,7 @@ class SessionFlusher:
271
270
 
272
271
  def kill(self):
273
272
  # type: (...) -> None
274
- self._running = False
273
+ self.__shutdown_requested.set()
275
274
 
276
275
  def __del__(self):
277
276
  # type: (...) -> None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sentry-sdk
3
- Version: 2.32.0
3
+ Version: 2.33.0
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
@@ -21,7 +21,7 @@ def get_file_text(file_name):
21
21
 
22
22
  setup(
23
23
  name="sentry-sdk",
24
- version="2.32.0",
24
+ version="2.33.0",
25
25
  author="Sentry Team and Contributors",
26
26
  author_email="hello@sentry.io",
27
27
  url="https://github.com/getsentry/sentry-python",
@@ -24,7 +24,6 @@ from sentry_sdk import (
24
24
  from sentry_sdk.client import Client, NonRecordingClient
25
25
 
26
26
 
27
- @pytest.mark.forked
28
27
  def test_get_current_span():
29
28
  fake_scope = mock.MagicMock()
30
29
  fake_scope.span = mock.MagicMock()
@@ -34,7 +33,6 @@ def test_get_current_span():
34
33
  assert get_current_span(fake_scope) is None
35
34
 
36
35
 
37
- @pytest.mark.forked
38
36
  def test_get_current_span_default_hub(sentry_init):
39
37
  sentry_init()
40
38
 
@@ -47,7 +45,6 @@ def test_get_current_span_default_hub(sentry_init):
47
45
  assert get_current_span() == fake_span
48
46
 
49
47
 
50
- @pytest.mark.forked
51
48
  def test_get_current_span_default_hub_with_transaction(sentry_init):
52
49
  sentry_init()
53
50
 
@@ -57,7 +54,6 @@ def test_get_current_span_default_hub_with_transaction(sentry_init):
57
54
  assert get_current_span() == new_transaction
58
55
 
59
56
 
60
- @pytest.mark.forked
61
57
  def test_traceparent_with_tracing_enabled(sentry_init):
62
58
  sentry_init(traces_sample_rate=1.0)
63
59
 
@@ -69,7 +65,6 @@ def test_traceparent_with_tracing_enabled(sentry_init):
69
65
  assert get_traceparent() == expected_traceparent
70
66
 
71
67
 
72
- @pytest.mark.forked
73
68
  def test_traceparent_with_tracing_disabled(sentry_init):
74
69
  sentry_init()
75
70
 
@@ -81,7 +76,6 @@ def test_traceparent_with_tracing_disabled(sentry_init):
81
76
  assert get_traceparent() == expected_traceparent
82
77
 
83
78
 
84
- @pytest.mark.forked
85
79
  def test_baggage_with_tracing_disabled(sentry_init):
86
80
  sentry_init(release="1.0.0", environment="dev")
87
81
  propagation_context = get_isolation_scope()._propagation_context
@@ -93,7 +87,6 @@ def test_baggage_with_tracing_disabled(sentry_init):
93
87
  assert get_baggage() == expected_baggage
94
88
 
95
89
 
96
- @pytest.mark.forked
97
90
  def test_baggage_with_tracing_enabled(sentry_init):
98
91
  sentry_init(traces_sample_rate=1.0, release="1.0.0", environment="dev")
99
92
  with start_transaction() as transaction:
@@ -103,7 +96,6 @@ def test_baggage_with_tracing_enabled(sentry_init):
103
96
  assert re.match(expected_baggage_re, get_baggage())
104
97
 
105
98
 
106
- @pytest.mark.forked
107
99
  def test_continue_trace(sentry_init):
108
100
  sentry_init()
109
101
 
@@ -130,7 +122,6 @@ def test_continue_trace(sentry_init):
130
122
  }
131
123
 
132
124
 
133
- @pytest.mark.forked
134
125
  def test_is_initialized():
135
126
  assert not is_initialized()
136
127
 
@@ -139,7 +130,6 @@ def test_is_initialized():
139
130
  assert is_initialized()
140
131
 
141
132
 
142
- @pytest.mark.forked
143
133
  def test_get_client():
144
134
  client = get_client()
145
135
  assert client is not None
@@ -1297,7 +1297,6 @@ def test_error_sampler(_, sentry_init, capture_events, test_config):
1297
1297
  assert len(test_config.sampler_function_mock.call_args[0]) == 2
1298
1298
 
1299
1299
 
1300
- @pytest.mark.forked
1301
1300
  @pytest.mark.parametrize(
1302
1301
  "opt,missing_flags",
1303
1302
  [
@@ -1342,6 +1341,8 @@ class TestSpanClientReports:
1342
1341
  Tests for client reports related to spans.
1343
1342
  """
1344
1343
 
1344
+ __test__ = False
1345
+
1345
1346
  @staticmethod
1346
1347
  def span_dropper(spans_to_drop):
1347
1348
  """
File without changes
File without changes
File without changes
File without changes
File without changes