code: def norm_by_dst(g, etype=None):
      r"""Calculate normalization coefficient per edge based on destination node degree.
  
      Parameters
      ----------
      g : DGLGraph
          The input graph.
      etype : str or (str, str, str), optional
          The type of the edges to calculate. The allowed edge type formats are:
  
          * ``(str, str, str)`` for source node type, edge type and destination node type.
          * or one ``str`` edge type name if the name can uniquely identify a
            triplet format in the graph.
  
          It can be omitted if the graph has a single edge type.
  
      Returns
      -------
      1D Tensor
          The normalization coefficient of the edges.
  
      Examples
      --------
  
      >>> import dgl
      >>> g = dgl.graph(([0, 1, 1], [1, 1, 2]))
      >>> print(dgl.norm_by_dst(g))
      tensor([0.5000, 0.5000, 1.0000])
      """
      _, v, _ = g.edges(form="all", etype=etype)
      _, inv_index, count = F.unique(
          v, return_inverse=True, return_counts=True
      )
      deg = F.astype(count[inv_index], F.float32)
      norm = 1.0 / deg
      norm = F.replace_inf_with_zero(norm)
  
      return norm
  
imports: import copy
  from collections.abc import Iterable, Mapping
  import numpy
  import scipy.sparse
  import scipy.sparse.linalg
  from ..utils import version
  from ..None import backend, batch, convert, function, ndarray, subgraph, utils
  from .._ffi.function import _init_api
  from ..base import dgl_warning, DGLError, EID, NID
  from ..frame import Frame
  from ..heterograph import DGLGraph
  from ..heterograph_index import create_heterograph_from_relations, create_metagraph_index
  from ..partition import metis_partition, metis_partition_assignment, partition_graph_with_halo
  from ..sampling.neighbor import sample_neighbors
label_desc: Use image node_id 34 for calling a global function with example usage: norm_by_dst(g, etype) and returns: norm