# Rust4PM (Python bindings) > A high-performance process mining library built in Rust, exposed to Python via the `r4pm` package. Provides process discovery (Alpha+++, DFG), conformance checking, and enhancement for both case-centric and object-centric event logs (OCEL 2.0). Install with `pip install r4pm`. Functions live under `r4pm` and `r4pm.bindings`. This file documents version **0.5.5**. The site at https://rust4pm.aarkue.eu renders the same data with cross-links between functions, types, and examples. ## Documentation - [Binding docs (latest)](https://rust4pm.aarkue.eu/docs): module-tree overview - [All functions](https://rust4pm.aarkue.eu/docs/functions): single-page list of every exposed function - [Types & structures](https://rust4pm.aarkue.eu/docs/types): every input/output type with the functions that produce or consume it - [Examples](https://rust4pm.aarkue.eu/docs/examples): runnable Python snippets - [Rust source](https://github.com/aarkue/rust4pm): upstream library and bindings ## Examples - [Building a Linked OCEL](https://rust4pm.aarkue.eu/docs/examples/slim-ocel-basics): Construct an OCEL end-to-end: declare event and object types, add events/objects with E2O/O2O relations, and export the resulting OCEL 2.0 to different formats. - [Building an OCEL from CSV tables](https://rust4pm.aarkue.eu/docs/examples/ocel-from-csv): Read events, objects, and relationships from CSV tables and build an OCEL 2.0 log. Works the same way for Pandas or Polars dataframes. ## Modules - [`process_mining::analysis::case_centric::dotted_chart`](https://rust4pm.aarkue.eu/docs/process_mining/analysis/case_centric/dotted_chart) (1 function): `get_dotted_chart` - [`process_mining::analysis::case_centric::event_timestamp_histogram`](https://rust4pm.aarkue.eu/docs/process_mining/analysis/case_centric/event_timestamp_histogram) (1 function): `get_event_timestamps` - [`process_mining::analysis::object_centric::object_attribute_changes`](https://rust4pm.aarkue.eu/docs/process_mining/analysis/object_centric/object_attribute_changes) (1 function): `get_object_attribute_changes` - [`process_mining::bindings`](https://rust4pm.aarkue.eu/docs/process_mining/bindings) (6 functions): `index_link_ocel`, `num_events`, `num_objects`, `ocel_type_stats`, `slim_link_ocel`, `test_some_inputs` - [`process_mining::bindings::slim_ocel_bindings`](https://rust4pm.aarkue.eu/docs/process_mining/bindings/slim_ocel_bindings) (31 functions): `locel_add_e2o`, `locel_add_event`, `locel_add_event_type`, `locel_add_o2o`, `locel_add_object`, `locel_add_object_type`, ... - [`process_mining::conformance::object_centric::oc_declare`](https://rust4pm.aarkue.eu/docs/process_mining/conformance/object_centric/oc_declare) (1 function): `oc_declare_conformance` - [`process_mining::core::event_data::case_centric::utils::activity_projection`](https://rust4pm.aarkue.eu/docs/process_mining/core/event_data/case_centric/utils/activity_projection) (1 function): `log_to_activity_projection` - [`process_mining::core::event_data::object_centric::utils::flatten`](https://rust4pm.aarkue.eu/docs/process_mining/core/event_data/object_centric/utils/flatten) (1 function): `flatten_ocel_on` - [`process_mining::core::event_data::object_centric::utils::init_exit_events`](https://rust4pm.aarkue.eu/docs/process_mining/core/event_data/object_centric/utils/init_exit_events) (1 function): `add_init_exit_events_to_ocel` - [`process_mining::core::process_models::case_centric::dfg::image_export`](https://rust4pm.aarkue.eu/docs/process_mining/core/process_models/case_centric/dfg/image_export) (2 functions): `export_dfg_image_png`, `export_dfg_image_svg` - [`process_mining::core::process_models::case_centric::dfg::image_export::private`](https://rust4pm.aarkue.eu/docs/process_mining/core/process_models/case_centric/dfg/image_export/private) (1 function): `export_dfg_png` - [`process_mining::core::process_models::case_centric::petri_net::image_export`](https://rust4pm.aarkue.eu/docs/process_mining/core/process_models/case_centric/petri_net/image_export) (2 functions): `export_petri_net_image_png`, `export_petri_net_image_svg` - [`process_mining::core::process_models::object_centric::ocdfg::object_centric_dfg_struct`](https://rust4pm.aarkue.eu/docs/process_mining/core/process_models/object_centric/ocdfg/object_centric_dfg_struct) (1 function): `discover_dfg_from_ocel` - [`process_mining::discovery::case_centric::alphappp::full`](https://rust4pm.aarkue.eu/docs/process_mining/discovery/case_centric/alphappp/full) (1 function): `discover_alpha+++` - [`process_mining::discovery::case_centric::dfg`](https://rust4pm.aarkue.eu/docs/process_mining/discovery/case_centric/dfg) (1 function): `discover_dfg` - [`process_mining::discovery::object_centric::oc_declare`](https://rust4pm.aarkue.eu/docs/process_mining/discovery/object_centric/oc_declare) (1 function): `discover_oc_declare` ## Optional - [llms-full.txt](https://rust4pm.aarkue.eu/llms-full.txt): full reference with every function signature, docstring, and example source