Make data processing a delight with Typescript & Bun
Push Javascript further? Yes, Say hello to breadroll 🥟 the simple lightweight library for data processing, powered by Bun.
Get Started →
Lightweight
Remote Data Sources
Flexible
Powered by Bun
Overview
import Breadroll from "breadroll";
const csv = new Breadroll({ header: true, delimiter: "," });
const df = await csv.open.local("./test/data/cities.csv");
const selected = df.select(["name", "country_code", "country_name", "latitude", "longitude"]);
console.table(selected.value);
In this example, the Breadroll
instance accepts its options object DataframeReadOptions
, we now move on to open a file from disk using .open.local(...)
, then select a few columns from the dataframe, retrieve the value and then print out the value using console.table(...)
. The resulting output to the console, will be also follows;
| | name | country_code | country_name | latitude | longitude |
| --- | --------- | ------------ | ------------ | -------- | --------- |
| 0 | Ashkāsham | AF | Afghanistan | 36.68333 | 71.53333 |
| 1 | Fayzabad | AF | Afghanistan | 37.11664 | 70.58002 |
| 2 | Jurm | AF | Afghanistan | 36.86477 | 70.83421 |
| 3 | Khandūd | AF | Afghanistan | 36.95127 | 72.318 |
| 4 | Rāghistān | AF | Afghanistan | 37.66079 | 70.67346 |
...
Features
With just a few lines of code you can start performing data processing within your Javascript code, like a pro data-mage, with this feature coming straight out-of-the-box
- Async File Loading - Optimistically load files from disk, via Bun's
File
API - Lightweight - trying to keep it as light as possible
- Flexible and unopinionated - maintain control while intergrating your tools into breadroll
- Remote Data Source - comes with remote data sources loved by Javascript developers
- Data transformation - convenience functions that allows you to perform complex data transformations
- Supported Format - CSV, TSV, JSON, and more coming soon
and more coming soon.
Follow
This package was developed and is actively maintained by @devsgnr (opens in a new tab), follow @breadrolljs (opens in a new tab) for future feature releases and updates