code: def bbox_from_point(point, distance=1000, project_utm=False, return_crs=False):
      
  
      # reverse the order of the (lat,lng) point so it is (x,y) for shapely, then
      # project to UTM and buffer in meters
      lat, lng = point
      point_proj, crs_proj = project_geometry(Point((lng, lat)))
      buffer_proj = point_proj.buffer(distance)
  
      if project_utm:
          west, south, east, north = buffer_proj.bounds
          log('Created bounding box {} meters in each direction from {} and projected it: {},{},{},{}'.format(distance, point, north, south, east, west))
      else:
          # if project_utm is False, project back to lat-long then get the
          # bounding coordinates
          buffer_latlong, _ = project_geometry(buffer_proj, crs=crs_proj, to_latlong=True)
          west, south, east, north = buffer_latlong.bounds
          log('Created bounding box {} meters in each direction from {}: {},{},{},{}'.format(distance, point, north, south, east, west))
  
      if return_crs:
          return north, south, east, west, crs_proj
      else:
          return north, south, east, west
docs: Create a bounding box some distance in each direction (north, south, east,
      and west) from some (lat, lng) point.
  
      Parameters
      ----------
      point : tuple
          the (lat, lon) point to create the bounding box around
      distance : int
          how many meters the north, south, east, and west sides of the box should
          each be from the point
      project_utm : bool
          if True return bbox as UTM coordinates
      return_crs : bool
          if True and project_utm=True, return the projected CRS
  
      Returns
      -------
      north, south, east, west : tuple, if return_crs=False
      north, south, east, west, crs_proj : tuple, if return_crs=True