code: def _scipy_distribution_positional_args_from_dict(distribution, params):
      
  
      params['loc'] = params.get('loc', 0)
      if 'scale' not in params:
          params['scale'] = 1
  
      if distribution == 'norm':
          return params['mean'], params['std_dev']
      elif distribution == 'beta':
          return params['alpha'], params['beta'], params['loc'], params['scale']
      elif distribution == 'gamma':
          return params['alpha'], params['loc'], params['scale']
      # elif distribution == 'poisson':
      #    return params['lambda'], params['loc']
      elif distribution == 'uniform':
          return params['min'], params['max']
      elif distribution == 'chi2':
          return params['df'], params['loc'], params['scale']
      elif distribution == 'expon':
          return params['loc'], params['scale']
docs: Helper function that returns positional arguments for a scipy distribution using a dict of parameters.
  
         See the `cdf()` function here https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.beta.html#Methods\
         to see an example of scipy's positional arguments. This function returns the arguments specified by the \
         scipy.stat.distribution.cdf() for tha distribution.
  
         Args:
             distribution (string): \
                 The scipy distribution name.
             params (dict): \
                 A dict of named parameters.
  
         Raises:
             AttributeError: \
                 If an unsupported distribution is provided.