pm4py.algo.discovery.performance_spectrum.algorithm 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.algo.discovery.performance_spectrum.algorithm.Parameters(*values)[source]#

Bases: Enum

ACTIVITY_KEY = 'pm4py:param:activity_key'#
TIMESTAMP_KEY = 'pm4py:param:timestamp_key'#
CASE_ID_KEY = 'pm4py:param:case_id_key'#
ATTRIBUTE_KEY = 'pm4py:param:attribute_key'#
PARAMETER_SAMPLE_SIZE = 'sample_size'#
class pm4py.algo.discovery.performance_spectrum.algorithm.Outputs(*values)[source]#

Bases: Enum

LIST_ACTIVITIES = 'list_activities'#
POINTS = 'points'#
class pm4py.algo.discovery.performance_spectrum.algorithm.Variants(*values)[source]#

Bases: Enum

DATAFRAME = <module 'pm4py.algo.discovery.performance_spectrum.variants.dataframe' from '/home/javert/ALE/pm4py/pm4py/algo/discovery/performance_spectrum/variants/dataframe.py'>#
LOG = <module 'pm4py.algo.discovery.performance_spectrum.variants.log' from '/home/javert/ALE/pm4py/pm4py/algo/discovery/performance_spectrum/variants/log.py'>#
DATAFRAME_DISCONNECTED = <module 'pm4py.algo.discovery.performance_spectrum.variants.dataframe_disconnected' from '/home/javert/ALE/pm4py/pm4py/algo/discovery/performance_spectrum/variants/dataframe_disconnected.py'>#
LOG_DISCONNECTED = <module 'pm4py.algo.discovery.performance_spectrum.variants.log_disconnected' from '/home/javert/ALE/pm4py/pm4py/algo/discovery/performance_spectrum/variants/log_disconnected.py'>#
LAZYFRAME = <module 'pm4py.algo.discovery.performance_spectrum.variants.lazyframe' from '/home/javert/ALE/pm4py/pm4py/algo/discovery/performance_spectrum/variants/lazyframe.py'>#
LAZYFRAME_DISCONNECTED = <module 'pm4py.algo.discovery.performance_spectrum.variants.lazyframe_disconnected' from '/home/javert/ALE/pm4py/pm4py/algo/discovery/performance_spectrum/variants/lazyframe_disconnected.py'>#
pm4py.algo.discovery.performance_spectrum.algorithm.is_polars_lazyframe(df: Any) → bool[source]#

Return True if the provided dataframe is a Polars LazyFrame.

pm4py.algo.discovery.performance_spectrum.algorithm.apply(log: EventLog | EventStream | DataFrame, list_activities: List[str], variant=None, parameters: Dict[Any, Any] | None = None) → Dict[str, Any][source]#

Finds the performance spectrum provided a log/dataframe and a list of activities

Parameters:
  • log – Event log/Dataframe

  • list_activities – List of activities interesting for the performance spectrum (at least two)

  • variant – Variant to be used (see Variants Enum)

  • parameters –

    Parameters of the algorithm, including:
    • Parameters.ACTIVITY_KEY

    • Parameters.TIMESTAMP_KEY

Returns:

Performance spectrum object (dictionary)

Return type:

ps