# {py:mod}`simvx.core.export` ```{py:module} simvx.core.export ``` ```{autodoc2-docstring} simvx.core.export :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`ExportMode ` - ```{autodoc2-docstring} simvx.core.export.ExportMode :summary: ``` * - {py:obj}`ExportPreset ` - ```{autodoc2-docstring} simvx.core.export.ExportPreset :summary: ``` * - {py:obj}`AssetEntry ` - ```{autodoc2-docstring} simvx.core.export.AssetEntry :summary: ``` * - {py:obj}`AssetManifest ` - ```{autodoc2-docstring} simvx.core.export.AssetManifest :summary: ``` * - {py:obj}`ProjectExporter ` - ```{autodoc2-docstring} simvx.core.export.ProjectExporter :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`bundle_project ` - ```{autodoc2-docstring} simvx.core.export.bundle_project :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`log ` - ```{autodoc2-docstring} simvx.core.export.log :summary: ``` * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.core.export.__all__ :summary: ``` * - {py:obj}`PLATFORMS ` - ```{autodoc2-docstring} simvx.core.export.PLATFORMS :summary: ``` ```` ### API ````{py:data} log :canonical: simvx.core.export.log :value: > 'getLogger(...)' ```{autodoc2-docstring} simvx.core.export.log ``` ```` ````{py:data} __all__ :canonical: simvx.core.export.__all__ :value: > ['ExportMode', 'ExportPreset', 'AssetEntry', 'AssetManifest', 'ProjectExporter', 'ExportError', 'bun... ```{autodoc2-docstring} simvx.core.export.__all__ ``` ```` ````{py:data} PLATFORMS :canonical: simvx.core.export.PLATFORMS :value: > 'frozenset(...)' ```{autodoc2-docstring} simvx.core.export.PLATFORMS ``` ```` `````{py:exception} ExportError() :canonical: simvx.core.export.ExportError Bases: {py:obj}`Exception` ```{autodoc2-docstring} simvx.core.export.ExportError ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.export.ExportError.__init__ ``` ```{py:class} __cause__ :canonical: simvx.core.export.ExportError.__cause__ ``` ```{py:class} __context__ :canonical: simvx.core.export.ExportError.__context__ ``` ````{py:method} __delattr__() :canonical: simvx.core.export.ExportError.__delattr__ ```` ````{py:method} __dir__() :canonical: simvx.core.export.ExportError.__dir__ ```` ````{py:method} __eq__() :canonical: simvx.core.export.ExportError.__eq__ ```` ````{py:method} __format__() :canonical: simvx.core.export.ExportError.__format__ ```` ````{py:method} __ge__() :canonical: simvx.core.export.ExportError.__ge__ ```` ````{py:method} __getattribute__() :canonical: simvx.core.export.ExportError.__getattribute__ ```` ````{py:method} __getstate__() :canonical: simvx.core.export.ExportError.__getstate__ ```` ````{py:method} __gt__() :canonical: simvx.core.export.ExportError.__gt__ ```` ````{py:method} __hash__() :canonical: simvx.core.export.ExportError.__hash__ ```` ````{py:method} __le__() :canonical: simvx.core.export.ExportError.__le__ ```` ````{py:method} __lt__() :canonical: simvx.core.export.ExportError.__lt__ ```` ````{py:method} __ne__() :canonical: simvx.core.export.ExportError.__ne__ ```` ````{py:method} __new__() :canonical: simvx.core.export.ExportError.__new__ ```` ````{py:method} __reduce__() :canonical: simvx.core.export.ExportError.__reduce__ ```` ````{py:method} __reduce_ex__() :canonical: simvx.core.export.ExportError.__reduce_ex__ ```` ````{py:method} __repr__() :canonical: simvx.core.export.ExportError.__repr__ ```` ````{py:method} __setattr__() :canonical: simvx.core.export.ExportError.__setattr__ ```` ````{py:method} __setstate__() :canonical: simvx.core.export.ExportError.__setstate__ ```` ````{py:method} __sizeof__() :canonical: simvx.core.export.ExportError.__sizeof__ ```` ````{py:method} __str__() :canonical: simvx.core.export.ExportError.__str__ ```` ````{py:method} __subclasshook__() :canonical: simvx.core.export.ExportError.__subclasshook__ ```` ```{py:class} __suppress_context__ :canonical: simvx.core.export.ExportError.__suppress_context__ ``` ```{py:class} __traceback__ :canonical: simvx.core.export.ExportError.__traceback__ ``` ````{py:method} add_note() :canonical: simvx.core.export.ExportError.add_note ```` ```{py:class} args :canonical: simvx.core.export.ExportError.args ``` ````{py:method} with_traceback() :canonical: simvx.core.export.ExportError.with_traceback ```` ````` `````{py:class} ExportMode() :canonical: simvx.core.export.ExportMode Bases: {py:obj}`enum.IntEnum` ```{autodoc2-docstring} simvx.core.export.ExportMode ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.export.ExportMode.__init__ ``` ````{py:attribute} WHEEL :canonical: simvx.core.export.ExportMode.WHEEL :value: > 0 ```{autodoc2-docstring} simvx.core.export.ExportMode.WHEEL ``` ```` ````{py:attribute} FOLDER :canonical: simvx.core.export.ExportMode.FOLDER :value: > 1 ```{autodoc2-docstring} simvx.core.export.ExportMode.FOLDER ``` ```` ````{py:method} __abs__() :canonical: simvx.core.export.ExportMode.__abs__ ```` ````{py:method} __add__() :canonical: simvx.core.export.ExportMode.__add__ ```` ````{py:method} __and__() :canonical: simvx.core.export.ExportMode.__and__ ```` ````{py:method} __bool__() :canonical: simvx.core.export.ExportMode.__bool__ ```` ````{py:method} __ceil__() :canonical: simvx.core.export.ExportMode.__ceil__ ```` ````{py:method} __delattr__() :canonical: simvx.core.export.ExportMode.__delattr__ ```` ````{py:method} __dir__() :canonical: simvx.core.export.ExportMode.__dir__ ```` ````{py:method} __divmod__() :canonical: simvx.core.export.ExportMode.__divmod__ ```` ````{py:method} __eq__() :canonical: simvx.core.export.ExportMode.__eq__ ```` ````{py:method} __float__() :canonical: simvx.core.export.ExportMode.__float__ ```` ````{py:method} __floor__() :canonical: simvx.core.export.ExportMode.__floor__ ```` ````{py:method} __floordiv__() :canonical: simvx.core.export.ExportMode.__floordiv__ ```` ````{py:method} __format__() :canonical: simvx.core.export.ExportMode.__format__ ```` ````{py:method} __ge__() :canonical: simvx.core.export.ExportMode.__ge__ ```` ````{py:method} __getattribute__() :canonical: simvx.core.export.ExportMode.__getattribute__ ```` ````{py:method} __getnewargs__() :canonical: simvx.core.export.ExportMode.__getnewargs__ ```` ````{py:method} __getstate__() :canonical: simvx.core.export.ExportMode.__getstate__ ```` ````{py:method} __gt__() :canonical: simvx.core.export.ExportMode.__gt__ ```` ````{py:method} __hash__() :canonical: simvx.core.export.ExportMode.__hash__ ```` ````{py:method} __index__() :canonical: simvx.core.export.ExportMode.__index__ ```` ````{py:method} __int__() :canonical: simvx.core.export.ExportMode.__int__ ```` ````{py:method} __invert__() :canonical: simvx.core.export.ExportMode.__invert__ ```` ````{py:method} __le__() :canonical: simvx.core.export.ExportMode.__le__ ```` ````{py:method} __lshift__() :canonical: simvx.core.export.ExportMode.__lshift__ ```` ````{py:method} __lt__() :canonical: simvx.core.export.ExportMode.__lt__ ```` ````{py:method} __mod__() :canonical: simvx.core.export.ExportMode.__mod__ ```` ````{py:method} __mul__() :canonical: simvx.core.export.ExportMode.__mul__ ```` ````{py:method} __ne__() :canonical: simvx.core.export.ExportMode.__ne__ ```` ````{py:method} __neg__() :canonical: simvx.core.export.ExportMode.__neg__ ```` ````{py:method} __new__() :canonical: simvx.core.export.ExportMode.__new__ ```` ````{py:method} __or__() :canonical: simvx.core.export.ExportMode.__or__ ```` ````{py:method} __pos__() :canonical: simvx.core.export.ExportMode.__pos__ ```` ````{py:method} __pow__() :canonical: simvx.core.export.ExportMode.__pow__ ```` ````{py:method} __radd__() :canonical: simvx.core.export.ExportMode.__radd__ ```` ````{py:method} __rand__() :canonical: simvx.core.export.ExportMode.__rand__ ```` ````{py:method} __rdivmod__() :canonical: simvx.core.export.ExportMode.__rdivmod__ ```` ````{py:method} __reduce__() :canonical: simvx.core.export.ExportMode.__reduce__ ```` ````{py:method} __reduce_ex__() :canonical: simvx.core.export.ExportMode.__reduce_ex__ ```` ````{py:method} __repr__() :canonical: simvx.core.export.ExportMode.__repr__ ```` ````{py:method} __rfloordiv__() :canonical: simvx.core.export.ExportMode.__rfloordiv__ ```` ````{py:method} __rlshift__() :canonical: simvx.core.export.ExportMode.__rlshift__ ```` ````{py:method} __rmod__() :canonical: simvx.core.export.ExportMode.__rmod__ ```` ````{py:method} __rmul__() :canonical: simvx.core.export.ExportMode.__rmul__ ```` ````{py:method} __ror__() :canonical: simvx.core.export.ExportMode.__ror__ ```` ````{py:method} __round__() :canonical: simvx.core.export.ExportMode.__round__ ```` ````{py:method} __rpow__() :canonical: simvx.core.export.ExportMode.__rpow__ ```` ````{py:method} __rrshift__() :canonical: simvx.core.export.ExportMode.__rrshift__ ```` ````{py:method} __rshift__() :canonical: simvx.core.export.ExportMode.__rshift__ ```` ````{py:method} __rsub__() :canonical: simvx.core.export.ExportMode.__rsub__ ```` ````{py:method} __rtruediv__() :canonical: simvx.core.export.ExportMode.__rtruediv__ ```` ````{py:method} __rxor__() :canonical: simvx.core.export.ExportMode.__rxor__ ```` ````{py:method} __setattr__() :canonical: simvx.core.export.ExportMode.__setattr__ ```` ````{py:method} __sizeof__() :canonical: simvx.core.export.ExportMode.__sizeof__ ```` ````{py:method} __str__() :canonical: simvx.core.export.ExportMode.__str__ ```` ````{py:method} __sub__() :canonical: simvx.core.export.ExportMode.__sub__ ```` ````{py:method} __subclasshook__() :canonical: simvx.core.export.ExportMode.__subclasshook__ ```` ````{py:method} __truediv__() :canonical: simvx.core.export.ExportMode.__truediv__ ```` ````{py:method} __trunc__() :canonical: simvx.core.export.ExportMode.__trunc__ ```` ````{py:method} __xor__() :canonical: simvx.core.export.ExportMode.__xor__ ```` ````{py:method} as_integer_ratio() :canonical: simvx.core.export.ExportMode.as_integer_ratio ```` ````{py:method} bit_count() :canonical: simvx.core.export.ExportMode.bit_count ```` ````{py:method} bit_length() :canonical: simvx.core.export.ExportMode.bit_length ```` ````{py:method} conjugate() :canonical: simvx.core.export.ExportMode.conjugate ```` ```{py:class} denominator :canonical: simvx.core.export.ExportMode.denominator ``` ```{py:class} imag :canonical: simvx.core.export.ExportMode.imag ``` ````{py:method} is_integer() :canonical: simvx.core.export.ExportMode.is_integer ```` ```{py:class} numerator :canonical: simvx.core.export.ExportMode.numerator ``` ```{py:class} real :canonical: simvx.core.export.ExportMode.real ``` ````{py:method} to_bytes() :canonical: simvx.core.export.ExportMode.to_bytes ```` ````{py:method} __deepcopy__(memo) :canonical: simvx.core.export.ExportMode.__deepcopy__ ```` ````{py:method} __copy__() :canonical: simvx.core.export.ExportMode.__copy__ ```` ````{py:method} name() :canonical: simvx.core.export.ExportMode.name ```` ````{py:method} value() :canonical: simvx.core.export.ExportMode.value ```` ````` `````{py:class} ExportPreset :canonical: simvx.core.export.ExportPreset ```{autodoc2-docstring} simvx.core.export.ExportPreset ``` ````{py:attribute} name :canonical: simvx.core.export.ExportPreset.name :type: str :value: > 'MyGame' ```{autodoc2-docstring} simvx.core.export.ExportPreset.name ``` ```` ````{py:attribute} platform :canonical: simvx.core.export.ExportPreset.platform :type: str :value: > 'linux' ```{autodoc2-docstring} simvx.core.export.ExportPreset.platform ``` ```` ````{py:attribute} entry_point :canonical: simvx.core.export.ExportPreset.entry_point :type: str :value: > 'main.py' ```{autodoc2-docstring} simvx.core.export.ExportPreset.entry_point ``` ```` ````{py:attribute} include_patterns :canonical: simvx.core.export.ExportPreset.include_patterns :type: list[str] :value: > 'field(...)' ```{autodoc2-docstring} simvx.core.export.ExportPreset.include_patterns ``` ```` ````{py:attribute} exclude_patterns :canonical: simvx.core.export.ExportPreset.exclude_patterns :type: list[str] :value: > 'field(...)' ```{autodoc2-docstring} simvx.core.export.ExportPreset.exclude_patterns ``` ```` ````{py:attribute} icon_path :canonical: simvx.core.export.ExportPreset.icon_path :type: str | None :value: > None ```{autodoc2-docstring} simvx.core.export.ExportPreset.icon_path ``` ```` ````{py:attribute} version :canonical: simvx.core.export.ExportPreset.version :type: str :value: > '0.1.0' ```{autodoc2-docstring} simvx.core.export.ExportPreset.version ``` ```` ````{py:attribute} description :canonical: simvx.core.export.ExportPreset.description :type: str :value: > 'A SimVX game.' ```{autodoc2-docstring} simvx.core.export.ExportPreset.description ``` ```` ````{py:attribute} custom_features :canonical: simvx.core.export.ExportPreset.custom_features :type: dict[str, object] :value: > 'field(...)' ```{autodoc2-docstring} simvx.core.export.ExportPreset.custom_features ``` ```` ````{py:attribute} build_wheel :canonical: simvx.core.export.ExportPreset.build_wheel :type: bool :value: > False ```{autodoc2-docstring} simvx.core.export.ExportPreset.build_wheel ``` ```` ````{py:attribute} export_mode :canonical: simvx.core.export.ExportPreset.export_mode :type: simvx.core.export.ExportMode :value: > None ```{autodoc2-docstring} simvx.core.export.ExportPreset.export_mode ``` ```` ````{py:attribute} create_zip :canonical: simvx.core.export.ExportPreset.create_zip :type: bool :value: > False ```{autodoc2-docstring} simvx.core.export.ExportPreset.create_zip ``` ```` ````{py:attribute} scene_to_code :canonical: simvx.core.export.ExportPreset.scene_to_code :type: bool :value: > False ```{autodoc2-docstring} simvx.core.export.ExportPreset.scene_to_code ``` ```` ````{py:property} package_name :canonical: simvx.core.export.ExportPreset.package_name :type: str ```{autodoc2-docstring} simvx.core.export.ExportPreset.package_name ``` ```` ````` `````{py:class} AssetEntry :canonical: simvx.core.export.AssetEntry ```{autodoc2-docstring} simvx.core.export.AssetEntry ``` ````{py:attribute} relative :canonical: simvx.core.export.AssetEntry.relative :type: str :value: > None ```{autodoc2-docstring} simvx.core.export.AssetEntry.relative ``` ```` ````{py:attribute} size :canonical: simvx.core.export.AssetEntry.size :type: int :value: > None ```{autodoc2-docstring} simvx.core.export.AssetEntry.size ``` ```` ````{py:attribute} sha256 :canonical: simvx.core.export.AssetEntry.sha256 :type: str :value: > None ```{autodoc2-docstring} simvx.core.export.AssetEntry.sha256 ``` ```` ````` `````{py:class} AssetManifest() :canonical: simvx.core.export.AssetManifest ```{autodoc2-docstring} simvx.core.export.AssetManifest ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.export.AssetManifest.__init__ ``` ````{py:method} collect(project_dir: str | pathlib.Path, preset: simvx.core.export.ExportPreset) -> list[simvx.core.export.AssetEntry] :canonical: simvx.core.export.AssetManifest.collect ```{autodoc2-docstring} simvx.core.export.AssetManifest.collect ``` ```` ````{py:method} write_manifest(path: str | pathlib.Path) -> None :canonical: simvx.core.export.AssetManifest.write_manifest ```{autodoc2-docstring} simvx.core.export.AssetManifest.write_manifest ``` ```` ````{py:method} load_manifest(path: str | pathlib.Path) -> simvx.core.export.AssetManifest :canonical: simvx.core.export.AssetManifest.load_manifest :classmethod: ```{autodoc2-docstring} simvx.core.export.AssetManifest.load_manifest ``` ```` ````{py:property} total_size :canonical: simvx.core.export.AssetManifest.total_size :type: int ```{autodoc2-docstring} simvx.core.export.AssetManifest.total_size ``` ```` ````{py:method} diff(other: simvx.core.export.AssetManifest) -> tuple[list[simvx.core.export.AssetEntry], list[simvx.core.export.AssetEntry], list[simvx.core.export.AssetEntry]] :canonical: simvx.core.export.AssetManifest.diff ```{autodoc2-docstring} simvx.core.export.AssetManifest.diff ``` ```` ````` `````{py:class} ProjectExporter :canonical: simvx.core.export.ProjectExporter ```{autodoc2-docstring} simvx.core.export.ProjectExporter ``` ````{py:method} export(project_dir: str | pathlib.Path, preset: simvx.core.export.ExportPreset, output_dir: str | pathlib.Path) -> pathlib.Path :canonical: simvx.core.export.ProjectExporter.export ```{autodoc2-docstring} simvx.core.export.ProjectExporter.export ``` ```` ````{py:method} validate_preset(preset: simvx.core.export.ExportPreset, project_dir: str | pathlib.Path | None = None) -> list[str] :canonical: simvx.core.export.ProjectExporter.validate_preset ```{autodoc2-docstring} simvx.core.export.ProjectExporter.validate_preset ``` ```` ````{py:method} estimate_size(project_dir: str | pathlib.Path, preset: simvx.core.export.ExportPreset) -> int :canonical: simvx.core.export.ProjectExporter.estimate_size ```{autodoc2-docstring} simvx.core.export.ProjectExporter.estimate_size ``` ```` ````` ````{py:function} bundle_project(project_dir: str | pathlib.Path, output_dir: str | pathlib.Path, *, name: str | None = None, platform: str = 'linux', entry_point: str | None = None, include_patterns: list[str] | None = None, exclude_patterns: list[str] | None = None, version: str = '0.1.0', description: str = 'A SimVX game.', build_wheel: bool = False, export_mode: simvx.core.export.ExportMode = ExportMode.FOLDER, create_zip: bool = False, scene_to_code: bool = False, **custom_features: object) -> pathlib.Path :canonical: simvx.core.export.bundle_project ```{autodoc2-docstring} simvx.core.export.bundle_project ``` ````