尚未收集儲存庫資訊。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
A React data grid for CSV, TSV, Parquet and JSON Lines files of any size, with spreadsheet features.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗vastgrid opens huge CSV, TSV, Parquet, JSON Lines and Excel files like a spreadsheet, lets people fix them, and saves them safely. It is a canvas data grid for React with engines for the browser and Node.js, and the same grid comes as a command, a VS Code extension, an MCP App and a Jupyter widget.
Try the demo · Open a file in the browser · Documentation · 日本語
vastgrid-js in memory, in the page or a Web Worker; vastgrid-duckdb on Node.js; or
your own, through a small set of messages.vastgrid/locales/ja); light and dark themes
through CSS variables, ARIA grid semantics and full keyboard operation.| Where | How | Engine |
|---|---|---|
| A React app | npm install vastgrid vastgrid-js (quick start) | in memory, a worker, or a server |
| The browser | vastgrid.yhay81.com/open/: drop a file; it stays in the browser | vastgrid-js in a Web Worker |
| The command line | npx vastgrid-cli sales.parquet | DuckDB on this computer |
| VS Code | the extension vastgrid (yhay81.vastgrid-vscode) | DuckDB in the extension |
| An AI chat | the MCP server vastgrid-mcp with its MCP App | DuckDB in the MCP server |
| A Jupyter notebook | pip install vastgrid, then vastgrid.show(df) | DuckDB in the kernel |
Where vastgrid opens files compares them: formats, editing, saving and exporting.
npm install vastgrid vastgrid-js
import { DataGrid, localTransport } from "vastgrid";
import "vastgrid/styles.css";
import { memoryEngine } from "vastgrid-js";
const transport = localTransport(
memoryEngine({
tables: {
orders: {
columns: [
{ name: "id", type: "integer" },
{ name: "customer", type: "string" },
{ name: "price", type: "decimal", precision: 10, scale: 2 },
{ name: "ordered", type: "date" },
],
rows: [
[1, "Acme", "12.50", "2026-01-31"],
[2, "Globex", "8.00", "2026-02-01"],
],
editable: true,
},
},
}),
);
export function Orders() {
return <DataGrid transport={transport} table="orders" style={{ height: 480 }} />;
}
For files larger than the page should hold, run the memory engine in a Web Worker, or the DuckDB engine on a server. The guides cover state, editing and saving, formulas, grouping, exporting, theming and your own engine.
The DuckDB engine reads CSV with comma separators and standard double quotes. For other separators or an
explicit header, pass open={{ read: { delimiter: ";", headerRow: 1 } }} to the grid; headerRow: 0 means
no header. See the engine's reading options.
| Package | Contents |
|---|---|
vastgrid | The React grid: DataGrid, GridProvider and the hooks; vastgrid/core (the store and the transports, without React), vastgrid/server, vastgrid/locales/<tag> (the texts of each language), vastgrid/styles.css. |
vastgrid-js | The memory engine, for the browser and Node.js: rows of typed JSON, Arrow, CSV, TSV, JSON Lines, Excel and Parquet (also over HTTP). |
vastgrid-duckdb | The DuckDB engine for Node.js: files of any size, writing cells, saving CSV and TSV, following files, exports; an HTTP handler. |
vastgrid-spec | The specification as code: types, plan checking, commands, message schemas, the conformance corpus. |
vastgrid-sql | Plans as DuckDB SQL. |
vastgrid-cli | npx vastgrid-cli <file>: a file in a grid in the browser, read by DuckDB on this computer. |
vastgrid-mcp | An MCP server with an MCP App. |
vastgrid-vscode | The VS Code extension; install 0.3.0's VSIX from the GitHub release. |
The npm packages are released together at one version. vastgrid needs React 19.3 or later (an optional peer
dependency: servers use vastgrid/core without React) and a browser with CSS light-dark(): Chrome and Edge 123,
Firefox 120, Safari 17.5 or later. The engines need Node.js 20 or later; DuckDB runs on Linux (x64, arm64; glibc
and musl), macOS (x64, arm64) and Windows (x64, arm64).
On an Apple M2 Pro. The grid on a million rows in the memory engine shows its first rows 36–49 ms after mounting and drops no frame while scrolling at 60 Hz, with no React commit. The DuckDB engine sorts a 100-million-row Parquet file (1.38 GB) with its first rows ready in 953 ms, and reads a sorted 10-million-row CSV file 256 rows at a time in 4 ms. Performance has every measure and how to repeat them.
npm install
npm run build # every package, the CLI's page, the MCP App and the extension
npm test # the unit tests, on the sources
npm run dev # examples/files: the grid on the DuckDB engine, at http://127.0.0.1:5182
CONTRIBUTING.md has the checks and the guidelines for a change, and SECURITY.md how to report a vulnerability.
MIT
vastgrid (Python) | The Jupyter widget, on PyPI. |