sentry-sdk 2.42.0__py2.py3-none-any.whl → 2.43.0__py2.py3-none-any.whl

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 (46) hide show
  1. sentry_sdk/__init__.py +2 -0
  2. sentry_sdk/_metrics_batcher.py +1 -1
  3. sentry_sdk/ai/utils.py +49 -2
  4. sentry_sdk/client.py +18 -1
  5. sentry_sdk/consts.py +87 -2
  6. sentry_sdk/integrations/__init__.py +2 -0
  7. sentry_sdk/integrations/anthropic.py +8 -5
  8. sentry_sdk/integrations/aws_lambda.py +2 -0
  9. sentry_sdk/integrations/django/caching.py +16 -3
  10. sentry_sdk/integrations/gcp.py +6 -1
  11. sentry_sdk/integrations/google_genai/__init__.py +3 -0
  12. sentry_sdk/integrations/google_genai/utils.py +16 -6
  13. sentry_sdk/integrations/langchain.py +49 -23
  14. sentry_sdk/integrations/langgraph.py +25 -11
  15. sentry_sdk/integrations/litellm.py +17 -6
  16. sentry_sdk/integrations/mcp.py +552 -0
  17. sentry_sdk/integrations/openai.py +33 -9
  18. sentry_sdk/integrations/openai_agents/__init__.py +2 -0
  19. sentry_sdk/integrations/openai_agents/patches/__init__.py +1 -0
  20. sentry_sdk/integrations/openai_agents/patches/error_tracing.py +77 -0
  21. sentry_sdk/integrations/pydantic_ai/__init__.py +47 -0
  22. sentry_sdk/integrations/pydantic_ai/consts.py +1 -0
  23. sentry_sdk/integrations/pydantic_ai/patches/__init__.py +4 -0
  24. sentry_sdk/integrations/pydantic_ai/patches/agent_run.py +217 -0
  25. sentry_sdk/integrations/pydantic_ai/patches/graph_nodes.py +105 -0
  26. sentry_sdk/integrations/pydantic_ai/patches/model_request.py +35 -0
  27. sentry_sdk/integrations/pydantic_ai/patches/tools.py +75 -0
  28. sentry_sdk/integrations/pydantic_ai/spans/__init__.py +3 -0
  29. sentry_sdk/integrations/pydantic_ai/spans/ai_client.py +253 -0
  30. sentry_sdk/integrations/pydantic_ai/spans/execute_tool.py +49 -0
  31. sentry_sdk/integrations/pydantic_ai/spans/invoke_agent.py +112 -0
  32. sentry_sdk/integrations/pydantic_ai/utils.py +175 -0
  33. sentry_sdk/integrations/redis/utils.py +4 -4
  34. sentry_sdk/integrations/starlette.py +1 -1
  35. sentry_sdk/integrations/strawberry.py +10 -9
  36. sentry_sdk/logger.py +14 -2
  37. sentry_sdk/scope.py +13 -6
  38. sentry_sdk/tracing_utils.py +1 -1
  39. sentry_sdk/utils.py +34 -2
  40. {sentry_sdk-2.42.0.dist-info → sentry_sdk-2.43.0.dist-info}/METADATA +6 -1
  41. {sentry_sdk-2.42.0.dist-info → sentry_sdk-2.43.0.dist-info}/RECORD +46 -32
  42. /sentry_sdk/{_metrics.py → metrics.py} +0 -0
  43. {sentry_sdk-2.42.0.dist-info → sentry_sdk-2.43.0.dist-info}/WHEEL +0 -0
  44. {sentry_sdk-2.42.0.dist-info → sentry_sdk-2.43.0.dist-info}/entry_points.txt +0 -0
  45. {sentry_sdk-2.42.0.dist-info → sentry_sdk-2.43.0.dist-info}/licenses/LICENSE +0 -0
  46. {sentry_sdk-2.42.0.dist-info → sentry_sdk-2.43.0.dist-info}/top_level.txt +0 -0
sentry_sdk/logger.py CHANGED
@@ -4,7 +4,7 @@ import time
4
4
  from typing import Any
5
5
 
6
6
  from sentry_sdk import get_client
7
- from sentry_sdk.utils import safe_repr
7
+ from sentry_sdk.utils import safe_repr, capture_internal_exceptions
8
8
 
