# DoubleTable

DoubleTable uses box drawing characters for table borders. On Windows terminaltables uses code page 437 characters. However there is no equivalent character set for POSIX (Linux/OS X). Python automatically converts CP437 double-line box characters to Unicode and displays that instead.

## Gaps on Windows 10

Like SingleTable the console on Windows 10 changed the default font face to `Consolas`. This new font seems to show gaps between lines. Switching the font back to `Lucida Console` eliminates the gaps.

## Gaps on POSIX

There is no easy trick for POSIX like there is on Windows. I can’t seem to find out how to force terminals to eliminate gaps vertically between Unicode characters.

## API

class terminaltables.DoubleTable(table_data, title=None)

  Cross-platform table with box-drawing characters. On Windows it’s double borders, on Linux/OSX it’s unicode.

  Variables:

    - table_data (iter) – List (empty or list of lists of strings) representing the table.

    - title (str) – Optional title to show within the top border of the table.

    - inner_column_border (bool) – Separates columns.

    - inner_footing_row_border (bool) – Show a border before the last row.

    - inner_heading_row_border (bool) – Show a border after the first row.

    - inner_row_border (bool) – Show a border in between every row.

    - outer_border (bool) – Show the top, left, right, and bottom border.

    - justify_columns (dict) – Horizontal justification. Keys are column indexes (int). Values are right/left/center.

    - padding_left (int) – Number of spaces to pad on the left side of every cell.

    - padding_right (int) – Number of spaces to pad on the right side of every cell.

  column_max_width(column_number)

    Return the maximum width of a column based on the current terminal width.

    Parameters:

      column_number (int) – The column number to query.

    Returns:

      The max width of the column.

    Return type:

      int

  property column_widths

    Return a list of integers representing the widths of each table column without padding.

  property ok

    Return True if the table fits within the terminal width, False if the table breaks.

  property table

    Return a large string of the entire table ready to be printed to the terminal.

  property table_width

    Return the width of the table including padding and borders.