pytablewriter

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.

MIT License

Downloads
1.3M
Stars
593
Committers
8

Bot releases are visible (Hide)

pytablewriter - v1.2.0 Latest Release

Published by thombashi about 1 year ago

  • Add enable_style_filter method and disable_style_filter method to writer classes
  • Add check_style_filter_kwargs method to the Theme class
  • Add pytablewriter-altcol-theme to theme extras
  • Add margin support to the CssTableWriter class
  • Add support for Python 3.12
  • Modify the style filter to be applicable to table headers: #37 (Thanks to @shawalli)
  • Change the add_col_separator_style_filter method that raises NotImplementedError to debug-log output
  • Improve discovery of pytablewriter plugins
  • Bump minimum required version of typepy to 1.3.2
  • Fix margin, stream, and style_filter_kwargs to be propagated correctly in from_writer method
    • Fix the output of HtmlTableWriter.write_table method when the method called with write_css=True
  • Fix an issue where the CSS output would be incorrect if the HtmlTableWriter.write_table method was called with write_css=True when table_name was not specified
  • Fix style applying for headers of CssTableWriter writer class
  • Fix type annotations

Full Changelog: https://github.com/thombashi/pytablewriter/compare/v1.1.0...v1.2.0

pytablewriter - v1.1.0

Published by thombashi about 1 year ago

  • Add color support for GFM to MarkdownTableWriter class
  • Add FontStyle.TYPEWRITER
  • Add styles supported by Latex writers
    • Style.fg_color
    • Style.decoration_line: DecorationLine.STRIKE, DecorationLine.LINE_THROUGH
    • Style.decoration_line: DecorationLine.UNDERLINE
  • Add warnings for when invalid style attributes are passed to the Style class
  • Modify the output format of Latex table writers
  • Improve type annotations
  • Fix Excel worksheet name generation
  • Bump minimum required version of DataProperty to 1.0.1

Full Changelog: https://github.com/thombashi/pytablewriter/compare/v1.0.0...v1.1.0

pytablewriter - v1.0.0

Published by thombashi over 1 year ago

  • Add support for Python 3.11
  • Drop support for Python 3.6
  • Fix a regular expression range of LatexWriter: #57
  • Add support for Elasticsearch 8
  • Drop support for Elasticsearch 7
  • Reduce import time for non-pandas use
  • Update pathvalidate dependency to allow v3
  • Bump minimum version requirement of SimpleSQLite
  • Improve type annotations
  • Add zip_safe=False
  • Change the Cell class to an immutable data class
  • Update docs
  • Replace deprecated setup.py calls
  • Add pandas extras
  • Add __all__ to __init__.py
  • Remove deprecated functions and properties
    • dump_tabledata
    • set_log_level
    • AbstractTableWriter.header_list
    • AbstractTableWriter.type_hint_list
    • AbstractTableWriter.styles
    • AbstractTableWriter.style_list
    • AbstractTableWriter.value_preprocessor.setter

Full Changelog: https://github.com/thombashi/pytablewriter/compare/v0.64.2...v1.0.0

pytablewriter - v0.64.2

Published by thombashi over 2 years ago

  • Fix to thousand_separator of default_style not properly applied: #55 (Thanks to @riklopfer)
  • Add support for PyYAML v7
  • Avoid installation error with setuptools>=58
  • Modify type annotations:
    • default_style property
    • StyleFilterFunc.__call__ method
    • ColSeparatorStyleFilterFunc.__call__ method

Full Changelog: https://github.com/thombashi/pytablewriter/compare/v0.64.1...v0.64.2

pytablewriter - v0.64.1

Published by thombashi about 3 years ago

  • Fix write failed when the inputs include dict values: #52 (Thanks to @rutsam)
  • Improve write performance

Full Changelog: https://github.com/thombashi/pytablewriter/compare/v0.64.0...v0.64.1

pytablewriter -

Published by thombashi about 3 years ago

  • Modify to accept deuote keyword argument at writer class constructors: #51 (Thanks to @andormarkus)
  • Make it possible to specify type hints by strings
pytablewriter -

Published by thombashi about 3 years ago

  • Add max_precision argument to writer class constructors: #44
  • Improve output precision of real numbers: #44
  • Remove trailing whitespace when table does not have a name #46 (Thanks to @movermeyer)
  • Fix AsciiDoc table header output: #47 (Thanks to @jvdvegt)
  • Fix to dequote in cells properly: #49 (Thanks to @hugovk)
  • Modify to accept type hints by strings as well
  • Add CodeQL analysis
  • Add type annotations
  • Allow XlsxWriter v3
  • Add setup-ci target to Makefile
pytablewriter -

Published by thombashi over 3 years ago

  • Add support for CommonMark as a flavor for MarkdownTableWriter class
  • Add support for kramdown/Jeklly as a flavor for MarkdownTableWriter class
  • Add support styles(fg_color, bg_color, font_weight, font_style) for AsciiDocTableWriter class
  • Add table_style for MediaWikiTableWriter: #43
  • Add overwrite_type_hints argument to from_dataframe method
  • Add types to pytablewirter.typehint
  • Add support for string with thousand separators as integer: #44
  • Add support for string with thousand separators as integer
  • Made it possible to set flavor as a keyword argument of MarkdownTableWriter constructor
  • Fix to flavor keyword argument properly applied when executing write_table method at the second time
  • Change to just output warning instead of raising exception when set_theme method failed
  • Improve error messages when a theme not found
  • Improve output precision of numbers: #44
    • This may increase output decimal places of real numbers compared to the previous versions
  • Remove an unused class
