- Increase minimum wcwidth version to 0.2.9
- Migrated from setuptools to hatch
- Drop support for Python 3.7
- Support Python 3.9 through 3.12
- Drop support for Python 3.6
- Add type annotations to tests
- Fix mypy's type inference for
headers
- Support Python 3.8
- Drop support for Python 2, Python 3.4, and Python 3.5
- Update wcwidth requirement to
~= 0.2.0
- Drop six requirement
- Add type annotations
- Setting
len_func
toNone
now causes the option's default value to be used
- Loosen
attrs
version requirement
- Added numeric alignment
- Added
valign
andvalign_fill
options
- Table rows can now be represented by
dict
s that map header names to cell values - Added a
dict_fill
option for handling missing keys indict
rows
- Added
left_border
,right_border
,top_border
, andbottom_border
options
- Added a
len_func
option, allowing the user to specify a custom function for calculating text width - Added a
with_color_stripped
function decorator for use by customlen_func
s - Added
widths
andwidth_fill
options for wrapping columns to fixed widths - Added
break_long_words
andbreak_on_hyphens
options for controlling text wrapping - Added a
wrap_func
option, allowing the user to specify a custom function for wrapping text
- Added ANSI color escape sequence support
- Added
align
andalign_fill
options
- Added
left_padding
andright_padding
options
- Table cell values that begin with a combining character will now have a space prepended
- Added a
padding
option - Strings with indeterminate widths now cause an
IndeterminateWidthError
to be raised '\f'
and'\v'
are now always treated as line separators, even insidestr
objects in Python 2
- Custom borders:
- Added a
BorderStyle
class and several predefined instances for describing the strings to use for drawing borders - Added a
border_style
option for setting the default style for all of a table's borders border
,column_border
,header_border
, androw_border
can now be set toBorderStyle
instances to set their individual styles
- Added a
Initial release