Crate process_mining

Crate process_mining 

Source
Expand description

§process_mining

A Rust library for Process Mining, providing efficient data structures and algorithms for working with event data.

Crates.io Docs.rs

§Module Structure

The library is organized into the following main modules:

  • core: Fundamental data structures (e.g., EventLog, OCEL, PetriNet) and I/O traits.
  • discovery: Algorithms for discovering process models from event data (e.g., Alpha+++, DFG).
  • conformance: Techniques for checking conformance between data and models (e.g., Token-based replay).

§Examples

You can find various usage examples in the examples/ directory, covering:

  • Importing and analyzing XES event logs (event_log_stats.rs)
  • Working with OCEL 2.0 data (ocel_stats.rs)
  • Process discovery (process_discovery.rs)
  • Exporting to DuckDB/KuzuDB (ocel_duckdb_export.rs, ocel_kuzudb_export.rs)

To run an example:

cargo run --example event_log_stats -- <path_to_log.xes>

For more details, see the Examples README.

§Features

  • Event Data Support:
    • XES: Import and export of IEEE XES event logs.
    • OCEL 2.0: Full support for Object-Centric Event Logs (JSON, XML, SQLite, and also an unofficial DuckDB format).
  • Process Discovery:
    • Directly-Follows Graphs (DFG)
    • Alpha Miner
  • Process Models:
    • Petri Nets (import/export PNML, export to SVG/PNG via Graphviz)
  • Performance: Built with Rust for high performance and memory safety.

§Documentation

Full API documentation is available at docs.rs/process_mining.

§License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Re-exports§

pub use core::io::Exportable;
pub use core::io::Importable;
pub use core::EventLog;
pub use core::PetriNet;
pub use core::OCEL;

Modules§

bindings
Bindings
conformance
Conformance Checking
core
Core modules for process mining
discovery
Process Discovery

Macros§

attribute
Create an Attribute.
attributes
Create an Attributes instance.
event
Create an Event.
event_log
Create an EventLog.
ocel
Creates an OCEL containing the given events, objects, event-to-object (e2o) relations.
trace
Create a Trace.

Enums§

XMLWriterWrapper
A wrapper for either an owned or mutable reference to a quick_xml::Writer