Binnenkort · Open source · Modified MIT
De spreadsheet voor mensen en agents.
Een open-source spreadsheet-engine, herschreven in Rust. Dynamische arrays, draaitabellen, XLOOKUP — met Python- en Node.js SDK's gebouwd voor AI.
SDK-pakketten worden gepubliceerd bij lancering. Volg ons voor updates
Live spreadsheet in je browser via WebAssembly — geen screenshot.
Toepassingen
Gebouwd voor developers en agents
Embed in je app
Voeg een volledige spreadsheet toe aan elke webapplicatie met één React-component. Dynamische arrays, draaitabellen en 582 functies direct out of the box.
Draai op een server
Verwerk XLSX-bestanden, evalueer formules en genereer rapporten server-side met de Node.js- of Python SDK. Geen browser nodig.
Versterk AI-agents
Geef LLMs gestructureerde toegang tot spreadsheetbewerkingen. De getypeerde API van de SDK is ontworpen voor toolgebruik — geen screen scraping of prompt engineering.
Waarom Mog
Een complete spreadsheet-engine, geen UI-component.
Gebouwd voor mensen en agents
Een gestructureerde API die LLMs direct kunnen aanroepen. Python- en Node.js SDK's ontworpen voor AI-agentworkflows — geen screen scraping of macro-hacks.
- Python SDK via PyO3 voor AI-agentworkflows
- Node.js SDK via N-API met native prestaties
- Headless server voor batchverwerking
- Tool-use-klare API (gestructureerde input/output)
Volledige Excel-compatibiliteit, herschreven in Rust
582 functies, dynamische arrays, draaitabellen, XLOOKUP, voorwaardelijke opmaak en gestructureerde verwijzingen. Geen subset — het echte werk.
- 582 Excel-compatibele functies
- Dynamische arrays, XLOOKUP, LAMBDA
- Draaitabellen, voorwaardelijke opmaak, gegevensvalidatie
- Native XLSX-parsing en -schrijven (volledige OOXML-spec)
Realtime, offline-first, conflictvrij
CRDT-gebaseerde samenwerking aangedreven door Yrs. Werkt offline, synchroniseert wanneer verbonden, verliest nooit data. Geen complexiteit van operationele transformaties.
- CRDT-samenwerking via Yrs (Rust)
- Celidentiteitsmodel voor conflictvrije formules
- Offline-first met automatische synchronisatie
- Canvas-rendering op 60fps via binair wireprotocol
Architectuur
Één Rust-engine, elk platform
Eén keer geschreven in Rust, gecompileerd naar drie targets. Dezelfde code in de browser, op een server en in een Python-notebook.
Browser
WebAssembly
Draait in een Web Worker. Geen server-roundtrips voor berekeningen.
Node.js
N-API
Native binaries voor macOS, Linux en Windows. Geen WASM-overhead.
Python
PyO3
Native Python-bindings. Gebruik spreadsheetformules naast pandas.
Rust compute core
Formules, afhankelijkheidsgraph, draaitabellen, voorwaardelijke opmaak en XLSX-parser — allemaal Rust. Één geannoteerde API genereert bindings voor elk target.
compute-core
parser, functions, graph, formats,
schema, stats, charts, cf, pivot,
table, fill, solver, collab, wire
Binair wireprotocol
Viewportdata als compacte binaire buffers, geen JSON. Geen allocaties per cel. 60fps op grote sheets.
Viewport buffer
36B header + N × 32B cell records
+ string pool + format palette
Mutation patches
Spliced directly into the viewport
buffer — no deserialization step
SDK
Programmatische toegang tot alles
Één Rust-engine, elke SDK. Dezelfde API in Python en TypeScript.
Python
import mog
wb = mog.create_workbook()
ws = wb.active_sheet()
# Set values and formulas
ws.set_cell("A1", "Revenue")
ws.set_cell("A2", 150000)
ws.set_cell("A3", "=A2 * 1.15")
# Dynamic arrays just work
ws.set_cell("B1", '=FILTER(A1:A3, A1:A3>100000)')
# Convert to pandas DataFrame
wb.calculate()
df = ws.to_dataframe()
wb.save("forecast.xlsx")Node.js
import { createWorkbook } from "@mog-sdk/node";
const wb = await createWorkbook();
const ws = wb.getActiveSheet();
// Set values and formulas
await ws.setCell("A1", "Revenue");
await ws.setCell("A2", 150000);
await ws.setCell("A3", "=A2 * 1.15");
// Structured table references
await ws.tables.add({ range: "A1:A3", name: "Forecast" });
await ws.setCell("B1", "=Forecast[@Revenue]");
// Batch operations into a single undo step
await wb.batch(async () => {
await ws.setRange("C1:C3", [["Q2"], [170000], ["=C2*1.15"]]);
});Gebouwd met Mog
Klaar voor jouw project
Van AI-agents tot SaaS-producten tot datapipelines. Wees een van de eersten die met Mog bouwt.
AI-agents
Gestructureerde spreadsheet-API voor LLM-toolgebruik. Geen screen scraping.
SaaS-producten
Een volledige spreadsheet in één React-component. Inclusief dynamische arrays.
Datapipelines
Verwerk XLSX server-side in Python of Node.js. Geen Excel nodig.
Veelgestelde vragen
Wat is Mog?
Mog is een open-source spreadsheet-engine, volledig herschreven in Rust. Het biedt een complete spreadsheetruntime — formule-evaluatie, afhankelijkheidstracking, XLSX-parsing, canvas-rendering en realtime samenwerking — die je kunt embedden in webapps, uitvoeren op servers, of gebruiken vanuit Python en Node.js.
Waarom Rust?
Rust geeft ons native prestaties, geheugenbeveiliging en de mogelijkheid om vanuit één codebase te compileren naar WebAssembly (browser), N-API (Node.js) en PyO3 (Python). Één engine, elk platform, zonder garbage collection-pauzes.
Is Mog gratis?
Ja. Mog is open source onder de Modified MIT-licentie. Gebruik het in persoonlijke projecten, commerciële producten of SaaS-platformen.
Hoe verhoudt Mog zich tot bestaande spreadsheetbibliotheken?
De meeste spreadsheetbibliotheken richten zich op UI-rendering of het parsen van bestanden. Mog biedt de volledige stack: een Rust compute-engine met 582 functies, canvas-rendering, CRDT-samenwerking en native SDK's. Bekijk de vergelijkingspagina voor een uitgebreide featurematrix.
Is Mog productieklaar?
Mog is in actieve ontwikkeling. De core-engine (formules, rendering, samenwerking, XLSX) is functioneel en wordt getest. We werken toe naar een open-source release — volg ons voor lanceringsupdates.
Nog meer vragen? Lees meer over Mog
Interesse om met Mog te bouwen?
Mog wordt open source uitgebracht onder de Modified MIT-licentie.
Get notified when Mog launches