A new ERA for Data

ERA is a cross warehouse, type checked, unit testable analytics library for building data applications. Think type safety, beautiful abstractions, unit tests... everything an engineer expects in 2024.

const score = (lead) =>
FACTORS.map((factor) => lead.attr(factor))
.map((x) => x.coalesce(0))
.reduce((l, r) => l.add(r));
const TopLeads = Leads
.innerJoin(Companies, (lead, company) => ({
on: Eq(company.attr('id'), lead.attr('company_id')),
select: {
...lead.renameWith((oldName) => `lead_${oldName}`),
...company.pick('num_employees', 'revenue'),
LEAD_SCORE: score(lead),
.where((t) => t.attr('LEAD_SCORE').gte(15));


Getting started

Give ERA a quick try on your laptop, or learn more if you're not quite ready.

Learn by Example

Learn ERA through a series of interactive examples on your laptop.

dbt Quick Start

Set up ERA to work with your dbt project in under a minute.

What is ERA?

Learn a bit more about what ERA is and how it works.

API reference

Reference for the ERA library.

Ready to learn more?

Then come and say hello to us on Discord! Or head over to GitHub to try out the ERA examples on your computer.