Create an rng object with np.random.default_rng(), you can seed it for reproducible results. You can draw samples from probability distributions, including from the binomial and normal distributions.
I want to get reproducible results from GP.sample. This function could take an optional parameter rng of type numpy.random.Generator. Rather than call np.random.multivariate_normal, we could then call ...