# {py:mod}`simvx.editor.export_controller` ```{py:module} simvx.editor.export_controller ``` ```{autodoc2-docstring} simvx.editor.export_controller :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`ExportTarget ` - * - {py:obj}`ExportRequest ` - ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest :summary: ``` * - {py:obj}`ExportProgress ` - ```{autodoc2-docstring} simvx.editor.export_controller.ExportProgress :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`detect_host_os ` - ```{autodoc2-docstring} simvx.editor.export_controller.detect_host_os :summary: ``` * - {py:obj}`run_export ` - ```{autodoc2-docstring} simvx.editor.export_controller.run_export :summary: ``` * - {py:obj}`save_request_to_toml ` - ```{autodoc2-docstring} simvx.editor.export_controller.save_request_to_toml :summary: ``` * - {py:obj}`load_request_from_toml ` - ```{autodoc2-docstring} simvx.editor.export_controller.load_request_from_toml :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`log ` - ```{autodoc2-docstring} simvx.editor.export_controller.log :summary: ``` * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.editor.export_controller.__all__ :summary: ``` ```` ### API ````{py:data} log :canonical: simvx.editor.export_controller.log :value: > 'getLogger(...)' ```{autodoc2-docstring} simvx.editor.export_controller.log ``` ```` ````{py:data} __all__ :canonical: simvx.editor.export_controller.__all__ :value: > ['ExportTarget', 'ExportRequest', 'ExportProgress', 'run_export', 'save_request_to_toml', 'load_requ... ```{autodoc2-docstring} simvx.editor.export_controller.__all__ ``` ```` `````{py:class} ExportTarget() :canonical: simvx.editor.export_controller.ExportTarget Bases: {py:obj}`str`, {py:obj}`enum.Enum` ````{py:attribute} DESKTOP_WHEEL :canonical: simvx.editor.export_controller.ExportTarget.DESKTOP_WHEEL :value: > 'desktop_wheel' ```{autodoc2-docstring} simvx.editor.export_controller.ExportTarget.DESKTOP_WHEEL ``` ```` ````{py:attribute} DESKTOP_FOLDER :canonical: simvx.editor.export_controller.ExportTarget.DESKTOP_FOLDER :value: > 'desktop_folder' ```{autodoc2-docstring} simvx.editor.export_controller.ExportTarget.DESKTOP_FOLDER ``` ```` ````{py:attribute} WEB_HTML :canonical: simvx.editor.export_controller.ExportTarget.WEB_HTML :value: > 'web_html' ```{autodoc2-docstring} simvx.editor.export_controller.ExportTarget.WEB_HTML ``` ```` ````{py:attribute} STANDALONE_EXE :canonical: simvx.editor.export_controller.ExportTarget.STANDALONE_EXE :value: > 'standalone_exe' ```{autodoc2-docstring} simvx.editor.export_controller.ExportTarget.STANDALONE_EXE ``` ```` ````{py:attribute} STANDALONE_NUITKA :canonical: simvx.editor.export_controller.ExportTarget.STANDALONE_NUITKA :value: > 'standalone_nuitka' ```{autodoc2-docstring} simvx.editor.export_controller.ExportTarget.STANDALONE_NUITKA ``` ```` ````{py:attribute} ANDROID_APK :canonical: simvx.editor.export_controller.ExportTarget.ANDROID_APK :value: > 'android_apk' ```{autodoc2-docstring} simvx.editor.export_controller.ExportTarget.ANDROID_APK ``` ```` ````{py:method} __add__() :canonical: simvx.editor.export_controller.ExportTarget.__add__ ```` ````{py:method} __contains__() :canonical: simvx.editor.export_controller.ExportTarget.__contains__ ```` ````{py:method} __delattr__() :canonical: simvx.editor.export_controller.ExportTarget.__delattr__ ```` ````{py:method} __dir__() :canonical: simvx.editor.export_controller.ExportTarget.__dir__ ```` ````{py:method} __eq__() :canonical: simvx.editor.export_controller.ExportTarget.__eq__ ```` ````{py:method} __format__() :canonical: simvx.editor.export_controller.ExportTarget.__format__ ```` ````{py:method} __ge__() :canonical: simvx.editor.export_controller.ExportTarget.__ge__ ```` ````{py:method} __getattribute__() :canonical: simvx.editor.export_controller.ExportTarget.__getattribute__ ```` ````{py:method} __getitem__() :canonical: simvx.editor.export_controller.ExportTarget.__getitem__ ```` ````{py:method} __getnewargs__() :canonical: simvx.editor.export_controller.ExportTarget.__getnewargs__ ```` ````{py:method} __getstate__() :canonical: simvx.editor.export_controller.ExportTarget.__getstate__ ```` ````{py:method} __gt__() :canonical: simvx.editor.export_controller.ExportTarget.__gt__ ```` ````{py:method} __hash__() :canonical: simvx.editor.export_controller.ExportTarget.__hash__ ```` ````{py:method} __iter__() :canonical: simvx.editor.export_controller.ExportTarget.__iter__ ```` ````{py:method} __le__() :canonical: simvx.editor.export_controller.ExportTarget.__le__ ```` ````{py:method} __len__() :canonical: simvx.editor.export_controller.ExportTarget.__len__ ```` ````{py:method} __lt__() :canonical: simvx.editor.export_controller.ExportTarget.__lt__ ```` ````{py:method} __mod__() :canonical: simvx.editor.export_controller.ExportTarget.__mod__ ```` ````{py:method} __mul__() :canonical: simvx.editor.export_controller.ExportTarget.__mul__ ```` ````{py:method} __ne__() :canonical: simvx.editor.export_controller.ExportTarget.__ne__ ```` ````{py:method} __new__() :canonical: simvx.editor.export_controller.ExportTarget.__new__ ```` ````{py:method} __reduce__() :canonical: simvx.editor.export_controller.ExportTarget.__reduce__ ```` ````{py:method} __reduce_ex__() :canonical: simvx.editor.export_controller.ExportTarget.__reduce_ex__ ```` ````{py:method} __repr__() :canonical: simvx.editor.export_controller.ExportTarget.__repr__ ```` ````{py:method} __rmod__() :canonical: simvx.editor.export_controller.ExportTarget.__rmod__ ```` ````{py:method} __rmul__() :canonical: simvx.editor.export_controller.ExportTarget.__rmul__ ```` ````{py:method} __setattr__() :canonical: simvx.editor.export_controller.ExportTarget.__setattr__ ```` ````{py:method} __sizeof__() :canonical: simvx.editor.export_controller.ExportTarget.__sizeof__ ```` ````{py:method} __str__() :canonical: simvx.editor.export_controller.ExportTarget.__str__ ```` ````{py:method} __subclasshook__() :canonical: simvx.editor.export_controller.ExportTarget.__subclasshook__ ```` ````{py:method} capitalize() :canonical: simvx.editor.export_controller.ExportTarget.capitalize ```` ````{py:method} casefold() :canonical: simvx.editor.export_controller.ExportTarget.casefold ```` ````{py:method} center() :canonical: simvx.editor.export_controller.ExportTarget.center ```` ````{py:method} count() :canonical: simvx.editor.export_controller.ExportTarget.count ```` ````{py:method} encode() :canonical: simvx.editor.export_controller.ExportTarget.encode ```` ````{py:method} endswith() :canonical: simvx.editor.export_controller.ExportTarget.endswith ```` ````{py:method} expandtabs() :canonical: simvx.editor.export_controller.ExportTarget.expandtabs ```` ````{py:method} find() :canonical: simvx.editor.export_controller.ExportTarget.find ```` ````{py:method} format() :canonical: simvx.editor.export_controller.ExportTarget.format ```` ````{py:method} format_map() :canonical: simvx.editor.export_controller.ExportTarget.format_map ```` ````{py:method} index() :canonical: simvx.editor.export_controller.ExportTarget.index ```` ````{py:method} isalnum() :canonical: simvx.editor.export_controller.ExportTarget.isalnum ```` ````{py:method} isalpha() :canonical: simvx.editor.export_controller.ExportTarget.isalpha ```` ````{py:method} isascii() :canonical: simvx.editor.export_controller.ExportTarget.isascii ```` ````{py:method} isdecimal() :canonical: simvx.editor.export_controller.ExportTarget.isdecimal ```` ````{py:method} isdigit() :canonical: simvx.editor.export_controller.ExportTarget.isdigit ```` ````{py:method} isidentifier() :canonical: simvx.editor.export_controller.ExportTarget.isidentifier ```` ````{py:method} islower() :canonical: simvx.editor.export_controller.ExportTarget.islower ```` ````{py:method} isnumeric() :canonical: simvx.editor.export_controller.ExportTarget.isnumeric ```` ````{py:method} isprintable() :canonical: simvx.editor.export_controller.ExportTarget.isprintable ```` ````{py:method} isspace() :canonical: simvx.editor.export_controller.ExportTarget.isspace ```` ````{py:method} istitle() :canonical: simvx.editor.export_controller.ExportTarget.istitle ```` ````{py:method} isupper() :canonical: simvx.editor.export_controller.ExportTarget.isupper ```` ````{py:method} join() :canonical: simvx.editor.export_controller.ExportTarget.join ```` ````{py:method} ljust() :canonical: simvx.editor.export_controller.ExportTarget.ljust ```` ````{py:method} lower() :canonical: simvx.editor.export_controller.ExportTarget.lower ```` ````{py:method} lstrip() :canonical: simvx.editor.export_controller.ExportTarget.lstrip ```` ````{py:method} partition() :canonical: simvx.editor.export_controller.ExportTarget.partition ```` ````{py:method} removeprefix() :canonical: simvx.editor.export_controller.ExportTarget.removeprefix ```` ````{py:method} removesuffix() :canonical: simvx.editor.export_controller.ExportTarget.removesuffix ```` ````{py:method} replace() :canonical: simvx.editor.export_controller.ExportTarget.replace ```` ````{py:method} rfind() :canonical: simvx.editor.export_controller.ExportTarget.rfind ```` ````{py:method} rindex() :canonical: simvx.editor.export_controller.ExportTarget.rindex ```` ````{py:method} rjust() :canonical: simvx.editor.export_controller.ExportTarget.rjust ```` ````{py:method} rpartition() :canonical: simvx.editor.export_controller.ExportTarget.rpartition ```` ````{py:method} rsplit() :canonical: simvx.editor.export_controller.ExportTarget.rsplit ```` ````{py:method} rstrip() :canonical: simvx.editor.export_controller.ExportTarget.rstrip ```` ````{py:method} split() :canonical: simvx.editor.export_controller.ExportTarget.split ```` ````{py:method} splitlines() :canonical: simvx.editor.export_controller.ExportTarget.splitlines ```` ````{py:method} startswith() :canonical: simvx.editor.export_controller.ExportTarget.startswith ```` ````{py:method} strip() :canonical: simvx.editor.export_controller.ExportTarget.strip ```` ````{py:method} swapcase() :canonical: simvx.editor.export_controller.ExportTarget.swapcase ```` ````{py:method} title() :canonical: simvx.editor.export_controller.ExportTarget.title ```` ````{py:method} translate() :canonical: simvx.editor.export_controller.ExportTarget.translate ```` ````{py:method} upper() :canonical: simvx.editor.export_controller.ExportTarget.upper ```` ````{py:method} zfill() :canonical: simvx.editor.export_controller.ExportTarget.zfill ```` ````{py:method} __deepcopy__(memo) :canonical: simvx.editor.export_controller.ExportTarget.__deepcopy__ ```` ````{py:method} __copy__() :canonical: simvx.editor.export_controller.ExportTarget.__copy__ ```` ````{py:method} name() :canonical: simvx.editor.export_controller.ExportTarget.name ```` ````{py:method} value() :canonical: simvx.editor.export_controller.ExportTarget.value ```` ````` ````{py:function} detect_host_os() -> str :canonical: simvx.editor.export_controller.detect_host_os ```{autodoc2-docstring} simvx.editor.export_controller.detect_host_os ``` ```` `````{py:class} ExportRequest :canonical: simvx.editor.export_controller.ExportRequest ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest ``` ````{py:attribute} target :canonical: simvx.editor.export_controller.ExportRequest.target :type: simvx.editor.export_controller.ExportTarget :value: > None ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.target ``` ```` ````{py:attribute} project_dir :canonical: simvx.editor.export_controller.ExportRequest.project_dir :type: pathlib.Path :value: > None ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.project_dir ``` ```` ````{py:attribute} output_dir :canonical: simvx.editor.export_controller.ExportRequest.output_dir :type: pathlib.Path :value: > None ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.output_dir ``` ```` ````{py:attribute} package_name :canonical: simvx.editor.export_controller.ExportRequest.package_name :type: str :value: > None ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.package_name ``` ```` ````{py:attribute} version :canonical: simvx.editor.export_controller.ExportRequest.version :type: str :value: > '0.1.0' ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.version ``` ```` ````{py:attribute} entry_point :canonical: simvx.editor.export_controller.ExportRequest.entry_point :type: str :value: > 'main.py' ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.entry_point ``` ```` ````{py:attribute} os_label :canonical: simvx.editor.export_controller.ExportRequest.os_label :type: str :value: > 'linux' ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.os_label ``` ```` ````{py:attribute} build_wheel :canonical: simvx.editor.export_controller.ExportRequest.build_wheel :type: bool :value: > False ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.build_wheel ``` ```` ````{py:attribute} create_zip :canonical: simvx.editor.export_controller.ExportRequest.create_zip :type: bool :value: > False ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.create_zip ``` ```` ````{py:attribute} icon_path :canonical: simvx.editor.export_controller.ExportRequest.icon_path :type: str | None :value: > None ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.icon_path ``` ```` ````{py:attribute} web_width :canonical: simvx.editor.export_controller.ExportRequest.web_width :type: int :value: > 800 ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.web_width ``` ```` ````{py:attribute} web_height :canonical: simvx.editor.export_controller.ExportRequest.web_height :type: int :value: > 600 ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.web_height ``` ```` ````{py:attribute} web_responsive :canonical: simvx.editor.export_controller.ExportRequest.web_responsive :type: bool :value: > False ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.web_responsive ``` ```` ````{py:attribute} pyodide_version :canonical: simvx.editor.export_controller.ExportRequest.pyodide_version :type: str :value: > None ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.pyodide_version ``` ```` ````{py:attribute} extra_packages :canonical: simvx.editor.export_controller.ExportRequest.extra_packages :type: list[str] :value: > 'field(...)' ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.extra_packages ``` ```` ````{py:attribute} root_class :canonical: simvx.editor.export_controller.ExportRequest.root_class :type: str | None :value: > None ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.root_class ``` ```` ````{py:attribute} title :canonical: simvx.editor.export_controller.ExportRequest.title :type: str :value: > 'SimVX' ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.title ``` ```` ````{py:attribute} exe_onefile :canonical: simvx.editor.export_controller.ExportRequest.exe_onefile :type: bool :value: > True ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.exe_onefile ``` ```` ````{py:attribute} exe_console :canonical: simvx.editor.export_controller.ExportRequest.exe_console :type: bool :value: > False ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.exe_console ``` ```` ````{py:attribute} exe_name :canonical: simvx.editor.export_controller.ExportRequest.exe_name :type: str :value: ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.exe_name ``` ```` ````{py:attribute} exe_host_os :canonical: simvx.editor.export_controller.ExportRequest.exe_host_os :type: str :value: > 'field(...)' ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.exe_host_os ``` ```` ````{py:attribute} android_package :canonical: simvx.editor.export_controller.ExportRequest.android_package :type: str :value: ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.android_package ``` ```` ````{py:attribute} android_min_sdk :canonical: simvx.editor.export_controller.ExportRequest.android_min_sdk :type: int :value: > 26 ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.android_min_sdk ``` ```` ````{py:attribute} android_mode :canonical: simvx.editor.export_controller.ExportRequest.android_mode :type: str :value: > 'debug' ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.android_mode ``` ```` ````{py:method} validate() -> list[str] :canonical: simvx.editor.export_controller.ExportRequest.validate ```{autodoc2-docstring} simvx.editor.export_controller.ExportRequest.validate ``` ```` ````` `````{py:class} ExportProgress :canonical: simvx.editor.export_controller.ExportProgress ```{autodoc2-docstring} simvx.editor.export_controller.ExportProgress ``` ````{py:attribute} fraction :canonical: simvx.editor.export_controller.ExportProgress.fraction :type: float :value: > None ```{autodoc2-docstring} simvx.editor.export_controller.ExportProgress.fraction ``` ```` ````{py:attribute} status :canonical: simvx.editor.export_controller.ExportProgress.status :type: str :value: > None ```{autodoc2-docstring} simvx.editor.export_controller.ExportProgress.status ``` ```` ````{py:attribute} finished :canonical: simvx.editor.export_controller.ExportProgress.finished :type: bool :value: > False ```{autodoc2-docstring} simvx.editor.export_controller.ExportProgress.finished ``` ```` ````{py:attribute} success :canonical: simvx.editor.export_controller.ExportProgress.success :type: bool :value: > False ```{autodoc2-docstring} simvx.editor.export_controller.ExportProgress.success ``` ```` ````{py:attribute} result_path :canonical: simvx.editor.export_controller.ExportProgress.result_path :type: pathlib.Path | None :value: > None ```{autodoc2-docstring} simvx.editor.export_controller.ExportProgress.result_path ``` ```` ````{py:attribute} error :canonical: simvx.editor.export_controller.ExportProgress.error :type: str | None :value: > None ```{autodoc2-docstring} simvx.editor.export_controller.ExportProgress.error ``` ```` ````` ````{py:function} run_export(req: simvx.editor.export_controller.ExportRequest, progress: collections.abc.Callable[[simvx.editor.export_controller.ExportProgress], None]) -> simvx.editor.export_controller.ExportProgress :canonical: simvx.editor.export_controller.run_export ```{autodoc2-docstring} simvx.editor.export_controller.run_export ``` ```` ````{py:function} save_request_to_toml(req: simvx.editor.export_controller.ExportRequest, settings: simvx.core.project.ProjectSettings) -> None :canonical: simvx.editor.export_controller.save_request_to_toml ```{autodoc2-docstring} simvx.editor.export_controller.save_request_to_toml ``` ```` ````{py:function} load_request_from_toml(target: simvx.editor.export_controller.ExportTarget, settings: simvx.core.project.ProjectSettings, project_dir: pathlib.Path) -> simvx.editor.export_controller.ExportRequest :canonical: simvx.editor.export_controller.load_request_from_toml ```{autodoc2-docstring} simvx.editor.export_controller.load_request_from_toml ``` ````