Per the docs and the change log for v0.8.0, controlling column width can be handled by setting the column_widths
attribute:
>>> table.column_widths = 5
>>> print(table.column_widths)
PositiveIntegerMetaData<5, 5, 5, 5, 5, 5, 5>
>>> table.column_widths = [10, 20, 5, 7, 10, 10, 5]
>>> print(table.column_widths)
PositiveIntegerMetaData<10, 20, 5, 7, 10, 10, 5>
Note that the most recent change log also says it dropped support for Python v3.3
I have only tested this in Python v3.7.5 where, as soon as the table is printed again, these values are overwritten.
If you're using v3.3+ and you don't want to truncate or wrap your headers/fields then the only 'work around' that I have found is to set the max_table_width
to a value large enough to accommodate all your row contents + padding + borders:
>>> table.max_table_width = 150
Of course, this has its obvious limits.