nodes: 0, module; 1, function_definition; 2, function_name:sum; 3, parameters; 4, block; 5, identifier:event_collection; 6, identifier:target_property; 7, default_parameter; 8, default_parameter; 9, default_parameter; 10, default_parameter; 11, default_parameter; 12, default_parameter; 13, default_parameter; 14, default_parameter; 15, expression_statement; 16, expression_statement; 17, return_statement; 18, identifier:timeframe; 19, None; 20, identifier:timezone; 21, None; 22, identifier:interval; 23, None; 24, identifier:filters; 25, None; 26, identifier:group_by; 27, None; 28, identifier:order_by; 29, None; 30, identifier:max_age; 31, None; 32, identifier:limit; 33, None; 34, comment:""" Performs a sum query
  
      Adds the values of a target property for events that meet the given criteria.
  
      :param event_collection: string, the name of the collection to query
      :param target_property: string, the name of the event property you would like use
      :param timeframe: string or dict, the timeframe in which the events
      happened example: "previous_7_days"
      :param timezone: int, the timezone you'd like to use for the timeframe
      and interval in seconds
      :param interval: string, the time interval used for measuring data over
      time example: "daily"
      :param filters: array of dict, contains the filters you'd like to apply to the data
      example: [{"property_name":"device", "operator":"eq", "property_value":"iPhone"}]
      :param group_by: string or array of strings, the name(s) of the properties you would
      like to group you results by.  example: "customer.id" or ["browser","operating_system"]
      :param order_by: dictionary or list of dictionary objects containing the property_name(s)
      to order by and the desired direction(s) of sorting.
      Example: {"property_name":"result", "direction":keen.direction.DESCENDING}
      May not be used without a group_by specified.
      :param limit: positive integer limiting the displayed results of a query using order_by
      :param max_age: an integer, greater than 30 seconds, the maximum 'staleness' you're
      willing to trade for increased query performance, in seconds
  
      """; 35, call; 36, call; 37, identifier:_initialize_client_from_environment; 38, argument_list; 39, attribute; 40, argument_list; 41, identifier:_client; 42, identifier:sum; 43, keyword_argument; 44, keyword_argument; 45, keyword_argument; 46, keyword_argument; 47, keyword_argument; 48, keyword_argument; 49, keyword_argument; 50, keyword_argument; 51, keyword_argument; 52, keyword_argument; 53, identifier:event_collection; 54, identifier:event_collection; 55, identifier:timeframe; 56, identifier:timeframe; 57, identifier:timezone; 58, identifier:timezone; 59, identifier:interval; 60, identifier:interval; 61, identifier:filters; 62, identifier:filters; 63, identifier:group_by; 64, identifier:group_by; 65, identifier:order_by; 66, identifier:order_by; 67, identifier:target_property; 68, identifier:target_property; 69, identifier:max_age; 70, identifier:max_age; 71, identifier:limit; 72, identifier:limit
code: def sum(event_collection, target_property, timeframe=None, timezone=None, interval=None, filters=None,
          group_by=None, order_by=None, max_age=None, limit=None):
      """ Performs a sum query
  
      Adds the values of a target property for events that meet the given criteria.
  
      :param event_collection: string, the name of the collection to query
      :param target_property: string, the name of the event property you would like use
      :param timeframe: string or dict, the timeframe in which the events
      happened example: "previous_7_days"
      :param timezone: int, the timezone you'd like to use for the timeframe
      and interval in seconds
      :param interval: string, the time interval used for measuring data over
      time example: "daily"
      :param filters: array of dict, contains the filters you'd like to apply to the data
      example: [{"property_name":"device", "operator":"eq", "property_value":"iPhone"}]
      :param group_by: string or array of strings, the name(s) of the properties you would
      like to group you results by.  example: "customer.id" or ["browser","operating_system"]
      :param order_by: dictionary or list of dictionary objects containing the property_name(s)
      to order by and the desired direction(s) of sorting.
      Example: {"property_name":"result", "direction":keen.direction.DESCENDING}
      May not be used without a group_by specified.
      :param limit: positive integer limiting the displayed results of a query using order_by
      :param max_age: an integer, greater than 30 seconds, the maximum 'staleness' you're
      willing to trade for increased query performance, in seconds
  
      """
      _initialize_client_from_environment()
      return _client.sum(event_collection=event_collection, timeframe=timeframe, timezone=timezone,
                         interval=interval, filters=filters, group_by=group_by, order_by=order_by,
                         target_property=target_property, max_age=max_age, limit=limit)