pytablewriter -

Published by thombashi over 3 years ago

  • Add an alias for Style.color as Style.fg_color
  • Make it possible to set theme via writer class constructors
  • Make it possible to initialize writer from dataframe via writer class constructors
  • Fix comparison of Style.__eq__ method
  • Fix CSS output of HtmlTableWriter.write_table method when write_css=True
  • Vendoring msgfy package
pytablewriter -

Published by thombashi over 3 years ago

  • Add support for AsciiDoc format
  • Add format name ssv for SpaceAlignedTableWriter class
  • Make it possible to set write_callback via writer class constructors
  • Fix format attributes of UNICODE/BOLD_UNICODE enums
  • Remove es5/es6 from extras_require
pytablewriter -

Published by thombashi over 3 years ago

  • Add support for Python 3.10
  • Drop support for Python 3.5
  • Markdown alignment cells respect margin #36 (Thanks to @shawalli)
  • Add validation to margin setter
  • Make it possible to set more writer settings via writer class constructors
  • Forced to set margin to zero for CSV/sourcecode writer classes
  • Fix _repr_html_ method to properly apply writer settings
  • Fix to margin value setting changes are properly applied after written a table
  • Modify type annotations
  • Update requirements
pytablewriter -

Published by thombashi about 4 years ago

  • Add PandasDataFramePickleWriter class
  • Add support for keyword arguments initialization to TableWriterFactory instantiation
  • Fix initialization by keyword arguments of writer class constructor
  • Remove deprecated properties
pytablewriter -

Published by thombashi about 4 years ago

  • Add table_format property to writer classes
  • Add clear_theme method to writer classes
  • Add TableFormat.from_file_extension class method
  • Make it possible to initialize writer instance with constructor
  • Fix plugin discovery to avoid errors when some of the functions not implemented
  • Fix the case that style filters are not properly applied
pytablewriter -

Published by thombashi about 4 years ago

  • Add theme extras
pytablewriter -

Published by thombashi about 4 years ago

  • Add set_theme/list_themes functions to writer classes
  • Add es extras
  • Implement __repr__ method for text writer classes
  • Modify pytest stream detection
  • Modify not to raise an error when input data is empty
  • Fix to properly propagate max_workers value to a dependency package
  • Update requirements
pytablewriter -

Published by thombashi about 4 years ago

  • Add enable_ansi_escape attribute to writer classes: #30 (Thanks to @calebstewart)
  • Add update method to Style class
  • Modify to disable ANSI escapes during dump method execution
  • Modify type annotations for dump method
  • Fix to propagate enable_ansi_escape/colorize_terminal at _repr_html_ method
  • Fix colorize_terminal to clear preprocess data when the value changed
  • Update requirements
pytablewriter -

Published by thombashi over 4 years ago

  • Add kwargs to dump method of writer classes
  • Add indent keyword argument support for write_table/dump/dumps methods
  • Add sort_keys keyword argument support for write_table/dump/dumps method of JSON writer classes
  • Changes to accept list of dict as value_matrix for JSON table writer classes
  • Change the default indent level of JsonTableWriter class
  • Fix output of JsonLinesTableWriter for None values
  • Modify output format of JsonTableWriter.write_table method
  • Remove EmptyHeaderError
  • Update requirements
pytablewriter -

Published by thombashi over 4 years ago

  • Add GitHub Flavored Markdown support
  • Add DecorationLine support as a style
  • Add is_header_row method to Cell class
  • Modify type annotations
pytablewriter -

Published by thombashi over 4 years ago

  • Add YamlTableWriter writer class
  • Add Cell class
  • Add style_filter_kwargs attribute to writer classes
  • Add pytablewriter.typehint module
  • Add color support with style
  • Make it possible to apply style filter to column separators
  • Make it possible to apply part of the style filter to headers
  • Make it configurable header row crosspoint characters for text format writer classes
  • Make "sort_keys" not True by default #15 (Thanks to @Zackhardtoname)
  • Change to convert None values for Style class constructor arguments to default values.
  • Improve an error message: #26 (Thanks to @hugovk)
  • Change signatures of StyleFilterFunc
  • Change max_workers attribute default value to 1
  • Allow non ascii characters for JSON formats
  • Fix changing chars for text format tables not properly applied due to initialization order
  • Fix TomlTableWriter not properly rendered when including Decimal values
  • Fix from_tabledata method not properly propagate table_name when the value is None
  • Fix __repr__ method of Style class
  • Fix style filter to properly apply align
  • Update requirements
  • Minor bug fixes
pytablewriter -

Published by thombashi over 4 years ago

  • Add BoldUnicodeTableWriter class
  • Add BorderlessTableWriter class
  • Add underscore support for thousand separators
  • Add TableFormat.from_name class method
  • Add from_writer method to writers
  • Add vertical align to style (only for HtmlTableWriter): #13 (Thanks to @jimkohl)
  • Add write_css argument add an interface to write CSS with HtmlTableWriter: #16 (Thanks to @domino-blake)
  • Add AbstractTableWriter class to public paths
  • Add margin property to AbstractTableWriter class to avoid lint errors
  • Make it possible to apply styles to headers
  • Fix to properly apply align for HtmlTableWriter
  • Make style filter applicable to HtmlTableWriter
  • Add CssTableWriter class
  • Fix to include py.typed to the package
  • Modify type annotations
  • Increase priority of the xlsx format within TableFormat
  • Change the default table_name value to an empty string
  • Update requirements
  • Minor bug fixes