code: def quantile_binning(data=None, bins=10, *, qrange=(0.0, 1.0), **kwargs) -> StaticBinning:
      
  
      if np.isscalar(bins):
          bins = np.linspace(qrange[0] * 100, qrange[1] * 100, bins + 1)
      bins = np.percentile(data, bins)
      return static_binning(bins=make_bin_array(bins), includes_right_edge=True)
docs: Binning schema based on quantile ranges.
  
      This binning finds equally spaced quantiles. This should lead to
      all bins having roughly the same frequencies.
  
      Note: weights are not (yet) take into account for calculating
      quantiles.
  
      Parameters
      ----------
      bins: sequence or Optional[int]
          Number of bins
      qrange: Optional[tuple]
          Two floats as minimum and maximum quantile (default: 0.0, 1.0)
  
      Returns
      -------
      StaticBinning