Tezliklə · Açıq Mənbə · Modified MIT
İnsanlar və agentlər üçün elektron cədvəl.
Rust ilə yenidən yazılmış açıq mənbəli elektron cədvəl mühərriki. Dinamik massivlər, pivot cədvəllər, XLOOKUP — AI üçün nəzərdə tutulmuş Python və Node.js SDK-ları ilə.
SDK paketləri buraxılışda nəşr olunacaq. Yeniliklərdən xəbərdar olun
WebAssembly vasitəsilə birbaşa brauzerinizdə işləyən canlı elektron cədvəl — skrinşot deyil.
İstifadə halları
Developerlər və agentlər üçün
Tətbiqinizə qoşun
Bir React komponenti ilə istənilən veb tətbiqə tam elektron cədvəl əlavə edin. Dinamik massivlər, pivot cədvəllər və qutudan çıxan 582 funksiya.
Serverdə işlədin
Node.js və ya Python SDK ilə XLSX fayllarını emal edin, formulları hesablayın və server tərəfində hesabatlar yaradın. Brauzer tələb olunmur.
AI agentlərini gücləndirin
LLM-lərə elektron cədvəl əməliyyatlarına strukturlaşdırılmış giriş verin. SDK-nın tipli API-ı tool-use üçün nəzərdə tutulub — ekran scraping və ya prompt engineering yoxdur.
Niyə Mog
Tam elektron cədvəl mühərriki — sadəcə UI komponenti deyil.
İnsanlar və agentlər üçün
LLM-lərin birbaşa çağıra biləcəyi strukturlaşdırılmış API. AI agent iş axınları üçün nəzərdə tutulmuş Python və Node.js SDK-ları — ekran scraping və ya makro hiylələri yoxdur.
- AI agent iş axınları üçün PyO3 vasitəsilə Python SDK
- Native performanslı N-API vasitəsilə Node.js SDK
- Toplu emal üçün headless server
- Tool-use hazır API (strukturlaşdırılmış giriş/çıxış)
Tam Excel uyğunluğu, Rust-da yenidən yazılmış
582 funksiya, dinamik massivlər, pivot cədvəllər, XLOOKUP, şərti formatlaşdırma və strukturlaşdırılmış istinadlar. Alt çoxluq deyil — tam şəkli.
- 582 Excel-uyğun funksiya
- Dinamik massivlər, XLOOKUP, LAMBDA
- Pivot cədvəllər, şərti formatlaşdırma, məlumat doğrulaması
- Native XLSX oxuma və yazma (tam OOXML spesifikasiyası)
Real vaxt, oflayn-first, konflikt yoxdur
Yrs ilə dəstəklənən CRDT əsaslı əməkdaşlıq. Oflayn işləyir, qoşulduqda sinxronlaşır, məlumat itirmir. Operational transform mürəkkəbliyi yoxdur.
- Yrs (Rust) vasitəsilə CRDT əməkdaşlığı
- Konflikt yoxsuz formullar üçün xana kimlik modeli
- Avtomatik sinxronizasiyalı oflayn-first
- İkili məlumat protokolu ilə 60fps canvas rendering
Arxitektura
Bir Rust mühərriki, hər platforma
Bir dəfə Rust-da yazılır, üç hədəfə kompilyasiya edilir. Eyni kod brauzerdə, serverdə və Python notebook-da işləyir.
Brauzer
WebAssembly
Web Worker-da işləyir. Hesablamalar üçün serverə sorğu yoxdur.
Node.js
N-API
macOS, Linux və Windows üçün native binar fayllar. WASM yükü yoxdur.
Python
PyO3
Native Python bağlamaları. Elektron cədvəl formullarını pandas ilə birlikdə istifadə edin.
Rust hesablama nüvəsi
Formullar, asılılıq qrafiki, pivot cədvəllər, şərti formatlaşdırma və XLSX parser — hamısı Rust-da. Annotasiyalı bir API hər hədəf üçün bağlamalar yaradır.
compute-core
parser, functions, graph, formats,
schema, stats, charts, cf, pivot,
table, fill, solver, collab, wire
İkili məlumat protokolu
Viewport məlumatları JSON deyil, yığcam ikili buferlər kimi ötürülür. Hər xana üçün sıfır yaddaş ayrılması. Böyük cədvəllərdə 60fps.
Viewport buffer
36B header + N × 32B cell records
+ string pool + format palette
Mutation patches
Spliced directly into the viewport
buffer — no deserialization step
SDK
Hər şeyə proqramatik giriş
Bir Rust mühərriki, hər SDK. Python-da da, TypeScript-də də eyni API.
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"]]);
});Mog ilə Qurulmuşdur
Layihəniz üçün hazırdır
AI agentlərindən SaaS məhsullarına, data pipeline-larına qədər. Mog ilə quranların ilkləri arasında olun.
AI agentləri
LLM tool-use üçün strukturlaşdırılmış elektron cədvəl API-ı. Ekran scraping yoxdur.
SaaS məhsulları
Bir React komponenti ilə tam elektron cədvəl. Dinamik massivlər və daha çox.
Data pipeline-ları
XLSX fayllarını Python və ya Node.js ilə server tərəfində emal edin. Excel tələb olunmur.
Tez-tez verilən suallar
Mog nədir?
Mog Rust-da sıfırdan yenidən yazılmış açıq mənbəli elektron cədvəl mühərrikidir. Veb tətbiqlərinə qoşa, serverdə işlədə və ya Python və Node.js-dən istifadə edə biləcəyiniz tam elektron cədvəl runtime-ı təmin edir: formula hesablaması, asılılıq izləmə, XLSX parsing, canvas rendering və real vaxtlı əməkdaşlıq.
Niyə Rust?
Rust bizə native performans, yaddaş təhlükəsizliyi və tək kod bazasından WebAssembly (brauzer), N-API (Node.js) və PyO3 (Python) hədəflərinə kompilyasiya imkanı verir. Bir mühərrik, hər platforma, sıfır zibil toplama fasilələri.
Mog pulsuzdurmu?
Bəli. Mog Modified MIT lisenziyası altında açıq mənbədir. Şəxsi layihələrdə, kommersiya məhsullarında və ya SaaS platformalarında istifadə edin.
Mog mövcud elektron cədvəl kitabxanaları ilə müqayisədə necədir?
Əksər elektron cədvəl kitabxanaları ya UI rendering-ə, ya da fayl parsing-ə fokuslanır. Mog tam stack təqdim edir: 582 funksiyalı Rust hesablama mühərriki, canvas rendering, CRDT əməkdaşlığı və native SDK-lar. Ətraflı xüsusiyyət matrisi üçün müqayisə səhifəsinə baxın.
Mog istehsal üçün hazırdırmı?
Mog aktiv inkişaf mərhələsindədir. Əsas mühərrik (formullar, rendering, əməkdaşlıq, XLSX) işlək vəziyyətdədir və test edilir. Açıq mənbə buraxılışına doğru irəliləyirik — yenilikləri izləyin.
Başqa suallarınız var? Mog haqqında daha çox oxuyun
Mog ilə qurmaqla maraqlanırsınız?
Mog Modified MIT lisenziyası altında açıq mənbə olacaq.
Get notified when Mog launches