9
9
  OTEL_RANGES = [
10
10
  # ((severity level range), severity text)
@@ -18,10 +18,19 @@ OTEL_RANGES = [
18
18
  ]
19
19
 
20
20
 
21
+ class _dict_default_key(dict): # type: ignore[type-arg]
22
+ """dict that returns the key if missing."""
23
+
24
+ def __missing__(self, key):
25
+ # type: (str) -> str
26
+ return "{" + key + "}"
27
+
28
+
21
29
  def _capture_log(severity_text, severity_number, template, **kwargs):
22
30
  # type: (str, int, str, **Any) -> None
23
31
  client = get_client()
24
32
 
33
+ body = template
25
34
  attrs = {} # type: dict[str, str | bool | float | int]
26
35
  if "attributes" in kwargs:
27
36
  attrs.update(kwargs.pop("attributes"))
@@ -31,6 +40,9 @@ def _capture_log(severity_text, severity_number, template, **kwargs):
31
40
  # only attach template if there are parameters
32
41
  attrs["sentry.message.template"] = template
33
42
 
43
+ with capture_internal_exceptions():
44
+ body = template.format_map(_dict_default_key(kwargs))
45
+
34
46
  attrs = {
35
47
  k: (
36
48
  v
@@ -51,7 +63,7 @@ def _capture_log(severity_text, severity_number, template, **kwargs):
51
63
  "severity_text": severity_text,
52
64
  "severity_number": severity_number,
53
65
  "attributes": attrs,
54
- "body": template.format(**kwargs),
66
+ "body": body,
55
67
  "time_unix_nano": time.time_ns(),
56
68
  "trace_id": None,
57
69
  },
sentry_sdk/scope.py CHANGED
@@ -188,6 +188,7 @@ class Scope:
188
188
  "_extras",
189
189
  "_breadcrumbs",
190
190
  "_n_breadcrumbs_truncated",
191
+ "_gen_ai_original_message_count",
191
192
  "_event_processors",
192
193
  "_error_processors",
193
194
  "_should_capture",
@@ -213,6 +214,7 @@ class Scope:
213
214
  self._name = None # type: Optional[str]
214
215
  self._propagation_context = None # type: Optional[PropagationContext]
215
216
  self._n_breadcrumbs_truncated = 0 # type: int
217
+ self._gen_ai_original_message_count = {} # type: Dict[str, int]
216
218
 
217
219
  self.client = NonRecordingClient() # type: sentry_sdk.client.BaseClient
218
220
 
@@ -247,6 +249,7 @@ class Scope:
247
249
 
248
250
  rv._breadcrumbs = copy(self._breadcrumbs)
249
251
  rv._n_breadcrumbs_truncated = self._n_breadcrumbs_truncated
252
+ rv._gen_ai_original_message_count = self._gen_ai_original_message_count.copy()
250
253
  rv._event_processors = self._event_processors.copy()
251
254
  rv._error_processors = self._error_processors.copy()
252
255
  rv._propagation_context = self._propagation_context
@@ -1583,6 +1586,10 @@ class Scope:
1583
1586
  self._n_breadcrumbs_truncated = (
1584
1587
  self._n_breadcrumbs_truncated + scope._n_breadcrumbs_truncated
1585
1588
  )
1589
+ if scope._gen_ai_original_message_count:
1590
+ self._gen_ai_original_message_count.update(
1591
+ scope._gen_ai_original_message_count
1592
+ )
1586
1593
  if scope._span:
1587
1594
  self._span = scope._span
1588
1595
  if scope._attachments:
@@ -1679,7 +1686,7 @@ def new_scope():
1679
1686
  try:
1680
1687
  # restore original scope
1681
1688
  _current_scope.reset(token)
1682
- except LookupError:
1689
+ except (LookupError, ValueError):
1683
1690
  capture_internal_exception(sys.exc_info())
1684
1691
 
1685
1692
 
@@ -1717,7 +1724,7 @@ def use_scope(scope):
1717
1724
  try:
1718
1725
  # restore original scope
1719
1726
  _current_scope.reset(token)
1720
- except LookupError:
1727
+ except (LookupError, ValueError):
1721
1728
  capture_internal_exception(sys.exc_info())
1722
1729
 
1723
1730
 
@@ -1761,12 +1768,12 @@ def isolation_scope():
1761
1768
  # restore original scopes
1762
1769
  try:
1763
1770
  _current_scope.reset(current_token)
1764
- except LookupError:
1771
+ except (LookupError, ValueError):
1765
1772
  capture_internal_exception(sys.exc_info())
1766
1773
 
1767
1774
  try:
1768
1775
  _isolation_scope.reset(isolation_token)
1769
- except LookupError:
1776
+ except (LookupError, ValueError):
1770
1777
  capture_internal_exception(sys.exc_info())
1771
1778
 
1772
1779
 
@@ -1808,12 +1815,12 @@ def use_isolation_scope(isolation_scope):
1808
1815
  # restore original scopes
1809
1816
  try:
1810
1817
  _current_scope.reset(current_token)
1811
- except LookupError:
1818
+ except (LookupError, ValueError):
1812
1819
  capture_internal_exception(sys.exc_info())
1813
1820
 
1814
1821
  try:
1815
1822
  _isolation_scope.reset(isolation_token)
1816
- except LookupError:
1823
+ except (LookupError, ValueError):
1817
1824
  capture_internal_exception(sys.exc_info())
1818
1825
 
1819
1826
 
@@ -330,7 +330,7 @@ def add_http_request_source(span):
330
330
  if span.timestamp is None or span.start_timestamp is None:
331
331
  return
332
332
 
333
- should_add_request_source = client.options.get("enable_http_request_source", False)
333
+ should_add_request_source = client.options.get("enable_http_request_source", True)
334
334
  if not should_add_request_source:
335
335
  return
336
336
 
sentry_sdk/utils.py CHANGED
@@ -1484,17 +1484,37 @@ class TimeoutThread(threading.Thread):
1484
1484
  waiting_time and raises a custom ServerlessTimeout exception.
1485
1485
  """
1486
1486
 
1487
- def __init__(self, waiting_time, configured_timeout):
1488
- # type: (float, int) -> None
1487
+ def __init__(
1488
+ self, waiting_time, configured_timeout, isolation_scope=None, current_scope=None
1489
+ ):
1490
+ # type: (float, int, Optional[sentry_sdk.Scope], Optional[sentry_sdk.Scope]) -> None
1489
1491
  threading.Thread.__init__(self)
1490
1492
  self.waiting_time = waiting_time
1491
1493
  self.configured_timeout = configured_timeout
1494
+
1495
+ self.isolation_scope = isolation_scope
1496
+ self.current_scope = current_scope
1497
+
1492
1498
  self._stop_event = threading.Event()
1493
1499
 
1494
1500
  def stop(self):
1495
1501
  # type: () -> None
1496
1502
  self._stop_event.set()
1497
1503
 
1504
+ def _capture_exception(self):
1505
+ # type: () -> ExcInfo
1506
+ exc_info = sys.exc_info()
1507
+
1508
+ client = sentry_sdk.get_client()
1509
+ event, hint = event_from_exception(
1510
+ exc_info,
1511
+ client_options=client.options,
1512
+ mechanism={"type": "threading", "handled": False},
1513
+ )
1514
+ sentry_sdk.capture_event(event, hint=hint)
1515
+
1516
+ return exc_info
1517
+
1498
1518
  def run(self):
1499
1519
  # type: () -> None
1500
1520
 
@@ -1510,6 +1530,18 @@ class TimeoutThread(threading.Thread):
1510
1530
  integer_configured_timeout = integer_configured_timeout + 1
1511
1531
 
1512
1532
  # Raising Exception after timeout duration is reached
1533
+ if self.isolation_scope is not None and self.current_scope is not None:
1534
+ with sentry_sdk.scope.use_isolation_scope(self.isolation_scope):
1535
+ with sentry_sdk.scope.use_scope(self.current_scope):
1536
+ try:
1537
+ raise ServerlessTimeoutWarning(
1538
+ "WARNING : Function is expected to get timed out. Configured timeout duration = {} seconds.".format(
1539
+ integer_configured_timeout
1540
+ )
1541
+ )
1542
+ except Exception:
1543
+ reraise(*self._capture_exception())
1544
+
1513
1545
  raise ServerlessTimeoutWarning(
1514
1546
  "WARNING : Function is expected to get timed out. Configured timeout duration = {} seconds.".format(
1515
1547
  integer_configured_timeout
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sentry-sdk
3
- Version: 2.42.0
3
+ Version: 2.43.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
@@ -23,6 +23,7 @@ Classifier: Programming Language :: Python :: 3.10
23
23
  Classifier: Programming Language :: Python :: 3.11
24
24
  Classifier: Programming Language :: Python :: 3.12
25
25
  Classifier: Programming Language :: Python :: 3.13
26
+ Classifier: Programming Language :: Python :: 3.14
26
27
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
27
28
  Requires-Python: >=3.6
28
29
  Description-Content-Type: text/markdown
@@ -82,6 +83,8 @@ Provides-Extra: litestar
82
83
  Requires-Dist: litestar>=2.0.0; extra == "litestar"
83
84
  Provides-Extra: loguru
84
85
  Requires-Dist: loguru>=0.5; extra == "loguru"
86
+ Provides-Extra: mcp
87
+ Requires-Dist: mcp>=1.15.0; extra == "mcp"
85
88
  Provides-Extra: openai
86
89
  Requires-Dist: openai>=1.0.0; extra == "openai"
87
90
  Requires-Dist: tiktoken>=0.3.0; extra == "openai"
@@ -95,6 +98,8 @@ Provides-Extra: pure-eval
95
98
  Requires-Dist: pure_eval; extra == "pure-eval"
96
99
  Requires-Dist: executing; extra == "pure-eval"
97
100
  Requires-Dist: asttokens; extra == "pure-eval"
101
+ Provides-Extra: pydantic-ai
102
+ Requires-Dist: pydantic-ai>=1.0.0; extra == "pydantic-ai"
98
103
  Provides-Extra: pymongo
99
104
  Requires-Dist: pymongo>=3.1; extra == "pymongo"
100
105
  Provides-Extra: pyspark
@@ -1,48 +1,48 @@
1
- sentry_sdk/__init__.py,sha256=-jRAO-EG4LBj5L20sK01fdMlbtvGf_idy54Eb46EiKQ,1364
1
+ sentry_sdk/__init__.py,sha256=cnZoQ9y329brs-cdzIVtxbO1-o9AIrKk8VTVyZNJs1A,1410
2
2
  sentry_sdk/_compat.py,sha256=Pxcg6cUYPiOoXIFfLI_H3ATb7SfrcXOeZdzpeWv3umI,3116
3
3
  sentry_sdk/_init_implementation.py,sha256=WL54d8nggjRunBm3XlG-sWSx4yS5lpYYggd7YBWpuVk,2559
4
4
  sentry_sdk/_log_batcher.py,sha256=bBpspIlf1ejxlbudo17bZOSir226LGAdjDe_3kHkOro,5085
5
5
  sentry_sdk/_lru_cache.py,sha256=phZMBm9EKU1m67OOApnKCffnlWAlVz9bYjig7CglQuk,1229
6
- sentry_sdk/_metrics.py,sha256=ov1aCqPvcmnDba43HHjWT2flqNPfA5Fa0O0iopcnZpI,2044
7
- sentry_sdk/_metrics_batcher.py,sha256=1W7nmijIsiFAsNfg2jdw6Lm4mwlAFFSnx_Oc2zQmASc,4612
6
+ sentry_sdk/_metrics_batcher.py,sha256=kF-ookqFlpOcAWqlhkhid7QOVYSE9jIp4H2DN8my4uc,4613
8
7
  sentry_sdk/_queue.py,sha256=UUzbmliDYmdVYiDA32NMYkX369ElWMFNSj5kodqVQZE,11250
9
8
  sentry_sdk/_types.py,sha256=ld5Y0yMsLxd6P6tPifw3IqUg8bpFE0hgxPDUmn6B9Xg,10422
10
9
  sentry_sdk/_werkzeug.py,sha256=m3GPf-jHd8v3eVOfBHaKw5f0uHoLkXrSO1EcY-8EisY,3734
11
10
  sentry_sdk/api.py,sha256=OkwQ2tA5YASJ77wLOteUdv_woPF4wL_JTOAMxe9z8k4,15282
12
11
  sentry_sdk/attachments.py,sha256=0Dylhm065O6hNFjB40fWCd5Hg4qWSXndmi1TPWglZkI,3109
13
- sentry_sdk/client.py,sha256=ilR4V9_m7tknWlMK9Czq9lHn7ccuU7lfu6B4l_oRTFk,40520
14
- sentry_sdk/consts.py,sha256=q1vCuHWbIGLWmwemLk6cVXqM4WZFnKOGRNfvY2IXE2g,51058
12
+ sentry_sdk/client.py,sha256=z1I9um9NFKSrpjmggdYdRpuP724tv9u9Y9KvFMZNIh0,41394
13
+ sentry_sdk/consts.py,sha256=e1M1-8ByFvBsnbL8A037_kujljlBPhxL_VZsgqx6n8Q,53275
15
14
  sentry_sdk/debug.py,sha256=ddBehQlAuQC1sg1XO-N4N3diZ0x0iT5RWJwFdrtcsjw,1019
16
15
  sentry_sdk/envelope.py,sha256=1nqp_DMw66MYtrszRiiCuodyi3JKcOiQodEMkD6uZ_c,10473
17
16
  sentry_sdk/feature_flags.py,sha256=savtmWAHjAvgw2m_KWW8mUagjLhAXCm3jjscmBlfIJ4,2232
18
17
  sentry_sdk/hub.py,sha256=jg7UqYiJFJ1dknVCNT4_E5lIBfrCFQdWwnJrhgScVNg,25748
19
- sentry_sdk/logger.py,sha256=6tD1sQq3NKAIRgTjRSJyxEvDZMeShj5aUfMhY9hLYIE,2458
18
+ sentry_sdk/logger.py,sha256=NslsNdFyMgZpH4K7QD1bXjgW3AmSecIPtFF-gbe_Pj8,2797
19
+ sentry_sdk/metrics.py,sha256=ov1aCqPvcmnDba43HHjWT2flqNPfA5Fa0O0iopcnZpI,2044
20
20
  sentry_sdk/monitor.py,sha256=52CG1m2e8okFDVoTpbqfm9zeeaLa0ciC_r9x2RiXuDg,3639
21
21
  sentry_sdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- sentry_sdk/scope.py,sha256=gTdGB0eUvjS1TMKvRHckB5AJnBGFGpwps8uPh--KI8k,63934
22
+ sentry_sdk/scope.py,sha256=sTNBz212MP6VoKUSZhrDKo-Iq3FXy2ESLLeXL5gE21s,64392
23
23
  sentry_sdk/scrubber.py,sha256=rENmQ35buugDl269bRZuIAtgr27B9SzisJYUF-691pc,6064
24
24
  sentry_sdk/serializer.py,sha256=0-WdtKYwmGEM7nVxmOeRAXjC0DVdIHCymQpRuIHDBX0,13534
25
25
  sentry_sdk/session.py,sha256=BXWHf5Opg9yx7jKe-_iHxF6LDJw9Jnu7NfHxo3UQRpw,5589
26
26
  sentry_sdk/sessions.py,sha256=e7Jv8McW3QZp3H1GuI_CA_ezq_G0ZWY6nK0ZLqJRdNI,9172
27
27
  sentry_sdk/spotlight.py,sha256=93kdd8KxdLfcPaxFnFuqHgYAAL4FCfpK1hiiPoD7Ac4,8678
28
28
  sentry_sdk/tracing.py,sha256=lJG5TmA7mz7-RfJEr34ydgBf-lebRegejHkhdNsHH08,51747
29
- sentry_sdk/tracing_utils.py,sha256=Qq4zPU1wEudCgQyb0nnS4AaTBmCchz6ovghGZEjc91w,40541
29
+ sentry_sdk/tracing_utils.py,sha256=1jwVbHzL4aTT5BzkSdmWtfoL9feYaxszdj2AZKCG37I,40540
30
30
  sentry_sdk/transport.py,sha256=NzlBS5liRSh0Fm7Zi7sPdZG82uECw9myECs_JrClqkg,31878
31
31
  sentry_sdk/types.py,sha256=A92AqvfrGQZ9KY6FaUjKfL9F1HK7Ui3heQilVzfzYCs,1269
32
- sentry_sdk/utils.py,sha256=ytlUxHsGpnUQgnFBmDoEiFLq0iZ3cxJbPQi88HMniiA,62176
32
+ sentry_sdk/utils.py,sha256=GkvrDyBVD0vQ31Roe2pGO7nEM2ykrgXUSpg9J1sjjH4,63429
33
33
  sentry_sdk/worker.py,sha256=VSMaigRMbInVyupSFpBC42bft2oIViea-0C_d9ThnIo,4464
34
34
  sentry_sdk/ai/__init__.py,sha256=I7GRMQEYTV0bXzEIE0iAJjAn6Te-dPM5uGyJ9KS-6hI,193
35
35
  sentry_sdk/ai/monitoring.py,sha256=bS_KneWCAL9ehml5XiyficoPVx4DUUG6acbH3cjP3I8,5057
36
- sentry_sdk/ai/utils.py,sha256=StHk8b34APp6mHGp9oPD7aPRROKXJv5KqM8h8c4Hv9s,3270
36
+ sentry_sdk/ai/utils.py,sha256=heWnJdwB-aKtxTfqqggtrHEGZQkPNxcCy6oA_U0oqmQ,4925
37
37
  sentry_sdk/crons/__init__.py,sha256=3Zt6g1-pZZ12uRKKsC8QLm3XgJ4K1VYxgVpNNUygOZY,221
38
38
  sentry_sdk/crons/api.py,sha256=mk-UB8Im2LU2rJFdE-TV302EaKnf8kAjwEL0bIV0Hzc,1767
39
39
  sentry_sdk/crons/consts.py,sha256=dXqJk5meBSu5rjlGpqAOlkpACnuUi7svQnAFoy1ZNUU,87
40
40
  sentry_sdk/crons/decorator.py,sha256=UrjeIqBCbvsuKrfjGkKJbbLBvjw2TQvDWcTO7WwAmrI,3913
41
- sentry_sdk/integrations/__init__.py,sha256=c-0q-kzVEKt_2-bk2X4f4LLXnykTmldcjo98dEQmPms,10442
41
+ sentry_sdk/integrations/__init__.py,sha256=adxzAhoa6VLVAnhvzpKGVhX0kh-aHHmYrzaaXIKuRfw,10495
42
42
  sentry_sdk/integrations/_asgi_common.py,sha256=Ypg7IctB3iPPY60ebVlzChzgT8GeGpZ0YH8VvJNDlEY,3187
43
43
  sentry_sdk/integrations/_wsgi_common.py,sha256=A1-X7l1pZCcrbUhRHkmdKiK_EemEZjn7xToJIvlEuFM,7558
44
44
  sentry_sdk/integrations/aiohttp.py,sha256=FynazdaPWCanC91KKVba8yl0UwWnVJcJxWNPzSu64x0,13007
45
- sentry_sdk/integrations/anthropic.py,sha256=AeGNc8WGXhqtSk9oZcxcEAp1lRvQT16i6HOKUGfat2M,13935
45
+ sentry_sdk/integrations/anthropic.py,sha256=pHeZFHdLU8VMdzJIzDmPEm1j0h7bhPtpWcy7zVDRwfk,14136
46
46
  sentry_sdk/integrations/argv.py,sha256=GIY7TBFETF8Z0fDzqTXEJldt5XXCDdFNZxpGxP7EPaU,911
47
47
  sentry_sdk/integrations/ariadne.py,sha256=C-zKlOrU7jvTWmQHZx0M0tAZNkPPo7Z5-5jXDD92LiU,5834
48
48
  sentry_sdk/integrations/arq.py,sha256=yDPdWJa3ZgnGLwFzavIylIafEVN0qqSSgL4kUHxQF70,7881
@@ -50,7 +50,7 @@ sentry_sdk/integrations/asgi.py,sha256=b3zE8Om_yP7SDxcD8MMCdDthYhLLgOB3LC3ZZCf94
50
50
  sentry_sdk/integrations/asyncio.py,sha256=DEoXAwk8oVl_1Sbmm2TthpruaLO7p4WZBTh9K-mch_g,4136
51
51
  sentry_sdk/integrations/asyncpg.py,sha256=fbBTi5bEERK3c9o43LBLtS5wPaSVq_qIl3Y50NPmr5Y,6521
52
52
  sentry_sdk/integrations/atexit.py,sha256=sY46N2hEvtGuT1DBQhirUXHbjgXjXAm7R_sgiectVKw,1652
53
- sentry_sdk/integrations/aws_lambda.py,sha256=WveHWnB_nBsnfLTbaUxih79Ra3Qjv4Jjh-7m2v-gSJs,17954
53
+ sentry_sdk/integrations/aws_lambda.py,sha256=uEue-fu2ZTaXYFJdS9vVQp34Wld5U_KOBg7rbkwvyDo,18071
54
54
  sentry_sdk/integrations/beam.py,sha256=qt35UmkA0ng4VNzmwqH9oz7SESU-is9IjFbTJ21ad4U,5182
55
55
  sentry_sdk/integrations/boto3.py,sha256=1ItKUX7EL9MHXS1H8VSn6IfZSFLeqaUqeWg-OKBm_Ik,4411
56
56
  sentry_sdk/integrations/bottle.py,sha256=aC5OsitlsRUEWBlpkNjxvH0m6UEG3OfAJ9jFyPCbzqQ,6615
@@ -65,22 +65,23 @@ sentry_sdk/integrations/executing.py,sha256=5lxBAxO5FypY-zTV03AHncGmolmaHd327-3V
65
65
  sentry_sdk/integrations/falcon.py,sha256=uhjqFPKa8bWRQr0za4pVXGYaPr-LRdICw2rUO-laKCo,9501
66
66
  sentry_sdk/integrations/fastapi.py,sha256=kicdigHM3MG-GlpLUN6wwH8jOVu4dTuoQD6RBFrlXgo,4589
67
67
  sentry_sdk/integrations/flask.py,sha256=t7q73JoJT46RWDtrNImtIloGyDg7CnsNFKpS4gOuBIw,8740
68
- sentry_sdk/integrations/gcp.py,sha256=u1rSi3nK2ISUQqkRnmKFG23Ks-SefshTf5PV0Dwp3_4,8274
68
+ sentry_sdk/integrations/gcp.py,sha256=LAjalaMug1VRNcKsr2nvox6x67uvKsTGF2cyq2-auDg,8462
69
69
  sentry_sdk/integrations/gnu_backtrace.py,sha256=FL7WkRfHT6idYCSLIrtFQ2G5ZTGoYudCKvBcjR5hqsI,2812
70
70
  sentry_sdk/integrations/gql.py,sha256=lN5LJNZwUHs_1BQcIrR0adIkgb9YiOh6UtoUG8vCO_Y,4801
71
71
  sentry_sdk/integrations/graphene.py,sha256=I6ZJ8Apd9dO9XPVvZY7I46-v1eXOW1C1rAkWwasF3gU,5042
72
72
  sentry_sdk/integrations/httpx.py,sha256=HK0Nbxc4TAFesTz6gegz6tAHcIXKlOckFWrBHMBB0VM,6086
73
73
  sentry_sdk/integrations/huey.py,sha256=wlyxjeWqqJp1X5S3neD5FiZjXcyznm1dl8_u1wIo76U,5443
74
74
  sentry_sdk/integrations/huggingface_hub.py,sha256=B5z0--bC2tEDtWl5V7xAqM4234yhY_RYbnkZGgqC8PA,14952
75
- sentry_sdk/integrations/langchain.py,sha256=WeqF7F0HZKR8Fra4RAivgxtxt8BsgMxua6r4n-sLX84,30302
76
- sentry_sdk/integrations/langgraph.py,sha256=3wzDDwHVmuxF1vEiVoJqyc7r7hqK9VJoOmdgKNwbcE0,11238
75
+ sentry_sdk/integrations/langchain.py,sha256=J6HOyXkcr8wVMY1Zz2m4cswVN5AfHN6A6e7tegVHsGA,31489
76
+ sentry_sdk/integrations/langgraph.py,sha256=YQK8-d124XDoDrE1eTN4q3Sbr8v9P4tzyqk06F1-2IE,11835
77
77
  sentry_sdk/integrations/launchdarkly.py,sha256=L5yE9NBRon8JPYzO6XT-dA4YkvNcrUfK4nD5fycSXM0,1934
78
- sentry_sdk/integrations/litellm.py,sha256=WCwjsIZBxJ2Rk2yAWJBUxyNehgO6B37a_X2JJcvM4OY,8858
78
+ sentry_sdk/integrations/litellm.py,sha256=yRSyhd7rfcDw1ZJ1FL5HqGtCcvfpaw_vyl0s0H_CQfk,9183
79
79
  sentry_sdk/integrations/litestar.py,sha256=0BkfynHkxERshbxycwHDnpjzGx31c5ipYvBYqprAoHY,11830
80
80
  sentry_sdk/integrations/logging.py,sha256=L1f3dej3Zdn9wyB5_mzvzyk4bF-HvFFmhGegfBfMPnA,13892
81
81
  sentry_sdk/integrations/loguru.py,sha256=JmIiVnkjbEzb8dRsFln4T7Ft_GULyXEt7w5t-p5Zdt4,6202
82
+ sentry_sdk/integrations/mcp.py,sha256=r7O582Vu4Erx-aticc0P8c5rZ-we6J9b0hW6IVEDX9M,19373
82
83
  sentry_sdk/integrations/modules.py,sha256=vzLx3Erg77Vl4mnUvAgTg_3teAuWy7zylFpAidBI9I0,820
83
- sentry_sdk/integrations/openai.py,sha256=zvsW4-ypH_n4B2EIYYQ3gheJDzNOxZRgr5ApPrzCOE8,24160
84
+ sentry_sdk/integrations/openai.py,sha256=nYf45SQE4tKsDbbA1kKAhmBIqQzKGtJGoqAhOYTBLhI,24764
84
85
  sentry_sdk/integrations/openfeature.py,sha256=-vvdrN4fK0Xhu2ip41bkPIPEqdzv8xzmLu9wRlI2xPA,1131
85
86
  sentry_sdk/integrations/pure_eval.py,sha256=R2UuFCtQ_ShTIZJKPn9RUD06lbc6mug4Mv8S1_mo1j0,4605
86
87
  sentry_sdk/integrations/pymongo.py,sha256=cPpMGEbXHlV6HTHgmIDL1F-x3w7ZMROXVb4eUhLs3bw,6380
@@ -93,11 +94,11 @@ sentry_sdk/integrations/sanic.py,sha256=Z7orxkX9YhU9YSX4Oidsi3n46J0qlVG7Ajog-fnU
93
94
  sentry_sdk/integrations/serverless.py,sha256=npiKJuIy_sEkWT_x0Eu2xSEMiMh_aySqGYlnvIROsYk,1804
94
95
  sentry_sdk/integrations/socket.py,sha256=hlJDYlspzOy3UNjsd7qXPUoqJl5s1ShF3iijTRWpVaU,3169
95
96
  sentry_sdk/integrations/sqlalchemy.py,sha256=rzOK3yFLrRE3V7q-wVcAUhq5iSTrqGPW5ytbGU9lXkk,4344
96
- sentry_sdk/integrations/starlette.py,sha256=oHuzJXRWnCgD22Q9_JHfuD2OSW7gIt_wwA-TTwJ_2ng,26235
97
+ sentry_sdk/integrations/starlette.py,sha256=cLmbx_KgdZZFLE4prx6PV5S4XOdnlbdV5c1iwZXxDVQ,26238
97
98
  sentry_sdk/integrations/starlite.py,sha256=hSiVB6KZr8pxsQVRSGGP-9UQBLsBl-3DmrK_5CPebB8,10559
98
99
  sentry_sdk/integrations/statsig.py,sha256=-e57hxHfHo1S13YQKObV65q_UvREyxbR56fnf7bkC9o,1227
99
100
  sentry_sdk/integrations/stdlib.py,sha256=4EeLQeU3yjPyjPORX6K0B5N8D5ZXT3eDAFIwjDckUj8,8968
100
- sentry_sdk/integrations/strawberry.py,sha256=u7Lk4u3sNEycdSmY1nQBzYKmqI-mO8BWKAAJkCSuTRA,14126
101
+ sentry_sdk/integrations/strawberry.py,sha256=6eOvI9rxl_w84BWxHmveExfB3HIberCiVKV8o06ugv4,14155
101
102
  sentry_sdk/integrations/sys_exit.py,sha256=AwShgGBWPdiY25aOWDLRAs2RBUKm5T3CrL-Q-zAk0l4,2493
102
103
  sentry_sdk/integrations/threading.py,sha256=0lNxcMLN7Z5DwLg9d1Of7lgGcMOggsM76bU35hIOGXA,7109
103
104
  sentry_sdk/integrations/tornado.py,sha256=Qcft8FZxdVICnaa1AhsDB262sInEQZPf-pvgI-Agjmc,7206
@@ -111,16 +112,16 @@ sentry_sdk/integrations/celery/beat.py,sha256=WHEdKetrDJgtZGNp1VUMa6BG1q-MhsLZMe
111
112
  sentry_sdk/integrations/celery/utils.py,sha256=CMWQOpg9yniEkm3WlXe7YakJfVnLwaY0-jyeo2GX-ZI,1208
112
113
  sentry_sdk/integrations/django/__init__.py,sha256=KqAgBKkuyJGw0lqNZBj0otqZGy_YHqPsisgPZLCN8mQ,25247
113
114
  sentry_sdk/integrations/django/asgi.py,sha256=R5wQYS6HAaSM9rmO5bnTHNt6pClthM6LsrgSioTSZSM,8349
114
- sentry_sdk/integrations/django/caching.py,sha256=UvYaiI7xrN08Se59vMgJWrSO2BuowOyx3jmXmZoxQJo,6427
115
+ sentry_sdk/integrations/django/caching.py,sha256=c36y2wL4t-ZPIJgMI_gZ4kZ_-IFmVkdehch3fbR7JL0,7010
115
116
  sentry_sdk/integrations/django/middleware.py,sha256=UVKq134w_TyOVPV7WwBW0QjHY-ziDipcZBIDQmjqceE,6009
116
117
  sentry_sdk/integrations/django/signals_handlers.py,sha256=iudWetTlzNr5-kx_ew1YwW_vZ0yDChoonwPZB7AYGPo,3098
117
118
  sentry_sdk/integrations/django/templates.py,sha256=k3PQrNICGS4wqmFxK3o8KwOlqip7rSIryyc4oa1Wexc,5725
118
119
  sentry_sdk/integrations/django/transactions.py,sha256=Axyh3l4UvM96R3go2anVhew3JbrEZ4FSYd1r3UXEcw4,4951
119
120
  sentry_sdk/integrations/django/views.py,sha256=bjHwt6TVfYY7yfGUa2Rat9yowkUbQ2bYCcJaXJxP2Ik,3137
120
- sentry_sdk/integrations/google_genai/__init__.py,sha256=BeE4uK8CjwU1qC3_CDEahSVZNpxMDu78o2IjUCbNDIQ,11208
121
+ sentry_sdk/integrations/google_genai/__init__.py,sha256=smYAekNn-Q2toS1l2cwZ4qfczGYw211O8JY-eFVvzOE,11417
121
122
  sentry_sdk/integrations/google_genai/consts.py,sha256=nqHKKSyGixrSoozA06BGVBFaUCsvZlvGoubUZGI1kB8,559
122
123
  sentry_sdk/integrations/google_genai/streaming.py,sha256=cRRbVD2Xv3ncoS2ICYhoPGVpHaOK_HHjXhCIij9Kos0,5191
123
- sentry_sdk/integrations/google_genai/utils.py,sha256=6CB4DI0qXjyH2QXnzss19DhAv4HSc9fpS5d-63MWskk,19679
124
+ sentry_sdk/integrations/google_genai/utils.py,sha256=zxrt7GluvQfG5r9EniRCFbtJGKnaeQtePKR0jc7hskQ,20066
124
125
  sentry_sdk/integrations/grpc/__init__.py,sha256=zukyRYtaxRGcDuQSXBbVcpa7ZMAYdLQ-laRQqqHsHgc,5620
125
126
  sentry_sdk/integrations/grpc/client.py,sha256=4MCY24tqZAU6OzNC_0pphyCLnR_SrfBC-xh8Kb-i8LU,3373
126
127
  sentry_sdk/integrations/grpc/consts.py,sha256=NpsN5gKWDmtGtVK_L5HscgFZBHqjOpmLJLGKyh8GZBA,31
@@ -128,11 +129,12 @@ sentry_sdk/integrations/grpc/server.py,sha256=oo79zjfGaJtCSwtxaJeCFRA6UWoH1PDzjR
128
129
  sentry_sdk/integrations/grpc/aio/__init__.py,sha256=2rgrliowpPfLLw40_2YU6ixSzIu_3f8NN3TRplzc8S8,141
129
130
  sentry_sdk/integrations/grpc/aio/client.py,sha256=3zfF3XkpzR717BpY1ehxi72jDUvT8Xntx8vkD78kCXc,3327
130
131
  sentry_sdk/integrations/grpc/aio/server.py,sha256=SCkdikPZRdWyrlnZewsSGpPk4v6AsdSApVAbO-lf_Lk,4019
131
- sentry_sdk/integrations/openai_agents/__init__.py,sha256=-ydqG0sFIrvJlT9JHO58EZpCAzyy9J59Av8dxn0fHuw,1424
132
+ sentry_sdk/integrations/openai_agents/__init__.py,sha256=yPMTnW6dGt4aiK5z-nvGz80uCcn12LFh2JFpgDGDq44,1481
132
133
  sentry_sdk/integrations/openai_agents/consts.py,sha256=PTb3vlqkuMPktu21ALK72o5WMIX4-cewTEiTRdHKFdQ,38
133
134
  sentry_sdk/integrations/openai_agents/utils.py,sha256=fa3r6iHLjTtrU2dHM_7D_0lDQAHR3CUSutIa6Wf7efg,6808
134
- sentry_sdk/integrations/openai_agents/patches/__init__.py,sha256=I7C9JZ70Mf8PV3wPdFsxTqvcYl4TYUgSZYfNU2Spb7Y,231
135
+ sentry_sdk/integrations/openai_agents/patches/__init__.py,sha256=w8SAe7cBFf5JL58lZK-yp5a8vDYgVRH-qMIsxq3kClk,293
135
136
  sentry_sdk/integrations/openai_agents/patches/agent_run.py,sha256=GPBV-j8YnHOrJAhdhu_tphe14z7G0-riFVmjFNDgy0s,5773
137
+ sentry_sdk/integrations/openai_agents/patches/error_tracing.py,sha256=lHfDQGjfHBH9fEn92gs2RTDDjL1pln4uTrylb2bsML8,2629
136
138
  sentry_sdk/integrations/openai_agents/patches/models.py,sha256=DtwqCmSsYFlhRZquKM2jiTOnnAg97eyCTtJYZkWqdww,1405
137
139
  sentry_sdk/integrations/openai_agents/patches/runner.py,sha256=Fr5tflgadu3fnEThSZauAhrT7BbvemuZelDVGZjleqA,1483
138
140
  sentry_sdk/integrations/openai_agents/patches/tools.py,sha256=uAx1GgsiDJBP7jpYW8r_kOImdgzXlwYqK-uhkyP3icI,3255
@@ -147,6 +149,18 @@ sentry_sdk/integrations/opentelemetry/consts.py,sha256=fYL6FIAEfnGZGBhFn5X7aRyHx
147
149
  sentry_sdk/integrations/opentelemetry/integration.py,sha256=CWp6hFFMqoR7wcuwTRbRO-1iVch4A6oOB3RuHWeX9GQ,1791
148
150
  sentry_sdk/integrations/opentelemetry/propagator.py,sha256=NpCgv2Ibq1LUrv8-URayZaPGSzz0f1tJsf7aaxAZ5pc,3720
149
151
  sentry_sdk/integrations/opentelemetry/span_processor.py,sha256=IBF75ld9zJLNF1-4EYnNBoAS00_XTXjPio86zPX9DLQ,13276
152
+ sentry_sdk/integrations/pydantic_ai/__init__.py,sha256=milAmxTbyxof1IYLuZwuEMiqRcXcslyfZdhD0nnodhc,1232
153
+ sentry_sdk/integrations/pydantic_ai/consts.py,sha256=fxOQ5n_Do8EqqqxtOJm5zyvhQmOV75HACNrt_-zGngs,36
154
+ sentry_sdk/integrations/pydantic_ai/utils.py,sha256=EZz9B69cQTp6PC3BcDVLfKz-o6D4RYcR9Bq1qC2xSNg,5893
155
+ sentry_sdk/integrations/pydantic_ai/patches/__init__.py,sha256=_RHvjc3436KSwPjzrAdnyascgggxg5e0MQpdHhmiS-U,229
156
+ sentry_sdk/integrations/pydantic_ai/patches/agent_run.py,sha256=W7kDeNSlefl07XyK5C5r3XTDTQSNULyOYCDgDCcSGQU,7616
157
+ sentry_sdk/integrations/pydantic_ai/patches/graph_nodes.py,sha256=iCQ7UMUu4VbfLRfAwfBhMEpqo91xkjH3qqIaIFDSzzs,3708
158
+ sentry_sdk/integrations/pydantic_ai/patches/model_request.py,sha256=qqc7KqCdgrEtxRtTgOdV1E5dVk3n09dHz6KAokiI950,1116
159
+ sentry_sdk/integrations/pydantic_ai/patches/tools.py,sha256=z47oQSZ_6EFTABzChjthrESon-PbraxDneteFGwNeLc,2405
160
+ sentry_sdk/integrations/pydantic_ai/spans/__init__.py,sha256=dTUjvkw7VMOAiSasuAq37q_njvANsUlgfZxgXRKJDDo,243
161
+ sentry_sdk/integrations/pydantic_ai/spans/ai_client.py,sha256=8oK_o8q9X7T0IKzlju9HimYN9S3pjY678vN-Zp4W-oo,9111
162
+ sentry_sdk/integrations/pydantic_ai/spans/execute_tool.py,sha256=T9Dn2NV8HFfT3YO4iqh3v3eZjsYeZKLAQcGoWM4y_Eo,1540
163
+ sentry_sdk/integrations/pydantic_ai/spans/invoke_agent.py,sha256=p62DK9sBZoB0w-O1QAHCi774-nTEEqiBtbdsWvvNaqk,3697
150
164
  sentry_sdk/integrations/redis/__init__.py,sha256=As5XhbOue-9Sy9d8Vr8cZagbO_Bc0uG8n2G3YNMP7TU,1332
151
165
  sentry_sdk/integrations/redis/_async_common.py,sha256=A-23KY7JkkZ8g6FufnGo6IHK7Ln-jtZmopVH5WhqdkE,4056
152
166
  sentry_sdk/integrations/redis/_sync_common.py,sha256=MS5Bc94cqispn4ZM-WSH02GrgnB6chvrnf0JBabTNMU,3796
@@ -155,7 +169,7 @@ sentry_sdk/integrations/redis/rb.py,sha256=paykO7EE_DAdiZzCpIqW1MqtBE7mE5UG0Jnau
155
169
  sentry_sdk/integrations/redis/redis.py,sha256=1K6seuP6ttEdscKLFtEYEu9vkDRuANCsxWVeDISsGsg,1702
156
170
  sentry_sdk/integrations/redis/redis_cluster.py,sha256=a5F5PglAm87b-aW08RUv41zYGYliWZgcM3wrGB_mF-s,3554
157
171
  sentry_sdk/integrations/redis/redis_py_cluster_legacy.py,sha256=pz5pg0AxdHPZWt0jMQRDPH_9jdh0i3KoDPbNUyavIro,1585
158
- sentry_sdk/integrations/redis/utils.py,sha256=j1yBJyogaxoLxBq8nLkRAqzSt-EbdtHoO-9zZTW_WXw,3970
172
+ sentry_sdk/integrations/redis/utils.py,sha256=nfOoBfgWKCfrUGmb55WzOczUlUywyfPYE4bYN-XYlAQ,4005
159
173
  sentry_sdk/integrations/redis/modules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
174
  sentry_sdk/integrations/redis/modules/caches.py,sha256=eY8XY4Nk3QsMM0T26OOYdcNr4bN0Sp9325HkH-hO8cg,4063
161
175
  sentry_sdk/integrations/redis/modules/queries.py,sha256=0GxZ98wyjqcc4CwPG3xJ4bSGIGW8wPXChSk5Fxm6kYg,2035
@@ -166,9 +180,9 @@ sentry_sdk/profiler/__init__.py,sha256=3PI3bHk9RSkkOXZKN84DDedk_7M65EiqqaIGo-DYs
166
180
  sentry_sdk/profiler/continuous_profiler.py,sha256=7Qb75TaKLNYxMA97wO-qEpDVqxPQWOLUi2rnUm6_Ci0,23066
167
181
  sentry_sdk/profiler/transaction_profiler.py,sha256=e3MsUqs-YIp6-nmzpmBYGoWWIF7RyuSGu24Dj-8GXAU,27970
168
182
  sentry_sdk/profiler/utils.py,sha256=80MF0wiguKe47O-uWQfl-81G1caiVa8HgcFHWBzFpuM,6492
169
- sentry_sdk-2.42.0.dist-info/licenses/LICENSE,sha256=KhQNZg9GKBL6KQvHQNBGMxJsXsRdhLebVp4Sew7t3Qs,1093
170
- sentry_sdk-2.42.0.dist-info/METADATA,sha256=rsHFGPELP7QwfoPHI1KKqVwK_wBxppb2w3Zd6-S4E68,10523
171
- sentry_sdk-2.42.0.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
172
- sentry_sdk-2.42.0.dist-info/entry_points.txt,sha256=qacZEz40UspQZD1IukCXykx0JtImqGDOctS5KfOLTko,91
173
- sentry_sdk-2.42.0.dist-info/top_level.txt,sha256=XrQz30XE9FKXSY_yGLrd9bsv2Rk390GTDJOSujYaMxI,11
174
- sentry_sdk-2.42.0.dist-info/RECORD,,
183
+ sentry_sdk-2.43.0.dist-info/licenses/LICENSE,sha256=KhQNZg9GKBL6KQvHQNBGMxJsXsRdhLebVp4Sew7t3Qs,1093
184
+ sentry_sdk-2.43.0.dist-info/METADATA,sha256=RQSUgR3sADQWiurjKyWS-P85emph9dg0gevL9gjRfYM,10723
185
+ sentry_sdk-2.43.0.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
186
+ sentry_sdk-2.43.0.dist-info/entry_points.txt,sha256=qacZEz40UspQZD1IukCXykx0JtImqGDOctS5KfOLTko,91
187
+ sentry_sdk-2.43.0.dist-info/top_level.txt,sha256=XrQz30XE9FKXSY_yGLrd9bsv2Rk390GTDJOSujYaMxI,11
188
+ sentry_sdk-2.43.0.dist-info/RECORD,,
File without changes