Skip to content

Repository files navigation

Easy Csv

Handle CSV data in a modular way — chain xan commands together like building blocks in a visual pipeline, without leaving your desktop.

Built with Tauri v2 + React 19 + React Flow, and powered by xan as the underlying CSV toolkit.

Screenshots

light

dark

Features

  • Visual pipeline editor — drag, connect and configure xan commands on a node canvas (dagre auto-layout, cut/fall animations, undo/redo, copy/paste)
  • 58 built-in xan commands — from basic sort / filter / select to pivot, window, join, stats, split, partition, to / from conversion and more, each with a dedicated configuration dialog
  • AI assistant — describe what you want in natural language (Chinese/English), and the assistant generates ready-to-insert pipeline steps via DeepSeek / Qwen, with RAG over per-command docs
  • Expression editor — syntax highlighting and autocomplete for 200+ Moonblade functions
  • Batch operations — batch filter (split one CSV into many files by column value) and batch format conversion (CSV ↔ XLSX ↔ JSON)
  • Data profiling — one-click column statistics (count, nulls, min/max/mean, etc.) via xan stats
  • Pipeline versioning — save / restore / delete pipeline versions with tags
  • Data lineage — track how columns transform through your pipeline
  • Execution log — per-step output inspection and copy
  • Bilingual UI — English / 中文, plus dark/light/system themes

Prerequisites

Installation

  1. Place a Windows xan.exe binary in src-tauri/resources/ — it is embedded into the binary at compile time and extracted on first run (see src-tauri/src/xan.rs). You can build it with cargo build --release from the xan source, or download a pre-built binary from xan releases.
  2. Install project dependencies:
pnpm install

Development

pnpm tauri dev

Building

pnpm tauri build

Testing

pnpm test        # run the vitest suite
pnpm test:watch  # watch mode

Usage

  1. Open a CSV — drag & drop a file onto the window, or use Ctrl+O
  2. Browse commands — the left panel lists all 58 xan commands by category (or press Alt+C)
  3. Add to flow — click a command (or ask the AI assistant with Alt+A) to add it to your pipeline
  4. Configure parameters — click the gear icon on a step card, or double-click the node
  5. Execute — press Ctrl+R to run the whole pipeline, then inspect results in the log panel (Alt+Q) and the data profile (open it from the More Panels menu in the top bar)

Keyboard shortcuts

Shortcut Action
Ctrl+O / Ctrl+N Open file / open file in new tab
Ctrl+S / Ctrl+E Save / export pipeline
Ctrl+I Import pipeline
Ctrl+Z / Ctrl+Y Undo / redo
Ctrl+R Execute pipeline
Shift+H / Shift+C / Shift+S Help / check update / settings
Alt+C / Alt+Q / Alt+A Commands / logs / AI panel

AI Assistant

Configure your provider and API key in Settings → AI (Shift+S).

Supported providers:

Provider Model examples
DeepSeek deepseek-v4-flash, deepseek-v4-pro
Qwen qwen-turbo, qwen-max, qwen3.7-plus
GLM glm-4.7-flash, glm-4-flash-250414, glm-4-flash

The assistant only uses your current message (not conversation history), and commands it generates are automatically connected to the last step in your pipeline.

Documentation

  • docs/AI/INDEX.md — full architecture and codebase index (Rust backend, frontend, hooks, components, how to modify each area)
  • docs/AI/USAGE.md — merged usage docs for all 58 xan commands
  • src/docs/AI_usage/ — generated per-command docs (source: pnpm run generate-ai-usage)
  • src/docs/cmd/ — per-command help docs (English)
  • docs/cmd_zh/ — per-command help docs (Chinese)

License

MIT

About

Handle CSV data in a modular way

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages