Skip to content

Releases: posit-dev/great-tables

v0.18.0

10 Jul 15:13
d163c3d
Compare
Choose a tag to compare

What's Changed

Features

  • The new tab_spanner_delim() method allows for quick creation of spanners through delimited column names, by @machow in #647
  • Added the cols_label_rotate() method for rotating column label text 90 degrees, by @juleswg23 in #696
  • We can now easily format boolean values with the new fmt_tf() formatting method, by @rich-iannone (#665, #704)
  • The fmt_datetime() method now lets you perform custom datetime formatting with the new format_str= parameter, by @rich-iannone in #645
  • GT tables can now be pickled, by @jrycw in #641
  • The fmt_currency() method gained a compact= parameter for display of compact currency values (e.g., $13.4M), by @rich-iannone in #664
  • Added the truncate= option to data_color() by @mahdibaghbanzadeh in #673
  • The Pandas dependency in vals.fmt_integer() was removed by @machow in #719

Fixes

  • Remove unused sep_mark= parameter from the fmt_scientific() method by @rich-iannone in #642
  • Fixed an off-by-one bug in the rescale_factor() utility function (which had an adverse effect on data_color()), by @juleswg23 in #718
  • When using Google Fonts in an HTML table there will no longer be any duplicated font import statements, by @rich-iannone in #708
  • An issue with row striping (due to incorrect indexing) was resolved by @juleswg23 in #701
  • Spanners can now be correctly styled with tab_style(), by @ChristopherRussell in #695

Docs

  • Added note about using .show("browser") when in VS Code by @rich-iannone in #643
  • A warning message from cols_width() that appeared in the docs is now suppressed, by @jrycw in #659
  • Updated docstrings for date/time formatting methods, by @rich-iannone in #658
  • We now use improved the interlinking functionality available in quartodoc, by @rich-iannone in #697
  • In the documentation site, added an underline to active link in top navigation bar by @rich-iannone in #706
  • Improved the documentation for the as_raw_html() method by @rich-iannone in #707
  • We now better introduce the use of show() method in the docs through a callout, by @rich-iannone in #712

Chores

  • Added a no pandas dependency test of functions in the vals module by @machow in #689

New Contributors

Full Changelog: v0.17.0...v0.18.0

v0.17.0: unique html IDs, `css-inline` package optional

11 Mar 15:32
e01e682
Compare
Choose a tag to compare

Breaking changes

Features

Fixes

  • Ensure HTML ID attributes are unique by @BenGale93 in #607
  • Move css-inline pkg to extra group by @rich-iannone in #634
  • Do not always save screenshot as png by @machow in #599
  • Resolve encoding issue in GT.save() by @jrycw in #609
  • Correctly pass non-ints to nanoplot options by @tylerriccio33 in #608
  • Scientific notation zero padding when exp_style= used by @rich-iannone in #622
    • e.g. numbers like "2.3E-03" were incorrectly displayed as "2.3E−30".
  • Update conditional statement in nanoplot code to guard against string values (single string or list containing any strings) by @rich-iannone in #623

Docs

  • Update the related docs about mask= parameter in loc.body() by @jrycw in #589
  • Update the preview of year col in gtcars dataset by @jrycw in #587
  • Add examples to the documentation by @jrycw in #618
  • Add style.css entry to API reference docs by @rich-iannone in #624
  • Align getting started guide with readme by @zachvalenta in #627

Chores

  • Use deploy-pypi environment by @machow in #590
    • Added a environment deployment protection rule. We now have to review the release workflow.

New Contributors

Full Changelog: v0.16.1...v0.17.0

v0.16.1

24 Jan 19:33
d9b4db6
Compare
Choose a tag to compare

Fixes

Full Changelog: v0.16.0...v0.16.1

v0.16.0

24 Jan 18:04
15b293e
Compare
Choose a tag to compare

Features

  • Add the mask= argument to LocBody to enable enhanced body cell targeting by @jrycw in #566
  • Include write_raw_html() as a helper function for easier HTML output by @jrycw in #485

Fixes

  • Fix the deprecation warning in as_raw_html() for Python 3.13 by @stinodego in #563
  • Support the pl.UInt type in nanoplots by @jrycw in #577

Docs

  • Add pyOpenSci and DOI badges to README.md to acknowledge the successful peer-review of the package by @rich-iannone in #576
  • Update images and text around included datasets in the package by @rich-iannone in #562
  • Replace JSON dataset with .ndjson file in coffee sales examples to sidestep a serialization error by @rich-iannone in #580

New Contributors

Full Changelog: v0.15.0...v0.16.0

v0.15.0: add Experimental support for using a `pyarrow.Table` as input

14 Dec 00:29
4043f14
Compare
Choose a tag to compare

Features

  • There is now experimental support for using a pyarrow.Table as input by @amol- in #487
  • The fmt_flag() method has been added so that you can display flag icons based on country codes by @rich-iannone in #523
  • With the new fmt_icon() method, it's possible to have FontAwesome icons within table cells by @rich-iannone in #515
  • The fmt_number(), fmt_percent(), fmt_integer() and fmt_currency() methods can now format values in accounting notation by @rich-iannone in #513
  • Tables can be written as CSS-inlined HTML strings via as_raw_html() with the new inline_css= argument by @rich-iannone in #557
  • The save() method has been greatly enhanced and includes the ability to perform intermediate saves (since the method returns itself) by @jrycw in #499
  • Enhance the fmt_image() method to support http/https schema in the columns= parameter by @jrycw in #520
  • The pipe() method has been added and it operates similarly to that of the Pandas and Polars APIs, by @jrycw in #363

Fixes

  • Improve detection of Polars installation by @lukemanley in #505
  • Add CI build for testing Python 3.13 by @glemaitre in #514
  • Having hidden columns along with column width definitions no longer mangles HTML table output by @rich-iannone in #509
  • Some mypy errors were fixed and the project was switched to ruff linting and formatting by @jrycw in #511
  • The CI README badge now properly reports build status by @rich-iannone in #553
  • Fix missing exception raise in _val_is_numeric() and _val_is_str() by @jrycw in #510
  • Standardize imports by converting absolute imports to relative imports by @jrycw in #521
  • Exclude if TYPE_CHECKING: lines from coverage reports by @rich-iannone in #556

Docs

  • Include the vals.fmt_image() function in the API reference by @jrycw in #486
  • Make spelling fixes in the contributing guide by @glemaitre in #516
  • Add information about Pandas requirement when using internal datasets by @rich-iannone (#549, #559)
  • Add a CITATION.cff file and provide citation information in README by @rich-iannone in #551
  • Update README with conda install instructions and some clarity on which environments Great Tables can be used in, by @rich-iannone in #552
  • Improve presentation of Contributing Guidelines by @rich-iannone in #550

New Contributors

Full Changelog: v0.14.0...v0.15.0

v0.14.0: add experimental support for LaTeX output

11 Nov 20:31
5913c57
Compare
Choose a tag to compare

Features

Docs

  • The Reference API docs now have an improved presentation when viewed on lower-width devices by @machow (#427, #492)
  • Preview sections have been added for the built-in datasets by @jrycw in #453

Full Changelog: v0.13.0...v0.14.0

v0.13.0: add more location specifiers to `loc`

04 Oct 19:45
e3acf4e
Compare
Choose a tag to compare

Features

  • Include google_font() helper fn in API reference by @rich-iannone and @jrycw in (#464, #471)
  • Allow for granular section restyling via convenience api by @timkpaine in #341
  • Add val_fmt_image() to enable image rendering in various components by @jrycw in #451
  • Allow passing a webdriver instance to save by @machow in #478

Fixes

  • Resolve global locale not being respected in GT.fmt_*() functions by @jrycw in #473

Docs

  • Do not document GT members inline on its reference page by @machow in #475
  • Fix deprecated warning for pl.DataFrame.pivot() by @jrycw in #472
  • Update docs and code to support GoogleFont in opt_table_font() and add tests by @jrycw in #470
  • Fix in headers causing their css classes get printed out by @machow in #477
  • Add docstrings for new location methods by @rich-iannone in #474

Full Changelog: v0.12.0...v0.13.0

v0.12.0: opt_stylize produces striped rows and borders

27 Sep 18:44
3bafd96
Compare
Choose a tag to compare

Breaking changes

  • opt_stylize() now produces stripes by default. Set add_row_striping=False to remove. (#461)
  • opt_stylize() now adds borders to certain styles (which was the original intention; #463)

Features

Fixes

  • use full html page in show() for correct utf-8 display by @machow in #458

Docs

  • update superbowl example to align with the new version of Polars by @jrycw (#460, #462)

Full Changelog: v0.11.1...v0.12.0

v0.11.1

20 Sep 17:51
079dc83
Compare
Choose a tag to compare

Fixes

  • Do not error when URL string supplied to path= argument in fmt_image() by @jrycw in #444
  • Include an encoding= arg in GT.save() (with default "utf-8") for more dependable saving in Windows by @jrycw in #454
  • Unify the method signatures of cols_label() and cols_width() by having them both accept cases= and **kwargs by @jrycw in #452

Chores

  • Standardize on the GTSelf object in method signatures by @jrycw in #431
  • Consistently use isinstance() checks throughout the codebase instead of checking with hasattr() by @rich-iannone in #434
  • Improve test coverage for various opt_* methods by @jrycw in #437
  • Consolidate ordered list code using the new _create_ordered_list() function by @jrycw in #407
  • Internally use OrderedSet().as_list() instead of list(OrderedSet()) for sake of clarity by @jrycw in #447
  • Refactor import statements throughout the _formats.py file by @jrycw in #450

Docs

  • Update import statement in the GT.data_color() example by @jrycw in #432
  • Indicate that tab_spanner() allows for use of units notation in its label= argument by @rich-iannone in #426
  • Visually document options for theming table with opt_stylize() by @rich-iannone in #438
  • Provide updates to PyCon- and SciPy-related blog posts by @rich-iannone in #445

Full Changelog: v0.11.0...v0.11.1

v0.11.0: include column labels in`<thead>` element

30 Aug 18:11
11660a6
Compare
Choose a tag to compare

This release contains a breaking change in how HTML output tables are structured (through tag changes). There is also an important fix for saving tables via the .save() method using the Google Chrome webdriver.

Breaking Changes

  • We now ensure that the <thead> element encloses both title/subtitle and column labels by @rich-iannone in #421

Fixes

  • We now ensure that the <thead> element encloses both title/subtitle and column labels by @rich-iannone in #421
  • The .save method works with latest version of Google Chrome by @machow in #425

Docs

New Contributors

Full Changelog: v0.10.0...v0.11.0