Releases: elixir-explorer/explorer
v0.8.2
Added
-
Add functions to work with strings and regexes.
Some of the functions have the prefix "re_", because they accept a string that represents a regular expression.
There is an important detail: we do not accept Elixir regexes, because we cannot guarantee that the backend supports it. Instead we accept a plain string that is "escaped". This means that you can use the
~S
sigil to build that string.
Example:~S/(a|b)/
.The added functions are the following:
-
Explorer.Series.split_into/3
- split a string series into a struct of string fields. This function accepts a string as a separator. -
Explorer.Series.re_contains/2
- check is the string series matches the regex pattern. Like the "non regex" counterpart, it returns a boolean series. -
Explorer.Series.re_replace/3
- replaces all occurences of a pattern with replacement in string series. The replacement can refer to groups captures by using the${x}
, wherex
is the group index (starts with 1) or name. -
Explorer.Series.count_matches/2
- count how many times a substring appears in a string series. -
Explorer.Series.re_count_matches/2
- count how many times a pattern matches in a string series. -
Explorer.Series.re_scan/2
- scan for all matches for the given regex pattern.
This is going to result in a series of lists of strings -{:list, :string}
. -
Explorer.Series.re_named_captures/2
- extract all capture groups as a struct for the given regex pattern. In case the groups are not named, their positions are used as names.
-
-
Enable the usage of system certificates if OTP version 25 or above.
-
Add support for the
:streaming
option inExplorer.DataFrame.to_csv/3
. -
Support operations with groups in the Lazy Polars backend. This change makes the lazy frame implementation more useful, by supporting the usage of groups in following functions:
-
Explorer.DataFrame.slice/3
-
Explorer.DataFrame.head/2
-
Explorer.DataFrame.tail/2
-
Explorer.DataFrame.filter_with/2
and the macro version of it,filter/2
. -
Explorer.DataFrame.sort_with/3
, although it ignores "maintain order" and "nulls last" options when used with groups. -
Explorer.DataFrame.mutate_with/2
and its macro version,mutate/2
.
-
Changed
-
We now avoid raising an exception if a non existent column is used in
Explorer.DataFrame.discard/2
. -
Make the dependency of
cacerts
optional. This is because people using Erlang/OTP 25 or above can use the certificates provided by the system.
So you may need to add the dependency ofcacerts
if your OTP version is older than that. -
Some precision differences in float operations may appear. This is due to an update in the Polars version to "v0.38.1". Polars is our default backend.
Fixed
-
Fix
Explorer.Series.split/2
inside the context ofExplorer.Query
. -
Add optional
X-Amz-Security-Token
header to S3 request. This is needed in case the user is passing down atoken
for authentication. -
Fix
Explorer.DataFrame.sort_by/3
with groups to respect:nils
option.
This is considering only the eager implementation. -
Fix inspection of lazy frames in remote nodes.
Pull requests
- Bump Polars 0.37 by @lkarthee in #861
- DataFrame.discard/2 - don't raise for non existent column by @lkarthee in #872
- Add native expression for Series.split/2 by @H12 in #875
- Bump mio from 0.8.10 to 0.8.11 in /native/explorer by @dependabot in #876
- Implements Series.split_into/3 by @ryancurtin in #873
- Update Polars to v0.38 by @philss in #879
- Add optional
x-amz-security-token
header to S3 request by @jschniper in #881 - Rewrite LazyFrame by @philss in #882
- Update Rustler to v0.32.1 by @philss in #884
- Fix
DF.sort_by/3
with groups to respect:nils
option by @philss in #886 - Update Polars to v0.38.3 by @philss in #887
- Implements
:streaming
option for DataFrame.to_csv/3 by @ryancurtin in #889 - Support operations with groups in the Lazy Polars backend by @philss in #890
- Bump h2 from 0.3.25 to 0.3.26 in /native/explorer by @dependabot in #891
- Revert LazyFrame implementation with stack by @philss in #892
- Refactor eager DF implementation to make use of lazy backend by @philss in #893
- Add
re_contains/2
andre_replace/3
to match with a regex by @philss in #894 - Add
count_matches/2
,re_count_matches/2
,re_scan/2
andre_named_captures/2
toSeries
by @philss in #895 - Add changes to the change log for the upcoming version by @philss in #897
- Update dependencies by @philss in #899
- Pass down backend to lazy series and enable
re_named_captures/2
usage by @philss in #896 - Release v0.8.2 by @philss in #900
New Contributors
- @H12 made their first contribution in #875
- @ryancurtin made their first contribution in #873
- @jschniper made their first contribution in #881
SHA 256 of Artifacts
fd4d7db73577544d1008827502461fbc82644b44879bf4d50b8c7c2f7a04ad1f explorer-v0.8.2-nif-2.15-x86_64-pc-windows-gnu--legacy_cpu.dll.tar.gz
ba9f6afe86d37e52b7481a29e6011cdc834b2c0196ee6b4235497c4a405fe6e3 explorer-v0.8.2-nif-2.15-x86_64-pc-windows-gnu.dll.tar.gz
447e3150ebffa1712ed7b6d56e11dd2369126a92bf5466570e4f36ae46f200b9 explorer-v0.8.2-nif-2.15-x86_64-pc-windows-msvc--legacy_cpu.dll.tar.gz
2032955e04c6632fd4d6d1015f611b7b90a84a405710d49cce46b7b1e1f52b3d explorer-v0.8.2-nif-2.15-x86_64-pc-windows-msvc.dll.tar.gz
9f10c1b25846de37ca2caf271c7728716d5d6783c82e823783ced53cc6a0b4b0 libexplorer-v0.8.2-nif-2.15-aarch64-apple-darwin.so.tar.gz
aceade08eab94230b8f9dc87a5850e5523a7cf7a4222495bf3fa012c4622cd54 libexplorer-v0.8.2-nif-2.15-aarch64-unknown-linux-gnu.so.tar.gz
0f0341d8a0928554ea2c083a653e599fdd406a0675bfc8e615465e6461726508 libexplorer-v0.8.2-nif-2.15-aarch64-unknown-linux-musl.so.tar.gz
63f9ffda8f9dbcacb12a3a522adbde370b78579a23a75183321fb0fa81f0a596 libexplorer-v0.8.2-nif-2.15-x86_64-apple-darwin.so.tar.gz
65793e232a26a91bcfb90867f6392e34228d8f3f23419f500bee47f08c3e8896 libexplorer-v0.8.2-nif-2.15-x86_64-unknown-freebsd--legacy_cpu.so.tar.gz
3b4d5b1d88cfe416a13e3f0f1fdc87dd54dbf78dff7ff40cb1f64aa7652d5b8a libexplorer-v0.8.2-nif-2.15-x86_64-unknown-freebsd.so.tar.gz
3afb057bfecdf86199a9dc380be2f44c44f09ac428d806e7983232ba6f15601b libexplorer-v0.8.2-nif-2.15-x86_64-unknown-linux-gnu--legacy_cpu.so.tar.gz
cfab4552f1f3791e38c6b6ce3d5099fbe88f686ec062ac181ef2b35f3432c1e3 libexplorer-v0.8.2-nif-2.15-x86_64-unknown-linux-gnu.so.tar.gz
7fa4961f08f9278f6b8585d2b4f89d5712ccf222de7a41edb054915d8ec7d50c libexplorer-v0.8.2-nif-2.15-x86_64-unknown-linux-musl.so.tar.gz
Full Changelog: v0.8.1...v0.8.2
v0.8.1
Added
-
Add
Explorer.Series.field/2
to extract a field from a struct series.
It returns a new series with the field's dtype. -
Add
Explorer.Series.json_decode/2
that can decode a string series containing valid JSON objects according todtype
. -
Add eager
count/1
and lazysize/1
toExplorer.Series
. -
Add support for maps as expressions inside
Explorer.Query
. They are "converted" to structs. -
Add
json_path_match/2
to extract a string series from a string containing valid JSON objects.
See the article JSONPath - XPath for JSON for details about JSON paths. -
Add
Explorer.Series.row_index/1
to retrieve the index of rows starting from 0. -
Add support for passing the
:on
column directly (instead of inside a list) inExplorer.DataFrame.join/3
.
Changed
-
Remove some deprecated functions from documentation.
-
Change internal representation of the
:struct
dtype to use list of tuples instead of a map to represent the dtypes of each field. This shouldn't break because we normalise maps to lists when a struct dtype is passed infrom_list/2
orcast/2
. -
Update Rustler minimum version to
~> 0.31
. Since Rustler is optional, this shouldn't affect most of the users.
Fixed
-
Fix float overflow error to avoid crashing the VM, and instead it returns an argument error.
-
Fix
Explorer.DataFrame.print/2
for when the DF contains structs.
Pull requests
- Fix typo by @ahamez in #836
- Fix for Float Overflow resulting in VM Crash by @lkarthee in #837
- add field/2 for extracting field from struct by @lkarthee in #839
- fix DF.print for :struct by @lkarthee in #840
- Add Struct json_decode/3 for decoding json from string by @lkarthee in #841
- Add eager
Series.count/1
and lazySeries.size/1
by @billylanchantin in #844 - remove deprecated funcs from docs by @lkarthee in #845
- Accommodate VSCode users with the rust-analyzer extension by @billylanchantin in #846
- Fix
from_list/2
of list of structs when first is empty by @philss in #849 - Change inner dtypes of structs to tuple lists by @philss in #851
- allow nils along with struct - from_list/2 by @lkarthee in #854
- add support for map as expression by @lkarthee in #855
- Inferred dtype property tests by @billylanchantin in #856
- Check duplicate keys dataframe rename column by @pcapel in #850
- add json_path_match/2 by @lkarthee in #859
- Update Rustler and use new float term type by @filmor in #860
- Series.row_index/1 by @iurimateus in #862
- Wrap join on with list by @pcapel in #866
- Support atom names in Series.field/2 by @philss in #868
- Release v0.8.1 by @philss in #869
New Contributors
- @ahamez made their first contribution in #836
- @pcapel made their first contribution in #850
- @filmor made their first contribution in #860
- @iurimateus made their first contribution in #862
Full Changelog: v0.8.0...v0.8.1
Official Changelog: https://hexdocs.pm/explorer/changelog.html
SHA256 of precompiled artifacts
ce4b06cf51f6213b4e1917e52f73c8a09ef57c5cf5e157409122cdd348d00ee3 explorer-v0.8.1-nif-2.15-x86_64-pc-windows-gnu--legacy_cpu.dll.tar.gz
b78fb84a8847b17dd857213c9aea69622dff0b6b00233f395e9aaf2e3ee9a923 explorer-v0.8.1-nif-2.15-x86_64-pc-windows-gnu.dll.tar.gz
481204194b180b5dd4207cc00909f192a3e8f094f08b8be58bbc5e9e058150cd explorer-v0.8.1-nif-2.15-x86_64-pc-windows-msvc--legacy_cpu.dll.tar.gz
f1a77c0f378582e300f17a85fe391eea6bdd673839fdd52d9bc5988906ba6171 explorer-v0.8.1-nif-2.15-x86_64-pc-windows-msvc.dll.tar.gz
86aec9dd29572a61cd064108b02360161bff3e93e109ec0eb6c3e516cd08a6b4 libexplorer-v0.8.1-nif-2.15-aarch64-apple-darwin.so.tar.gz
a10f4ea3c7c1135b15e4a15186f926eed9c18376d4168442156e7ab9d9678408 libexplorer-v0.8.1-nif-2.15-aarch64-unknown-linux-gnu.so.tar.gz
ac338d49cc96bdd8646c2e98e4eba877a352d02f84b956055d814dc66b884e1f libexplorer-v0.8.1-nif-2.15-aarch64-unknown-linux-musl.so.tar.gz
ffc4d30c9c6802e5be5429b687f599fa4ca7875178468e880a5a6b2bc7f83663 libexplorer-v0.8.1-nif-2.15-x86_64-apple-darwin.so.tar.gz
e7bd3c239fd11db43f5fa822a5d25ce3c1a4569e33b155cdf341dfc20e5488c1 libexplorer-v0.8.1-nif-2.15-x86_64-unknown-freebsd--legacy_cpu.so.tar.gz
dba1128914e97a0edca3d0618ef6617a3eed284fbe6ee9d052b95c674e6eac14 libexplorer-v0.8.1-nif-2.15-x86_64-unknown-freebsd.so.tar.gz
90b8960ce6d57b48002a1ddffaab950a746de24f7c45eab7c89d65a075edeb9d libexplorer-v0.8.1-nif-2.15-x86_64-unknown-linux-gnu--legacy_cpu.so.tar.gz
9480ab502d28b7540cf598115c6aadc6a2d1c61eaaa82ffa60fc2e530b0f1e91 libexplorer-v0.8.1-nif-2.15-x86_64-unknown-linux-gnu.so.tar.gz
c5ffa7c27f6dc44ec31be9eed3d09ff1f3fa9ce4727342af8607160b48d6b686 libexplorer-v0.8.1-nif-2.15-x86_64-unknown-linux-musl.so.tar.gz
v0.8.0
Added
-
Add
explode/2
toExplorer.DataFrame
. This function is useful to expand the contents of a{:list, inner_dtype}
series into a "inner_dtype
" series. -
Add the new series functions
all?/1
andany?/1
, to work with boolean series. -
Add support for the "struct" dtype. This new dtype represents the struct dtype from Polars/Arrow.
-
Add
map/2
andmap_with/2
to theExplorer.Series
module.
This change enables the usage of theExplore.Query
features in a series. -
Add
sort_by/2
andsort_with/2
to theExplorer.Series
module.
This change enables the usage of the lazy computations and theExplorer.Query
module. -
Add
unnest/2
toExplorer.DataFrame
. It works by taking the fields of a "struct" - the new dtype - and transform them into columns. -
Add pairwise correlation -
Explorer.DataFrame.correlation/2
- to calculate the correlation between numeric columns inside a data frame. -
Add pairwise covariance -
Explorer.DataFrame.covariance/2
- to calculate the covariance between numeric columns inside a data frame. -
Add support for more integer dtypes. This change introduces new signed and unsigned integer dtypes:
{:s, 8}
,{:s, 16}
,{:s, 32}
{:u, 8}
,{:u, 16}
,{:u, 32}
,{:u, 64}
.
The existing
:integer
dtype is now represented as{:s, 64}
, and it's still the default dtype for integers. But series and data frames can now work with the new dtypes. Short names for these new dtypes can be used in functions likeExplorer.Series.from_list/2
. For example,{:u, 32}
can be represented with the atom:u32
.This may bring more interoperability with Nx, and with Arrow related things, like ADBC and Parquet.
-
Add
ewm_standard_deviation/2
andewm_variance/2
toExplorer.Series
.
They calculate the "exponentially weighted moving" variance and standard deviation. -
Add support for
:skip_rows_after_header
option for the CSV reader functions. -
Support
{:list, numeric_dtype}
forExplorer.Series.frequencies/1
. -
Support pins in
cond
, inside the context ofExplorer.Query
. -
Introduce the
:null
dtype. This is a special dtype from Polars and Apache Arrow to represent "all null" series. -
Add
Explorer.DataFrame.transpose/2
to transpose a data frame.
Changed
-
Rename the functions related to sorting/arranging of the
Explorer.DataFrame
.
Nowarrange_with
is namedsort_with
, andarrange
issort_by
.The
sort_by/3
is a macro and it is going to work using theExplorer.Query
module. On the other side, thesort_with/2
uses a callback function. -
Remove unnecessary casts to
{:s, 64}
now that we support more integer dtypes.
It affects some functions, like the following in theExplorer.Series
module:argsort
count
rank
day_of_week
,day_of_year
,week_of_year
,month
,year
,hour
,minute
,second
abs
clip
lengths
slice
n_distinct
frequencies
And also some functions from the
Explorer.DataFrame
module:mutate
- mostly because of series changessummarise
- mostly because of series changesslice
Fixed
-
Fix inspection of series and data frames between nodes.
-
Fix cast of
:string
series to{:datetime, any()}
-
Fix mismatched types in
Explorer.Series.pow/2
, making it more consistent. -
Normalize sorting options.
-
Fix functions with dtype mismatching the result from Polars.
This fix is affecting the following functions:quantile/2
in the context of a lazy seriesmode/1
inside a summarisationstrftime/2
in the context of a lazy seriesmutate_with/2
when creating a column from aNaiveDateTime
orExplorer.Duration
.
Pull requests
- Add
DataFrame.explode/2
by @costaraphael in #751 - Add
Series.all?/1
andSeries.any?/1
by @costaraphael in #754 - Add initial support for struct dtype by @costaraphael in #756
- DF.arrange options by @billylanchantin in #755
- Add
Series.map
andSeries.map_with
by @billylanchantin in #757 - Hopefully improves the description of DataFrame.arrange_with() by @kellyfelkins in #760
- Add
DataFrame.unnest/2
by @costaraphael in #758 - Pairwise correlation by @cristineguadelupe in #759
- Pairwise covariance by @cristineguadelupe in #763
- Add
Series.sort_by
andSeries.sort_with
by @billylanchantin in #762 - Enables alternative correlation methods by @cristineguadelupe in #767
- Add more integer dtypes by @philss in #769
- Rank method as atom by @cristineguadelupe in #770
- Normalize sorting options by @billylanchantin in #771
- refactor: s_rank by @cristineguadelupe in #772
- Bump zerocopy from 0.7.26 to 0.7.31 in /native/explorer by @dependabot in #773
- refactor: s_correlation by @cristineguadelupe in #774
- Added Series.ewm_std/2 and Series.ewm_var/2 by @rtvu in #778
- Fixes lint errors introduced in [#778] by @rtvu in #779
- Rename
DataFrame.arrange
asDataFrame.sort
by @billylanchantin in #777 - Support for skip_rows_after_header option in reading csv files by @JonGretar in #782
- Rename
:integer
dtype to{:s, 64}
by @philss in #785 - Support
{:list, numeric_type}
in Series.frequencies/1 by @philss in #788 - Update dependencies by @philss in #789
- Fix inspect between nodes by @Jhonatannunessilva in #784
- Support more integer dtypes in
Series.from_binary/2
by @philss in #790 - Cast string to datetime by @billylanchantin in #795
- Fix
Series.from_tensor/2
to use new integer types by @philss in #799 - Update Polars to v0.36 by @philss in #804
- implement - nil datatype - polar null type column by @lkarthee in #805
- improve error message with possibility of missing ^ operator by @lkarthee in #809
- Implement Series.from_list of null type by @lkarthee in #808
- Add :null tests for data frame from ndjson by @lkarthee in #811
- Update Docs with latest types by @lkarthee in #813
- docs - add :lazy option to DataFrame.new/2 by @lkarthee in #814
- docs - categorize deprecated functions by @lkarthee in #815
- typespec - add :null to dtype by @lkarthee in #817
- add nil expr for summarise and mutate - Py Polars
lit(None)
by @lkarthee in #816 - align describe with py polars by @lkarthee in #819
- add DataFrame.transpose/2 by @lkarthee in #820
- DataFrame.transpose/2 column names length check in elixir by @lkarthee in #823
- Fix up
from_query
docs by @cigrainger in #822 - Support more integer dtypes in Series by @philss in #824
- Fix mismatched types in
Series.pow
by @billylanchantin in #821 - Series.concat handle multiple integer, float and null types by @lkarthee in #812
- Remove unnecessary casts and other fixes by @philss in #825
- fix for Series.concat/2 for null series by @lkarthee in #828
- Fix
DF.concat_rows/2
to consider new numeric dtypes by @philss in #827 - Bump h2 from 0.3.22 to 0.3.24 in /native/explorer by @dependabot in #829
- Improve documentation about encoding option by @Jhonatannunessilva in #793
- Fix functions with result/dtypes mismatch by @philss in #830
- doc update about nils in
Series.from_list/2
by @lkarthee in #832 - Prepare change log for the upcoming v0.8 by @philss in #831
- Release v0.8 by @philss in #834
New Contributors
- @rtvu made their first contribution in https://github.com/elixir-explorer/...
v0.7.2
Added
-
Add the functions
day_of_year/1
andweek_of_year/1
toExplorer.Series
. -
Add
filter/2
- a macro -, andfilter_with/2
toExplorer.Series
.This change enables the usage of queries - using
Explorer.Query
- when
filtering a series. The main difference is that series does not have a
name when used outside a dataframe. So to refer to itself inside the
query, we can use the special_
variable.iex> s = Explorer.Series.from_list([1, 2, 3]) iex> Explorer.Series.filter(s, _ > 2) #Explorer.Series< Polars[1] integer [3] >
-
Add support for the
{:list, any()}
dtype, whereany()
can be any other
valid dtype. This is a recursive dtype, that can represent nested lists.
It's useful to group data together in the same series. -
Add
Explorer.Series.mode/2
to get the most common value(s) of the series. -
Add
split/2
andjoin/2
to theExplorer.Series
module.
These functions are useful to split string series into{:list, :string}
,
or to join parts of a{:list, :string}
and return a:string
series. -
Expose
ddof
option for variance, covariance and standard deviation. -
Add a new
{:f, 32}
dtype to represent 32 bits float series.
It's also possible to use the atom:f32
to create this type of series.
The atom:f64
can be used as an alias for{:f, 64}
, just like the
:float
atom. -
Add
lengths/1
andmember?/2
toExplorer.Series
.
These functions work with{:list, any()}
, whereany()
is any valid dtype.
The idea is to count the members of a "list" series, and check if a given
value is member of a list series, respectively. -
Add support for streaming parquet files from a lazy dataframe to AWS S3
compatible services.
Changed
-
Remove restriction on
pivot_wider
dtypes.
In the early days, Polars only supported numeric dtypes for the "first"
aggregation. This is not true anymore, and we can lift this restriction. -
Change
:float
dtype to be represented as{:f, 64}
. It's still possible
to use the atom:float
to create float series, but nowExplorer.Series.dtype/1
returns{:f, 64}
for float 64 bits series.
Fixed
-
Add missing implementation of
Explorer.Series.replace/3
for lazy series. -
Fix inspection of DFs and series when
limit: :infinity
is used.
Removed
-
Drop support for the
riscv64gc-unknown-linux-gnu
target.We decided to stop precompiling to this target because it's been hard to maintain it.
Ideally we should support it again in the future.
Pull requests
- Add CHANGELOG.md to hex package by @rodrigues in #713
- Add
day_of_year
andweek_of_year
by @billylanchantin in #717 - Enable variant for legacy CPUs, and activate AVX for x86_64 by @philss in #710
- Add replace/3 expressions by @DeemoONeill in #719
- Update Polars to v0.33 by @philss in #721
- Use cross version from source for certain targets by @philss in #722
- Update Polars to v0.34.2 by @philss in #724
- Add
filter
andfilter_with
toSeries
by @billylanchantin in #728 - Remove arg swap hack from
Series.add
by @billylanchantin in #731 - Add initial support to the list dtype by @philss in #725
- Add mode by @cigrainger in #453
- Remove the restriction on pivot_wider dtypes by @cigrainger in #733
- Implement
Series.split/2
&Series.join/2
by @maennchen in #735 - Update Rust nightly to 2023-11-12 by @philss in #734
- Fix DataFrame / Series inspect with
limit: :infinity
by @maennchen in #737 - Doc Code Formatting Fix by @maennchen in #736
- Expose ddof for variance and std dev by @cigrainger in #740
- Change
:float
to{:f, 64}
and add{:f, 32}
dtype by @philss in #739 - Add support for grouping into series by @costaraphael in #741
- Update Polars to v0.35 by @philss in #742
- Add shortcut atoms for float dtypes by @philss in #745
- Add
Series.length/1
andSeries.member?/2
by @costaraphael in #746 - Support streaming parquet from lazy DF to S3 by @philss in #748
- Drop support for RISCV 64 bits Linux target by @philss in #749
- Expose ddof on covariance by @cigrainger in #747
- Prepare for release v0.7.2 by @philss in #750
New Contributors
- @rodrigues made their first contribution in #713
- @maennchen made their first contribution in #735
- @costaraphael made their first contribution in #741
Full Changelog: v0.7.1...v0.7.2
Official Changelog: https://github.com/elixir-explorer/explorer/blob/main/CHANGELOG.md
Checksums
The list below if the SHA256 checksums of the precompiled artifacts.
363e9c8ecd92f2d7ff19cc977ab8fafbed8f5b5f4a9c483d98bb7441b469c5c2 explorer-v0.7.2-nif-2.15-x86_64-pc-windows-gnu--legacy_cpu.dll.tar.gz
abb960b51f56e76d594554c1f7cd082de195a64a04f5795c75ced6126c4b66a5 explorer-v0.7.2-nif-2.15-x86_64-pc-windows-gnu.dll.tar.gz
d9c5e084f22dc2fc3a4ef808e840c192109e4cd919054f0111f7f1e4f52b97b3 explorer-v0.7.2-nif-2.15-x86_64-pc-windows-msvc--legacy_cpu.dll.tar.gz
96a59887aff5e62b4838fb8d7189ac21b7a39bf6caae11985d8e2daea2d99f15 explorer-v0.7.2-nif-2.15-x86_64-pc-windows-msvc.dll.tar.gz
d5e384c292fca48941cd5400cf900fa39117f9cc187bfbc1d252d3a72798cd07 libexplorer-v0.7.2-nif-2.15-aarch64-apple-darwin.so.tar.gz
52c4455faec0c12789ecf2fb287f89b4f8350728092fa9de39ca24d1203d3daa libexplorer-v0.7.2-nif-2.15-aarch64-unknown-linux-gnu.so.tar.gz
3524ebf3c73246eff8d3fb556786f30d063402cc212a83e3abaceae9f2ff86c5 libexplorer-v0.7.2-nif-2.15-aarch64-unknown-linux-musl.so.tar.gz
429ceebb5b7f465c66a6becc1e454ef7383fc58f6cfe081bf71fdd94eb55655b libexplorer-v0.7.2-nif-2.15-x86_64-apple-darwin.so.tar.gz
029bb5fc6e102449260b706655428cd3ef02b36bd74246375e17897c1a26815d libexplorer-v0.7.2-nif-2.15-x86_64-unknown-freebsd--legacy_cpu.so.tar.gz
d2075a364a23fc7911b3099716505d8d0df69af1aab944e527c169a96fa2ef58 libexplorer-v0.7.2-nif-2.15-x86_64-unknown-freebsd.so.tar.gz
86b9e9b671c46cb90d0d4bf7b0f2998e59f8715d6f13fde29f8070ad756da648 libexplorer-v0.7.2-nif-2.15-x86_64-unknown-linux-gnu--legacy_cpu.so.tar.gz
fd4e095fafa0055619a49383bd8680abd6639e3d5fc114dd246e0192bcccb5e8 libexplorer-v0.7.2-nif-2.15-x86_64-unknown-linux-gnu.so.tar.gz
ad3779850c36bf0ff3ca568124da8966cca25ce84912642dc13462cb9ca5a9dd libexplorer-v0.7.2-nif-2.15-x86_64-unknown-linux-musl.so.tar.gz
v0.7.1
Added
-
Add more temporal arithmetic operations. This change makes possible
to mix some datatypes, likedate
,duration
and scalar types like
integers
andfloats
.The following operations are possible now:
date - date
date + duration
date - duration
duration + date
duration * integer
duration * float
duration / integer
duration / float
integer * duration
float * duration
-
Support lazy dataframes on
Explorer.DataFrame.print/2
. -
Add support for strings as the "indexes" of
Explorer.Series.categorise/2
.
This makes possible to categorise a string series with a categories series. -
Introduce
cond/1
support in queries, which enables multi-clause conditions.
Example of usage:iex> df = DF.new(a: [10, 4, 6]) iex> DF.mutate(df, ...> b: ...> cond do ...> a > 9 -> "Exceptional" ...> a > 5 -> "Passed" ...> true -> "Failed" ...> end ...> ) #Explorer.DataFrame< Polars[3 x 2] a integer [10, 4, 6] b string ["Exceptional", "Failed", "Passed"] >
-
Similar to
cond/1
, this version also introduces support for theif/2
andunless/2
macros inside queries. -
Allow the usage of scalar booleans inside queries.
-
Add
Explorer.Series.replace/3
for string series.
This enables the replacement of patterns inside string series.
Deprecated
- Deprecate
Explorer.DataFrame.to_lazy/1
in favor of justlazy/1
.
Fixed
-
Fix the
Explorer.Series.in/2
function to work with series of the
:category
dtype.Now, if both series shares the same categories, we can compare them.
To make sure that a categorical series shares the same categories from
another series, you must create that series using the
Explorer.Series.categorise/2
function. -
Display the dtype of duration series correctly in
Explorer.DataFrame.print/2
.
Pull requests
- Additional temporal arithmetic by @billylanchantin in #696
- Support duration-related Polars fixes in exprs by @billylanchantin in #701
- Deprecate to_lazy as lazy by @josevalim in #700
- Series callbacks accept
out_dtype
as input by @billylanchantin in #703 - Fix
Series.in/2
to work with series of the:category
dtype by @philss in #704 - Display dtype correctly in print by @billylanchantin in #707
- Introduce
cond/1
support in queries by @sasikumar87 in #706 - Allow scalar boolean support in queries by @sasikumar87 in #708
- Introduce replace/3 for string series by @sasikumar87 in #709
- Doc: fix table/2 reference to print/2 by @clm-a in #711
- Update changelog with changes in v0.7.1 by @philss in #712
New Contributors
Full Changelog: v0.7.0...v0.7.1
Official Changelog: https://github.com/elixir-explorer/explorer/blob/main/CHANGELOG.md
SHA256 of compiled artifacts
c723d2185d3d908004d1a88c4a565a2c339598ad61388265415a55a54e1f786a explorer-v0.7.1-nif-2.15-x86_64-pc-windows-gnu.dll.tar.gz
9d5a87706ab5334d13325f8c5ec753dddf700a46a78a42678f596663cc3b4aca explorer-v0.7.1-nif-2.15-x86_64-pc-windows-msvc.dll.tar.gz
e95fa8e787161aab1e3080c59a8fcb3b8e11e8346c4311a64126eb9acb869c5a libexplorer-v0.7.1-nif-2.15-aarch64-apple-darwin.so.tar.gz
3a7d40cabee2f8036ef8bf2ed85b39479fe20d77bb05962f490c979e156671b1 libexplorer-v0.7.1-nif-2.15-aarch64-unknown-linux-gnu.so.tar.gz
4481e50238cbe251ce5d5a89da50a8b6cb05d772098a9404a5067c605a8d49bb libexplorer-v0.7.1-nif-2.15-aarch64-unknown-linux-musl.so.tar.gz
b4760dac6ab2d57f906957de0188bdff2b35595d8a095236f292119a61a85db1 libexplorer-v0.7.1-nif-2.15-riscv64gc-unknown-linux-gnu.so.tar.gz
b37e8ba2fe028dc1c34f54006f467b0493d38d52d2166f0438f29eb7d094b180 libexplorer-v0.7.1-nif-2.15-x86_64-apple-darwin.so.tar.gz
bab7426c2acd61604a793e950b55e8823077bfb6b3a609f3ee6025332170f87f libexplorer-v0.7.1-nif-2.15-x86_64-unknown-freebsd.so.tar.gz
b3e3c8092da7cbdaf0078f556f61f3e6c68ebfb04a2f3f284a99b99f57310024 libexplorer-v0.7.1-nif-2.15-x86_64-unknown-linux-gnu.so.tar.gz
b0cfae969888be5a34079084c2a9b58c056578834526c3c8db41d33fec6a8407 libexplorer-v0.7.1-nif-2.15-x86_64-unknown-linux-musl.so.tar.gz
v0.7.0
Added
-
Enable reads and writes of dataframes from/to external file systems.
It supports HTTP(s) URLs or AWS S3 locations.
This feature introduces the FSS abstraction,
which is also going to be present in newer versions of Kino. This is going to make the integration
of Livebook files with Explorer much easier.The implementation is done differently, depending on which file format is used, and if
it's a read or write. All the writes to AWS S3 are done in the Rust side - using an abstraction
calledCloudWriter
-, and most of the readers are implemented in Elixir, by doing a download
of the files, and then loading the dataframe from it. The only exception is the reads of
parquet files, which are done in Rust, using Polars'scan_parquet
with streaming.We want to give a special thanks to Qqwy / Marten for the
CloudWriter
implementation! -
Add ADBC: Arrow Database Connectivity.
Continuing with improvements in the IO area, we added support for reading dataframes from
databases using ADBC, which is similar in idea to ODBC, but integrates much better with
Apache Arrow, that is the backbone of Polars - our backend today.The function
Explorer.DataFrame.from_query/1
is the entrypoint for this feature, and it
allows quering databases like PostgreSQL, SQLite and Snowflake.Check the Elixir ADBC bindings docs for more information.
For the this feature, we had a fundamental contribution from Cocoa
in the ADBC bindings, so we want to say a special thanks to her!We want to thank the people that joined José in his live streamings on Twitch,
and helped to build this feature! -
Add the following functions to
Explorer.Series
: -
Add duration dtypes. This is adds the following dtypes:
{:duration, :nanosecond}
{:duration, :microsecond}
{:duration, :millisecond}
This feature was a great contribution from Billy Lanchantin,
and we want to thank him for this!
Changed
-
Return exception structs instead of strings for all IO operation errors, and for anything
that returns an error from the NIF integration.This change makes easier to define which type of error we want to raise.
-
Update Polars to v0.32.
With that we made some minor API changes, like changing some options for
cut/qcut
operations
in theExplorer.Series
module. -
Use
nil_values
instead ofnull_character
for IO operations. -
Never expect
nil
for CSV IO dtypes. -
Rename
Explorer.DataFrame.table/2
toExplorer.DataFrame.print/2
. -
Change
:datetime
dtype to be{:datetime, time_unit}
, where time unit can be
the following::millisecond
:microsecond
:nanosecond
-
Rename the following
Series
functions:trim/1
tostrip/2
trim_leading/1
tolstrip/2
trim_trailing/1
torstrip/2
These functions now support a string argument.
Fixed
-
Fix warnings for the upcoming Elixir v1.16.
-
Fix
Explorer.Series.abs/1
type specs. -
Allow comparison of strings with categories.
-
Fix
Explorer.Series.is_nan/1
inside the context ofExplorer.Query
.
The NIF function was not being exported.
Pull requests
- Starting FSS abstraction by @philss in #645
- ADBC support in from_query by @josevalim in #648
- Add FSS abstraction to remaining
from_*
IO functions by @philss in #649 - Fix citation for UCI datasets (wine and iris) by @firefly-cpp in #650
- Bump arrow2 version by @sasikumar87 in #654
- Return exception instead of string by @Jhonatannunessilva in #651
- Update polars to v0.30 by @sasikumar87 in #656
- Update Polars to v0.31 by @philss in #659
- Read parquet files from AWS S3 by @philss in #652
- Add necessary cargo features by @philss in #661
- Normalise IO write functions with FSS entry by @philss in #662
- implement trim/2 by @DeemoONeill in #664
- Example to dump a dataframe in CSV format to a S3-compatible object store by @Qqwy in #653
- Write parquet from eager dataframe to S3 by @philss in #665
- Add Series.window_median by @spatchkaa in #670
- Use
nil_values
instead ofnull_character
in IO operations by @cnpryer in #667 - Add remaining write operations to AWS S3 by @philss in #671
- Never expect
nil
for CSV IOdtypes
by @cnpryer in #672 - implement slice_string/3 by @DeemoONeill in #669
- Rename trim functions by @DeemoONeill in #674
- Change :datetime dtype to be {:datetime, time_unit} by @sasikumar87 in #675
- Correct typo in Series by @pgeraghty in #676
- Make download of CSV files from S3 work for "DF.from_csv/2" by @philss in #677
- Read parquet from AWS S3 - more formats by @philss in #678
- Read files from HTTP by @philss in #679
- Use FSS as a dependency by @philss in #681
- Bump rustls-webpki from 0.101.1 to 0.101.4 in /native/explorer by @dependabot in #684
- Return errors as exceptions by @josevalim in #686
- Fix FSS.S3 support when bucket is not provided by @philss in #682
- Return errors as exception structs for FSS integration by @philss in #688
- Add duration datatypes by @billylanchantin in #683
- Convert numeric values to series early by @josevalim in #685
- Mention boolean series and how they can be used by @kellyfelkins in #692
- Fixes a documentation typo by @kellyfelkins in #693
- Prepare for the v0.7 release by @philss in #695
New Contributors
- @firefly-cpp made their first contribution in #650
- @DeemoONeill made their first contribution in #664
- @Qqwy made their first contribution in #653
- @spatchkaa made their first contribution in #670
- @cnpryer made their first contribution in #667
- @dependabot made their first contribution in #684
- @billylanchantin made their first contribution in #683
- @kellyfelkins made their first contribution in #692
Full Diff: v0.6.1...v0.7.0
Changelog: https://github.com/elixir-explorer/explorer/blob/main/CHANGELOG.md
SHA256 checksums
a4629f950187fd20f4b0efa0164e8e9e20b5799312688e4ce7d82c46e28dfbaa explorer-v0.7.0-nif-2.15-x86_64-pc-windows-gnu.dll.tar.gz
9028f61dcde0e3d95ca886463d78cdaf0d749a319f0c721a11321947f86017d7 explorer-v0.7.0-nif-2.15-x86_64-pc-windows-msvc.dll.tar.gz
5a244343ad99310267531c7848c9f261944064770e90748c22c0dd17fa12867a libexplorer-v0.7.0-nif-2.15-aarch64-apple-darwin.so.tar.gz
a72dae3b58b11d73a47f3a92137b53494e52b1454c413e9ec3877d4eb7d9e406 libexplorer-v0.7.0-nif-2.15-aarch64-unknown-linux-gnu.so.tar.gz
c87661de40d2447d90c7962dd61da98481f9cf9fa75a923e8699a216d0786a18 libexplorer-v0.7.0-nif-2.15-aarch64-unknown-linux-musl.so.tar.gz
0c5e602fb5e2680b916c07cb6615812e15e6f9fe28b361866341f8b4fd5cffe7 libexplorer-v0.7.0-nif-2.15-riscv64gc-unknown-linux-gnu.so.tar.gz
02f1638a7309133a72f8079560b06223ffd2d266dece3ddfe25ec0646ddfa23d libexplorer-v0.7.0-nif-2.15-x86_64-apple-darwin.so.tar.gz
64bfae13b65e18b29a891820930ebbfac56abba01cf5b515b1fe11cf8019820b libexplorer-v0.7.0-nif-2.15-x86_64-unknown-freebsd.so.tar.gz
f0296c139c68fa818f61bbc37c5cf293a4fc09bbd4ccf1d942e8566e89146c51 libexplorer-v0.7.0-nif-2.15-x86_64-unknown-linux-gnu.so.tar.gz
d2105e54fa5ab677b9b2e4313371108a9a2df355af659a73c486a55111fd29b4 libexplorer-v0.7.0-nif-2.15-x86_64-unknown-linux-musl.so.tar.gz
v0.6.1
Pull requests
Full Changelog: v0.6.0...v0.6.1
SHA256 checksums
b729745ff7d1d8e1d924777ea1e241714772e744fe582c4a71cbe06cd6f66be5 explorer-v0.6.1-nif-2.15-x86_64-pc-windows-gnu.dll.tar.gz
15b9741f5ea3a87c0f90e7ec01f388468698dd91ea4d99ada922e6023158116b explorer-v0.6.1-nif-2.15-x86_64-pc-windows-msvc.dll.tar.gz
fbf4560fe7a1ca50d12157d276f999de5ee751dd42ede63a4713599e17838e70 explorer-v0.6.1-nif-2.16-x86_64-pc-windows-gnu.dll.tar.gz
2b1d35ae26113b036fd6677f453eef0339f1fcee19b6576781d98fedcab66bb6 explorer-v0.6.1-nif-2.16-x86_64-pc-windows-msvc.dll.tar.gz
84e1d11769ae3b16d932fc172f2a22055aba801907d819d13e95e58b3792806c libexplorer-v0.6.1-nif-2.15-aarch64-apple-darwin.so.tar.gz
7f9e43ef1cdd1552daa236b47323ac89b7885e4cd018eac011ad5e45ae926bac libexplorer-v0.6.1-nif-2.15-aarch64-unknown-linux-gnu.so.tar.gz
3437c18d1a05d5fefb90c8f0571f2d28614d6da231aa50fa3c13d9d5e53e6509 libexplorer-v0.6.1-nif-2.15-aarch64-unknown-linux-musl.so.tar.gz
6546adc4b5a7492cc8bccd030c5d8dec4adcca6453bf173e99ae4927e6d733c1 libexplorer-v0.6.1-nif-2.15-riscv64gc-unknown-linux-gnu.so.tar.gz
3b91670ecce69a448ee31b8702d6ca9e465a5385301bd6191f17c3ae11874e01 libexplorer-v0.6.1-nif-2.15-x86_64-apple-darwin.so.tar.gz
09308e02dbaa2c503adffc14559444519e09ac9497d1ac27500affc96deb4054 libexplorer-v0.6.1-nif-2.15-x86_64-unknown-freebsd.so.tar.gz
d9d2b2d8954e252a5f6fb913fa00bd1d29692837f3a86d47bd281a234c71f865 libexplorer-v0.6.1-nif-2.15-x86_64-unknown-linux-gnu.so.tar.gz
88d30f7cbf4e22f24bc2fad17ebcc081512167a8f3d54d4e44d9b779e203c8d4 libexplorer-v0.6.1-nif-2.15-x86_64-unknown-linux-musl.so.tar.gz
efa5823abd23862769ca783dbbe9e09bc419f2654661b476c365e8ad8c0ee90d libexplorer-v0.6.1-nif-2.16-aarch64-apple-darwin.so.tar.gz
486fa69c4433694757ea69bef6b575585b95534eb656cd82d4fd664a8229f06f libexplorer-v0.6.1-nif-2.16-aarch64-unknown-linux-gnu.so.tar.gz
d6f0440232a1eb1cbb4bdd2b5d56c3232f2769d3f606286869d6f46986b711aa libexplorer-v0.6.1-nif-2.16-aarch64-unknown-linux-musl.so.tar.gz
239c4b4c6f874f6d7164cb163befb81e8db32c6fd6786a9afa9240ec027bc518 libexplorer-v0.6.1-nif-2.16-riscv64gc-unknown-linux-gnu.so.tar.gz
27effed7647d4bf4ddafb4a9d085b2a093ef6716c05059d283c4f23de664a47d libexplorer-v0.6.1-nif-2.16-x86_64-apple-darwin.so.tar.gz
a161fa131c4bd36c82678a27937534f17cbc4ec4090765e43a5d3582acfcc38b libexplorer-v0.6.1-nif-2.16-x86_64-unknown-freebsd.so.tar.gz
b27e4f3e1690ec276ae876ceb7dd915d49164938dff937f3dc58a11bb5be5e5f libexplorer-v0.6.1-nif-2.16-x86_64-unknown-linux-gnu.so.tar.gz
f48eb89af6a9a16e38704cc26be223f445cffbbf02faff0bfcacffc085fcc2b5 libexplorer-v0.6.1-nif-2.16-x86_64-unknown-linux-musl.so.tar.gz
v0.6.0
This version is exciting because it has the addition of a bunch of functions, thanks to the contributors! 💜
Shout out to those who made fixes and docs improvements as well!
Added
-
Add support for OTP 26 and Elixir 1.15.
-
Allow
Explorer.DataFrame.summarise/2
to work without groups.
The aggregations can work considering the entire dataframe. -
Add the following series functions:
product/1
,cummulative_product/1
,abs/1
,
skew/2
,window_standard_deviation/3
,rank/2
,year/1
,mounth/1
,day/1
,
hour/1
,minute/1
,second/1
,strptime/2
,strftime/2
,argmin/1
,argmax/1
,
cut/3
,qcut/3
,correlation/3
,covariance/2
andclip/3
.They cover a lot in terms of functionality, so please check the
Explorer.Series
docs for further details. -
Add
Explorer.DataFrame.nil_count/1
that counts the number of nil elements in each
column. -
Add
Explorer.DataFrame.frequencies/2
that creates a new dataframe with unique rows
and the frequencies of each. -
Add
Explorer.DataFrame.relocate/3
that enables changing order of columns from a df. -
Add precompiled NIFs for FreeBSD.
-
Support scalar values in the
on_true
andon_false
arguments ofExplore.Series.select/3
.
Fixed
-
Fix
Series.day_of_week/1
andSeries.round/2
for operations using a lazy frame. -
Fix upcasted date to datetime for literal expressions. It allows to use scalar dates
in expressions like this:DF.mutate(a: ~D[2023-01-01])
. This also fixes the support
for naive datetimes. -
Improve error messages returned from the NIF to be always strings. Now we add more
context to the string returned, instead of having{:context, error_message}
. -
Fix the
:infer_schema_length
option ofExplorer.DataFrame.from_csv/2
when passingnil
.
Now it's possible to take into account the entire file to infer the schema.
Deprecated
- Deprecate
Explorer.Series.to_date/1
andExplorer.Series.to_time/1
in favor of
usingExplorer.Series.cast(s, :date)
andExplorer.Series.cast(s, :time)
respectively.
Pull requests
- Fix representation of time series from us to ns by @philss in #596
- Update Polars to v0.29 by @philss in #595
- Fix typo in docs by @axelclark in #597
- Add support for OTP 26 by @philss in #599
- Fix infer_schema_length: nil option by @awerment in #600
- Allow summarize to work without groups by @philss in #601
- Update lib/explorer/data_frame.ex by @wojtekmach in #602
- Run tests on CI using OTP 26 and Elixir 1.15 rc1 by @philss in #604
- Improve caching on CI workflows by @philss in #605
- Change compression backend for Polars by @philss in #606
- Install CMake before building for RISC-V using Cross by @philss in #607
- add product function to Series by @guarilha in #610
- Add cumulative product to Series by @guarilha in #611
- add Series.abs/1 by @guarilha in #612
- Traverse categories once and reuse terms in categorial series by @thehabbos007 in #615
- Add Series.skew/2 by @guarilha in #614
- Improve flake.nix by @viniciusmuller in #616
- Implement
relocate
inspired by dplyr by @thehabbos007 in #619 - Add lazy data frame test case for
relocate
by @thehabbos007 in #620 - add window standard deviation (rolling_std) to Series by @guarilha in #622
- Update the way Rust returns errors by @Jhonatannunessilva in #623
- Add rank to Series by @guarilha in #621
- Add precompiled NIFs for freebsd by @maltekrupa in #618
- More date/datetime operations on Series by @guarilha in #624
- Add Series.strptime/2 by @anthony-khong in #626
- add Series.strftime/2 by @anthony-khong in #627
- add Series.argmin/1 and Series.argmax/1 by @anthony-khong in #628
- add Series.cut/6 and Series.qcut/6 by @anthony-khong in #629
- fix Series.round/2 when used in expressions by @anthony-khong in #631
- add Series.corr/3 and Series.cov/2 by @anthony-khong in #630
- force chunk in
concat_rows
by @anthony-khong in #632 - add DataFrame.nil_count/1 by @anthony-khong in #634
- add DataFrame.frequencies/2 by @anthony-khong in #637
- support scalars in Series.select/3 by @anthony-khong in #638
- add Series.clip/3 by @anthony-khong in #633
- fix upcasted date to datetime for literal expressions by @anthony-khong in #640
- Prepare for v0.6.0 by @philss in #641
New Contributors
- @axelclark made their first contribution in #597
- @awerment made their first contribution in #600
- @wojtekmach made their first contribution in #602
- @guarilha made their first contribution in #610
- @viniciusmuller made their first contribution in #616
- @maltekrupa made their first contribution in #618
- @anthony-khong made their first contribution in #626
Full Changelog: v0.5.7...v0.6.0
SHA256 checksums
cf620a8cac143aa48c48a1cea9018afcdd62111718ac8ab245f57cc932ad6947 explorer-v0.6.0-nif-2.15-x86_64-pc-windows-gnu.dll.tar.gz
8d1e9fbca29804e36e3bae1c8a2cdf630d23df779caa2bedee405d41b247df51 explorer-v0.6.0-nif-2.15-x86_64-pc-windows-msvc.dll.tar.gz
73e745ec45ff8a95a6019db89487e8a8f69211129df6c8da353719f9ebe90ff7 explorer-v0.6.0-nif-2.16-x86_64-pc-windows-gnu.dll.tar.gz
9580e6530e27c708e1dd8286540eb8dda7567a7b2de39c2994af4f4a77b2a499 explorer-v0.6.0-nif-2.16-x86_64-pc-windows-msvc.dll.tar.gz
f87c135150b744904f6a523f304b84cbd84ede35ce980f228bbef03a398cff3a libexplorer-v0.6.0-nif-2.15-aarch64-apple-darwin.so.tar.gz
9f0ca351c674b51cccb943fef44f1020073577a213d8461f61ae120c31c48b77 libexplorer-v0.6.0-nif-2.15-aarch64-unknown-linux-gnu.so.tar.gz
3a5bfa73558b149bf61f85904910eb5fdcc8f98ee2f3a69b23aaebb3ed5f31bc libexplorer-v0.6.0-nif-2.15-aarch64-unknown-linux-musl.so.tar.gz
0692103eacbcca1c12e20e5319b6877695161d5fe3e2c204efa6bee8bb5304dc libexplorer-v0.6.0-nif-2.15-riscv64gc-unknown-linux-gnu.so.tar.gz
367806fe3c4d5e9b7a5ef162371df26c9e67beb2753ef9ef14ca0b59fa2b223a libexplorer-v0.6.0-nif-2.15-x86_64-apple-darwin.so.tar.gz
9c56b63b2b9ef5afa6224a5b4a8c6268c4f48b065fbd5112a91d341a33e287df libexplorer-v0.6.0-nif-2.15-x86_64-unknown-freebsd.so.tar.gz
530a4e1a003753002bff73dd76aca7327d560079a6b91d3ede3a5db229be3c15 libexplorer-v0.6.0-nif-2.15-x86_64-unknown-linux-gnu.so.tar.gz
8e57eb68f43fb018598d7a5122fa6063e486a344cc9894eeed36f66cb1090997 libexplorer-v0.6.0-nif-2.15-x86_64-unknown-linux-musl.so.tar.gz
4e39170ded7cf943bf2089f42ee4064b691b8f1a6abc55e4ee44626a8d2fc69c libexplorer-v0.6.0-nif-2.16-aarch64-apple-darwin.so.tar.gz
e1ee68da99d23f180cf4bca8d13b27be4b7f81581414250da337aa0295eae7ea libexplorer-v0.6.0-nif-2.16-aarch64-unknown-linux-gnu.so.tar.gz
67fd7f203dd5ad97b4f5cd130418fb2de6183d323eda43d2f79294713d73c83c libexplorer-v0.6.0-nif-2.16-aarch64-unknown-linux-musl.so.tar.gz
23bade9a0694580789a2a832fb89493d0abbd8a7df5b1db17094118c007dc7d9 libexplorer-v0.6.0-nif-2.16-riscv64gc-unknown-linux-gnu.so.tar.gz
bc316e931290508a26a954a721fc125cacb2b5b0d46b86bde853bb470a508fa2 libexplorer-v0.6.0-nif-2.16-x86_64-apple-darwin.so.tar.gz
1f156097b969560cee6e988a21d20e3f2bc42827c4ca13b75b63ecf015fac43b libexplorer-v0.6.0-nif-2.16-x86_64-unknown-freebsd.so.tar.gz
67d17cd38c0969cff40ddb2950eeec4c5b1cbbd5dc209302834723a4916c18c7 libexplorer-v0.6.0-nif-2.16-x86_64-unknown-linux-gnu.so.tar.gz
ae67e919e2bcb49bbe1229e35a9a4aa266b7c873cf122413d947384b08adba91 libexplorer-v0.6.0-nif-2.16-x86_64-unknown-linux-musl.so.tar.gz
v0.5.7
Changes
Added
-
Allow
Explorer.Series.select/3
to receive series of size 1 in both sides. -
Add trigonometric functions
sin/1
,cos/1
,tan/1
,asin/1
,acos/1
and
atan/1
toExplorer.Series
. -
Add
Explorer.DataFrame.to_rows_stream/2
function. This is useful to traverse
dataframes with large series, but is not recommended since it can be an expensive
operation. -
Add LazyFrame version of
Explorer.DataFrame.to_ipc/3
. -
Add options to control streaming when writing lazy dataframes. Now users can
toggle streaming for theto_ipc/3
andto_parquet/3
functions. -
Add
Explorer.DataFrame.from_ipc_stream/2
lazy, but using the eager implementation
underneath. -
Add option to control the end of line (EOF) char when reading CSV files.
We call this new option:eol_delimiter
, and it's available for thefrom_csv/2
andload_csv/2
functions in theExplorer.DataFrame
module. -
Allow
Explorer.DataFrame.pivot_wider/4
to use category fields.
Fixed
-
Fix
nif_not_loaded
error whenExplorer.Series.ewm_mean/2
is called from query. -
Type check arguments for boolean series operations, only allowing series of
theboolean
dtype. -
Do not use
../0
in order to keep compatible with Elixir 1.13
Removed
- Temporarely remove support for ARM 32 bits computers in the precompilation
workflow.
Pull requests
- Fix
nif_not_loaded
error whenSeries.ewm_mean/2
is called from query by @sasikumar87 in #557 - Allow
Series.select/3
on_true and on_false both to receive series of size 1 by @sasikumar87 in #556 - Add Trigonometric functions
Series.sin/1
,Series.cos/1
andSeries.tan/1
by @sasikumar87 in #558 - Add Trigonometric functions
Series.asin/1
,Series.acos/1
andSeries.atan/1
by @sasikumar87 in #560 - sin/1, cos/1 and tan/1 doesn't support integer dtype by @sasikumar87 in #561
- Type check arguments for boolean series operations by @sasikumar87 in #564
- Update Polars to v0.28 by @philss in #570
- add Explorer.DataFrame.to_rows_stream method by @mlineen in #571
- Fix typo/phrasing in Series documentation by @pgeraghty in #574
- Add LazyFrame version of to_ipc/3 (#499) by @treebee in #579
- Update rustler to v0.28.0 by @philss in #580
- Add options to control streaming when writing lazy DF by @philss in #582
- Implement
from_ipc_stream/2
lazy, but using eager backend by @philss in #583 - End of Line For CSV Loading/Parsing by @jeregrine in #578
- add_rust_version_to_readme by @dkuku in #587
- Allow pivot_wider to use category fields by @dkuku in #586
- Add change log since version 0.5.6 by @philss in #592
- Disable precompilation for ARM 32 bits by @philss in #593
- Release v0.5.7 by @philss in #594
New Contributors
- @treebee made their first contribution in #579
- @jeregrine made their first contribution in #578
Full Changelog: v0.5.6...v0.5.7
Official Changelog: https://github.com/elixir-nx/explorer/blob/main/CHANGELOG.md
SHA256 checksums
d38cc2b39c0a5c80de012844f7b3e7f2b161986805150ef5d3b8f8b2c3d25c7e explorer-v0.5.7-nif-2.15-x86_64-pc-windows-gnu.dll.tar.gz
46dea7fc2da132d24f923b5bbff19321800539746f9573ba8274da50383f244c explorer-v0.5.7-nif-2.15-x86_64-pc-windows-msvc.dll.tar.gz
3e61118acaf116cc83e7cd571f8c60805ae319a50d156c64740e013f8443b34d explorer-v0.5.7-nif-2.16-x86_64-pc-windows-gnu.dll.tar.gz
08722e26b48c0f84777640cec8953e50a02e171dec8b5b4409df34a0e6767d9e explorer-v0.5.7-nif-2.16-x86_64-pc-windows-msvc.dll.tar.gz
11663b85bff09973f39650aa82e67e563fca6c69163ccd95569262a73f44ce43 libexplorer-v0.5.7-nif-2.15-aarch64-apple-darwin.so.tar.gz
f576bd5dde67d29288bda52a8a5b360eec90abc1500f118c64bbbda1a02905d4 libexplorer-v0.5.7-nif-2.15-aarch64-unknown-linux-gnu.so.tar.gz
62254d43e442dc3d394526809204244b465234d9cad15fd1ff41a8671b241307 libexplorer-v0.5.7-nif-2.15-aarch64-unknown-linux-musl.so.tar.gz
dfdfc3556e49f1e2319e4b819649f351e41d0e42ae20a673db41b17adccbe2fe libexplorer-v0.5.7-nif-2.15-riscv64gc-unknown-linux-gnu.so.tar.gz
b5194dc9778a6aadd96db334476bffe5a86d750863e144c42050ac0f344b2f29 libexplorer-v0.5.7-nif-2.15-x86_64-apple-darwin.so.tar.gz
a0d9a0c1dbb8999c9259005ea27efb12ea4e06d9591ca5252ed1bc703eedb081 libexplorer-v0.5.7-nif-2.15-x86_64-unknown-linux-gnu.so.tar.gz
6e9e07a1c3573d7c6be51a81a3285309b14a1fbd5491c4c77e1e6cd01cd90493 libexplorer-v0.5.7-nif-2.15-x86_64-unknown-linux-musl.so.tar.gz
4f03fcf97dc132930e7e80817c62525c2b6168847b2808b9d43c3c6b89216d86 libexplorer-v0.5.7-nif-2.16-aarch64-apple-darwin.so.tar.gz
365e53374bab6cb9b915d1d53057aaccb3e9c1f3052460f2a38b9ec63444a7ab libexplorer-v0.5.7-nif-2.16-aarch64-unknown-linux-gnu.so.tar.gz
0ccfefbc578a33a031e6230fc0805ca935d52e810762f9b1f288259ed0504e4b libexplorer-v0.5.7-nif-2.16-aarch64-unknown-linux-musl.so.tar.gz
3b8b7e081d755662db1e82c84966399aa5526f5072341243afa8b191b40f2102 libexplorer-v0.5.7-nif-2.16-riscv64gc-unknown-linux-gnu.so.tar.gz
57d2f36009fd384618aebc73e2bfb21bd07adce32dd4399b7575b1dc0f58ba73 libexplorer-v0.5.7-nif-2.16-x86_64-apple-darwin.so.tar.gz
54cf0e3bbff4f5d68ec26e28f78fa90d30b1edb91aa9c7eb2e63e862c0236aab libexplorer-v0.5.7-nif-2.16-x86_64-unknown-linux-gnu.so.tar.gz
086fd86ca4821c5f03d376c5452657abd0767a25c0b135396f19da3b6319ac1f libexplorer-v0.5.7-nif-2.16-x86_64-unknown-linux-musl.so.tar.gz
v0.5.6
Added
- Add the following functions to the
Explorer.Series
module:log/1
,log/2
andexp/1
. They compute the logarithm and exponential of a series.
Fixed
-
Allow
Explorer.Series.select/3
to receive series of size 1 for both theon_true
andon_false
arguments. -
Fix the encoding of special float values that may return from some series functions. This is going to encode the atoms for NaN and infinity values.
Pull requests
- Allow
Series.select/3
on_true or on_false to receive series of size 1 by @sasikumar87 in #547 - Add log/2 and exponential/1 to Series by @philss in #549
- Fix encoding of special float values for Series by @philss in #551
- Prepare release of v0.5.6 by @philss in #552
Full Changelog: v0.5.5...v0.5.6
Official Changelog: https://hexdocs.pm/explorer/changelog.html
Checksums
Here is the list of SHA256 checksums:
3328344386534d7a570b4ef273aaff258f52dce45aaef30eed0c99624561d032 explorer-v0.5.6-nif-2.15-x86_64-pc-windows-gnu.dll.tar.gz
869b73701f1c7081b621a43f4ccaa1e05f6f3c863c35c7e8fb55787f4c89d194 explorer-v0.5.6-nif-2.15-x86_64-pc-windows-msvc.dll.tar.gz
51889f3e52f62f7cf86dd0033593443235d630124e4e2e04096b0171265fa973 explorer-v0.5.6-nif-2.16-x86_64-pc-windows-gnu.dll.tar.gz
9b353e3732c6845e6a3f182fe0b0f38ed5886a6656d7ff2f59ad986540b795ea explorer-v0.5.6-nif-2.16-x86_64-pc-windows-msvc.dll.tar.gz
f023d69f78e02f1dddf53ad4ebf808a55bc04c4cc7f9fbab65a550af2cadf32b libexplorer-v0.5.6-nif-2.15-aarch64-apple-darwin.so.tar.gz
192da93513030e6b986b24aa4ff840294d50b58fea20a5c0aa0c6088e9df29dc libexplorer-v0.5.6-nif-2.15-aarch64-unknown-linux-gnu.so.tar.gz
fcfc1280e75bba261608d005ceb801408073d9a27e68cd76c338e2b2d192da77 libexplorer-v0.5.6-nif-2.15-aarch64-unknown-linux-musl.so.tar.gz
80b51a309b55c2794eeefa9e7eda728ac3c1549107cd1ca11faba7661e46f1c5 libexplorer-v0.5.6-nif-2.15-arm-unknown-linux-gnueabihf.so.tar.gz
6b52012bbdc58efdfa0b60b53695bffff07c0aee9e2f1440d88ed4e996fa1a19 libexplorer-v0.5.6-nif-2.15-riscv64gc-unknown-linux-gnu.so.tar.gz
3660dea85d01a82589c302522b842c020635eb5974efe6081bbb0cb0483d67d9 libexplorer-v0.5.6-nif-2.15-x86_64-apple-darwin.so.tar.gz
6bb5fbeca7e2745d6081ce9ba0c649470a039c2f0cb0a892fb3902e740881817 libexplorer-v0.5.6-nif-2.15-x86_64-unknown-linux-gnu.so.tar.gz
2ed7e6b685bff7c855e416f00ac73ad246ddea8961e46a9fb8f49f5235ccb081 libexplorer-v0.5.6-nif-2.15-x86_64-unknown-linux-musl.so.tar.gz
659d6f1e370beb4674a54d6c1f5c26144c43c07ecc1f7e244eb575b8e9fcd3b4 libexplorer-v0.5.6-nif-2.16-aarch64-apple-darwin.so.tar.gz
841632998efe174b22517be8e2cd46a5ddafb88a5cb4862460190ef551bd1e60 libexplorer-v0.5.6-nif-2.16-aarch64-unknown-linux-gnu.so.tar.gz
f988fd0221f8caa8d924d9f211ad38752d8fcd1a22b401e253dab930d6b000fb libexplorer-v0.5.6-nif-2.16-aarch64-unknown-linux-musl.so.tar.gz
5989c06d09aeffe5be68f2ea7bb6173dda8e86b82b1c95c2c9b4c4368cfbde1c libexplorer-v0.5.6-nif-2.16-arm-unknown-linux-gnueabihf.so.tar.gz
61711068adce0647978893d09a0a0084902762975aa6422d1c74b07cd3446e8a libexplorer-v0.5.6-nif-2.16-riscv64gc-unknown-linux-gnu.so.tar.gz
4247459e3f31296ffeebf78b820111dbd6c228c67884aaa62f008a049614b2e0 libexplorer-v0.5.6-nif-2.16-x86_64-apple-darwin.so.tar.gz
8daf3b5b49d2a61e534e08ff22f3c86abd3c2b736f064003c1a6bc814a6914aa libexplorer-v0.5.6-nif-2.16-x86_64-unknown-linux-gnu.so.tar.gz
e5af36a44c9e74833543d256de025ce4412b3a4128ac09940a7f6b5122bf010f libexplorer-v0.5.6-nif-2.16-x86_64-unknown-linux-musl.so.tar.gz