@classmethod
def from_nds2_buffers(cls, buffers, scaled=None, copy=True, **metadata):
    """Construct a new dict from a list of `nds2.buffer` objects

        **Requires:** |nds2|_

        Parameters
        ----------
        buffers : `list` of `nds2.buffer`
            the input NDS2-client buffers to read

        scaled : `bool`, optional
            apply slope and bias calibration to ADC data, for non-ADC data
            this option has no effect.

        copy : `bool`, optional
            if `True`, copy the contained data array to new  to a new array

        **metadata
            any other metadata keyword arguments to pass to the `TimeSeries`
            constructor

        Returns
        -------
        dict : `TimeSeriesDict`
            a new `TimeSeriesDict` containing the data from the given buffers
        """
    tsd = cls()
    for buf in buffers:
        tsd[buf.channel.name] = tsd.EntryClass.from_nds2_buffer(buf, scaled
            =scaled, copy=copy, **metadata)
    return tsd
