pm4py.objects.log.importer.xes.variants.line_by_line 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.log.importer.xes.variants.line_by_line.Parameters(*values)[source]#

Bases: Enum

TIMESTAMP_SORT = 'timestamp_sort'#
TIMESTAMP_KEY = 'pm4py:param:timestamp_key'#
REVERSE_SORT = 'reverse_sort'#
MAX_TRACES = 'max_traces'#
MAX_BYTES = 'max_bytes'#
SKIP_BYTES = 'skip_bytes'#
SET_ATTRIBUTES_TO_READ = 'set_attributes_to_read'#
DECOMPRESS_SERIALIZATION = 'decompress_serialization'#
ENCODING = 'encoding'#
pm4py.objects.log.importer.xes.variants.line_by_line.apply(filename, parameters=None)[source]#
pm4py.objects.log.importer.xes.variants.line_by_line.read_attribute_key_value(tag, content, date_parser, values_dict, set_attributes_to_read)[source]#

Reads an attribute from the line of the log

Parameters:
  • tag – Tag

  • content – Full content of the line

  • date_parser – Date parser

  • values_dict – Dictionary of keys/values already met during the parsing

  • set_attributes_to_read – Names of the attributes that should be parsed. If None, then, all the attributes are parsed.

Returns:

  • key – Key of the attribute

  • value – Value of the attribute

pm4py.objects.log.importer.xes.variants.line_by_line.import_log_from_file_object(f, encoding, file_size=9223372036854775807, parameters=None)[source]#

Deserialize a text/binary string representing a XES log.

Parameters:
  • log_string (str or bytes) – String that contains the XES.

  • parameters (dict, optional) – Parameters of the algorithm, including:

    • Parameters.TIMESTAMP_SORT: Specify if we should sort log by timestamp.

    • Parameters.TIMESTAMP_KEY: If sort is enabled, then sort the log by using this key.

    • Parameters.REVERSE_SORT: Specify in which direction the log should be sorted.

    • Parameters.INSERT_TRACE_INDICES: Specify if trace indexes should be added as event attribute for each event.

    • Parameters.MAX_TRACES: Specify the maximum number of traces to import.

    • Parameters.DECOMPRESS_SERIALIZATION: Specify if the string needs to be decompressed.

    • Parameters.SET_ATTRIBUTES_TO_READ: Names of the attributes that should be parsed. If not specified, then all attributes are parsed.

    • Parameters.ENCODING: Regulates the encoding of the log (default: utf-8).

Returns:

Trace log object.

Return type:

log

pm4py.objects.log.importer.xes.variants.line_by_line.import_log(filename, parameters=None)[source]#

Import a log object from a XML file containing the traces, the events and the simple attributes of them.

Parameters:
  • filename – XES file to parse

  • parameters – Parameters of the algorithm, including:

    • Parameters.TIMESTAMP_SORT: Specify if we should sort log by timestamp.

    • Parameters.TIMESTAMP_KEY: If sort is enabled, then sort the log by using this key.

    • Parameters.REVERSE_SORT: Specify in which direction the log should be sorted.

    • Parameters.MAX_TRACES: Specify the maximum number of traces to import from the log (read in order in the XML file).

    • Parameters.MAX_BYTES: Maximum number of bytes to read.

    • Parameters.SKYP_BYTES: Number of bytes to skip.

    • Parameters.SET_ATTRIBUTES_TO_READ: Names of the attributes that should be parsed. If not specified, then all the attributes are parsed.

    • Parameters.ENCODING: Regulates the encoding of the log (default: utf-8).

Returns:

Log file

Return type:

log

pm4py.objects.log.importer.xes.variants.line_by_line.import_from_string(log_string, parameters=None)[source]#

Deserialize a text/binary string representing a XES log.

Parameters:
  • log_string – String that contains the XES

  • parameters –

    Parameters of the algorithm, including:

    Parameters.TIMESTAMP_SORT: Specify if we should sort log by timestamp Parameters.TIMESTAMP_KEY: If sort is enabled, then sort the log by using this key Parameters.REVERSE_SORT: Specify in which direction the log should be sorted Parameters.INSERT_TRACE_INDICES: Specify if trace indexes should be added as event attribute for each event Parameters.MAX_TRACES: Specify the maximum number of traces to import from the log (read in order in the XML file) Parameters.DECOMPRESS_SERIALIZATION: Specify if the string needs to be decompressed during the parsing Parameters.SET_ATTRIBUTES_TO_READ: Names of the attributes that should be parsed. If not specified, then, all the attributes are parsed. Parameters.ENCODING: Regulates the encoding of the log (default: utf-8)

Returns:

Trace log object

Return type:

log