class_docstr: Add a marker in the shape of a semicircle, similar to the Circle class.
  
  Use (direction and arc) or (start_angle and stop_angle), not both.
  
  Parameters
  ----------
  location: tuple[float, float]
      Latitude and Longitude pair (Northing, Easting)
  radius: float
      Radius of the circle, in meters.
  direction: int, default None
      Direction angle in degrees
  arc: int, default None
      Arc angle in degrees.
  start_angle: int, default None
      Start angle in degrees
  stop_angle: int, default None
      Stop angle in degrees.
  popup: str or folium.Popup, optional
      Input text or visualization for object displayed when clicking.
  tooltip: str or folium.Tooltip, optional
      Display a text when hovering over the object.
  **kwargs
      For additional arguments see :func:`folium.vector_layers.path_options`
  
  Uses Leaflet plugin https://github.com/jieter/Leaflet-semicircle
code: def __init__(
      self,
      location,
      radius,
      direction=None,
      arc=None,
      start_angle=None,
      stop_angle=None,
      popup=None,
      tooltip=None,
      **kwargs,
  ):
      super().__init__(location, popup=popup, tooltip=tooltip)
      self._name = "SemiCircle"
      self.direction = (
          (direction, arc)
          if direction is not None and arc is not None
          else None
      )
      self.options = path_options(line=False, radius=radius, **kwargs)
      self.options.update(
          parse_options(
              start_angle=start_angle,
              stop_angle=stop_angle,
          )
      )
  
      if not (
          (direction is None and arc is None)
          and (start_angle is not None and stop_angle is not None)
          or (direction is not None and arc is not None)
          and (start_angle is None and stop_angle is None)
      ):
          raise ValueError(
              "Invalid arguments. Either provide direction and arc OR start_angle and stop_angle"
          )
  
file_path: folium/folium/plugins/semicircle.py
imports: from jinja2 import Template
  from folium.elements import JSCSSMixin
  from folium.map import Marker
  from folium.utilities import parse_options
  from folium.vector_layers import path_options
label_desc: Use image node_id 1 to create a new SemiCircle object from inherited base classes: JSCSSMixin, Marker with example: obj = SemiCircle(location, radius, direction, arc, start_angle, stop_angle, popup, tooltip)