code: def rvs(df, gamma, n):
          
  
          if type(n) == list:
              u = np.random.uniform(size=n[0]*n[1])
              result = Skewt.ppf(q=u, df=df, gamma=gamma)
              result = np.split(result,n[0])
              return np.array(result)
          else:
              u = np.random.uniform(size=n)
              if isinstance(df, np.ndarray) or isinstance(gamma, np.ndarray):
                  return np.array([Skewt.ppf(q=np.array([u[i]]), df=df[i], gamma=gamma[i])[0] for i in range(n)])
              else:
                  return Skewt.ppf(q=u, df=df, gamma=gamma)
docs: Generates random variables from a Skew t distribution
  
          Parameters
          ----------  
          df : float
              degrees of freedom parameter
  
          gamma : float
              skewness parameter
  
          n : int or list
              Number of simulations to perform; if list input, produces array