import sys from PyQt6.QtWidgets import QApplication from setuptools_scm import get_version from setuptools_scm.version import get_local_node_and_date from warchron.view.view import View from warchron.model.model import Model from warchron.controller.app_controller import AppController if sys.version_info < (3, 12): raise RuntimeError("Python 3.12 or higher is required") def get_app_version() -> str: return get_version( root=".", relative_to=__file__, fallback_version="0.0.0", tag_regex=r"^v(?P\d+\.\d+\.\d+)$", version_scheme="guess-next-dev", local_scheme=get_local_node_and_date, ) app_version = get_app_version() # app_version = get_version(root=".", relative_to=__file__) if __name__ == "__main__": app = QApplication(sys.argv) view = View() model = Model() controller = AppController(model, view, app_version) view.show() sys.exit(app.exec())