code: def number_of_edges(
      self, u: NodeKey | None = None, v: NodeKey | None = None
  ) -> int:
      if u is not None or v is not None:
          raise NotImplementedError
      return self.size()
  
imports: from __future__ import annotations
  import operator
  from copy import deepcopy
  from typing import TYPE_CHECKING
  import cupy
  import networkx
  import numpy
  import pylibcugraph
  import nx_cugraph
  from ..utils import index_dtype
label_desc: Use image node_id 28 for calling the Graph obj's underlying member method code with example usage: obj.number_of_edges(u, v) and returns: self