NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2612 most downloaded on PyPI
pytablewriter is a Python library to write a table in various formats: AsciiDoc / CSV / Elasticsearch / HTML / JavaScript / JSON / LaTeX / LDJSON / LTSV / Markdown / MediaWiki / NumPy / Excel / Pandas / Python / reStructuredText / SQLite / TOML / TSV / YAML.
Last release 2 years ago
no release in 18 months
Ships unpredictably
gaps range from 8 days to 1.3 years
Nearly every release is documented
notes for 57 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
126 releases · first in 2016
Refactor deprecated @abstractproperty to use @property and @abstractmethod decorators
@abstractproperty to use @property and @abstractmethod decoratorssetuptools_scm for package build1.1.0Full Changelog: v1.2.0...v1.2.1
One column per quarter.
Add enable_style_filter method and disable_style_filter method to writer classes
enable_style_filter method and disable_style_filter method to writer classescheck_style_filter_kwargs method to the Theme classpytablewriter-altcol-theme to theme extrasmargin support to the CssTableWriter classadd_col_separator_style_filter method that raises NotImplementedError to debug-log outputtypepy to 1.3.2margin, stream, and style_filter_kwargs to be propagated correctly in from_writer method
HtmlTableWriter.write_table method when the method called with write_css=TrueHtmlTableWriter.write_table method was called with write_css=True when table_name was not specifiedCssTableWriter writer classFull Changelog: v1.1.0...v1.2.0
Add color support for GFM to MarkdownTableWriter class
MarkdownTableWriter classFontStyle.TYPEWRITERStyle.fg_colorStyle.decoration_line: DecorationLine.STRIKE, DecorationLine.LINE_THROUGHStyle.decoration_line: DecorationLine.UNDERLINEDataProperty to 1.0.1Full Changelog: v1.0.0...v1.1.0
Replace deprecated setup.py calls
pathvalidate dependency to allow v3SimpleSQLitezip_safe=FalseCell class to an immutable data classsetup.py callspandas extras__all__ to __init__.pydump_tabledataset_log_levelAbstractTableWriter.header_listAbstractTableWriter.type_hint_listAbstractTableWriter.stylesAbstractTableWriter.style_listAbstractTableWriter.value_preprocessor.setterFull Changelog: v0.64.2...v1.0.0
Fix to thousand_separator of default_style not properly applied: #55 (Thanks to @riklopfer )
thousand_separator of default_style not properly applied: #55 (Thanks to @riklopfer)PyYAML v7setuptools>=58default_style propertyStyleFilterFunc.__call__ methodColSeparatorStyleFilterFunc.__call__ methodFull Changelog: v0.64.1...v0.64.2
thousand_separator of default_style not properly applied: #55 (Thanks to @riklopfer)PyYAML v7setuptools>=58default_style propertyStyleFilterFunc.__call__ methodColSeparatorStyleFilterFunc.__call__ methodFull Changelog: https://github.com/thombashi/pytablewriter/compare/v0.64.1...v0.64.2
[Changes][v0.64.2]
<a id="v0.64.1"></a>
Fix write failed when the inputs include dict values: #52 (Thanks to @rutsam )
dict values: #52 (Thanks to @rutsam)Full Changelog: v0.64.0...v0.64.1
dict values: #52 (Thanks to @rutsam)Full Changelog: https://github.com/thombashi/pytablewriter/compare/v0.64.0...v0.64.1
[Changes][v0.64.1]
<a id="v0.64.0"></a>
Modify to accept deuote keyword argument at writer class constructors: #51 (Thanks to @andormarkus )
deuote keyword argument at writer class constructors: #51 (Thanks to @andormarkus)deuote keyword argument at writer class constructors: #51 (Thanks to @andormarkus)[Changes][v0.64.0]
<a id="v0.63.0"></a>
Add max_precision argument to writer class constructors: #44
max_precision argument to writer class constructors: #44CodeQL analysisXlsxWriter v3setup-ci target to MakefileAdd support for CommonMark as a flavor for MarkdownTableWriter class
CommonMark as a flavor for MarkdownTableWriter classkramdown/Jeklly as a flavor for MarkdownTableWriter classfg_color, bg_color, font_weight, font_style) for AsciiDocTableWriter classtable_style for MediaWikiTableWriter: #43overwrite_type_hints argument to from_dataframe methodpytablewirter.typehintflavor as a keyword argument of MarkdownTableWriter constructorflavor keyword argument properly applied when executing write_table method at the second timeset_theme method failedAdd an alias for Style.color as Style.fg_color
Style.color as Style.fg_colortheme via writer class constructorsdataframe via writer class constructorsStyle.__eq__ methodHtmlTableWriter.write_table method when write_css=Truemsgfy packageAdd support for AsciiDoc format
ssv for SpaceAlignedTableWriter classwrite_callback via writer class constructorsUNICODE/BOLD_UNICODE enumses5/es6 from extras_requiressv for SpaceAlignedTableWriter classwrite_callback via writer class constructorsUNICODE/BOLD_UNICODE enumses5/es6 from extras_require[Changes][v0.60.0]
<a id="v0.59.0"></a>
Markdown alignment cells respect margin #36 (Thanks to @shawalli)
margin #36 (Thanks to @shawalli)_repr_html_ method to properly apply writer settingsmargin value setting changes are properly applied after written a tableAdd PandasDataFramePickleWriter class
PandasDataFramePickleWriter classTableWriterFactory instantiationPandasDataFramePickleWriter classTableWriterFactory instantiation[Changes][v0.58.0]
<a id="v0.57.0"></a>
Add table_format property to writer classes
table_format property to writer classesclear_theme method to writer classesTableFormat.from_file_extension class method- Add theme extras [Changes][v0.56.1]
theme extras[Changes][v0.56.1]
<a id="v0.56.0"></a>
Add set_theme/list_themes functions to writer classes
set_theme/list_themes functions to writer classeses extras__repr__ method for text writer classesmax_workers value to a dependency packageAdd enable_ansi_escape attribute to writer classes: #30 (Thanks to @calebstewart)
enable_ansi_escape attribute to writer classes: #30 (Thanks to @calebstewart)update method to Style classdump method executiondump methodenable_ansi_escape/colorize_terminal at _repr_html_ methodcolorize_terminal to clear preprocess data when the value changedAdd kwargs to dump method of writer classes
kwargs to dump method of writer classesindent keyword argument support for write_table/dump/dumps methodssort_keys keyword argument support for write_table/dump/dumps method of JSON writer classesJsonTableWriter classJsonLinesTableWriter for None valuesJsonTableWriter.write_table methodEmptyHeaderErrorAdd GitHub Flavored Markdown support
is_header_row method to Cell classis_header_row method to Cell class[Changes][v0.53.0]
<a id="v0.52.0"></a>
Add YamlTableWriter writer class
YamlTableWriter writer classCell classstyle_filter_kwargs attribute to writer classespytablewriter.typehint moduleNone values for Style class constructor arguments to default values.StyleFilterFuncmax_workers attribute default value to 1TomlTableWriter not properly rendered when including Decimal valuesfrom_tabledata method not properly propagate table_name when the value is None__repr__ method of Style classAdd BoldUnicodeTableWriter class
BoldUnicodeTableWriter classBorderlessTableWriter classTableFormat.from_name class methodfrom_writer method to writersHtmlTableWriter): #13 (Thanks to @jimkohl)write_css argument add an interface to write CSS with HtmlTableWriter: #16 (Thanks to @domino-blake)AbstractTableWriter class to public pathsAbstractTableWriter class to avoid lint errorsHtmlTableWriterHtmlTableWriterCssTableWriter classpy.typed to the packagexlsx format within TableFormattable_name value to an empty stringAdd add_style_filter method to writers
add_style_filter method to writerspy.typed to the packageadd_style_filter method to writerspy.typed to the package[Changes][v0.50.0]
<a id="v0.49.0"></a>
Add max_workers property to writers
max_workers property to writersdefault_style setter_font_size_map to cachemax_workers property to writersdefault_style setter_font_size_map to cache[Changes][v0.49.0]
<a id="v0.48.0"></a>
Remove deprecated methods/properties
sem_open such as Android Termuxdefault_style to writersupdate_preprocessor method to writerspandas.DataFrame: #25 (Thanks to @hugovk )Logbook to logurudev extras_requirestyles to column_stylesAdd support for escape formula injection: #20 (Thanks to @randomstuff)
<br> tag for HTML table writer: #22 (Thanks to @kesyog)<br> tag for HTML table writer: #22 (Thanks to @kesyog)[Changes][v0.47.0]
<a id="v0.46.3"></a>
Integrate release and build extras to dev extras
es7 extrasrelease and build extras to dev extrases7 extrasrelease and build extras to dev extras[Changes][v0.46.3]
<a id="v0.46.0"></a>
Nothing published for this version
Loosen some of the external dependencies version restriction
Python 3.4Python 3.4[Changes][v0.46.0]
<a id="v0.45.1"></a>
Fix improper type hints behavior for SQLite table writer: #12 (Thanks to @smcat8)
Do not install on Python 3.3: #11 (Thanks to @hugovk)
UnicodeTableWriter classAdd pandas.DataFrame pickle support for from_dataframe method
pandas.DataFrame pickle support for from_dataframe methodfrom_series methodpandas.DataFrame pickle support for from_dataframe methodfrom_series method[Changes][v0.44.0]
<a id="v0.43.1"></a>
Suppress excessive DeprecationWarning
[Changes][v0.43.1]
<a id="v0.43.0"></a>
Add add_index_column argument to from_dataframe
add_index_column argument to from_dataframeregister_trans_func methodtype_hint_list to type_hintsheader_list to headersstyle_list to stylesvalue_map propertyChange to forbid to assign a stream to binary writers
trans_func propertystream to binary writerstrans_func propertystream to binary writers[Changes][v0.42.0]
<a id="v0.41.2"></a>
Fix missing extras_require for html (Thanks to @hugovk)
extras_require for html (Thanks to @hugovk)Fix the case that changing styles by using set_style not properly applied
set_style not properly applied__repr__/__eq__ method for Style classset_style not properly applied__repr__/__eq__ method for Style class[Changes][v0.41.1]
<a id="v0.41.0"></a>
Add is_opened method to binary writers
dump method to writersis_opened method to binary writers_repr_html_ methoddumps methodFix Excel writers failed to write
[Changes][v0.40.1]
<a id="v0.40.0"></a>
Add set_style method to writers
set_style method to writersvalue_map attribute to writersset_style method to writersvalue_map attribute to writers[Changes][v0.40.0]
<a id="v0.39.0"></a>
Add support for Style to ReStructuredText writers
Style to ReStructuredText writersStyle to ReStructuredText writers[Changes][v0.39.0]
<a id="v0.38.0"></a>
Change to accept string values for the line_break_handling attribute of writers
line_break_handling attribute of writersis_write_null_line_after_table default value of writers from True to Falsedump_tabledata function to pass arguments to writerline_break_handling attribute of writersis_write_null_line_after_table default value of writers from True to Falsedump_tabledata function to pass arguments to writer[Changes][v0.38.0]
<a id="v0.37.0"></a>
Add align/thousand_separator/font_weight to Style
align/thousand_separator/font_weight to Styleline_break_handling attribute to writersalign/thousand_separator/font_weight to Styleline_break_handling attribute to writers[Changes][v0.37.0]
<a id="v0.36.1"></a>
Add all to extras_require that enable install all of the extra dependency packages at once
all to extras_require that enable install all of the extra dependency packages at oncepytablewriterall to extras_require that enable install all of the extra dependency packages at oncepytablewriter[Changes][v0.36.1]
<a id="v0.36.0"></a>
Add support for ANSI escape sequences to text writers: #6 (Thanks to @hugovk)
Loosen external package dependencies
[Changes][v0.35.0]
<a id="v0.34.0"></a>
Add style_list attribute to writers as an interface to set styles of columns: #4 (thanks to @jpiter)
style_list attribute to writers as an interface to set styles of columns: #4 (thanks to @jpiter)style_list attribute to writers as an interface to set styles of columns: #4 (thanks to @jpiter)[Changes][v0.34.0]
<a id="v0.33.0"></a>
Add format_list attribute to set float formatting in a table: #4 (Thanks to @hugovk)
format_list attribute to set float formatting in a table: #4 (Thanks to @hugovk)SpaceAlignedTableWriterformat_list attribute to set float formatting in a table: #4 (Thanks to @hugovk)SpaceAlignedTableWriter[Changes][v0.33.0]
<a id="v0.32.0"></a>
Add dumps method that returns rendered tabular text: #3 (Thanks to @nettrino)
dumps method that returns rendered tabular text: #3 (Thanks to @nettrino)Nothing published for this version
Add an interface to set alignment for each column of the output table: #2 (Thanks to @jpoa)
- Add support for Python 3.7 - Bug fixes
[Changes][v0.30.1]
<a id="v0.30.0"></a>
Add support for LDJSON/JSON Lines/NDJSON
[Changes][v0.30.0]
<a id="v0.29.0"></a>
Add interface to escape HTML tags in cells in a table
from_tablib methodfrom_tablib method[Changes][v0.29.0]
<a id="v0.28.1"></a>
Nothing published for this version
Fix the case that margins not properly worked
[Changes][v0.28.1]
<a id="v0.28.0"></a>
Add an interface to set margin for both sides of each cell for text format writer classes
[Changes][v0.28.0]
<a id="v0.27.2"></a>
The type detected from the str values has been changed from string type (deprecated since Elasticsearch 5.x) to text/keyword type
str values has been changed from string type (deprecated since Elasticsearch 5.x) to text/keyword typestr values has been changed from string type (deprecated since Elasticsearch 5.x) to text/keyword type[Changes][v0.27.2]
<a id="v0.27.1"></a>
Fix the improper write output, which occurred when executing from_tabledata and write_table multiple times consecutively.
from_tabledata and write_table multiple times consecutively.from_tabledata and write_table multiple times consecutively.[Changes][v0.27.1]
<a id="v0.27.0"></a>
- Performance improvement [Changes][v0.27.0]
[Changes][v0.27.0]
<a id="v0.26.1"></a>
- Fix package dependency [Changes][v0.26.1]
[Changes][v0.26.1]
<a id="v0.26.0"></a>
Your coding agent can read these notes before it upgrades. Set up the MCP server →