code: def is_signed_integer_dtype(arr_or_dtype) -> bool:
      """
      Check whether the provided array or dtype is of a signed integer dtype.
  
      Unlike in `is_any_int_dtype`, timedelta64 instances will return False.
  
      The nullable Integer dtypes (e.g. pandas.Int64Dtype) are also considered
      as integer by this function.
  
      Parameters
      ----------
      arr_or_dtype : array-like or dtype
          The array or dtype to check.
  
      Returns
      -------
      boolean
          Whether or not the array or dtype is of a signed integer dtype
          and not an instance of timedelta64.
  
      Examples
      --------
      >>> is_signed_integer_dtype(str)
      False
      >>> is_signed_integer_dtype(int)
      True
      >>> is_signed_integer_dtype(float)
      False
      >>> is_signed_integer_dtype(np.uint64)  # unsigned
      False
      >>> is_signed_integer_dtype('int8')
      True
      >>> is_signed_integer_dtype('Int8')
      True
      >>> is_signed_integer_dtype(pd.Int8Dtype)
      True
      >>> is_signed_integer_dtype(np.datetime64)
      False
      >>> is_signed_integer_dtype(np.timedelta64)
      False
      >>> is_signed_integer_dtype(np.array(['a', 'b']))
      False
      >>> is_signed_integer_dtype(pd.Series([1, 2]))
      True
      >>> is_signed_integer_dtype(np.array([], dtype=np.timedelta64))
      False
      >>> is_signed_integer_dtype(pd.Index([1, 2.]))  # float
      False
      >>> is_signed_integer_dtype(np.array([1, 2], dtype=np.uint32))  # unsigned
      False
      """
      return _is_dtype_type(
          arr_or_dtype, classes_and_not_datetimelike(np.signedinteger)
      ) or _is_dtype(
          arr_or_dtype,
          lambda typ: isinstance(typ, ExtensionDtype)
          and typ.kind == "i",
      )
  
imports: from __future__ import annotations
  from typing import Any, Callable
  import warnings
  import numpy
  from pandas._libs import Interval, Period, algos, lib
  from pandas._libs.tslibs import conversion
  from pandas._typing import ArrayLike, DtypeObj
  from pandas.core.dtypes.base import _registry
  from pandas.core.dtypes.dtypes import CategoricalDtype, DatetimeTZDtype, ExtensionDtype, IntervalDtype, PeriodDtype
  from pandas.core.dtypes.generic import ABCIndex
  from pandas.core.dtypes.inference import is_array_like, is_bool, is_complex, is_dataclass, is_decimal, is_dict_like, is_file_like, is_float, is_hashable, is_integer, is_interval, is_iterator, is_list_like, is_named_tuple, is_nested_list_like, is_number, is_re, is_re_compilable, is_scalar, is_sequence
label_desc: Use image node_id 20 for calling a global function with example usage: is_signed_integer_dtype(arr_or_dtype) and returns: unknown