Releases: machow/siuba
Releases · machow/siuba
v0.2.0
What's Changed
- Refactor siu submodule (#338)
- made siu.py a folder, split into different submodules for visitors, dispatchers, calls, etc..
- feat(ci): publish main branch docs to netlify (#395)
- docs(siu): flesh out docs for calls, symbolics, dispatchers (#397)
- ci: Pin setup-gcloud to v0 instead of master (#405)
- feat: use codata dispatch in SQL translation (#398)
- all sql column operation concrete signatures changed, to allow operations in operations
- old:
@mean.register def _mean(col: SqlColumn): ...
- new:
@mean.register def _mean(codata: SqlColumn, col): ...
- feat: support sqlite window functions (#406)
- ci: bigquery tests run in parallel. Reduces time from 15 mins to about 2 mins.
refactor siu dispatch
This is a dev release to support...
- enable creating a LazyTbl from a subquery (for dbcooper-py)
- early preview of snowflake dialect
Fix inferring join cols in semi join; add grouped df console representation
Support pandas 1.3, fix broken windows install
Fixes
Refactor SQL tooling and create ops submodule. Support for MySQL and Bigquery.
This is an alpha release for v1.0.0. There will likely be extensive changes through January as I work to refactor the core API.
Big changes
- Added
ops
submodule (and removedspec
submodule).- This contains generic functions for pandas methods.
- Has method data needed to translate pandas expressions to SQL (e.g. whether something is a property, or uses an accessor).
- Refactored SQL translation mechanism:
- Base dialect that others extend.
- Over clauses in translate.py now have a
func
class method. This generates a constructor for a specific sql translation. - Now uses a pandas translator from ops submodule.
Features:
Support pandas 1.3, fix broken windows install
Refactor SQL tooling and create ops submodule. Support for MySQL and Bigquery.
This is an alpha release for v1.0.0. There will likely be extensive changes through January as I work to refactor the core API.
Big changes
- Added
ops
submodule (and removedspec
submodule).- This contains generic functions for pandas methods.
- Has method data needed to translate pandas expressions to SQL (e.g. whether something is a property, or uses an accessor).
- Refactored SQL translation mechanism:
- Base dialect that others extend.
- Over clauses in translate.py now have a
func
class method. This generates a constructor for a specific sql translation. - Now uses a pandas translator from ops submodule.
Features:
SQLAlchemy 1.4 support and slicing fix
This release adds support for SQLAlchemy 1.4, does some light refactoring, and fixes a slicing issue.
Fixes
- Make compatible with SQLAlchemy 1.4. #327
- Properly represent symbolics when indexing with multiple slices (e.g.
_[1:2, _.a:_.b]
). #325
Features
- Refactored fast group operations to use generic functions (
regroup()
,broadcast_agg()
,is_compatible()
). #310 - Enable piping to attributes (e.g.
pipe(_.some_col)
). #325
QA
- Migrated to github actions. #299
SQL and fast grouped method improvements
Much of this release is setting up for...
- fast methods to become drop-in replacements for their slow, reference implementation counterparts!
- SQL fixes and features for funneljoin-py
Fixes
- Pandas anti_join breaking when on argument is a string (#264)
- Sql now resets order by after joins (#277)
- Fixed major regression for sql where filter with multiple arguments did strange and terrible things (#277)
- Sql summarize correctly makes a subquery when group_by references a recently created column (#278)
- Sql right_join had to switch lhs and rhs, but was not correctly handling all implications of that. Specifically how key columns are kept, and suffixes used. (#279)
Features
- Fast grouped methods determine whether they can run quickly, fallback if not, along with a warning. Lambdas can be used to explicitly take the slower, reference implementation route (#268).
- Fast grouped methods allow property operations that return dim 0 results, like dtype. (#269)
-
in sql arrange now produces the correctDESC
, rather than being a-
operation (#280)- pandas arrange now works on grouped data. i.e. DataFrameGroupBy. (#280)
QA
- a slew of tests!