code: def stream(self, to=values.unset, from_=values.unset,
                 date_sent_before=values.unset, date_sent=values.unset,
                 date_sent_after=values.unset, limit=None, page_size=None):
          
          limits = self._version.read_limits(limit, page_size)
  
          page = self.page(
              to=to,
              from_=from_,
              date_sent_before=date_sent_before,
              date_sent=date_sent,
              date_sent_after=date_sent_after,
              page_size=limits['page_size'],
          )
  
          return self._version.stream(page, limits['limit'], limits['page_limit'])
docs: Streams MessageInstance records from the API as a generator stream.
          This operation lazily loads records as efficiently as possible until the limit
          is reached.
          The results are returned as a generator, so this operation is memory efficient.
  
          :param unicode to: Filter by messages sent to this number
          :param unicode from_: Filter by from number
          :param datetime date_sent_before: Filter by date sent
          :param datetime date_sent: Filter by date sent
          :param datetime date_sent_after: Filter by date sent
          :param int limit: Upper limit for the number of records to return. stream()
                            guarantees to never return more than limit.  Default is no limit
          :param int page_size: Number of records to fetch per request, when not set will use
                                the default value of 50 records.  If no page_size is defined
                                but a limit is defined, stream() will attempt to read the
                                limit with the most efficient page size, i.e. min(limit, 1000)
  
          :returns: Generator that will yield up to limit results
          :rtype: list[twilio.rest.api.v2010.account.message.MessageInstance]