No description
  • JavaScript 69%
  • Python 30%
  • Nix 0.6%
  • TypeScript 0.3%
Find a file
2026-03-19 08:41:54 +01:00
.forgejo/workflows workflows: update build workflow 2026-02-13 15:56:52 +01:00
.github/workflows github.workflows: add build workflow 2026-03-03 11:13:32 +01:00
app config: remove pickle upload 2026-01-30 09:15:15 +01:00
assets assets: add logo 2026-01-28 22:42:25 +01:00
docs update readme and contributing 2026-01-13 22:34:12 +01:00
templates refactor project mv code in app dir 2026-01-11 15:06:21 +01:00
tests requirements: add minimum streamlit version 2026-01-29 08:23:10 +01:00
.gitignore Fix: re-add ignored frontend static JS files 2025-07-02 01:35:30 +02:00
Contributing.md docs.contributing: document fork sync, PR rebase workflow, and git reference 2026-03-19 08:41:54 +01:00
flake.lock nix: flake update 2026-01-28 10:22:52 +01:00
flake.nix nix: set processintel as default 2026-01-28 22:42:57 +01:00
LICENSE rename pm-insight -> ProcessIntel 2026-01-12 10:12:04 +01:00
module.nix nix.module: add client_max_body_size in nginx config 2026-02-02 11:28:03 +01:00
package.nix package.nix: add checkPhase 2026-02-13 15:56:51 +01:00
ProcessIntel.png readme: update ProcessIntel image 2026-02-04 10:26:54 +01:00
pyproject.toml requirements: add minimum streamlit version 2026-01-29 08:23:10 +01:00
README.md docs.readme: add references to new setup.md 2026-03-19 08:41:54 +01:00
requirements.txt requirements: add minimum streamlit version 2026-01-29 08:23:10 +01:00
SETUP.md docs.setup: add python, graphviz, and nix setup documentation 2026-03-19 08:41:54 +01:00

alt text

ProcessIntel

ProcessIntel is an open-source application for process mining, visualization, and interactive exploration of process models. It enables users to import event logs, mine process models using multiple algorithms, and explore results through an interactive graph-based interface.


Features

  • Event log & model input
    • Import CSV event logs
    • Load ProcessIntel native process models
  • Process mining algorithms
    • Alpha Miner
    • Heuristic Miner
    • Inductive Miner
    • Fuzzy Miner
    • Genetic Miner
  • Interactive process model visualization
    • Fully interactive graphs
    • Click on nodes and edges to inspect detailed metrics and properties directly in the app
    • Filter nodes and edges using configurable metrics
  • Export capabilities
    • Export visualizations as SVG, PNG, and DOT files
    • Export mined process models in native format
  • Flexible deployment
    • Run locally via Streamlit
    • Can also be deployed and run as a Nix service

Project Status

  • Current version: 1.0.0
  • Stability: Ready for productive use

Requirements

To run the application, the following are required:

  • Python: 3.12 or newer
  • Graphviz: required for process model rendering

Detailed installation instructions are available in the setup guide:

All Python dependencies used by the project are listed in requirements.txt.


Running the Application

Install dependencies:

pip install -r requirements.txt

Run the application from the project root:

streamlit run app/streamlit_app.py

The application will open automatically in your default web browser.


Streamlit Options

This application is built using Streamlit, which provides a wide range of configuration options.

Streamlit behavior can be customized in several ways:

  • Configuration file (.streamlit/config.toml)
  • Environment variables
  • Command-line (CLI) arguments

These options allow you to control aspects such as server settings, theming, caching behavior, and runtime performance without modifying the application code.

For a complete and up-to-date overview of all available options, please check the official Streamlit documentation.


Running Tests

Test dependencies are listed in:

tests/requirements_test.txt

Install them with:

pip install -r tests/requirements_test.txt

Run all tests:

python -m unittest discover -s tests -p "*_test.py"

Nix Support

ProcessIntel supports Nix-based environments, enabling reproducible builds and consistent development setups.

The project can be used with Nix in multiple ways:

  • Nix development shell for local development and experimentation
  • Nix service deployment for running the application in a managed environment

Using Nix ensures that all dependencies (including the correct Python version and required tools) are provided automatically by the Nix environment.

For development, you can enter the Nix development shell:

nix develop --impure

Once inside the development shell, the project can be started normally using Python:

python -m streamlit run app/streamlit_app.py

The repository also contains Nix configuration files that allow the application to be deployed and run as a Nix service.

For detailed instructions on installing Nix and running the project with it, see:

SETUP.md


Contributing

Contributions are very welcome! Please refer to CONTRIBUTING.md for guidelines on reporting issues, submitting pull requests, and contributing code or documentation.


License

This project is licensed under the terms described in the LICENSE file included in the repository.


Feedback

If you encounter bugs or have feature requests, please open an issue on GitHub. Your feedback helps improve ProcessIntel for everyone.