import random


def get_gaussian_mutation_function(sigma):
    """
    Returns a function that returns a value drawn from a gaussian (normal) distribution with mean equal to ``value`` and standard_deviation equal to ``sigma``; see :ref:`mutation-functions`

    :Valid For:
        ``"int"``, ``"[int]"``, ``"float"``, and ``"[float]"`` gene types

    :param sigma: standard deviation for the gaussian distribution
    :type sigma: int/float


    :returns: a sample from a gaussian distribution
    """
    return lambda value: random.gauss(value, sigma)