Releases: posit-dev/great-tables
Releases · posit-dev/great-tables
v0.18.0
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 newformat_str=
parameter, by @rich-iannone in #645 - GT tables can now be pickled, by @jrycw in #641
- The
fmt_currency()
method gained acompact=
parameter for display of compact currency values (e.g.,$13.4M
), by @rich-iannone in #664 - Added the
truncate=
option todata_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 thefmt_scientific()
method by @rich-iannone in #642 - Fixed an off-by-one bug in the
rescale_factor()
utility function (which had an adverse effect ondata_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
New Contributors
- @dpprdan made their first contribution in #670
- @juleswg23 made their first contribution in #696
- @ChristopherRussell made their first contribution in #695
- @mahdibaghbanzadeh made their first contribution in #673
Full Changelog: v0.17.0...v0.18.0
v0.17.0: unique html IDs, `css-inline` package optional
Breaking changes
- Ensure HTML ID attributes are unique by @BenGale93 in #607
- Move
css-inline
pkg to extra group by @rich-iannone in #634
Features
- Quarto option to disable table processing, warn on render by @machow in #611
- Add
cols_unhide()
method by @jrycw in #629 - Add
inline_css=
argument by @tylerriccio33 in #633
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"
.
- e.g. numbers like
- 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 inloc.body()
by @jrycw in #589 - Update the preview of
year
col ingtcars
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
- @tylerriccio33 made their first contribution in #608
- @BenGale93 made their first contribution in #607
- @zachvalenta made their first contribution in #627
Full Changelog: v0.16.1...v0.17.0
v0.16.1
Fixes
- Update dtype of
year
col ingtcars
dataset by @rich-iannone in #586
Full Changelog: v0.16.0...v0.16.1
v0.16.0
Features
- Add the
mask=
argument toLocBody
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
- @stinodego made their first contribution in #563
Full Changelog: v0.15.0...v0.16.0
v0.15.0: add Experimental support for using a `pyarrow.Table` as input
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()
andfmt_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 newinline_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 supporthttp
/https
schema in thecolumns=
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
- @lukemanley made their first contribution in #505
- @glemaitre made their first contribution in #514
- @amol- made their first contribution in #487
Full Changelog: v0.14.0...v0.15.0
v0.14.0: add experimental support for LaTeX output
Features
- Experimental support for LaTeX-table rendering with new
.as_latex()
method (see important information on current limitations in API reference at https://posit-dev.github.io/great-tables/reference/GT.as_latex.html) by @rich-iannone in #481
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`
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
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
inopt_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
Breaking changes
opt_stylize()
now produces stripes by default. Setadd_row_striping=False
to remove. (#461)opt_stylize()
now adds borders to certain styles (which was the original intention; #463)
Features
- add
google_font()
helper, implement inopt_table_font()
andstyle.text()
by @rich-iannone in #423 - implement row striping options by @rich-iannone (#461, #463)
Fixes
Docs
Full Changelog: v0.11.1...v0.12.0
v0.11.1
Fixes
- Do not error when URL string supplied to
path=
argument infmt_image()
by @jrycw in #444 - Include an
encoding=
arg inGT.save()
(with default"utf-8"
) for more dependable saving in Windows by @jrycw in #454 - Unify the method signatures of
cols_label()
andcols_width()
by having them both acceptcases=
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 withhasattr()
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 oflist(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 itslabel=
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
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
- Mention support for
Polars
in theget-started
section by @jrycw in #408 - Made tiny typo fixes and improved a code example in the "Design Philosophy" doc by @alfredocarella in #401
- Fix typo in blog post by @rich-iannone in #396
- Update documentation for datasets by @jrycw in #397
- Update polars examples for deprecated arg by @atseewal in #400
- Remove mentions of
accounting
inforce_sign=
argument by @rich-iannone in #422
New Contributors
- @alfredocarella made their first contribution in #401
Full Changelog: v0.10.0...v0.11.0