Skip to content

Commit 50fc40c

Browse files
Merge remote-tracking branch 'upstream/hotfixes' into release
2 parents da96eaf + 72ec8ec commit 50fc40c

44 files changed

Lines changed: 172 additions & 119 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

examples/CHECK_MISSING.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,13 @@
22

33

44
if __name__ == "__main__":
5-
files = [x.split(".")[0] for x in os.listdir(".") if x.endswith(".py") and not "execute_everything" in x and not "CHECK_MISSING" in x]
5+
files = [
6+
x.split(".")[0]
7+
for x in os.listdir(".")
8+
if x.endswith(".py")
9+
and "execute_everything" not in x
10+
and "CHECK_MISSING" not in x
11+
]
612
contents_ex_everything = open("execute_everything.py", "r").read()
713
for f in files:
814
if f not in contents_ex_everything:

examples/concept_drift.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,23 @@
1-
import pm4py, os
1+
import os
2+
3+
import pm4py
24
from pm4py.algo.concept_drift import algorithm as concept_drift_detection
35

46

57
def execute_script():
6-
log: "pandas.DataFrame" = pm4py.read_xes(os.path.join("..", "tests", "input_data", "receipt.xes"))
8+
log: "pandas.DataFrame" = pm4py.read_xes(
9+
os.path.join("..", "tests", "input_data", "receipt.xes")
10+
)
711

812
# Bose's concept drift detection is solely based on the control-flow perspective
913
returned_sublogs: "list[pandas.DataFrame]"
1014
change_timestamps: "list[int]"
1115
p_values: "list[float]"
12-
returned_sublogs, change_timestamps, p_values = concept_drift_detection.apply(log, parameters={"max_no_change_points": 3})
16+
returned_sublogs, change_timestamps, p_values = (
17+
concept_drift_detection.apply(
18+
log, parameters={"max_no_change_points": 3}
19+
)
20+
)
1321

1422
# print the timestamps and the p-values of the detected change points
1523
print(change_timestamps)

examples/llm/01_2_protected_group_query.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import pm4py
2-
import os
32
import duckdb
43

54

@@ -26,12 +25,12 @@ def execute_script():
2625
dataframe_pos = dataframe_pos.groupby("case:concept:name").first()
2726
dataframe_neg = dataframe_neg.groupby("case:concept:name").last()
2827

29-
tp = len(dataframe_pos[dataframe_pos[protected_attr] == True])
30-
fp = len(dataframe_pos[dataframe_pos[protected_attr] == False])
28+
tp = len(dataframe_pos[dataframe_pos[protected_attr].eq(True)])
29+
fp = len(dataframe_pos[dataframe_pos[protected_attr].eq(False)])
3130
print("true positives", tp)
3231
print("false positives", fp)
33-
fn = len(dataframe_neg[dataframe_neg[protected_attr] == True])
34-
tn = len(dataframe_neg[dataframe_neg[protected_attr] == False])
32+
fn = len(dataframe_neg[dataframe_neg[protected_attr].eq(True)])
33+
tn = len(dataframe_neg[dataframe_neg[protected_attr].eq(False)])
3534
print("false negatives", fn)
3635
print("true negatives", tn)
3736

examples/llm/02_group_fairness_factors.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import pm4py
2-
import os
32

43

