Inverse of dig: recursively set a value in a dictionary, using
    dot notation.

    >>> test = {"a":{"b":{"c":1}}}
    >>> dug(test, "a.b.c", 10)
    >>> test
    {'a': {'b': {'c': 10}}}

def dug(obj, key, value):
    """
    Inverse of dig: recursively set a value in a dictionary, using
    dot notation.

    >>> test = {"a":{"b":{"c":1}}}
    >>> dug(test, "a.b.c", 10)
    >>> test
    {'a': {'b': {'c': 10}}}
    """
    array = key.split(".")
    return _dug(obj, value, *array)