Skip to content

KhiopsML/kc-electron

Repository files navigation

Khiops Covisualization Electron

Build Releases Test Workflow Latest Stable Version End-to-end tests gitleaks badge

A cross-platform Electron application that encapsulates Khiops Covisualization, offering a native user interface for analyzing and visualizing multivariate data relationships with Khiops.

📋 Table of Contents

🎯 About

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.

✨ Features

  • 🖥️ 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

🔧 Prerequisites

  • Node.js (version 16 or newer)
  • Yarn package manager
  • Git for cloning the repository

🚀 Installation

  1. Clone the repository

    git clone https://github.com/KhiopsML/kc-electron.git
    cd kc-electron
  2. Install dependencies

    yarn install

🛠️ Development

Standard development mode

To start the application in development mode:

yarn start

Development with local covisualization component

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

📦 Build and Distribution

Local build

yarn build

Generating installers

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

📁 Project Structure

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

🛠️ Technologies Used

  • 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

🤝 Contributing

Contributions are welcome! Here's how to contribute:

  1. Fork the project
  2. Create a branch for your feature (git checkout -b feature/new-feature)
  3. Commit your changes (git commit -m 'Add new feature')
  4. Push to the branch (git push origin feature/new-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the BSD 3-Clause-clear license. See the LICENSE file for more details.

🔗 Useful Links

About

The Electron application that encapsulates Khiops Covisualization

Resources

License

Security policy

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •