pm4py.objects.ocpn.obj 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.ocpn.obj.OCMarking(*args: Any, **kwargs: Any)[source]#

Bases: defaultdict

An object-centric marking represented as a mapping from places to multisets of object IDs.

` marking = OCMarking({p: Counter(["object1", "object2"])}) `

property places: Set#

Returns the set of all places in the marking that contain tokens.

Returns:

Set of place names in the marking.

Return type:

Set[str]

class pm4py.objects.ocpn.obj.OCPetriNet(name: str = None, places: Collection[Place] = None, transitions: Collection[Transition] = None, arcs: Collection[Arc] = None, initial_marking: OCMarking = None, final_marking: OCMarking = None, properties: Dict[str, Any] = None)[source]#

Bases: PetriNet, Mapping

class Place(name, object_type, in_arcs=None, out_arcs=None, properties=None)[source]#

Bases: Place

add_in_arc(arc)[source]#

Adds an incoming arc to the place.

Parameters:

arc (OCPetriNet.Arc) – the arc to add

add_out_arc(arc)[source]#

Adds an outgoing arc to the place.

Parameters:

arc (OCPetriNet.Arc) – the arc to add

property object_type#
class Transition(name, label=None, in_arcs=None, out_arcs=None, properties=None)[source]#

Bases: Transition

add_in_arc(arc)[source]#

Adds an incoming arc to the place.

Parameters:

arc (OCPetriNet.Arc) – the arc to add

add_out_arc(arc)[source]#

Adds an outgoing arc to the place.

Parameters:

arc (OCPetriNet.Arc) – the arc to add

class Arc(source, target, object_type, is_variable=False, properties=None)[source]#

Bases: Arc

property object_type#
property is_variable#
property initial_marking#
property final_marking#
set_legacy_dict(legacy_dict: Dict[str, Any]) → None[source]#
to_dict() → Dict[str, Any][source]#
property object_types: Set[str]#

Returns the set of all object types (colors) used in this net.

Returns:

Set of object types (colors) used in this net.

Return type:

Set[str]