class_docstr: Represents a DataRequest used for exchanging :class:`docarray.DocumentArray` with and within a Flow.
  
  When calling :meth:`~jina.clients.mixin.PostMixin.post` on any Jina client,
  the provided input :class:`docarray.DocumentArray` will be
  converted to a :class:`DataRequest` before being sent to a Flow.
docstr: Creates a new DataRequest object from a given :class:`DataRequestProto` object.
  :param request: the to-be-copied data request
  :return: the new message object
docstr_tok: ["Creates","a","new","DataRequest","object","from","a","given",":","class",":","`","DataRequestProto","`","object",".",":","param","request",":","the","to-be-copied","data","request",":","return",":","the","new","message","object"]
code: def from_proto(cls, request: "jina_pb2.DataRequestProto"):
      """Creates a new DataRequest object from a given :class:`DataRequestProto` object.
      :param request: the to-be-copied data request
      :return: the new message object
      """
      return cls(request=request)
  
imports: import copy
  from typing import Dict, Optional, Type, TypeVar, Union
  from google.protobuf import json_format
  from jina._docarray import DocumentArray, Document, docarray_v2
  from jina.excepts import BadRequestType
  from jina.helper import random_identity, typename
  from jina.proto import jina_pb2
  from jina.types.request import Request
label_desc: Use image node_id 23 for calling the DataRequest obj's underlying member method code with example usage: obj.from_proto(cls, request) and returns: cls