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.