code: def write(self,
                data,
                assets=None,
                show_progress=False,
                invalid_data_behavior='warn'):
          
          ctx = maybe_show_progress(
              (
                  (sid, self.to_ctable(df, invalid_data_behavior))
                  for sid, df in data
              ),
              show_progress=show_progress,
              item_show_func=self.progress_bar_item_show_func,
              label=self.progress_bar_message,
              length=len(assets) if assets is not None else None,
          )
          with ctx as it:
              return self._write_internal(it, assets)
docs: Parameters
          ----------
          data : iterable[tuple[int, pandas.DataFrame or bcolz.ctable]]
              The data chunks to write. Each chunk should be a tuple of sid
              and the data for that asset.
          assets : set[int], optional
              The assets that should be in ``data``. If this is provided
              we will check ``data`` against the assets and provide better
              progress information.
          show_progress : bool, optional
              Whether or not to show a progress bar while writing.
          invalid_data_behavior : {'warn', 'raise', 'ignore'}, optional
              What to do when data is encountered that is outside the range of
              a uint32.
  
          Returns
          -------
          table : bcolz.ctable
              The newly-written table.