your paper sounds really interesting. I tried to run the code after running your installation guide and I get the following error message.
Have you encountered something like this?
InvalidVersion Traceback (most recent call last)
Cell In [3], line 2
1 # core import of the alignment calculation algorithm
----> 2 from algorithm import calculate_oc_alignments
4 # imports to load object-centric event logs and discover accepting object-centric Petri net
5 from localocpa.objects.log.importer.ocel import factory as ocel_import_factory_json
File ~\PycharmProjects\object-centric-alignments-main\localocpa\algo\discovery\ocpn\algorithm.py:1
----> 1 from localocpa.algo.discovery.ocpn.versions import inductive
2 from localocpa.objects.log.ocel import OCEL
3 from localocpa.objects.log.variants.obj import ObjectCentricEventLog
File ~\PycharmProjects\object-centric-alignments-main\localocpa\algo\discovery\ocpn\versions__init__.py:1
----> 1 from localocpa.algo.discovery.ocpn.versions import inductive
File ~\PycharmProjects\object-centric-alignments-main\localocpa\algo\discovery\ocpn\versions\inductive.py:14
11 from pm4py.statistics.variants.log import get as variants_module
12 # from pm4py.algo.filtering.log.paths import paths_filter
13 # from pm4py.algo.filtering.log.variants import variants_filter
---> 14 from pm4py.algo.filtering.log.attributes import attributes_filter
15 from pm4py.objects.petri.petrinet import PetriNet, Marking
16 from pm4py.objects.petri.utils import add_arc_from_to
File ~\anaconda3\envs\object-centric-alignments-main\lib\site-packages\pm4py\algo\filtering\log__init__.py:18
1 '''
2 This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).
3
(...)
15 along with PM4Py. If not, see https://www.gnu.org/licenses/.
16 '''
---> 18 from pm4py.algo.filtering.log import attributes, end_activities, paths, \
19 cases, start_activities, timestamp, variants, ltl
File ~\anaconda3\envs\object-centric-alignments-main\lib\site-packages\pm4py\algo\filtering\log\ltl__init__.py:17
1 '''
2 This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).
3
(...)
15 along with PM4Py. If not, see https://www.gnu.org/licenses/.
16 '''
---> 17 from pm4py.algo.filtering.log.ltl import ltl_checker
File ~\anaconda3\envs\object-centric-alignments-main\lib\site-packages\pm4py\algo\filtering\log\ltl\ltl_checker.py:60
56 return False
57 return True
---> 60 @deprecation.deprecated('2.2.6', '3.0.0', 'please use pm4py.algo.filtering.log.ltl.ltl_checker.eventually_follows')
61 def A_eventually_B(log, A, B, parameters=None):
62 """
63 Applies the A eventually B rule
64
(...)
82 Filtered log
83 """
84 if parameters is None:
File ~\anaconda3\envs\object-centric-alignments-main\lib\site-packages\packaging\version.py:52, in parse(version)
43 def parse(version: str) -> "Version":
44 """Parse the given version string.
45
46 >>> parse('1.0.dev1')
(...)
50 :raises InvalidVersion: When the version string is not a valid version.
51 """
---> 52 return Version(version)
File ~\anaconda3\envs\object-centric-alignments-main\lib\site-packages\packaging\version.py:197, in Version.init(self, version)
195 match = self._regex.search(version)
196 if not match:
--> 197 raise InvalidVersion(f"Invalid version: '{version}'")
199 # Store the parsed out pieces of the version
200 self._version = _Version(
201 epoch=int(match.group("epoch")) if match.group("epoch") else 0,
202 release=tuple(int(i) for i in match.group("release").split(".")),
(...)
208 local=_parse_local_version(match.group("local")),
209 )
InvalidVersion: Invalid version: 'please use pm4py.algo.filtering.log.ltl.ltl_checker.eventually_follows'
Hey Lukas,
your paper sounds really interesting. I tried to run the code after running your installation guide and I get the following error message. Have you encountered something like this?
InvalidVersion Traceback (most recent call last) Cell In [3], line 2 1 # core import of the alignment calculation algorithm ----> 2 from algorithm import calculate_oc_alignments 4 # imports to load object-centric event logs and discover accepting object-centric Petri net 5 from localocpa.objects.log.importer.ocel import factory as ocel_import_factory_json
File ~\PycharmProjects\object-centric-alignments-main\algorithm.py:1 ----> 1 import localocpa 2 import helperfunctions 3 from helperfunctions import FrozenMarking
File ~\PycharmProjects\object-centric-alignments-main\localocpa__init__.py:1 ----> 1 import localocpa.algo 2 import localocpa.objects 3 import localocpa.util
File ~\PycharmProjects\object-centric-alignments-main\localocpa\algo__init__.py:2 1 import localocpa.algo.conformance ----> 2 import localocpa.algo.discovery 3 import localocpa.algo.enhancement 4 import localocpa.algo.util.retrieval
File ~\PycharmProjects\object-centric-alignments-main\localocpa\algo\discovery__init__.py:2 1 import localocpa.algo.discovery.enhanced_ocpn ----> 2 import localocpa.algo.discovery.ocpn
File ~\PycharmProjects\object-centric-alignments-main\localocpa\algo\discovery\ocpn__init__.py:1 ----> 1 import localocpa.algo.discovery.ocpn.algorithm 2 import localocpa.algo.discovery.ocpn.versions
File ~\PycharmProjects\object-centric-alignments-main\localocpa\algo\discovery\ocpn\algorithm.py:1 ----> 1 from localocpa.algo.discovery.ocpn.versions import inductive 2 from localocpa.objects.log.ocel import OCEL 3 from localocpa.objects.log.variants.obj import ObjectCentricEventLog
File ~\PycharmProjects\object-centric-alignments-main\localocpa\algo\discovery\ocpn\versions__init__.py:1 ----> 1 from localocpa.algo.discovery.ocpn.versions import inductive
File ~\PycharmProjects\object-centric-alignments-main\localocpa\algo\discovery\ocpn\versions\inductive.py:14 11 from pm4py.statistics.variants.log import get as variants_module 12 # from pm4py.algo.filtering.log.paths import paths_filter 13 # from pm4py.algo.filtering.log.variants import variants_filter ---> 14 from pm4py.algo.filtering.log.attributes import attributes_filter 15 from pm4py.objects.petri.petrinet import PetriNet, Marking 16 from pm4py.objects.petri.utils import add_arc_from_to
File ~\anaconda3\envs\object-centric-alignments-main\lib\site-packages\pm4py\algo\filtering\log__init__.py:18 1 ''' 2 This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de). 3 (...) 15 along with PM4Py. If not, see https://www.gnu.org/licenses/. 16 ''' ---> 18 from pm4py.algo.filtering.log import attributes, end_activities, paths, \ 19 cases, start_activities, timestamp, variants, ltl
File ~\anaconda3\envs\object-centric-alignments-main\lib\site-packages\pm4py\algo\filtering\log\ltl__init__.py:17 1 ''' 2 This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de). 3 (...) 15 along with PM4Py. If not, see https://www.gnu.org/licenses/. 16 ''' ---> 17 from pm4py.algo.filtering.log.ltl import ltl_checker
File ~\anaconda3\envs\object-centric-alignments-main\lib\site-packages\pm4py\algo\filtering\log\ltl\ltl_checker.py:60 56 return False 57 return True ---> 60 @deprecation.deprecated('2.2.6', '3.0.0', 'please use pm4py.algo.filtering.log.ltl.ltl_checker.eventually_follows') 61 def A_eventually_B(log, A, B, parameters=None): 62 """ 63 Applies the A eventually B rule 64 (...) 82 Filtered log 83 """ 84 if parameters is None:
File ~\anaconda3\envs\object-centric-alignments-main\lib\site-packages\deprecation.py:170, in deprecated(deprecated_in, removed_in, current_version, details) 168 is_deprecated = True 169 elif current_version: --> 170 current_version = version.parse(current_version) 172 if (removed_in 173 and current_version >= version.parse(removed_in)): 174 is_unsupported = True
File ~\anaconda3\envs\object-centric-alignments-main\lib\site-packages\packaging\version.py:52, in parse(version) 43 def parse(version: str) -> "Version": 44 """Parse the given version string. 45 46 >>> parse('1.0.dev1') (...) 50 :raises InvalidVersion: When the version string is not a valid version. 51 """ ---> 52 return Version(version)
File ~\anaconda3\envs\object-centric-alignments-main\lib\site-packages\packaging\version.py:197, in Version.init(self, version) 195 match = self._regex.search(version) 196 if not match: --> 197 raise InvalidVersion(f"Invalid version: '{version}'") 199 # Store the parsed out pieces of the version 200 self._version = _Version( 201 epoch=int(match.group("epoch")) if match.group("epoch") else 0, 202 release=tuple(int(i) for i in match.group("release").split(".")), (...) 208 local=_parse_local_version(match.group("local")), 209 )
InvalidVersion: Invalid version: 'please use pm4py.algo.filtering.log.ltl.ltl_checker.eventually_follows'