[ANN] (Belatedly) Announcing Tidier.jl

Announcing Tidier.jl 1.5.0

Thanks to Randy Boyes, Daniel Rizk, and everyone who submitted issues or made suggestions. The new version resolves dependency conflicts, includes several underlying package updates, and bumps the minimum Julia version to 1.10. Here are key updates to some of the underlying packages over the past ~3 months.

TidierData.jl: is now up to v0.16.4

  • Bugfix: Only functions in Base, Core, and Statistics are not escaped. All other functions and callables are escaped.
  • Updated minimum Julia version to 1.10
  • Bugfix: @summary no longer errors with non-numeric columns. Instead, it only reports non-numeric summary stats on non-numeric columns. Minor changes to summary column names to be snake_case.
  • Bugfix: Reverted a bug introduced in v0.13.4, which escaped all macros. Now, string macros remain escaped (i.e., keeping it possible to work with Unitful units, e.g. u"psi"), but other macros are not escaped to allow for those macros to refer to column names within arguments.
  • Updated documentation on new preferred method of interpolation using @eval and $
  • Added documentation on using other macros inside of TidierData macros

TidierPlots.jl: is now up to v0.9.0

  • Refactor to directly wrap Makie SpecAPI
  • Multiple bugfixes to restore functionality broken by refactor
  • Calculations now work in macro aes
  • Fixes numerous small issues
  • Plots and geoms can now be broadcast

TidierDB.jl: is now up to v0.6.2

  • adds @intersect and @setdiff (SQLs INTERSECT and EXCEPT) respectively, with optional all argument
  • adds support for all arg to @union (equivalent to @union_all)
  • Bumps julia LTS to 1.10
  • Adds support for joining on multiple columns
  • Adds support for inequality joins
  • Adds support for AsOf / rolling joins
  • Equi-joins no longer duplicate key columns
  • Fixes bug to allow array columns to be mutated in
  • adds @relocate
  • bug fix when reading file paths with * wildcard with DuckDB
  • Fix edge case when creating an array column in @mutate
  • adds support _by support to @mutate and @summarize for grouping within the macro call.
  • adds support for n() in @mutate
  • add support for unnesting content to mutate/filter etc via column[key]syntax
  • db_table(db, name) now supports .geoparquet paths for DuckDB
  • support for reusing TidierDB queries inside other macros, including @mutate, @filter, @summarize
  • adds @union_all to bind all rows not just distinct rows as with @union
  • joining syntax now supports (table1, table2, col_name) when joining columns have shared name
  • if_else now has optional final argument for handling missing values to match TidierData
14 Likes