docs: def stream_buckets(self, bucket_type=None, timeout=None):
          """
          Streams the list of buckets. This is a generator method that
          should be iterated over.
  
          .. warning:: Do not use this in production, as it requires
             traversing through all keys stored in a cluster.
  
          The caller should explicitly close the returned iterator,
          either using :func:`contextlib.closing` or calling ``close()``
          explicitly. Consuming the entire iterator will also close the
          stream. If it does not, the associated connection might not be
          returned to the pool. Example::
  
              from contextlib import closing
  
              # Using contextlib.closing
              with closing(client.stream_buckets()) as buckets:
                  for bucket_list in buckets:
                      do_something(bucket_list)
  
              # Explicit close()
              stream = client.stream_buckets()
              for bucket_list in stream:
                   do_something(bucket_list)
              stream.close()
  
          :param bucket_type: the optional containing bucket type
          :type bucket_type: :class:`~riak.bucket.BucketType`
          :param timeout: a timeout value in milliseconds
          :type timeout: int
          :rtype: iterator that yields lists of :class:`RiakBucket
               <riak.bucket.RiakBucket>` instances
  
          """
          if not riak.disable_list_exceptions:
              raise ListError()
  
          _validate_timeout(timeout)
  
          if bucket_type:
              bucketfn = self._bucket_type_bucket_builder
          else:
              bucketfn = self._default_type_bucket_builder
  
          def make_op(transport):
              return transport.stream_buckets(
                      bucket_type=bucket_type, timeout=timeout)
  
          for bucket_list in self._stream_with_retry(make_op):
              bucket_list = [bucketfn(bytes_to_str(name), bucket_type)
                             for name in bucket_list]
              if len(bucket_list) > 0:
                  yield bucket_list