def graphql_root_field(
        field_name, field_type, arguments={}, context_args=[],
        description=None, is_deprecated=False, deprecation_reason=None):
    """Annotate a function as corresponding to a GraphQL root field.

    Decorator that annotates a function as corresponding to a GraphQL
    root query field; i.e. a field of the root query object.  The
    function must be a static method or a global function.  The value of
    the field is equal to the function's return value.  At present, we
    do not support annotating a function with multiple
    graphql_root_field annotations.

    basestring field_name - The name of the root field.
    basestring field_type - The GraphQL type of the field's value.
    dict<basestring, basestring> arguments - A map from the names of the
        arguments to the field in GraphQL to their GraphQL types, as in
        the "arguments" argument to graphql_field.  See the comments for
        that argument.
    list<basestring> context_args - A list of the context arguments to
        include in the keyword arguments.  See
        GraphQlContext.context_arg.
    basestring description - A description of the field, or None.
        GraphQL favors the Markdown format.
    bool is_deprecated - Whether the field is deprecated.
    basestring deprecation_reason - An indication of why the field is
        deprecated, or None.  This is None if is_deprecated is False.
    """
    def decorator(func):
        func._graphql_root_field_name = field_name
        func._graphql_root_field_type = field_type
        func._graphql_root_field_args = arguments
        func._graphql_root_field_context_args = context_args
        func._graphql_root_field_description = description
        func._graphql_root_field_is_deprecated = is_deprecated
        func._graphql_root_field_deprecation_reason = deprecation_reason
        return func
    return decorator