def to_dot(data):
    """Returns a list of dot notations for non-dict values in a dict."""

    def iter_dot(data, parent, result):
        if isinstance(data, dict):
            for k, v in data.items():
                if not isinstance(v, dict):
                    result.append(parent + [k])
                iter_dot(v, parent + [k], result)

        return result

    return [".".join(x) for x in iter_dot(data, [], [])]