A cross-platform Electron application that encapsulates Khiops Covisualization, offering a native user interface for analyzing and visualizing multivariate data relationships with Khiops.
- About
- Features
- Prerequisites
- Installation
- Development
- Build and Distribution
- Project Structure
- Technologies Used
- Contributing
- License
This Electron application integrates the Khiops Covisualization into a native desktop interface. It enables users to intuitively and efficiently analyze and visualize multivariate data relationships and variable dependencies.
The project is based on the angular-electron template and uses Angular with TypeScript for the user interface.
- 🖥️ Cross-platform native application (Windows, macOS, Linux)
- 📊 Advanced visualization of Khiops data and variable relationships
- 🔍 Interactive exploration of multivariate dependencies
- 🔄 Automatic updates with electron-updater
- 🎨 Modern interface built with Angular and Electron
- 🔧 Development mode with hot-reload
- 📦 Automated builds via GitHub Actions
- Node.js (version 16 or newer)
- Yarn package manager
- Git for cloning the repository
-
Clone the repository
git clone https://github.com/KhiopsML/kc-electron.git cd kc-electron
-
Install dependencies
yarn install
To start the application in development mode:
yarn start
To develop with a local version of the covisualization component:
yarn dev
This command:
- Replaces the visualization library with the local copy
- Uses scripts from the
../visualization-component/dist/khiops-webcomponent/
directory - Enables hot-reload for rapid development
yarn build
Distribution builds are automatically generated via GitHub Actions on release. Artifacts are available in the release/
folder:
- Windows:
khiops covisualization Setup [version].exe
- macOS: Support with entitlements and code signing
- Linux: AppImage and other formats
khiops-covisualization-electron/
├── app/ # Main Electron application
│ ├── main.ts # Electron entry point
│ └── package.json # Electron dependencies
├── src/ # Angular source code
│ ├── app/ # Angular modules and components
│ ├── assets/ # Static resources
│ └── environments/ # Environment configuration
├── build/ # Build resources
├── scripts/ # Build and deployment scripts
└── release/ # Distribution artifacts
- Electron – Framework for cross-platform desktop apps
- Angular – Web framework for the UI
- TypeScript – Typed programming language
- Node.js – JavaScript runtime
- Yarn – Package manager
- electron-updater – Automatic update system
- Matomo – Optional usage analytics
Contributions are welcome! Here's how to contribute:
- Fork the project
- Create a branch for your feature (
git checkout -b feature/new-feature
) - Commit your changes (
git commit -m 'Add new feature'
) - Push to the branch (
git push origin feature/new-feature
) - Open a Pull Request
This project is licensed under the BSD 3-Clause-clear license. See the LICENSE file for more details.