Releases: machow/siuba
Releases · machow/siuba
v0.4.4: misc fixes, basic .str.cat sql translation
v0.4.3: compatibility with sqlalchemy v2, and pandas v2
What's Changed
- fix(sql): sqlalchemy 2.0 compat imports by @machow in #472
- Note that pandas v2 removed a few functions (such as .dt.week). The translations for these are still supported.
- ci: do not upload to airtable by @machow in #477
Full Changelog: v0.4.2...v0.4.3
v0.4.2: better handling of all NA grouping columns
What's Changed
Full Changelog: v0.4.1...v0.4.2
v0.4.1: fix across with grouped data and aggregations in mutate
What's Changed
- fix: across correctly handles grouped data in sql (#455)
- fix: across handles pandas mutate with aggregation (#455)
- ci: remove doc publishing (#456)
Full Changelog: v0.4.0...v0.4.1
v0.4.0: across(), pivot functions, and SQL refactor
v0.4.0rc1
This PR mainly implements the functions tbl()
, across()
, pivot_longer()
, pivot_wider()
. It ensures verbs work with grouped data. As part of implementing across()
, it refactored tidyselection and SQL support.
What's Changed
- feat(tbl): add
tbl()
function for pandas and sqla (#446) - feat
pivot_longer()
andpivot_wider()
(#440) - feat
across()
by (#452) - feat:
count()
andadd_count()
support thename
argument. (#452) - feat: a new symbolic "formula" object,
Fx
, now exposed as a top level import. This is used to represent operations inacross()
and the pivot functions. (#452) - feat: implement grouped distinct for both pandas and sql. (#452)
- feat(tidyselect)!: a lambda can no longer be used to create a tidyselection specifier. Instead we match dplyr's behavior (#452):
- old:
lambda _: _.startswith("abc")
was equivalent to_.startswith("abc")
- Now, when
select()
is given a callable function, it passes each column of data to it, and expects back a boolean. - new:
select(cars, lambda ser: ser.dtype == "int")
- old:
- feat: forcats functions:
fct_inseq()
,fct_infreq()
(#435) - feat: show_query simplify option uses
"*"
when possible (#344) - feat(siu): new
pipe()
andcall()
functions (#413)pipe()
allows you to manually create a pipecall()
call you to represent a call to an external function (e.g.call(pd.to_datetime, _.some_col)
)
- feat: Add new datasets (#434)
- feat(sql): add
LazyTbl.last_select
to simplify queries (#449)
.
- fix(pandas)!: gather default selection is all columns (#451)
- fix!: if_else and case_when now return Series (#432)
- fix(sql)!: calling
arrange()
twice now resets the order_by variables set by the first call (matching dbplyr behavior) (#452). - fix:
add_count()
now correctly handles named arguments, is tested for most casescount()
is tested on (#452). - fix: support negative index, multislice in tidyselect (#430)
- fix(pandas): ensure verbs accept DataFrameGroupBy (#445)
- fix(experimental): fix tab completions (#444)
.
- tests: speed snowflake tests by removing reflection (#428)
- tests(sql): update failing test, due to duckdb change (#441)
.
- docs: using an OR condition in filter (#427)
- docs: complete docstrings for all verbs (#439)
- chore: Fix typos by @kianmeng in #433
New Contributors
Full Changelog: v0.3.0...v0.4.0rc1
v0.3.0: duckdb support, prepare for sql win_over
What's Changed
- feat: add duckdb as a SQL backend by @machow in #422
- breaking: LazyTbl still takes a sqlalchemy Engine, but can no longer take a sqlalchemy Connection.
- feat: allow
head()
over grouped data by @machow in #420 - docs: update import for plotnine example by @isabelizimm in #421
- ci: add wheel build to release by @machow in #423
- refactor: prepare for sql
win_over
by cleaning up sql Over clause code @machow in #412
New Contributors
- @isabelizimm made their first contribution in #421
Full Changelog: v0.2.3...v0.3.0
Fix incorrect numpy handling in previous
Also adds more tests of calling numpy functions over symbolics
Support numpy functions (e.g. np.add(_.x, 1))
What's Changed
Full Changelog: v0.2.1...v0.2.2