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):
      
      _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)
docs: 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