Skip to main content

A tiny package for seeding all the RNGs in numerical experiments

Project description

omnipyseed

Omnipyseed is a minimal Python package that seeds all the basic Random Number Generators (RNGs) in a Python script. The purpose of omnipyseed is to simplify the process of seeding numerical simulations which use packages such as Numpy and Pytorch.

Dependencies

omnipyseed does not depend on any non-essential Python package.

Installation

You can install omnipyseed using pip:

pip3 (or pip) install omnipyseed

Or you can clone this repository to any of your local directories and install it from there.

$ git clone https://github.com/gdetor/omnipyseed.git
$ cd omnipyseed/
$ pip install .

How to use

import numpy as np
from omnipyseed import set_manual_seeds    # import the seeding module from omnipyseed


if __name__ == '__main__':
    set_manual_seeds.universal_seed(13)     # call the universal_seed function to seed
                                            # Python and Numpy
    x = np.linspace(-1, 1, 10)
    y = np.sin(2*np.pi*5*x)
    print(y)

Caveat

Please do not use omnipyseed if you'd like to use different random states for different random parts of your project. Instead you should instantiate generator objects with a seed and pass it around (e.g., numpy.random.default_rng(seed)).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omnipyseed-0.0.4.tar.gz (15.7 kB view hashes)

Uploaded Source

Built Distribution

omnipyseed-0.0.4-py3-none-any.whl (15.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page