pm4py.objects.conversion.bpmn.variants.to_petri_net module#
PM4Py – A Process Mining Library for Python Copyright (C) 2026 Process Intelligence Solutions GmbH
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.
Website: https://processintelligence.solutions Contact: info@processintelligence.solutions
- class pm4py.objects.conversion.bpmn.variants.to_petri_net.Parameters(*values)[source]#
Bases:
Enum- USE_ID = 'use_id'#
- ENABLE_REDUCTION = 'enable_reduction'#
- RETURN_FLOW_TRANS_MAP = 'return_flow_trans_map'#
- pm4py.objects.conversion.bpmn.variants.to_petri_net.build_digraph_from_petri_net(net)[source]#
- Builds a directed graph from a Petri net
(for the purpose to add invisibles between inclusive gateways)
- Parameters:
net – Petri net
- Returns:
Digraph
- Return type:
digraph
- pm4py.objects.conversion.bpmn.variants.to_petri_net.apply(bpmn_graph, parameters=None)[source]#
Converts a BPMN graph to an accepting Petri net.
- Parameters:
bpmn_graph – BPMN graph
parameters – Parameters of the algorithm:
Parameters.USE_ID => (default: False) uses the IDs of the objects instead of their labels in the conversion
Parameters.ENABLE_REDUCTION => reduces the invisible transitions
Parameters.RETURN_FLOW_TRANS_MAP => returns additional information on the conversion: (iv) the places of the obtained Petri net that are corresponding to each BPMN flow. (v) the transitions of the Petri net related to the nodes of the BPMN diagram.
- Returns:
net – Petri net
im – Initial marking
fm – Final marking