code: def Line(
      pointa=(-0.5, 0.0, 0.0), pointb=(0.5, 0.0, 0.0), resolution=1
  ):
      """Create a line.
  
      Parameters
      ----------
      pointa : sequence[float], default: (-0.5, 0.0, 0.0)
          Location in ``[x, y, z]``.
  
      pointb : sequence[float], default: (0.5, 0.0, 0.0)
          Location in ``[x, y, z]``.
  
      resolution : int, default: 1
          Number of pieces to divide line into.
  
      Returns
      -------
      pyvista.PolyData
          Line mesh.
  
      Examples
      --------
      Create a line between ``(0, 0, 0)`` and ``(0, 0, 1)``.
  
      >>> import pyvista as pv
      >>> mesh = pv.Line((0, 0, 0), (0, 0, 1))
      >>> mesh.plot(color='k', line_width=10)
  
      """
      if resolution <= 0:
          raise ValueError("Resolution must be positive")
      if np.array(pointa).size != 3:
          raise TypeError(
              "Point A must be a length three tuple of floats."
          )
      if np.array(pointb).size != 3:
          raise TypeError(
              "Point B must be a length three tuple of floats."
          )
      src = _vtk.vtkLineSource()
      src.SetPoint1(*pointa)
      src.SetPoint2(*pointb)
      src.SetResolution(resolution)
      src.Update()
      line = wrap(src.GetOutput())
      # Compute distance of every point along line
      compute = lambda p0, p1: np.sqrt(np.sum((p1 - p0) ** 2, axis=1))
      distance = compute(np.array(pointa), line.points)
      line["Distance"] = distance
      return line
  
imports: from itertools import product
  import numpy
  import pyvista
  from pyvista.core import _vtk_core
  from .arrays import _coerce_pointslike_arg
  from .geometric_sources import ConeSource, CylinderSource, MultipleLinesSource, Text3DSource, translate
  from .helpers import wrap
  from .misc import check_valid_vector
label_desc: Use image node_id 8 for calling a global function with example usage: Line(pointa, pointb, resolution) and returns: line