csvision Svelte Themes

Csvision

A lightweight GUI tool built in Go, with a simple Svelte frontend using the Wails framework, to visualize CSV data as charts or maps.

πŸ“Š CSVision

Interactive CSV analysis and visualization tool with built-in charts, filtering, and grouping capabilities.

A lightweight desktop application for processing CSV files with visual data analysis. Export beautiful interactive charts (pie charts, bar graphs, geographic visualizations) directly from your data.

Built with:

  • πŸ”§ Go (backend)
  • 🎨 Svelte (frontend)
  • πŸ“Š ECharts (visualization)
  • πŸ–₯️ Wails (desktop framework)

Features:

  • πŸ“ Drag-and-drop CSV support
  • 🎯 Column selection & aggregation
  • πŸ“ˆ Multiple chart types
  • πŸŒ™ Dark/light mode
  • πŸ’Ύ Export charts as HTML files

Quick Start

Download

Get the latest binary from GitHub Releases:

  • Windows: csvision-windows-amd64.exe
  • Linux: csvision-linux-amd64
  • macOS: csvision-macos-arm64 (Apple Silicon)

Installation

Windows

  1. Download the .exe file
  2. Run it (no installation required)
  3. ⚠️ If Windows SmartScreen appears, click "More info" β†’ "Run anyway"

Linux / macOS

Dowload the binary file then do :

# Change rights and execute
chmod +x csvision-linux-amd64
./csvision

# Or build from source
go install github.com/louis-tournadre/csvision@latest

From Source

Requirements:

  • Go β‰₯ 1.24
  • Node.js β‰₯ 20
  • npm
  • Wails CLI: go install github.com/wailsapp/wails/v2/cmd/wails@latest

Build:

git clone https://github.com/louis-tournadre/csvision.git
cd csvision
wails build
./build/bin/csvision  # Linux/macOS
# or ./build/bin/csvision.exe for Windows

Usage

  1. Load CSV β†’ Click "Open" and select your CSV file
  2. Configure β†’ Choose columns to analyze and chart type
  3. Visualize β†’ View interactive charts with filters
  4. Export β†’ Save charts as HTML files

Supported Chart Types

  • Pie Charts β†’ Distribution of categorical data
  • Bar Charts β†’ Compare values across categories
  • Geographic Maps β†’ Regional data visualization (currently: French departments)

    ℹ️ Note: Initial map load may take 2-3 seconds on first use as geographic data is loaded. Subsequent map generations are cached and load instantly. Drill-down navigation coming in v2.1.0 for better performance and interactivity.

Development

Project Structure

.
β”œβ”€β”€ frontend/           # Svelte UI with Vite bundler
β”‚   └── src/
β”‚       β”œβ”€β”€ grapher.js  # ECharts integration
β”‚       └── *.svelte    # Components
β”œβ”€β”€ treatment/          # CSV processing logic
|   β”œβ”€β”€ doc.go          # Code documentation
β”‚   β”œβ”€β”€ parser.go       # CSV parsing
β”‚   β”œβ”€β”€ utils.go        # Data aggregation
β”‚   └── geojson.go      # Geographic data
β”œβ”€β”€ app.go              # Wails backend bindings
└── main.go             # Application entry point

Building Distributions

Automated releases via GitHub Actions:

  • On every push to main/develop/echarts, CI runs tests
  • Push a git tag v*.*.* to trigger release builds for all platforms
git tag v1.0.0
git push --tags

Contributing

Contributions welcome! See CONTRIBUTING.md for guidelines.

Development Setup:

# Install dependencies
npm install --prefix frontend
go mod download

# Run in development mode
wails dev

# Run tests
go test ./...
npm test --prefix frontend

License

Licensed under the MIT License.

See LICENSE for details.

About

CSVision started as an internship project at GΓ©dimat Vialleix (a French building materials retailer), where it was used to analyze sales data and regional performance metrics. It has now been open-sourced as a professional data visualization tool.

Project Timeline

Internship Phase (v1.0-1.2, July 2023)

  • Original tool developed for GΓ©dimat Vialleix internal use
  • v1.0.0: Basic CSV parsing, Pie & Bar charts
  • v1.1.0: Multiple chart display, counting mode
  • v1.2.0: Geographic mapping (French departments), UI refactor

Open Source Edition (v2.0.0+, 2025)

  • ECharts migration from go-echarts
  • Professional CI/CD with GitHub Actions
  • Multi-platform binaries (Windows, Linux, macOS)
  • Violet color scheme with dark mode
  • Native zoom on interactive charts

Planned Features (v2.1.0)

  • Geographic drill-down navigation - Click-based hierarchy to navigate from Regions β†’ Departments β†’ Communes
  • Optimized map rendering - Reduced polygon complexity for improved performance

Future Improvements

  • Multi-region viewport zooming - Detect and display multiple regions/departments visible in viewport simultaneously for easy comparison
  • Bug report form - Built-in bug report submission interface
  • Auto-update functionality - Automatic update checker with one-click installation
  • Row/Column operations - Filtering, sorting, and transformations
  • Extended chart types - Scatter plots, line charts, histograms, etc.

Documentation

Contact & Support


πŸͺ› Made for free 🍌

Top categories

Loading Svelte Themes