# {py:mod}`simvx.core.scene_io.scene_file` ```{py:module} simvx.core.scene_io.scene_file ``` ```{autodoc2-docstring} simvx.core.scene_io.scene_file :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`SceneFile ` - ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneFile :summary: ``` * - {py:obj}`SceneClass ` - ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass :summary: ``` * - {py:obj}`ImportSet ` - ```{autodoc2-docstring} simvx.core.scene_io.scene_file.ImportSet :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.core.scene_io.scene_file.__all__ :summary: ``` ```` ### API ````{py:data} __all__ :canonical: simvx.core.scene_io.scene_file.__all__ :value: > ['ImportSet', 'SceneClass', 'SceneFile'] ```{autodoc2-docstring} simvx.core.scene_io.scene_file.__all__ ``` ```` `````{py:class} SceneFile(source_tree: simvx.core.scene_io.source_tree.SourceTree, *, path: pathlib.Path | None) :canonical: simvx.core.scene_io.scene_file.SceneFile ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneFile ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneFile.__init__ ``` ````{py:attribute} __slots__ :canonical: simvx.core.scene_io.scene_file.SceneFile.__slots__ :value: > ('_source_tree', '_path', '_imports', '_original_text') ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneFile.__slots__ ``` ```` ````{py:method} load(path: str | pathlib.Path) -> simvx.core.scene_io.scene_file.SceneFile :canonical: simvx.core.scene_io.scene_file.SceneFile.load :classmethod: ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneFile.load ``` ```` ````{py:method} from_source(text: str, *, path: pathlib.Path | None = None) -> simvx.core.scene_io.scene_file.SceneFile :canonical: simvx.core.scene_io.scene_file.SceneFile.from_source :classmethod: ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneFile.from_source ``` ```` ````{py:method} from_runtime(root: simvx.core.node.Node, *, class_name: str | None = None) -> simvx.core.scene_io.scene_file.SceneFile :canonical: simvx.core.scene_io.scene_file.SceneFile.from_runtime :classmethod: ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneFile.from_runtime ``` ```` ````{py:property} path :canonical: simvx.core.scene_io.scene_file.SceneFile.path :type: pathlib.Path | None ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneFile.path ``` ```` ````{py:property} source_tree :canonical: simvx.core.scene_io.scene_file.SceneFile.source_tree :type: simvx.core.scene_io.source_tree.SourceTree ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneFile.source_tree ``` ```` ````{py:property} imports :canonical: simvx.core.scene_io.scene_file.SceneFile.imports :type: simvx.core.scene_io.scene_file.ImportSet ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneFile.imports ``` ```` ````{py:method} scene_class() -> simvx.core.scene_io.scene_file.SceneClass :canonical: simvx.core.scene_io.scene_file.SceneFile.scene_class ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneFile.scene_class ``` ```` ````{py:method} all_scene_classes() -> list[simvx.core.scene_io.scene_file.SceneClass] :canonical: simvx.core.scene_io.scene_file.SceneFile.all_scene_classes ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneFile.all_scene_classes ``` ```` ````{py:method} insert_top_level_class(name: str, base: str, *, body: str = 'pass', before: str | None = None) -> simvx.core.scene_io.scene_file.SceneClass :canonical: simvx.core.scene_io.scene_file.SceneFile.insert_top_level_class ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneFile.insert_top_level_class ``` ```` ````{py:method} dump() -> str :canonical: simvx.core.scene_io.scene_file.SceneFile.dump ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneFile.dump ``` ```` ````{py:method} is_dirty() -> bool :canonical: simvx.core.scene_io.scene_file.SceneFile.is_dirty ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneFile.is_dirty ``` ```` ````{py:method} save(path: str | pathlib.Path | None = None) -> pathlib.Path :canonical: simvx.core.scene_io.scene_file.SceneFile.save ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneFile.save ``` ```` ````{py:method} assert_idempotent() -> None :canonical: simvx.core.scene_io.scene_file.SceneFile.assert_idempotent ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneFile.assert_idempotent ``` ```` ````` `````{py:class} SceneClass(file: simvx.core.scene_io.scene_file.SceneFile, class_node: parso.python.tree.Class) :canonical: simvx.core.scene_io.scene_file.SceneClass ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.__init__ ``` ````{py:attribute} __slots__ :canonical: simvx.core.scene_io.scene_file.SceneClass.__slots__ :value: > ('_file', '_class') ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.__slots__ ``` ```` ````{py:property} name :canonical: simvx.core.scene_io.scene_file.SceneClass.name :type: str ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.name ``` ```` ````{py:property} node :canonical: simvx.core.scene_io.scene_file.SceneClass.node :type: parso.python.tree.Class ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.node ``` ```` ````{py:method} has_property(name: str) -> bool :canonical: simvx.core.scene_io.scene_file.SceneClass.has_property ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.has_property ``` ```` ````{py:method} get_property_default(name: str) -> str | None :canonical: simvx.core.scene_io.scene_file.SceneClass.get_property_default ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.get_property_default ``` ```` ````{py:method} add_property(name: str, default_expr: str) -> None :canonical: simvx.core.scene_io.scene_file.SceneClass.add_property ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.add_property ``` ```` ````{py:method} remove_property(name: str) -> None :canonical: simvx.core.scene_io.scene_file.SceneClass.remove_property ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.remove_property ``` ```` ````{py:method} set_property_default(name: str, default_expr: str) -> None :canonical: simvx.core.scene_io.scene_file.SceneClass.set_property_default ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.set_property_default ``` ```` ````{py:method} get_root_kwarg(name: str) -> str | None :canonical: simvx.core.scene_io.scene_file.SceneClass.get_root_kwarg ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.get_root_kwarg ``` ```` ````{py:method} set_root_kwarg(name: str, value_expr: str) -> None :canonical: simvx.core.scene_io.scene_file.SceneClass.set_root_kwarg ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.set_root_kwarg ``` ```` ````{py:method} remove_root_kwarg(name: str) -> None :canonical: simvx.core.scene_io.scene_file.SceneClass.remove_root_kwarg ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.remove_root_kwarg ``` ```` ````{py:method} has_child(var_name: str) -> bool :canonical: simvx.core.scene_io.scene_file.SceneClass.has_child ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.has_child ``` ```` ````{py:method} child_var_names() -> list[str] :canonical: simvx.core.scene_io.scene_file.SceneClass.child_var_names ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.child_var_names ``` ```` ````{py:method} add_child(var_name: str, type_name: str, *, before: str | None = None, after: str | None = None, from_module: str = 'simvx.core', **kwarg_exprs: str) -> None :canonical: simvx.core.scene_io.scene_file.SceneClass.add_child ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.add_child ``` ```` ````{py:method} remove_child(var_name: str) -> None :canonical: simvx.core.scene_io.scene_file.SceneClass.remove_child ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.remove_child ``` ```` ````{py:method} rename_child(old: str, new: str) -> None :canonical: simvx.core.scene_io.scene_file.SceneClass.rename_child ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.rename_child ``` ```` ````{py:method} get_child_kwarg(var_name: str, kwarg: str) -> str | None :canonical: simvx.core.scene_io.scene_file.SceneClass.get_child_kwarg ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.get_child_kwarg ``` ```` ````{py:method} set_child_kwarg(var_name: str, kwarg: str, value_expr: str) -> None :canonical: simvx.core.scene_io.scene_file.SceneClass.set_child_kwarg ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.set_child_kwarg ``` ```` ````{py:method} remove_child_kwarg(var_name: str, kwarg: str) -> None :canonical: simvx.core.scene_io.scene_file.SceneClass.remove_child_kwarg ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.remove_child_kwarg ``` ```` ````{py:method} reorder_children(order: list[str]) -> None :canonical: simvx.core.scene_io.scene_file.SceneClass.reorder_children ```{autodoc2-docstring} simvx.core.scene_io.scene_file.SceneClass.reorder_children ``` ```` ````` `````{py:class} ImportSet(source_tree: simvx.core.scene_io.source_tree.SourceTree) :canonical: simvx.core.scene_io.scene_file.ImportSet ```{autodoc2-docstring} simvx.core.scene_io.scene_file.ImportSet ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.scene_io.scene_file.ImportSet.__init__ ``` ````{py:attribute} __slots__ :canonical: simvx.core.scene_io.scene_file.ImportSet.__slots__ :value: > ('_source_tree',) ```{autodoc2-docstring} simvx.core.scene_io.scene_file.ImportSet.__slots__ ``` ```` ````{py:method} has(name: str, *, from_: str | None = None) -> bool :canonical: simvx.core.scene_io.scene_file.ImportSet.has ```{autodoc2-docstring} simvx.core.scene_io.scene_file.ImportSet.has ``` ```` ````{py:method} has_any_alias(name: str) -> bool :canonical: simvx.core.scene_io.scene_file.ImportSet.has_any_alias ```{autodoc2-docstring} simvx.core.scene_io.scene_file.ImportSet.has_any_alias ``` ```` ````{py:method} ensure(name: str, *, from_: str | None = None) -> None :canonical: simvx.core.scene_io.scene_file.ImportSet.ensure ```{autodoc2-docstring} simvx.core.scene_io.scene_file.ImportSet.ensure ``` ```` ````{py:method} remove(name: str, *, from_: str | None = None) -> None :canonical: simvx.core.scene_io.scene_file.ImportSet.remove ```{autodoc2-docstring} simvx.core.scene_io.scene_file.ImportSet.remove ``` ```` ````{py:method} names() -> list[tuple[str | None, str]] :canonical: simvx.core.scene_io.scene_file.ImportSet.names ```{autodoc2-docstring} simvx.core.scene_io.scene_file.ImportSet.names ``` ```` `````