Releases: devsgnr/breadroll
0.5.1
0.5.0
breadroll is now in public beta. We are super excited to see breadroll in the wild and even more excited to see contribution from the future breadroll community. So many thing are packed into the new breadroll. We have leveraged TypeScript's static typing to prevent data-related runtime errors, improved developer experience, improved API design, and added a few more powerful methods.
-
A brand new parser experience utilizing mafintosh/csv-parser via sindresorhus/neat-csv see the former for the default behavior of the parser.
-
Now breadroll Dataframes have types; assign types by using the
.open
methods like so;Breadroll.open.local<T>()
or directly like so;new Dataframe<T>()
-
We added more methods to the Dataframe class
.concat
.merge
.shape
.tail
.toNumber
-
We modified the
Breadroll.open
methods to have a dedicated seperator or delimiter function parameter, this way we reduce the number of instances need to open multiple file with different formats; eg.Breadroll.open.local<T>("./path/to/file.csv", ",")
.This simply means we've moved the delimiter from
Breadroll.DataframeReadOptions
to each individual method. -
breadroll being in public beta means you get to build the future of breadroll, want to fix a bug, request a feature, improve testing; now is the time - take a quick glance on how to get started with contributing to breadroll
-
67 🌠 stars on GitHub, thank you so much for the support - help breadroll rise even higher, drop a star.
-
Closed first issue raised by @itsyoboieltr
v0.4.0
In breadroll's new version 0.4.0 a lot of new shiny features are introduced, Here are the cool new features
- Improvements to the
Breadroll
and theDataframe
API - Introduction of a new remote data source
- Changed filter keywords in favor of symbols over length words
- A snazzy new way to perform data transformation
- Introuducing
NumericConstants
- a collection of mathematical and physical constants - breadroll hit 35 🌠 stars on GitHub - help breadroll rise higher, drop a ⭐ star.
API Improvements
The Breadroll
& Dataframe
APIs got a little face lift, with two major addition to the Breadroll
API and a few more others to the Dataframe
API. We can now opt out of parsing numbers, retrieve files from Supabase Storage, now headers (labels) maintain case-sensitivity, and we can now perform data transformation on a specified column of the dataframe
Symbol-based Filter Keywords
The use of symbols as keyword ensures less verbosity; most of the filter keywords have been replaced with symbols; "eqauls"
is now "=="
.
Numeric Constants
In addition to having the ability to perform data transformation, the numeric constant object provides mathematical (math
) and physical (physical
) constants. These two can be nicely paired to make cool data transformation, most especially with scientific datasets. These values are double-precision 64-bit binary format IEEE 754 value, which have ±15 decimal digits of precision. The physical
constant are provided in their standard SI units.
0.3.7-alpha
What's Changed
In breadroll's new version 0.3.7-alpha two new features are introduced, Here are the cool new features
- Regex filter using
"matches"
keyword - Integer-based indexing / selection
Regex filter
Introducing Regex filter with the keyword "matches"
for performing complex queries like matching certain patterns in a String
, this uses the matches
keyword and takes in a RegExp
. We recommend using this filter when a trade off on time is acceptable, see here for a more detailed explanation.
Integer-based indexing / selection
Dataframe.rows({start?: number, end?: number}: Indexer): Dataframe
Returns a specific number of rows of the dataframeDataframe.cols({start?: number, end?: number}: Indexer): Dataframe
Returns specific columns of the dataframe strictly using interger based indexing similar to panda'siloc
Full Changelog: https://devsgnr.github.io/breadroll/changelog/breadroll-v0.3.7/
v0.3.6-alpha
What's Changed
Added - Breadroll.open.https(...) - @devsgnr
This function fetches and return a file via a URL over https, with a default GET method, with optional provision for custom headers
Parameters
url: string
- the remote location of the file
header?:
Headers
- add custom headers to the HTTP request
const df: Dataframe = await csv.open.https("https://raw.githubusercontent.com/devsgnr/breadroll/.../ds_salaries.csv");
const selected: Dataframe = df.select(["job_title", "salary", "salary_currency", "salary_in_usd"]);
- Fixed Documentation and added documentation for Breadroll.open.https(...) - @devsgnr
- Setting up automated testing - @devsgnr
- Setting up automated documentation deployment - @devsgnr
Full Changelog: https://devsgnr.github.io/breadroll/changelog/#january-25th-2024-v036-alpha