Skip to content

LunivCore, Business Intelligence As Code

A lightweight, expressive, efficient, extensible BI language with a Markdown-inspired syntax, powered by a compact C/Lua execution core.

We built a BI tool that thinks like an engineering team.

Version Control Your Data

Reports are code. Git diff your analytics. Review changes before deployment. Audit every calculation modification.

C-Level Performance

Achieve Tens of Millions of Rows per Second throughput. The C core executes full-scan analytical queries on billion-row datasets in under 30 seconds on standard hardware, leveraging native memory efficiency.

See the Test

Deploy Anywhere

Lightweight C core (< 5MB). Embeddable in any application via C API or Lua bindings. Perfect for SaaS, Edge, and IoT.

Developer-First UX

Markdown-inspired .lcore syntax and Lua scripting for complex logic. Ship analytics faster without drag-and-drop complexity.

Zero External Dependencies

Self-contained runtime. No database lock-in. Just the core C engine and Lua runtime.

Open Source Forever

Core engine is MIT licensed. Built by and for the community.


Analytics should be auditable, readable code. The LunivCore DSL lets engineers write reports with clean, minimal syntax.

Write analytics-as-code using our new language, lcore:

Terminal window
dataset Sales "Q1 Revenue by Region" {
APAC: 2850000
Americas: 3450000
EMEA: 1920000
}
plot Sales as bar
┌─ Q1 Revenue by Region
├─────────────────────────────────────────────────────────────────
APAC │ ████████████████████████████████ (2850000)
Americas │ ███████████████████████████████████████ (3450000)
EMEA │ ██████████████████████ (1920000)
└─────────────────────────────────────────────────────────────────
Terminal window
text "Exploratory Analysis With LunivCore"
text "Process Data"
dataset regional_sales "Journal #1 Data (Sales $)" {
Midwest: 1124
Northeast: 2545
West: 728
South: 1954
Texas: 1720
California: 2140
}
text "First, we need to get some basic statistics."
sum regional_sales
avg regional_sales
min regional_sales
max regional_sales
count regional_sales
text "Now let us visualize the data distribution"
plot regional_sales as bar
┌─ Note
Exploratory Analysis With LunivCore
└──────────────────────────────────────────────────────────────────────────────┘
┌─ Note
Process Data
└──────────────────────────────────────────────────────────────────────────────┘
┌─ Journal #1 Data (Sales $) Raw Data
Midwest │███████████████ 1124
Northeast │███████████████████████████████████ 2545
West │██████████ 728
South │██████████████████████████ 1954
Texas │███████████████████████ 1720
California │█████████████████████████████ 2140
└──────────────────────────────────────────────────────────────────────────────┘
┌─ Note
First, we need to get some basic statistics.
└──────────────────────────────────────────────────────────────────────────────┘
Sum(regional_sales) = 10211
Avg(regional_sales) = 1701.83
Min(regional_sales) = 728
Max(regional_sales) = 2545
Count(regional_sales) = 6
┌─ Note
Now let us visualize the data distribution
└──────────────────────────────────────────────────────────────────────────────┘
┌─ regional_sales bar
Value Distribution
Midwest │█████████████████ 1124
Northeast │████████████████████████████████████████ 2545
West │███████████ 728
South │██████████████████████████████ 1954
Texas │███████████████████████████ 1720
California │█████████████████████████████████ 2140
└──────────────────────────────────────────────────────────────────────────────┘

Architecture: C Performance, Lua Flexibility

Section titled “Architecture: C Performance, Lua Flexibility”

LunivCore leverages the best of two worlds to ensure speed and extensibility.

Host Language (C)

The C core efficiently manages memory and executes computationally intensive tasks (Lexer, Parser, Executor) for high-speed data processing.

Guest Language (Lua)

Provides a clean, dynamic scripting interface (DSL) for users, which handles complex logic and communicates with the C core.

The Glue: Lua C API

This stable API acts as the secure, high-speed bridge, efficiently passing data and commands between the C and Lua environments.


You’ll need git, build tools, and a C compiler.

  1. Clone the repository from GitHub.

  2. Change into the newly created directory.

    cd LunivCore
  3. Use the provided Makefile to build the core engine.

    make
  4. Execute the lcore binary with the example file.

    ./lcore examples/helloworld.lcore

Open Source Community

View the repository, submit improvements, or join development efforts.

View on GitHub

Enterprise Support

Get priority features, dedicated support, and commercial licensing.

Contact Us