class_docstr: BBox container
class_docstr_tok: ["BBox","container"]
code: def __init__(
      self,
      bbox=None,
      bounds=None,
      lat=None,
      lng=None,
      west=None,
      south=None,
      east=None,
      north=None,
  ):
      if (
          bounds is not None
          and bounds.get("southwest")
          and bounds.get("northeast")
      ):
          self.south, self.west = map(float, bounds["southwest"])
          self.north, self.east = map(float, bounds["northeast"])
      elif bbox is not None and all(bbox):
          self.west, self.south, self.east, self.north = map(
              float, bbox
          )
      elif lat is not None and lng is not None:
          self.south = float(lat) - self.DEGREES_TOLERANCE
          self.north = float(lat) + self.DEGREES_TOLERANCE
          self.west = float(lng) - self.DEGREES_TOLERANCE
          self.east = float(lng) + self.DEGREES_TOLERANCE
      elif all([west, south, east, north]):
          self.west, self.south, self.east, self.north = map(
              float, [west, south, east, north]
          )
      else:
          raise ValueError(
              "Could not create BBox/Bounds from given arguments"
          )
  
imports: import re
  import geocoder
  from six import string_types
label_desc: Use image node_id 2 to create a new BBox object from inherited base classes: object with example: obj = BBox(bbox, bounds, lat, lng, west, south, east, north)