... gin.

Gin is a system for configuring python code that is still very much in early phases, but very powerful.

Episode Notes

Sometimes you'd like a setting to be manditory. The files below reflect that.


simulate.n_samples = 200
simulate.random_func = @random_triangle

random_triangle.minval = 0
random_triangle.maxval = 100


import gin
import random

def random_uniform(minval=0, maxval=1):
    return random.uniform(minval, maxval)

def random_triangle(minval=0, maxval=1):
    middle = (maxval - minval)/2
    return random.triangular(minval, maxval, middle)

def simulate(random_func, n_samples):
    return sum(random_func() for i in range(n_samples))

if __name__ == "__main__":

Notice how simulate() is able to run without any parameters being passed to it.

Feedback? See an issue? Feel free to mention it here.

If you want to be kept up to date, consider getting the newsletter.