code: def metadata(sceneid, pmin=2, pmax=98, **kwargs):
      
      scene_params = _cbers_parse_scene_id(sceneid)
      cbers_address = "{}/{}".format(CBERS_BUCKET, scene_params["key"])
      bands = scene_params["bands"]
      ref_band = scene_params["reference_band"]
  
      info = {"sceneid": sceneid}
  
      addresses = [
          "{}/{}_BAND{}.tif".format(cbers_address, sceneid, band) for band in bands
      ]
      _stats_worker = partial(
          utils.raster_get_stats,
          indexes=[1],
          nodata=0,
          overview_level=2,
          percentiles=(pmin, pmax),
          **kwargs
      )
      with futures.ThreadPoolExecutor(max_workers=MAX_THREADS) as executor:
          responses = list(executor.map(_stats_worker, addresses))
  
      info["bounds"] = [r["bounds"] for b, r in zip(bands, responses) if b == ref_band][0]
      info["statistics"] = {
          b: v for b, d in zip(bands, responses) for k, v in d["statistics"].items()
      }
      return info
docs: Return band bounds and statistics.
  
      Attributes
      ----------
      sceneid : str
          CBERS sceneid.
      pmin : int, optional, (default: 2)
          Histogram minimum cut.
      pmax : int, optional, (default: 98)
          Histogram maximum cut.
      kwargs : optional
          These are passed to 'rio_tiler.utils.raster_get_stats'
          e.g: histogram_bins=20, dst_crs='epsg:4326'
  
      Returns
      -------
      out : dict
          Dictionary with bounds and bands statistics.