54
def execute_script():
@@ -11,8 +10,12 @@ def execute_script():
1110
"""
1211
dataframe: "pandas.DataFrame" = pm4py.read_xes("../../tests/input_data/fairness/renting_log_high.xes.gz")
1312
protected_attr = [x for x in dataframe.columns if "protected" in x][0]
14-
dataframe_prot: "pandas.DataFrame" = dataframe[dataframe[protected_attr] == True]
15-
dataframe_unprot: "pandas.DataFrame" = dataframe[dataframe[protected_attr] == False]
13+
dataframe_prot: "pandas.DataFrame" = dataframe[
14+
dataframe[protected_attr].eq(True)
15+
]
16+
dataframe_unprot: "pandas.DataFrame" = dataframe[
17+
dataframe[protected_attr].eq(False)
18+
]
1619
prompt: "str" = "I want to identify the unfair differences between the treatment of the 'protected' group (first) and the 'unprotected' group (second). I report the process variants. Each process variant is also reported with its execution time."
1720
prompt += "\n\nProcess variants of the protected group:"
1821
prompt += pm4py.llm.abstract_variants(dataframe_prot, max_len=5000)

examples/llm/03_case_procedural.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import pm4py
2-
import os
32
import duckdb
43

54

@@ -53,12 +52,12 @@ def execute_script():
5352
dataframe_pos = dataframe_pos.groupby("case:concept:name").first()
5453
dataframe_neg = dataframe_neg.groupby("case:concept:name").last()
5554

56-
tp = len(dataframe_pos[dataframe_pos[protected_attr] == True])
57-
fp = len(dataframe_pos[dataframe_pos[protected_attr] == False])
55+
tp = len(dataframe_pos[dataframe_pos[protected_attr].eq(True)])
56+
fp = len(dataframe_pos[dataframe_pos[protected_attr].eq(False)])
5857
print("true positives", tp)
5958
print("false positives", fp)
60-
fn = len(dataframe_neg[dataframe_neg[protected_attr] == True])
61-
tn = len(dataframe_neg[dataframe_neg[protected_attr] == False])
59+
fn = len(dataframe_neg[dataframe_neg[protected_attr].eq(True)])
60+
tn = len(dataframe_neg[dataframe_neg[protected_attr].eq(False)])
6261
print("false negatives", fn)
6362
print("true negatives", tn)
6463

examples/streaming_conformance_footprints.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
1+
import os
2+
13
import pm4py
4+
25
from pm4py.algo.discovery.footprints import algorithm as fp_discovery
6+
from pm4py.streaming.algo.conformance.footprints import (
7+
algorithm as streaming_fp_conf,
8+
)
39
from pm4py.streaming.stream.live_event_stream import LiveEventStream
4-
from pm4py.streaming.algo.conformance.footprints import algorithm as streaming_fp_conf
5-
import os, time
610

711

812
def execute_script():
913
# imports a XES event log
10-
log: "pandas.DataFrame" = pm4py.read_xes(os.path.join("..", "tests", "input_data", "receipt.xes"))
14+
log: "pandas.DataFrame" = pm4py.read_xes(
15+
os.path.join("..", "tests", "input_data", "receipt.xes")
16+
)
1117
# converts the log into a list of events (not anymore grouped in cases)
1218
event_stream: "EventStream" = pm4py.convert_to_event_stream(log)
1319
# calculates a process tree using the IMf algorithm (50% noise)
@@ -24,7 +30,7 @@ def execute_script():
2430
live_stream.start()
2531
# append each event of the original log to the live event stream
2632
# (so it is sent to the conformance checking algorithm)
27-
for index, event in enumerate(event_stream):
33+
for event in event_stream:
2834
live_stream.append(event)
2935
# stops the live event stream
3036
live_stream.stop()
@@ -35,7 +41,7 @@ def execute_script():
3541
diagn_df = conf_obj.get()
3642
conf_obj.terminate_all()
3743
print(diagn_df)
38-
print(diagn_df[diagn_df["is_fit"] == False])
44+
print(diagn_df[diagn_df["is_fit"].eq(False)])
3945

4046

4147
if __name__ == "__main__":

examples/streaming_conformance_tbr.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
1+
import os
2+
13
import pm4py
2-
from pm4py.streaming.stream.live_event_stream import LiveEventStream
4+
35
from pm4py.streaming.algo.conformance.tbr import algorithm as streaming_tbr
4-
import os, time
6+
from pm4py.streaming.stream.live_event_stream import LiveEventStream
57

68

79
def execute_script():
810
# imports a XES event log
9-
log: "pandas.DataFrame" = pm4py.read_xes(os.path.join("..", "tests", "input_data", "receipt.xes"))
11+
log: "pandas.DataFrame" = pm4py.read_xes(
12+
os.path.join("..", "tests", "input_data", "receipt.xes")
13+
)
1014
# converts the log into a list of events (not anymore grouped in cases)
1115
event_stream: "EventStream" = pm4py.convert_to_event_stream(log)
1216
# calculates a process tree using the IMf algorithm (30% noise)
@@ -24,9 +28,9 @@ def execute_script():
2428
live_stream.start()
2529
# append each event of the original log to the live event stream
2630
# (so it is sent to the conformance checking algorithm)
27-
for index, event in enumerate(event_stream):
31+
for event in event_stream:
2832
live_stream.append(event)
29-
#time.sleep(5)
33+
# time.sleep(5)
3034
# stops the live event stream
3135
live_stream.stop()
3236
# sends a termination signal to the conformance checking algorithm;
@@ -35,7 +39,7 @@ def execute_script():
3539
diagn_df = conf_obj.get()
3640
conf_obj.terminate_all()
3741
print(diagn_df)
38-
print(diagn_df[diagn_df["is_fit"] == False])
42+
print(diagn_df[diagn_df["is_fit"].eq(False)])
3943

4044

4145
if __name__ == "__main__":

examples/streaming_csv_reader_event_stream.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
1-
from pm4py.streaming.stream.live_event_stream import LiveEventStream
1+
import os
2+
23
from pm4py.streaming.importer.csv import importer as streaming_csv_importer
4+
from pm4py.streaming.stream.live_event_stream import LiveEventStream
35
from pm4py.streaming.util.event_stream_printer import EventStreamPrinter
4-
import os, time
56

67

78
def execute_script():
89
live_event_stream: "LiveEventStream" = LiveEventStream()
910
event_stream_printer: "EventStreamPrinter" = EventStreamPrinter()
1011
live_event_stream.register(event_stream_printer)
1112
live_event_stream.start()
12-
importer = streaming_csv_importer.apply(os.path.join("..", "tests", "input_data", "running-example.csv"))
13+
importer = streaming_csv_importer.apply(
14+
os.path.join("..", "tests", "input_data", "running-example.csv")
15+
)
1316
importer.to_event_stream(live_event_stream)
1417
live_event_stream.stop()
1518

examples/streaming_xes_reader_event_stream.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
1-
from pm4py.streaming.stream.live_event_stream import LiveEventStream
1+
import os
2+
23
from pm4py.streaming.importer.xes import importer as streaming_xes_importer
4+
from pm4py.streaming.stream.live_event_stream import LiveEventStream
35
from pm4py.streaming.util.event_stream_printer import EventStreamPrinter
4-
import os, time
56

67

78
def execute_script():
89
live_event_stream: "LiveEventStream" = LiveEventStream()
910
event_stream_printer: "EventStreamPrinter" = EventStreamPrinter()
1011
live_event_stream.register(event_stream_printer)
1112
live_event_stream.start()
12-
importer = streaming_xes_importer.apply(os.path.join("..", "tests", "input_data", "running-example.xes"),
13-
variant=streaming_xes_importer.Variants.XES_EVENT_STREAM)
13+
importer = streaming_xes_importer.apply(
14+
os.path.join("..", "tests", "input_data", "running-example.xes"),
15+
variant=streaming_xes_importer.Variants.XES_EVENT_STREAM,
16+
)
1417
importer.to_event_stream(live_event_stream)
1518
live_event_stream.stop()
1619

examples/streaming_xes_reader_trace_stream.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
1-
from pm4py.streaming.stream.live_trace_stream import LiveTraceStream
1+
import os
2+
23
from pm4py.streaming.importer.xes import importer as streaming_xes_importer
4+
from pm4py.streaming.stream.live_trace_stream import LiveTraceStream
35
from pm4py.streaming.util.trace_stream_printer import TraceStreamPrinter
4-
import os, time
56

67

78
def execute_script():
89
live_trace_stream: "LiveTraceStream" = LiveTraceStream()
910
trace_stream_printer: "TraceStreamPrinter" = TraceStreamPrinter()
1011
live_trace_stream.register(trace_stream_printer)
1112
live_trace_stream.start()
12-
importer = streaming_xes_importer.apply(os.path.join("..", "tests", "input_data", "running-example.xes"),
13-
variant=streaming_xes_importer.Variants.XES_TRACE_STREAM)
13+
importer = streaming_xes_importer.apply(
14+
os.path.join("..", "tests", "input_data", "running-example.xes"),
15+
variant=streaming_xes_importer.Variants.XES_TRACE_STREAM,
16+
)
1417
importer.to_trace_stream(live_trace_stream)
1518
live_trace_stream.stop()
1619

0 commit comments

Comments
 (0)