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

example.ts
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