Set the text of a numeric cell according to [SI prefixes][1]

    For example, `1000 -> '1.00k'`.

    [1]: https://en.wikipedia.org/wiki/Metric_prefix#List_of_SI_prefixes

    Args:

        tree_column (gtk.TreeViewColumn) : Tree view to append columns to.
        model_column_index (int) : Index in list store model corresponding to
            tree view column.
        cell_renderer (gtk.CellRenderer) : Cell renderer for column.  If
            `None`, defaults to all cell renderers for column.
        digits (int) : Number of digits after decimal (default=2).

    Returns:

        None

def set_column_si_format(tree_column, model_column_index, cell_renderer=None,
                         digits=2):
    '''
    Set the text of a numeric cell according to [SI prefixes][1]

    For example, `1000 -> '1.00k'`.

    [1]: https://en.wikipedia.org/wiki/Metric_prefix#List_of_SI_prefixes

    Args:

        tree_column (gtk.TreeViewColumn) : Tree view to append columns to.
        model_column_index (int) : Index in list store model corresponding to
            tree view column.
        cell_renderer (gtk.CellRenderer) : Cell renderer for column.  If
            `None`, defaults to all cell renderers for column.
        digits (int) : Number of digits after decimal (default=2).

    Returns:

        None
    '''
    def set_property(column, cell_renderer, list_store, iter, store_i):
        cell_renderer.set_property('text', si_format(list_store[iter][store_i],
                                                     digits))
    if cell_renderer is None:
        cells = tree_column.get_cells()
    else:
        cells = [cell_renderer]
    for cell_renderer_i in cells:
        tree_column.set_cell_data_func(cell_renderer_i, set_property,
                                       model_column_index)