def _get_value(data: dict, key: str):
    """ Recursively get value from data by a multi-level key.

    Args:
        data (dict):
        key (str): 'data', 'meta.path', 'a.b.c'

    Returns:
        Value.

    """
    if not isinstance(data, dict):
        return None
    if key in data:
        return data[key]
    elif "." in key:
        par_key = key.split(".")[0]
        sub_key = ".".join(key.split(".")[1:])
        if par_key in data:
            return _get_value(data[par_key], sub_key)
    return None