'Create a new data point.
All fields must be present.
:note: Data points written when `bulk_size` is reached per Helper.
:warning: Data points are *immutable* (`namedtuples`).'

def __init__(self, **kw):

    cls = self.__class__
    if (sorted(cls._fields) != sorted(kw.keys())):
        raise NameError(u'Expected    {0},    got    {1}.'.format(cls._fields, kw.keys()))
    cls._datapoints[cls._series_name.format(**kw)].append(cls._type(**kw))
    if (cls._autocommit and (sum((len(series) for series in cls._datapoints.values())) >= cls._bulk_size)):
        cls.commit()
