v0.10.0
Added
-
Add support for the decimals data type.
Decimals dtypes are represented by the
{:decimal, precision, scale}tuple, where precision can be a positive integer from 0 to 38, and is the maximum number of digits that can be represented by the decimal. The scale is the number of digits after the decimal point.With this addition, we also added the
:decimalpackage as a new dependency. TheExplorer.Series.from_list/2function accepts decimal numbers from that package as values -%Decimal{}.This version has a small number of operations, but is a good foundation.
-
Allow the usage of queries and lazy series outside callbacks and macros. This is an improvement to functions that were originally designed to accept callbacks. With this change you can now reuse lazy series across different "queries". See the
Explorer.Querydocs for details.The affected functions are:
Explorer.DataFrame.filter_with/2Explorer.DataFrame.mutate_with/2Explorer.DataFrame.sort_with/2Explorer.DataFrame.summarise_with/2
-
Allow accessing the dataframe inside query.
-
Add "lazy read" support for Parquet and NDJSON from HTTP(s).
-
Expose more options for
Explorer.Series.cut/3andExplorer.Series.qcut/3. These options were available in Polars, but not in our APIs.
Fixed
-
Fix creation of series where a
nilvalue inside a list - for a{:list, any()}dtype - could result in an incompatible dtype. This fix will prevent panics for list of lists withnilentries. -
Fix
Explorer.DataFrame.dump_ndjson/2when date time is in use. -
Fix
Explorer.Series.product/1for lazy series. -
Accept
%FSS.HTTP.Entry{}structs in functions likeExplorer.DataFrame.from_parquet/2. -
Fix encode of binaries to terms from series of the
{:struct, any()}dtype. In case the inner fields of the struct had any binary (:binarydtype), it was causing a panic.
Changed
- Change the defaults of the functions
Explorer.Series.cut/3andExplorer.Series.qcut/3to not have "break points" column in the resultant dataframe. So the:include_breaksis nowfalseby default.
Pull requests
- Fix DataFrame.filter_with spec by @mhanberg in https://github.com/elixir-explorer/explorer/pull/975
- fix typo cuontry ~> country by @audacioustux in https://github.com/elixir-explorer/explorer/pull/979
- Fix issue 976 by @billylanchantin in https://github.com/elixir-explorer/explorer/pull/980
- Fix "dump_ndjson" by activating "timezones" feature by @philss in https://github.com/elixir-explorer/explorer/pull/981
- Dependency updates - mix only by @philss in https://github.com/elixir-explorer/explorer/pull/983
- Fix typos by @preciz in https://github.com/elixir-explorer/explorer/pull/984
- Fix product for lazy series by @philss in https://github.com/elixir-explorer/explorer/pull/986
- Update Polars to v0.43.1 by @philss in https://github.com/elixir-explorer/explorer/pull/985
- Add initial support to Decimal by @philss in https://github.com/elixir-explorer/explorer/pull/987
- Add function clause for
%FSS.HTTP.Entry{}by @billylanchantin in https://github.com/elixir-explorer/explorer/pull/992 - LazyFrame from http endpoint by @ceyhunkerti in https://github.com/elixir-explorer/explorer/pull/993
- Fix encode of binaries to terms inside struct series by @philss in https://github.com/elixir-explorer/explorer/pull/996
- Update dependencies by @philss in https://github.com/elixir-explorer/explorer/pull/997
- Add read support for lazy http ndjson by @ceyhunkerti in https://github.com/elixir-explorer/explorer/pull/998
- De-functionalize query internals by @billylanchantin in https://github.com/elixir-explorer/explorer/pull/989
- Fix return type in
DataFrame.dtypes/1typespec (#1002) by @mooreryan in https://github.com/elixir-explorer/explorer/pull/1003 - Add support for some operations with decimals by @philss in https://github.com/elixir-explorer/explorer/pull/988
- Expose options to Series'
cutandqcutby @philss in https://github.com/elixir-explorer/explorer/pull/1007 - Fix
cut/3andqcut/3when:include_breaksis false by @philss in https://github.com/elixir-explorer/explorer/pull/1009 - Release v0.10.0 by @philss in https://github.com/elixir-explorer/explorer/pull/1008
New Contributors
- @audacioustux made their first contribution in https://github.com/elixir-explorer/explorer/pull/979
- @preciz made their first contribution in https://github.com/elixir-explorer/explorer/pull/984
- @ceyhunkerti made their first contribution in https://github.com/elixir-explorer/explorer/pull/993
- @mooreryan made their first contribution in https://github.com/elixir-explorer/explorer/pull/1003
Full Changelog: https://github.com/elixir-explorer/explorer/compare/v0.9.2...v0.10.0
SHA256 of the artifacts
28897fbb14f54a6a9d996cccf4d863dfdc27e589324bd22382c434402ddd258a explorer-v0.10.0-nif-2.15-x86_64-pc-windows-gnu--legacy_cpu.dll.tar.gz
f102a65a788cd6cd5d9cecea33ff3e10f924ff90bf9b43b65a5acc86b38f1d40 explorer-v0.10.0-nif-2.15-x86_64-pc-windows-gnu.dll.tar.gz
d414eabfca363b1731f24917445b05a1b2c969c079e35d9cfb6aa59ef1d02af5 explorer-v0.10.0-nif-2.15-x86_64-pc-windows-msvc--legacy_cpu.dll.tar.gz
aa71834d756c39b02dd45e9474e3782758cf3d4617b61bc891a820ec8fb35981 explorer-v0.10.0-nif-2.15-x86_64-pc-windows-msvc.dll.tar.gz
ab0dc0df737611b73222072e865ba9a29fc4026ae5b33cd337c92c26137c835b libexplorer-v0.10.0-nif-2.15-aarch64-apple-darwin.so.tar.gz
b837b3523b60e7804a0d38a8466ed8e0f3f68b2cea9ea10051811a0b20b08932 libexplorer-v0.10.0-nif-2.15-aarch64-unknown-linux-gnu.so.tar.gz
c8d6c07af4a6b76b4769931132f045c1eb02a7916089f4db13481d2f5f1db363 libexplorer-v0.10.0-nif-2.15-aarch64-unknown-linux-musl.so.tar.gz
51fa272758b6cf331054ba3f27c13a64347c68f193d0c337240f1c79217678d2 libexplorer-v0.10.0-nif-2.15-x86_64-apple-darwin.so.tar.gz
804602cab628dae931c5ab6c78d0c62b878da764ca5312b61e03b32c0cbb420d libexplorer-v0.10.0-nif-2.15-x86_64-unknown-freebsd--legacy_cpu.so.tar.gz
ae8c48ff9b5d68a6587c423f71b5083a0e2e05dc79de7b136479527dd1508dec libexplorer-v0.10.0-nif-2.15-x86_64-unknown-freebsd.so.tar.gz
493a49c6ff72382c5ea5c79b01430230cc606174559ee596effe1022d8b665ef libexplorer-v0.10.0-nif-2.15-x86_64-unknown-linux-gnu--legacy_cpu.so.tar.gz
e7ead11dbca060e2f596e34507c304213bdda3ef0f26fc7c0f19db4edfd29b63 libexplorer-v0.10.0-nif-2.15-x86_64-unknown-linux-gnu.so.tar.gz
62e480e536ef9a132bbc542df4a043f52fa6512a2ed8c2c5165ff4cff47b0e07 libexplorer-v0.10.0-nif-2.15-x86_64-unknown-linux-musl.so.tar.gz