Search

Lib.rs

› Database interfaces
#event-log #events #import-export #process-tree #petri-net #svg #logging #statistics #ocel #xes

process_mining

Process Mining library for working with (object-centric) event data

Owned by Aaron.

  • Install
  • API reference
  • GitHub repo (aarkue)
  • Home (rust4pm.aarkue.eu)

56 releases

0.5.5 Apr 22, 2026
0.5.4 Mar 22, 2026
0.5.2 Feb 20, 2026
0.3.25 Mar 10, 2025
0.1.1 Dec 16, 2023

#542 in Database interfaces

Download history 617/week @ 2026-01-08 150/week @ 2026-01-15 218/week @ 2026-01-22 398/week @ 2026-01-29 148/week @ 2026-02-05 157/week @ 2026-02-12 146/week @ 2026-02-19 52/week @ 2026-02-26 54/week @ 2026-03-05 84/week @ 2026-03-12 139/week @ 2026-03-19 200/week @ 2026-03-26 55/week @ 2026-04-02 14/week @ 2026-04-09 49/week @ 2026-04-16 65/week @ 2026-04-23

238 downloads per month
Used in 4 crates

MIT/Apache

1MB
20K SLoC

process_mining

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

Crates.io Docs.rs 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
    • Object-Centric DFG
    • OC-DECLARE Constraints with Synchronization
  • Process Models:
    • Petri Nets (import/export PNML, export to SVG/PNG via Graphviz)
    • (Object-Centric) Process Trees
    • OC-DECLARE Models
  • 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.

Dependencies

~11–46MB
~717K SLoC

  • chrono+serde
  • csv
  • flate2
  • itertools 0.14
  • macros_process_mining
  • ordered-float 5.0
  • petgraph 0.8.1
  • quick-xml 0.37.4
  • rayon
  • schemars 1.1+chrono04+uuid1
  • serde+derive
  • serde_json
  • serde_with+std+macros+schemars_1
  • tempfile
  • uuid+v4+serde
  • ocel-duckdb? duckdb+chrono
  • graphviz-export? graphviz-rust
  • bindings? inventory
  • kuzudb? kuzu =0.11.2
  • token-based-replay? nalgebra 0.33.2
  • dataframes? polars 0.51+dtype-slim+timezones+partition_by
  • log-splitting? rand 0.9.1
  • ocel-sqlite? rusqlite 0.38+bundled+chrono+serialize

Other feature

  • all
Related: macros_process_mining, r4pm
See also: datasynth-ocpm, evtx, sos-reducers, ebi_arithmetic, ebi_activity_key, winlog2, tracing-layer-win-eventlog, eventlog-rs, petri-net-simulation, psfu, tricord

Lib.rs is an unofficial list of Rust/Cargo crates, created by kornelski. It contains data from multiple sources, including heuristics, and manually curated data. Content of this page is not necessarily endorsed by the authors of the crate. This site is not affiliated with nor endorsed by the Rust Project. If something is missing or incorrect, please file a bug.