Skip to content

KhiopsML/kc-electron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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

  •  
  •  
  •  
  •