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