code: def weibull(target, seeds, shape, scale, loc):
      r
      seeds = target[seeds]
      value = spts.weibull_min.ppf(q=seeds, c=shape, scale=scale, loc=loc)
      return value
docs: r"""
      Produces values from a Weibull distribution given a set of random numbers.
  
      Parameters
      ----------
      target : OpenPNM Object
          The object which this model is associated with. This controls the
          length of the calculated array, and also provides access to other
          necessary properties.
  
      seeds : string, optional
          The dictionary key on the Geometry object containing random seed values
          (between 0 and 1) to use in the statistical distribution.
  
      shape : float
          This controls the skewness of the distribution, with 'shape' < 1 giving
          values clustered on the low end of the range with a long tail, and
          'shape' > 1 giving a more symmetrical distribution.
  
      scale : float
          This controls the width of the distribution with most of values falling
          below this number.
  
      loc : float
          Applies an offset to the distribution such that the smallest values are
          above this number.
  
      Examples
      --------
      The following code illustrates the inner workings of this function,
      which uses the 'weibull_min' method of the scipy.stats module.  This can
      be used to find suitable values of 'shape', 'scale'` and 'loc'.  Note that
      'shape' is represented by 'c' in the actual function call.
  
      >>> import scipy
      >>> func = scipy.stats.weibull_min(c=1.5, scale=0.0001, loc=0)
      >>> import matplotlib.pyplot as plt
      >>> fig = plt.hist(func.ppf(q=scipy.rand(10000)), bins=50)