code: def histogram(
      a: tf.Tensor,
      /,
      *,
      bins: Optional[Union[int, tf.Tensor]] = None,
      axis: Optional[int] = None,
      extend_lower_interval: Optional[bool] = False,
      extend_upper_interval: Optional[bool] = False,
      dtype: Optional[tf.DType] = None,
      range: Optional[Tuple[float]] = None,
      weights: Optional[tf.Tensor] = None,
      density: Optional[bool] = False,
      out: Optional[Union[tf.Tensor, tf.Variable]] = None,
  ) -> Tuple[tf.Tensor]:
      # TODO: Implement in pure tensorflow
      pass
  
imports: from typing import Union, Optional, Tuple, Sequence
  import tensorflow
  from tensorflow.python.ops.numpy_ops import np_math_ops
  import ivy
  from ivy import with_unsupported_dtypes, with_supported_dtypes, with_supported_device_and_dtypes
  from ..None import backend_version
  from copy import deepcopy
label_desc: Use image node_id 1 for calling a global function with example usage: histogram() without return types