docs: def batch_get(self, tablename, keys, attributes=None, alias=None,
                    consistent=False, return_capacity=None):
          """
          Perform a batch get of many items in a table
  
          Parameters
          ----------
          tablename : str
              Name of the table to fetch from
          keys : list or iterable
              List or iterable of primary key dicts that specify the hash key and
              the optional range key of each item to fetch
          attributes : str or list, optional
              See docs for ProjectionExpression. If list, it will be joined by
              commas.
          alias : dict, optional
              See docs for ExpressionAttributeNames
          consistent : bool, optional
              Perform a strongly consistent read of the data (default False)
          return_capacity : {NONE, INDEXES, TOTAL}, optional
              INDEXES will return the consumed capacity for indexes, TOTAL will
              return the consumed capacity for the table and the indexes.
              (default NONE)
  
          """
          keys = [self.dynamizer.encode_keys(k) for k in keys]
          return_capacity = self._default_capacity(return_capacity)
          ret = GetResultSet(self, tablename, keys,
                             consistent=consistent, attributes=attributes,
                             alias=alias, return_capacity=return_capacity)
          return ret