The pm4py.discovery module contains the process discovery algorithms implemented in pm4py


derive_minimum_self_distance(log[, ...])

This algorithm computes the minimum self-distance for each activity observed in an event log.

discover_batches(log[, merge_distance, ...])

Discover batches from the provided log object

discover_bpmn_inductive(log[, ...])

Discovers a BPMN using the Inductive Miner algorithm

discover_dfg(log[, activity_key, ...])

Discovers a Directly-Follows Graph (DFG) from a log.

discover_dfg_typed(log[, case_id_key, ...])

Discovers a Directly-Follows Graph (DFG) from a log.

discover_directly_follows_graph(log[, ...])

discover_eventually_follows_graph(log[, ...])

Gets the eventually follows graph from a log object.


Discovers the footprints out of the provided event log / process model

discover_heuristics_net(log[, ...])

Discovers an heuristics net

discover_log_skeleton(log[, ...])

Discovers a log skeleton from an event log.

discover_performance_dfg(log[, ...])

Discovers a performance directly-follows graph from an event log.

discover_petri_net_alpha(log[, ...])

Discovers a Petri net using the Alpha Miner.

discover_petri_net_alpha_plus(log[, ...])

Discovers a Petri net using the Alpha+ algorithm

discover_petri_net_heuristics(log[, ...])

Discover a Petri net using the Heuristics Miner

discover_petri_net_ilp(log[, alpha, ...])

Discovers a Petri net using the ILP Miner.

discover_petri_net_inductive(log[, ...])

Discovers a Petri net using the inductive miner algorithm.

discover_prefix_tree(log[, activity_key, ...])

Discovers a prefix tree from the provided log object.

discover_process_tree_inductive(log[, ...])

Discovers a process tree using the inductive miner algorithm

discover_temporal_profile(log[, ...])

Discovers a temporal profile from a log object.

discover_transition_system(log[, direction, ...])

Discovers a transition system as described in the process mining book "Process Mining: Data Science in Action"