def keys_to_camel_case(value):
    """
    Transform keys from snake to camel case (does nothing if no snakes are found)
    :param value: value to transform
    :return: transformed value
    """

    def str_to_camel_case(snake_str):
        components = snake_str.split("_")
        return components[0] + "".join(x.title() for x in components[1:])

    if value is None:
        return None
    if isinstance(value, (list, set)):
        return list(map(keys_to_camel_case, value))
    if isinstance(value, dict):
        return dict(
            (
                keys_to_camel_case(k),
                keys_to_camel_case(v) if isinstance(v, (list, dict)) else v,
            )
            for (k, v) in list(value.items())
        )

    return str_to_camel_case(value)