66from collections .abc import Mapping
77from datetime import datetime , timezone
88from importlib import import_module
9- from typing import TYPE_CHECKING , cast , overload
9+ from typing import TYPE_CHECKING , overload
1010
1111import sentry_sdk
1212from sentry_sdk ._compat import check_uwsgi_thread_support
5757 Type ,
5858 Union ,
5959 TypeVar ,
60- List ,
6160 Dict ,
6261 )
6362
7574_client_init_debug = ContextVar ("client_init_debug" )
7675
7776
78- SDK_INFO : " SDKInfo" = {
77+ SDK_INFO : SDKInfo = {
7978 "name" : "sentry.python" , # SDK name will be overridden after integrations have been loaded with sentry_sdk.integrations.setup_integrations()
8079 "version" : VERSION ,
8180 "packages" : [{"name" : "pypi:sentry-sdk" , "version" : VERSION }],
@@ -446,7 +445,7 @@ def _prepare_event(
446445
447446 if scope is not None :
448447 is_transaction = event .get ("type" ) == "transaction"
449- spans_before = len (cast ( "List[Dict[str, object]]" , event .get ("spans" , []) ))
448+ spans_before = len (event .get ("spans" , []))
450449 event_ = scope .apply_to_event (event , hint , self .options )
451450
452451 # one of the event/error processors returned None
@@ -464,10 +463,8 @@ def _prepare_event(
464463 )
465464 return None
466465
467- event = event_ # Updated event from scope
468- spans_delta = spans_before - len (
469- cast ("List[Dict[str, object]]" , event .get ("spans" , []))
470- )
466+ event = event_
467+ spans_delta = spans_before - len (event .get ("spans" , []))
471468 if is_transaction and spans_delta > 0 and self .transport is not None :
472469 self .transport .record_lost_event (
473470 "event_processor" , data_category = "span" , quantity = spans_delta
@@ -545,14 +542,11 @@ def _prepare_event(
545542 # Postprocess the event here so that annotated types do
546543 # generally not surface in before_send
547544 if event is not None :
548- event = cast (
549- "Event" ,
550- serialize (
551- cast ("Dict[str, Any]" , event ),
552- max_request_body_size = self .options .get ("max_request_body_size" ),
553- max_value_length = self .options .get ("max_value_length" ),
554- custom_repr = self .options .get ("custom_repr" ),
555- ),
545+ event : Event = serialize ( # type: ignore[no-redef]
546+ event ,
547+ max_request_body_size = self .options .get ("max_request_body_size" ),
548+ max_value_length = self .options .get ("max_value_length" ),
549+ custom_repr = self .options .get ("custom_repr" ),
556550 )
557551
558552 before_send = self .options ["before_send" ]
@@ -578,7 +572,7 @@ def _prepare_event(
578572 if event .get ("exception" ):
579573 DedupeIntegration .reset_last_seen ()
580574
581- event = new_event # Updated event from before_send
575+ event = new_event
582576
583577 before_send_transaction = self .options ["before_send_transaction" ]
584578 if (
@@ -587,7 +581,7 @@ def _prepare_event(
587581 and event .get ("type" ) == "transaction"
588582 ):
589583 new_event = None
590- spans_before = len (cast ( "List[Dict[str, object]]" , event .get ("spans" , []) ))
584+ spans_before = len (event .get ("spans" , []))
591585 with capture_internal_exceptions ():
592586 new_event = before_send_transaction (event , hint or {})
593587 if new_event is None :
@@ -602,15 +596,13 @@ def _prepare_event(
602596 quantity = spans_before + 1 , # +1 for the transaction itself
603597 )
604598 else :
605- spans_delta = spans_before - len (
606- cast ("List[Dict[str, object]]" , new_event .get ("spans" , []))
607- )
599+ spans_delta = spans_before - len (new_event .get ("spans" , []))
608600 if spans_delta > 0 and self .transport is not None :
609601 self .transport .record_lost_event (
610602 reason = "before_send" , data_category = "span" , quantity = spans_delta
611603 )
612604
613- event = new_event # Updated event from before_send_transaction
605+ event = new_event
614606
615607 return event
616608
@@ -757,17 +749,17 @@ def capture_event(
757749
758750 :returns: An event ID. May be `None` if there is no DSN set or of if the SDK decided to discard the event for other reasons. In such situations setting `debug=True` on `init()` may help.
759751 """
760- hint_dict : Hint = dict (hint or ())
752+ hint : Hint = dict (hint or ())
761753
762- if not self ._should_capture (event , hint_dict , scope ):
754+ if not self ._should_capture (event , hint , scope ):
763755 return None
764756
765757 profile = event .pop ("profile" , None )
766758
767759 event_id = event .get ("event_id" )
768760 if event_id is None :
769761 event ["event_id" ] = event_id = uuid .uuid4 ().hex
770- event_opt = self ._prepare_event (event , hint_dict , scope )
762+ event_opt = self ._prepare_event (event , hint , scope )
771763 if event_opt is None :
772764 return None
773765
@@ -783,11 +775,11 @@ def capture_event(
783775 if (
784776 not is_transaction
785777 and not is_checkin
786- and not self ._should_sample_error (event , hint_dict )
778+ and not self ._should_sample_error (event , hint )
787779 ):
788780 return None
789781
790- attachments = hint_dict .get ("attachments" )
782+ attachments = hint .get ("attachments" )
791783
792784 trace_context = event_opt .get ("contexts" , {}).get ("trace" ) or {}
793785 dynamic_sampling_context = trace_context .pop ("dynamic_sampling_context" , {})
0 commit comments