docs: def generate_field_spec(row):
      """ Generate a set of metadata for each field/column in
      the data. This is loosely based on jsontableschema. """
      names = set()
      fields = []
      for cell in row:
          name = column_alias(cell, names)
          field = {
              'name': name,
              'title': cell.column,
              'type': unicode(cell.type).lower(),
              'has_nulls': False,
              'has_empty': False,
              'samples': []
          }
          if hasattr(cell.type, 'format'):
              field['type'] = 'date'
              field['format'] = cell.type.format
          fields.append(field)
      return fields