code: def select_unique(self, event_collection, target_property, timeframe=None, timezone=None, interval=None,
                        filters=None, group_by=None, order_by=None, max_age=None, limit=None):
          
          params = self.get_params(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)
          return self.api.query("select_unique", params)
docs: Performs a select unique query
  
          Returns an array of the unique 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 your 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