code: def _add_vertex(graph, name=None, **kwds):
      """Adds a single vertex to the graph. Keyword arguments will be assigned
      as vertex attributes. Note that C{name} as a keyword argument is treated
      specially; if a graph has C{name} as a vertex attribute, it allows one
      to refer to vertices by their names in most places where igraph expects
      a vertex ID.
  
      @return: the newly added vertex as a L{Vertex} object. Use
          C{add_vertices(1)} if you don't need the L{Vertex} object and want
          to avoid the overhead of creating t.
      """
      if isinstance(name, int):
          # raise TypeError("cannot use integers as vertex names; use strings instead")
          deprecated(
              "You are using integers as vertex names. This is discouraged because "
              "most igraph functions interpret integers as vertex _IDs_ and strings "
              "as vertex names. For sake of consistency, convert your vertex "
              "names to strings before assigning them. Future versions from igraph "
              "0.11.0 will disallow integers as vertex names."
          )
  
      vid = graph.vcount()
      graph.add_vertices(1)
      vertex = graph.vs[vid]
  
      for key, value in kwds.items():
          vertex[key] = value
  
      if name is not None:
          vertex["name"] = name
  
      return vertex
  
file_path: python-igraph/src/igraph/basic.py
imports: from igraph._igraph import GraphBase
  from igraph.seq import EdgeSeq
  from igraph.utils import deprecated
label_desc: Use image node_id 3 for calling a global function with example usage: _add_vertex(graph, name) and returns: vertex