# {py:mod}`simvx.core.scene_io.source` ```{py:module} simvx.core.scene_io.source ``` ```{autodoc2-docstring} simvx.core.scene_io.source :allowtitles: ``` ## Package Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`StatementKind ` - ```{autodoc2-docstring} simvx.core.scene_io.source.StatementKind :summary: ``` * - {py:obj}`Anchor ` - ```{autodoc2-docstring} simvx.core.scene_io.source.Anchor :summary: ``` * - {py:obj}`Argument ` - ```{autodoc2-docstring} simvx.core.scene_io.source.Argument :summary: ``` * - {py:obj}`ImportedName ` - ```{autodoc2-docstring} simvx.core.scene_io.source.ImportedName :summary: ``` * - {py:obj}`Statement ` - ```{autodoc2-docstring} simvx.core.scene_io.source.Statement :summary: ``` * - {py:obj}`CallView ` - ```{autodoc2-docstring} simvx.core.scene_io.source.CallView :summary: ``` * - {py:obj}`ImportDecl ` - ```{autodoc2-docstring} simvx.core.scene_io.source.ImportDecl :summary: ``` * - {py:obj}`ClassDecl ` - ```{autodoc2-docstring} simvx.core.scene_io.source.ClassDecl :summary: ``` * - {py:obj}`SourceDocument ` - ```{autodoc2-docstring} simvx.core.scene_io.source.SourceDocument :summary: ``` * - {py:obj}`SourceBackend ` - ```{autodoc2-docstring} simvx.core.scene_io.source.SourceBackend :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`backend_names ` - ```{autodoc2-docstring} simvx.core.scene_io.source.backend_names :summary: ``` * - {py:obj}`get_backend ` - ```{autodoc2-docstring} simvx.core.scene_io.source.get_backend :summary: ``` * - {py:obj}`parse ` - ```{autodoc2-docstring} simvx.core.scene_io.source.parse :summary: ``` * - {py:obj}`parse_expression ` - ```{autodoc2-docstring} simvx.core.scene_io.source.parse_expression :summary: ``` * - {py:obj}`names_bound_in ` - ```{autodoc2-docstring} simvx.core.scene_io.source.names_bound_in :summary: ``` * - {py:obj}`names_mentioned_in ` - ```{autodoc2-docstring} simvx.core.scene_io.source.names_mentioned_in :summary: ``` * - {py:obj}`rename_name ` - ```{autodoc2-docstring} simvx.core.scene_io.source.rename_name :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.core.scene_io.source.__all__ :summary: ``` * - {py:obj}`DEFAULT_BACKEND ` - ```{autodoc2-docstring} simvx.core.scene_io.source.DEFAULT_BACKEND :summary: ``` ```` ### API ````{py:data} __all__ :canonical: simvx.core.scene_io.source.__all__ :value: > ['Anchor', 'Argument', 'CallView', 'ClassDecl', 'DEFAULT_BACKEND', 'ImportDecl', 'ImportedName', 'Sc... ```{autodoc2-docstring} simvx.core.scene_io.source.__all__ ``` ```` ````{py:data} DEFAULT_BACKEND :canonical: simvx.core.scene_io.source.DEFAULT_BACKEND :value: > 'ast' ```{autodoc2-docstring} simvx.core.scene_io.source.DEFAULT_BACKEND ``` ```` `````{py:exception} SceneSyntaxError(message: str, *, line: int | None = None, column: int | None = None) :canonical: simvx.core.scene_io.source.SceneSyntaxError Bases: {py:obj}`ValueError` ```{autodoc2-docstring} simvx.core.scene_io.source.SceneSyntaxError ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.scene_io.source.SceneSyntaxError.__init__ ``` ````{py:method} from_syntax_error(error: SyntaxError) -> simvx.core.scene_io.source.SceneSyntaxError :canonical: simvx.core.scene_io.source.SceneSyntaxError.from_syntax_error :classmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.SceneSyntaxError.from_syntax_error ``` ```` ```{py:class} __cause__ :canonical: simvx.core.scene_io.source.SceneSyntaxError.__cause__ ``` ```{py:class} __context__ :canonical: simvx.core.scene_io.source.SceneSyntaxError.__context__ ``` ````{py:method} __delattr__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__delattr__ ```` ````{py:method} __dir__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__dir__ ```` ````{py:method} __eq__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__eq__ ```` ````{py:method} __format__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__format__ ```` ````{py:method} __ge__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__ge__ ```` ````{py:method} __getattribute__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__getattribute__ ```` ````{py:method} __getstate__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__getstate__ ```` ````{py:method} __gt__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__gt__ ```` ````{py:method} __hash__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__hash__ ```` ````{py:method} __le__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__le__ ```` ````{py:method} __lt__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__lt__ ```` ````{py:method} __ne__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__ne__ ```` ````{py:method} __new__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__new__ ```` ````{py:method} __reduce__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__reduce__ ```` ````{py:method} __reduce_ex__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__reduce_ex__ ```` ````{py:method} __repr__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__repr__ ```` ````{py:method} __setattr__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__setattr__ ```` ````{py:method} __setstate__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__setstate__ ```` ````{py:method} __sizeof__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__sizeof__ ```` ````{py:method} __str__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__str__ ```` ````{py:method} __subclasshook__() :canonical: simvx.core.scene_io.source.SceneSyntaxError.__subclasshook__ ```` ```{py:class} __suppress_context__ :canonical: simvx.core.scene_io.source.SceneSyntaxError.__suppress_context__ ``` ```{py:class} __traceback__ :canonical: simvx.core.scene_io.source.SceneSyntaxError.__traceback__ ``` ````{py:method} add_note() :canonical: simvx.core.scene_io.source.SceneSyntaxError.add_note ```` ```{py:class} args :canonical: simvx.core.scene_io.source.SceneSyntaxError.args ``` ````{py:method} with_traceback() :canonical: simvx.core.scene_io.source.SceneSyntaxError.with_traceback ```` ````` `````{py:exception} StaleHandleError() :canonical: simvx.core.scene_io.source.StaleHandleError Bases: {py:obj}`RuntimeError` ```{autodoc2-docstring} simvx.core.scene_io.source.StaleHandleError ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.scene_io.source.StaleHandleError.__init__ ``` ```{py:class} __cause__ :canonical: simvx.core.scene_io.source.StaleHandleError.__cause__ ``` ```{py:class} __context__ :canonical: simvx.core.scene_io.source.StaleHandleError.__context__ ``` ````{py:method} __delattr__() :canonical: simvx.core.scene_io.source.StaleHandleError.__delattr__ ```` ````{py:method} __dir__() :canonical: simvx.core.scene_io.source.StaleHandleError.__dir__ ```` ````{py:method} __eq__() :canonical: simvx.core.scene_io.source.StaleHandleError.__eq__ ```` ````{py:method} __format__() :canonical: simvx.core.scene_io.source.StaleHandleError.__format__ ```` ````{py:method} __ge__() :canonical: simvx.core.scene_io.source.StaleHandleError.__ge__ ```` ````{py:method} __getattribute__() :canonical: simvx.core.scene_io.source.StaleHandleError.__getattribute__ ```` ````{py:method} __getstate__() :canonical: simvx.core.scene_io.source.StaleHandleError.__getstate__ ```` ````{py:method} __gt__() :canonical: simvx.core.scene_io.source.StaleHandleError.__gt__ ```` ````{py:method} __hash__() :canonical: simvx.core.scene_io.source.StaleHandleError.__hash__ ```` ````{py:method} __le__() :canonical: simvx.core.scene_io.source.StaleHandleError.__le__ ```` ````{py:method} __lt__() :canonical: simvx.core.scene_io.source.StaleHandleError.__lt__ ```` ````{py:method} __ne__() :canonical: simvx.core.scene_io.source.StaleHandleError.__ne__ ```` ````{py:method} __new__() :canonical: simvx.core.scene_io.source.StaleHandleError.__new__ ```` ````{py:method} __reduce__() :canonical: simvx.core.scene_io.source.StaleHandleError.__reduce__ ```` ````{py:method} __reduce_ex__() :canonical: simvx.core.scene_io.source.StaleHandleError.__reduce_ex__ ```` ````{py:method} __repr__() :canonical: simvx.core.scene_io.source.StaleHandleError.__repr__ ```` ````{py:method} __setattr__() :canonical: simvx.core.scene_io.source.StaleHandleError.__setattr__ ```` ````{py:method} __setstate__() :canonical: simvx.core.scene_io.source.StaleHandleError.__setstate__ ```` ````{py:method} __sizeof__() :canonical: simvx.core.scene_io.source.StaleHandleError.__sizeof__ ```` ````{py:method} __str__() :canonical: simvx.core.scene_io.source.StaleHandleError.__str__ ```` ````{py:method} __subclasshook__() :canonical: simvx.core.scene_io.source.StaleHandleError.__subclasshook__ ```` ```{py:class} __suppress_context__ :canonical: simvx.core.scene_io.source.StaleHandleError.__suppress_context__ ``` ```{py:class} __traceback__ :canonical: simvx.core.scene_io.source.StaleHandleError.__traceback__ ``` ````{py:method} add_note() :canonical: simvx.core.scene_io.source.StaleHandleError.add_note ```` ```{py:class} args :canonical: simvx.core.scene_io.source.StaleHandleError.args ``` ````{py:method} with_traceback() :canonical: simvx.core.scene_io.source.StaleHandleError.with_traceback ```` ````` `````{py:class} StatementKind() :canonical: simvx.core.scene_io.source.StatementKind Bases: {py:obj}`enum.StrEnum` ```{autodoc2-docstring} simvx.core.scene_io.source.StatementKind ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.scene_io.source.StatementKind.__init__ ``` ````{py:attribute} ASSIGNMENT :canonical: simvx.core.scene_io.source.StatementKind.ASSIGNMENT :value: > 'assignment' ```{autodoc2-docstring} simvx.core.scene_io.source.StatementKind.ASSIGNMENT ``` ```` ````{py:attribute} EXPRESSION :canonical: simvx.core.scene_io.source.StatementKind.EXPRESSION :value: > 'expression' ```{autodoc2-docstring} simvx.core.scene_io.source.StatementKind.EXPRESSION ``` ```` ````{py:attribute} IMPORT :canonical: simvx.core.scene_io.source.StatementKind.IMPORT :value: > 'import' ```{autodoc2-docstring} simvx.core.scene_io.source.StatementKind.IMPORT ``` ```` ````{py:attribute} RETURN :canonical: simvx.core.scene_io.source.StatementKind.RETURN :value: > 'return' ```{autodoc2-docstring} simvx.core.scene_io.source.StatementKind.RETURN ``` ```` ````{py:attribute} COMPOUND :canonical: simvx.core.scene_io.source.StatementKind.COMPOUND :value: > 'compound' ```{autodoc2-docstring} simvx.core.scene_io.source.StatementKind.COMPOUND ``` ```` ````{py:attribute} OTHER :canonical: simvx.core.scene_io.source.StatementKind.OTHER :value: > 'other' ```{autodoc2-docstring} simvx.core.scene_io.source.StatementKind.OTHER ``` ```` ````{py:method} __new__(*values) :canonical: simvx.core.scene_io.source.StatementKind.__new__ ```` ````{py:method} __add__() :canonical: simvx.core.scene_io.source.StatementKind.__add__ ```` ````{py:method} __contains__() :canonical: simvx.core.scene_io.source.StatementKind.__contains__ ```` ````{py:method} __delattr__() :canonical: simvx.core.scene_io.source.StatementKind.__delattr__ ```` ````{py:method} __dir__() :canonical: simvx.core.scene_io.source.StatementKind.__dir__ ```` ````{py:method} __eq__() :canonical: simvx.core.scene_io.source.StatementKind.__eq__ ```` ````{py:method} __format__() :canonical: simvx.core.scene_io.source.StatementKind.__format__ ```` ````{py:method} __ge__() :canonical: simvx.core.scene_io.source.StatementKind.__ge__ ```` ````{py:method} __getattribute__() :canonical: simvx.core.scene_io.source.StatementKind.__getattribute__ ```` ````{py:method} __getitem__() :canonical: simvx.core.scene_io.source.StatementKind.__getitem__ ```` ````{py:method} __getnewargs__() :canonical: simvx.core.scene_io.source.StatementKind.__getnewargs__ ```` ````{py:method} __getstate__() :canonical: simvx.core.scene_io.source.StatementKind.__getstate__ ```` ````{py:method} __gt__() :canonical: simvx.core.scene_io.source.StatementKind.__gt__ ```` ````{py:method} __hash__() :canonical: simvx.core.scene_io.source.StatementKind.__hash__ ```` ````{py:method} __iter__() :canonical: simvx.core.scene_io.source.StatementKind.__iter__ ```` ````{py:method} __le__() :canonical: simvx.core.scene_io.source.StatementKind.__le__ ```` ````{py:method} __len__() :canonical: simvx.core.scene_io.source.StatementKind.__len__ ```` ````{py:method} __lt__() :canonical: simvx.core.scene_io.source.StatementKind.__lt__ ```` ````{py:method} __mod__() :canonical: simvx.core.scene_io.source.StatementKind.__mod__ ```` ````{py:method} __mul__() :canonical: simvx.core.scene_io.source.StatementKind.__mul__ ```` ````{py:method} __ne__() :canonical: simvx.core.scene_io.source.StatementKind.__ne__ ```` ````{py:method} __reduce__() :canonical: simvx.core.scene_io.source.StatementKind.__reduce__ ```` ````{py:method} __reduce_ex__() :canonical: simvx.core.scene_io.source.StatementKind.__reduce_ex__ ```` ````{py:method} __repr__() :canonical: simvx.core.scene_io.source.StatementKind.__repr__ ```` ````{py:method} __rmod__() :canonical: simvx.core.scene_io.source.StatementKind.__rmod__ ```` ````{py:method} __rmul__() :canonical: simvx.core.scene_io.source.StatementKind.__rmul__ ```` ````{py:method} __setattr__() :canonical: simvx.core.scene_io.source.StatementKind.__setattr__ ```` ````{py:method} __sizeof__() :canonical: simvx.core.scene_io.source.StatementKind.__sizeof__ ```` ````{py:method} __str__() :canonical: simvx.core.scene_io.source.StatementKind.__str__ ```` ````{py:method} __subclasshook__() :canonical: simvx.core.scene_io.source.StatementKind.__subclasshook__ ```` ````{py:method} capitalize() :canonical: simvx.core.scene_io.source.StatementKind.capitalize ```` ````{py:method} casefold() :canonical: simvx.core.scene_io.source.StatementKind.casefold ```` ````{py:method} center() :canonical: simvx.core.scene_io.source.StatementKind.center ```` ````{py:method} count() :canonical: simvx.core.scene_io.source.StatementKind.count ```` ````{py:method} encode() :canonical: simvx.core.scene_io.source.StatementKind.encode ```` ````{py:method} endswith() :canonical: simvx.core.scene_io.source.StatementKind.endswith ```` ````{py:method} expandtabs() :canonical: simvx.core.scene_io.source.StatementKind.expandtabs ```` ````{py:method} find() :canonical: simvx.core.scene_io.source.StatementKind.find ```` ````{py:method} format() :canonical: simvx.core.scene_io.source.StatementKind.format ```` ````{py:method} format_map() :canonical: simvx.core.scene_io.source.StatementKind.format_map ```` ````{py:method} index() :canonical: simvx.core.scene_io.source.StatementKind.index ```` ````{py:method} isalnum() :canonical: simvx.core.scene_io.source.StatementKind.isalnum ```` ````{py:method} isalpha() :canonical: simvx.core.scene_io.source.StatementKind.isalpha ```` ````{py:method} isascii() :canonical: simvx.core.scene_io.source.StatementKind.isascii ```` ````{py:method} isdecimal() :canonical: simvx.core.scene_io.source.StatementKind.isdecimal ```` ````{py:method} isdigit() :canonical: simvx.core.scene_io.source.StatementKind.isdigit ```` ````{py:method} isidentifier() :canonical: simvx.core.scene_io.source.StatementKind.isidentifier ```` ````{py:method} islower() :canonical: simvx.core.scene_io.source.StatementKind.islower ```` ````{py:method} isnumeric() :canonical: simvx.core.scene_io.source.StatementKind.isnumeric ```` ````{py:method} isprintable() :canonical: simvx.core.scene_io.source.StatementKind.isprintable ```` ````{py:method} isspace() :canonical: simvx.core.scene_io.source.StatementKind.isspace ```` ````{py:method} istitle() :canonical: simvx.core.scene_io.source.StatementKind.istitle ```` ````{py:method} isupper() :canonical: simvx.core.scene_io.source.StatementKind.isupper ```` ````{py:method} join() :canonical: simvx.core.scene_io.source.StatementKind.join ```` ````{py:method} ljust() :canonical: simvx.core.scene_io.source.StatementKind.ljust ```` ````{py:method} lower() :canonical: simvx.core.scene_io.source.StatementKind.lower ```` ````{py:method} lstrip() :canonical: simvx.core.scene_io.source.StatementKind.lstrip ```` ````{py:method} partition() :canonical: simvx.core.scene_io.source.StatementKind.partition ```` ````{py:method} removeprefix() :canonical: simvx.core.scene_io.source.StatementKind.removeprefix ```` ````{py:method} removesuffix() :canonical: simvx.core.scene_io.source.StatementKind.removesuffix ```` ````{py:method} replace() :canonical: simvx.core.scene_io.source.StatementKind.replace ```` ````{py:method} rfind() :canonical: simvx.core.scene_io.source.StatementKind.rfind ```` ````{py:method} rindex() :canonical: simvx.core.scene_io.source.StatementKind.rindex ```` ````{py:method} rjust() :canonical: simvx.core.scene_io.source.StatementKind.rjust ```` ````{py:method} rpartition() :canonical: simvx.core.scene_io.source.StatementKind.rpartition ```` ````{py:method} rsplit() :canonical: simvx.core.scene_io.source.StatementKind.rsplit ```` ````{py:method} rstrip() :canonical: simvx.core.scene_io.source.StatementKind.rstrip ```` ````{py:method} split() :canonical: simvx.core.scene_io.source.StatementKind.split ```` ````{py:method} splitlines() :canonical: simvx.core.scene_io.source.StatementKind.splitlines ```` ````{py:method} startswith() :canonical: simvx.core.scene_io.source.StatementKind.startswith ```` ````{py:method} strip() :canonical: simvx.core.scene_io.source.StatementKind.strip ```` ````{py:method} swapcase() :canonical: simvx.core.scene_io.source.StatementKind.swapcase ```` ````{py:method} title() :canonical: simvx.core.scene_io.source.StatementKind.title ```` ````{py:method} translate() :canonical: simvx.core.scene_io.source.StatementKind.translate ```` ````{py:method} upper() :canonical: simvx.core.scene_io.source.StatementKind.upper ```` ````{py:method} zfill() :canonical: simvx.core.scene_io.source.StatementKind.zfill ```` ````{py:method} __deepcopy__(memo) :canonical: simvx.core.scene_io.source.StatementKind.__deepcopy__ ```` ````{py:method} __copy__() :canonical: simvx.core.scene_io.source.StatementKind.__copy__ ```` ````{py:method} name() :canonical: simvx.core.scene_io.source.StatementKind.name ```` ````{py:method} value() :canonical: simvx.core.scene_io.source.StatementKind.value ```` ````` `````{py:class} Anchor() :canonical: simvx.core.scene_io.source.Anchor Bases: {py:obj}`enum.StrEnum` ```{autodoc2-docstring} simvx.core.scene_io.source.Anchor ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.scene_io.source.Anchor.__init__ ``` ````{py:attribute} INIT_HEAD :canonical: simvx.core.scene_io.source.Anchor.INIT_HEAD :value: > 'init_head' ```{autodoc2-docstring} simvx.core.scene_io.source.Anchor.INIT_HEAD ``` ```` ````{py:attribute} INIT_TAIL :canonical: simvx.core.scene_io.source.Anchor.INIT_TAIL :value: > 'init_tail' ```{autodoc2-docstring} simvx.core.scene_io.source.Anchor.INIT_TAIL ``` ```` ````{py:attribute} BODY_HEAD :canonical: simvx.core.scene_io.source.Anchor.BODY_HEAD :value: > 'body_head' ```{autodoc2-docstring} simvx.core.scene_io.source.Anchor.BODY_HEAD ``` ```` ````{py:attribute} BODY_TAIL :canonical: simvx.core.scene_io.source.Anchor.BODY_TAIL :value: > 'body_tail' ```{autodoc2-docstring} simvx.core.scene_io.source.Anchor.BODY_TAIL ``` ```` ````{py:method} __new__(*values) :canonical: simvx.core.scene_io.source.Anchor.__new__ ```` ````{py:method} __add__() :canonical: simvx.core.scene_io.source.Anchor.__add__ ```` ````{py:method} __contains__() :canonical: simvx.core.scene_io.source.Anchor.__contains__ ```` ````{py:method} __delattr__() :canonical: simvx.core.scene_io.source.Anchor.__delattr__ ```` ````{py:method} __dir__() :canonical: simvx.core.scene_io.source.Anchor.__dir__ ```` ````{py:method} __eq__() :canonical: simvx.core.scene_io.source.Anchor.__eq__ ```` ````{py:method} __format__() :canonical: simvx.core.scene_io.source.Anchor.__format__ ```` ````{py:method} __ge__() :canonical: simvx.core.scene_io.source.Anchor.__ge__ ```` ````{py:method} __getattribute__() :canonical: simvx.core.scene_io.source.Anchor.__getattribute__ ```` ````{py:method} __getitem__() :canonical: simvx.core.scene_io.source.Anchor.__getitem__ ```` ````{py:method} __getnewargs__() :canonical: simvx.core.scene_io.source.Anchor.__getnewargs__ ```` ````{py:method} __getstate__() :canonical: simvx.core.scene_io.source.Anchor.__getstate__ ```` ````{py:method} __gt__() :canonical: simvx.core.scene_io.source.Anchor.__gt__ ```` ````{py:method} __hash__() :canonical: simvx.core.scene_io.source.Anchor.__hash__ ```` ````{py:method} __iter__() :canonical: simvx.core.scene_io.source.Anchor.__iter__ ```` ````{py:method} __le__() :canonical: simvx.core.scene_io.source.Anchor.__le__ ```` ````{py:method} __len__() :canonical: simvx.core.scene_io.source.Anchor.__len__ ```` ````{py:method} __lt__() :canonical: simvx.core.scene_io.source.Anchor.__lt__ ```` ````{py:method} __mod__() :canonical: simvx.core.scene_io.source.Anchor.__mod__ ```` ````{py:method} __mul__() :canonical: simvx.core.scene_io.source.Anchor.__mul__ ```` ````{py:method} __ne__() :canonical: simvx.core.scene_io.source.Anchor.__ne__ ```` ````{py:method} __reduce__() :canonical: simvx.core.scene_io.source.Anchor.__reduce__ ```` ````{py:method} __reduce_ex__() :canonical: simvx.core.scene_io.source.Anchor.__reduce_ex__ ```` ````{py:method} __repr__() :canonical: simvx.core.scene_io.source.Anchor.__repr__ ```` ````{py:method} __rmod__() :canonical: simvx.core.scene_io.source.Anchor.__rmod__ ```` ````{py:method} __rmul__() :canonical: simvx.core.scene_io.source.Anchor.__rmul__ ```` ````{py:method} __setattr__() :canonical: simvx.core.scene_io.source.Anchor.__setattr__ ```` ````{py:method} __sizeof__() :canonical: simvx.core.scene_io.source.Anchor.__sizeof__ ```` ````{py:method} __str__() :canonical: simvx.core.scene_io.source.Anchor.__str__ ```` ````{py:method} __subclasshook__() :canonical: simvx.core.scene_io.source.Anchor.__subclasshook__ ```` ````{py:method} capitalize() :canonical: simvx.core.scene_io.source.Anchor.capitalize ```` ````{py:method} casefold() :canonical: simvx.core.scene_io.source.Anchor.casefold ```` ````{py:method} center() :canonical: simvx.core.scene_io.source.Anchor.center ```` ````{py:method} count() :canonical: simvx.core.scene_io.source.Anchor.count ```` ````{py:method} encode() :canonical: simvx.core.scene_io.source.Anchor.encode ```` ````{py:method} endswith() :canonical: simvx.core.scene_io.source.Anchor.endswith ```` ````{py:method} expandtabs() :canonical: simvx.core.scene_io.source.Anchor.expandtabs ```` ````{py:method} find() :canonical: simvx.core.scene_io.source.Anchor.find ```` ````{py:method} format() :canonical: simvx.core.scene_io.source.Anchor.format ```` ````{py:method} format_map() :canonical: simvx.core.scene_io.source.Anchor.format_map ```` ````{py:method} index() :canonical: simvx.core.scene_io.source.Anchor.index ```` ````{py:method} isalnum() :canonical: simvx.core.scene_io.source.Anchor.isalnum ```` ````{py:method} isalpha() :canonical: simvx.core.scene_io.source.Anchor.isalpha ```` ````{py:method} isascii() :canonical: simvx.core.scene_io.source.Anchor.isascii ```` ````{py:method} isdecimal() :canonical: simvx.core.scene_io.source.Anchor.isdecimal ```` ````{py:method} isdigit() :canonical: simvx.core.scene_io.source.Anchor.isdigit ```` ````{py:method} isidentifier() :canonical: simvx.core.scene_io.source.Anchor.isidentifier ```` ````{py:method} islower() :canonical: simvx.core.scene_io.source.Anchor.islower ```` ````{py:method} isnumeric() :canonical: simvx.core.scene_io.source.Anchor.isnumeric ```` ````{py:method} isprintable() :canonical: simvx.core.scene_io.source.Anchor.isprintable ```` ````{py:method} isspace() :canonical: simvx.core.scene_io.source.Anchor.isspace ```` ````{py:method} istitle() :canonical: simvx.core.scene_io.source.Anchor.istitle ```` ````{py:method} isupper() :canonical: simvx.core.scene_io.source.Anchor.isupper ```` ````{py:method} join() :canonical: simvx.core.scene_io.source.Anchor.join ```` ````{py:method} ljust() :canonical: simvx.core.scene_io.source.Anchor.ljust ```` ````{py:method} lower() :canonical: simvx.core.scene_io.source.Anchor.lower ```` ````{py:method} lstrip() :canonical: simvx.core.scene_io.source.Anchor.lstrip ```` ````{py:method} partition() :canonical: simvx.core.scene_io.source.Anchor.partition ```` ````{py:method} removeprefix() :canonical: simvx.core.scene_io.source.Anchor.removeprefix ```` ````{py:method} removesuffix() :canonical: simvx.core.scene_io.source.Anchor.removesuffix ```` ````{py:method} replace() :canonical: simvx.core.scene_io.source.Anchor.replace ```` ````{py:method} rfind() :canonical: simvx.core.scene_io.source.Anchor.rfind ```` ````{py:method} rindex() :canonical: simvx.core.scene_io.source.Anchor.rindex ```` ````{py:method} rjust() :canonical: simvx.core.scene_io.source.Anchor.rjust ```` ````{py:method} rpartition() :canonical: simvx.core.scene_io.source.Anchor.rpartition ```` ````{py:method} rsplit() :canonical: simvx.core.scene_io.source.Anchor.rsplit ```` ````{py:method} rstrip() :canonical: simvx.core.scene_io.source.Anchor.rstrip ```` ````{py:method} split() :canonical: simvx.core.scene_io.source.Anchor.split ```` ````{py:method} splitlines() :canonical: simvx.core.scene_io.source.Anchor.splitlines ```` ````{py:method} startswith() :canonical: simvx.core.scene_io.source.Anchor.startswith ```` ````{py:method} strip() :canonical: simvx.core.scene_io.source.Anchor.strip ```` ````{py:method} swapcase() :canonical: simvx.core.scene_io.source.Anchor.swapcase ```` ````{py:method} title() :canonical: simvx.core.scene_io.source.Anchor.title ```` ````{py:method} translate() :canonical: simvx.core.scene_io.source.Anchor.translate ```` ````{py:method} upper() :canonical: simvx.core.scene_io.source.Anchor.upper ```` ````{py:method} zfill() :canonical: simvx.core.scene_io.source.Anchor.zfill ```` ````{py:method} __deepcopy__(memo) :canonical: simvx.core.scene_io.source.Anchor.__deepcopy__ ```` ````{py:method} __copy__() :canonical: simvx.core.scene_io.source.Anchor.__copy__ ```` ````{py:method} name() :canonical: simvx.core.scene_io.source.Anchor.name ```` ````{py:method} value() :canonical: simvx.core.scene_io.source.Anchor.value ```` ````` `````{py:class} Argument :canonical: simvx.core.scene_io.source.Argument ```{autodoc2-docstring} simvx.core.scene_io.source.Argument ``` ````{py:attribute} name :canonical: simvx.core.scene_io.source.Argument.name :type: str | None :value: > None ```{autodoc2-docstring} simvx.core.scene_io.source.Argument.name ``` ```` ````{py:attribute} value :canonical: simvx.core.scene_io.source.Argument.value :type: str :value: > None ```{autodoc2-docstring} simvx.core.scene_io.source.Argument.value ``` ```` ````{py:attribute} index :canonical: simvx.core.scene_io.source.Argument.index :type: int :value: > None ```{autodoc2-docstring} simvx.core.scene_io.source.Argument.index ``` ```` ````{py:attribute} is_unpacking :canonical: simvx.core.scene_io.source.Argument.is_unpacking :type: bool :value: > False ```{autodoc2-docstring} simvx.core.scene_io.source.Argument.is_unpacking ``` ```` ````` `````{py:class} ImportedName :canonical: simvx.core.scene_io.source.ImportedName ```{autodoc2-docstring} simvx.core.scene_io.source.ImportedName ``` ````{py:attribute} name :canonical: simvx.core.scene_io.source.ImportedName.name :type: str :value: > None ```{autodoc2-docstring} simvx.core.scene_io.source.ImportedName.name ``` ```` ````{py:attribute} alias :canonical: simvx.core.scene_io.source.ImportedName.alias :type: str | None :value: > None ```{autodoc2-docstring} simvx.core.scene_io.source.ImportedName.alias ``` ```` ````{py:property} binding :canonical: simvx.core.scene_io.source.ImportedName.binding :type: str ```{autodoc2-docstring} simvx.core.scene_io.source.ImportedName.binding ``` ```` ````` `````{py:class} Statement :canonical: simvx.core.scene_io.source.Statement Bases: {py:obj}`abc.ABC` ```{autodoc2-docstring} simvx.core.scene_io.source.Statement ``` ````{py:attribute} __slots__ :canonical: simvx.core.scene_io.source.Statement.__slots__ :value: > () ```{autodoc2-docstring} simvx.core.scene_io.source.Statement.__slots__ ``` ```` ````{py:method} text() -> str :canonical: simvx.core.scene_io.source.Statement.text :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.Statement.text ``` ```` ````{py:method} kind() -> simvx.core.scene_io.source.StatementKind :canonical: simvx.core.scene_io.source.Statement.kind :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.Statement.kind ``` ```` ````{py:method} leading_trivia() -> str :canonical: simvx.core.scene_io.source.Statement.leading_trivia :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.Statement.leading_trivia ``` ```` ````{py:method} trailing_comment() -> str | None :canonical: simvx.core.scene_io.source.Statement.trailing_comment :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.Statement.trailing_comment ``` ```` ````{py:method} shares_line() -> bool :canonical: simvx.core.scene_io.source.Statement.shares_line :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.Statement.shares_line ``` ```` ````{py:method} line_group() -> list[simvx.core.scene_io.source.Statement] :canonical: simvx.core.scene_io.source.Statement.line_group :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.Statement.line_group ``` ```` ````{py:method} line() -> int :canonical: simvx.core.scene_io.source.Statement.line :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.Statement.line ``` ```` ````{py:method} column() -> int :canonical: simvx.core.scene_io.source.Statement.column :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.Statement.column ``` ```` ````{py:method} is_live() -> bool :canonical: simvx.core.scene_io.source.Statement.is_live :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.Statement.is_live ``` ```` ````{py:method} call() -> simvx.core.scene_io.source.CallView | None :canonical: simvx.core.scene_io.source.Statement.call :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.Statement.call ``` ```` ````{py:method} set_value(text: str) -> None :canonical: simvx.core.scene_io.source.Statement.set_value :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.Statement.set_value ``` ```` ````{py:method} bound_names() -> set[str] :canonical: simvx.core.scene_io.source.Statement.bound_names :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.Statement.bound_names ``` ```` ````{py:method} mentioned_names() -> set[str] :canonical: simvx.core.scene_io.source.Statement.mentioned_names :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.Statement.mentioned_names ``` ```` ````{py:method} rename_local(old: str, new: str) -> int :canonical: simvx.core.scene_io.source.Statement.rename_local :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.Statement.rename_local ``` ```` ````` `````{py:class} CallView :canonical: simvx.core.scene_io.source.CallView Bases: {py:obj}`abc.ABC` ```{autodoc2-docstring} simvx.core.scene_io.source.CallView ``` ````{py:attribute} __slots__ :canonical: simvx.core.scene_io.source.CallView.__slots__ :value: > () ```{autodoc2-docstring} simvx.core.scene_io.source.CallView.__slots__ ``` ```` ````{py:method} callee() -> str :canonical: simvx.core.scene_io.source.CallView.callee :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.CallView.callee ``` ```` ````{py:method} text() -> str :canonical: simvx.core.scene_io.source.CallView.text :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.CallView.text ``` ```` ````{py:method} arguments() -> list[simvx.core.scene_io.source.Argument] :canonical: simvx.core.scene_io.source.CallView.arguments :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.CallView.arguments ``` ```` ````{py:method} kwarg(name: str) -> str | None :canonical: simvx.core.scene_io.source.CallView.kwarg :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.CallView.kwarg ``` ```` ````{py:method} set_kwarg(name: str, value_expr: str) -> None :canonical: simvx.core.scene_io.source.CallView.set_kwarg :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.CallView.set_kwarg ``` ```` ````{py:method} remove_kwarg(name: str) -> None :canonical: simvx.core.scene_io.source.CallView.remove_kwarg :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.CallView.remove_kwarg ``` ```` ````{py:method} set_positional(index: int, value_expr: str) -> None :canonical: simvx.core.scene_io.source.CallView.set_positional :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.CallView.set_positional ``` ```` ````{py:method} argument_call(index: int) -> simvx.core.scene_io.source.CallView | None :canonical: simvx.core.scene_io.source.CallView.argument_call :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.CallView.argument_call ``` ```` ````` `````{py:class} ImportDecl :canonical: simvx.core.scene_io.source.ImportDecl Bases: {py:obj}`abc.ABC` ```{autodoc2-docstring} simvx.core.scene_io.source.ImportDecl ``` ````{py:attribute} __slots__ :canonical: simvx.core.scene_io.source.ImportDecl.__slots__ :value: > () ```{autodoc2-docstring} simvx.core.scene_io.source.ImportDecl.__slots__ ``` ```` ````{py:property} statement :canonical: simvx.core.scene_io.source.ImportDecl.statement :abstractmethod: :type: simvx.core.scene_io.source.Statement ```{autodoc2-docstring} simvx.core.scene_io.source.ImportDecl.statement ``` ```` ````{py:property} module :canonical: simvx.core.scene_io.source.ImportDecl.module :abstractmethod: :type: str | None ```{autodoc2-docstring} simvx.core.scene_io.source.ImportDecl.module ``` ```` ````{py:property} names :canonical: simvx.core.scene_io.source.ImportDecl.names :abstractmethod: :type: list[simvx.core.scene_io.source.ImportedName] ```{autodoc2-docstring} simvx.core.scene_io.source.ImportDecl.names ``` ```` ````` `````{py:class} ClassDecl :canonical: simvx.core.scene_io.source.ClassDecl Bases: {py:obj}`abc.ABC` ```{autodoc2-docstring} simvx.core.scene_io.source.ClassDecl ``` ````{py:attribute} __slots__ :canonical: simvx.core.scene_io.source.ClassDecl.__slots__ :value: > () ```{autodoc2-docstring} simvx.core.scene_io.source.ClassDecl.__slots__ ``` ```` ````{py:property} name :canonical: simvx.core.scene_io.source.ClassDecl.name :abstractmethod: :type: str ```{autodoc2-docstring} simvx.core.scene_io.source.ClassDecl.name ``` ```` ````{py:property} statement :canonical: simvx.core.scene_io.source.ClassDecl.statement :abstractmethod: :type: simvx.core.scene_io.source.Statement ```{autodoc2-docstring} simvx.core.scene_io.source.ClassDecl.statement ``` ```` ````{py:method} line() -> int :canonical: simvx.core.scene_io.source.ClassDecl.line :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.ClassDecl.line ``` ```` ````{py:method} body_statements() -> list[simvx.core.scene_io.source.Statement] :canonical: simvx.core.scene_io.source.ClassDecl.body_statements :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.ClassDecl.body_statements ``` ```` ````{py:method} has_init() -> bool :canonical: simvx.core.scene_io.source.ClassDecl.has_init :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.ClassDecl.has_init ``` ```` ````{py:method} init_statements() -> list[simvx.core.scene_io.source.Statement] :canonical: simvx.core.scene_io.source.ClassDecl.init_statements :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.ClassDecl.init_statements ``` ```` ````{py:method} bases() -> list[str] :canonical: simvx.core.scene_io.source.ClassDecl.bases :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.ClassDecl.bases ``` ```` ````{py:method} set_base(old: str, new: str) -> None :canonical: simvx.core.scene_io.source.ClassDecl.set_base :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.ClassDecl.set_base ``` ```` ````{py:method} insert(text: str, *, after: simvx.core.scene_io.source.Statement | simvx.core.scene_io.source.Anchor) -> simvx.core.scene_io.source.Statement :canonical: simvx.core.scene_io.source.ClassDecl.insert :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.ClassDecl.insert ``` ```` ````{py:method} insert_before(text: str, *, before: simvx.core.scene_io.source.Statement) -> simvx.core.scene_io.source.Statement :canonical: simvx.core.scene_io.source.ClassDecl.insert_before :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.ClassDecl.insert_before ``` ```` ````{py:method} remove(stmt: simvx.core.scene_io.source.Statement) -> None :canonical: simvx.core.scene_io.source.ClassDecl.remove :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.ClassDecl.remove ``` ```` ````{py:method} reorder(groups: list[list[simvx.core.scene_io.source.Statement]]) -> None :canonical: simvx.core.scene_io.source.ClassDecl.reorder :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.ClassDecl.reorder ``` ```` ````` `````{py:class} SourceDocument :canonical: simvx.core.scene_io.source.SourceDocument Bases: {py:obj}`abc.ABC` ```{autodoc2-docstring} simvx.core.scene_io.source.SourceDocument ``` ````{py:attribute} __slots__ :canonical: simvx.core.scene_io.source.SourceDocument.__slots__ :value: > () ```{autodoc2-docstring} simvx.core.scene_io.source.SourceDocument.__slots__ ``` ```` ````{py:method} parse(text: str, *, backend: str | None = None) -> simvx.core.scene_io.source.SourceDocument :canonical: simvx.core.scene_io.source.SourceDocument.parse :classmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.SourceDocument.parse ``` ```` ````{py:property} backend_name :canonical: simvx.core.scene_io.source.SourceDocument.backend_name :abstractmethod: :type: str ```{autodoc2-docstring} simvx.core.scene_io.source.SourceDocument.backend_name ``` ```` ````{py:property} epoch :canonical: simvx.core.scene_io.source.SourceDocument.epoch :abstractmethod: :type: int ```{autodoc2-docstring} simvx.core.scene_io.source.SourceDocument.epoch ``` ```` ````{py:property} original_text :canonical: simvx.core.scene_io.source.SourceDocument.original_text :abstractmethod: :type: str ```{autodoc2-docstring} simvx.core.scene_io.source.SourceDocument.original_text ``` ```` ````{py:method} dump() -> str :canonical: simvx.core.scene_io.source.SourceDocument.dump :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.SourceDocument.dump ``` ```` ````{py:method} is_unchanged() -> bool :canonical: simvx.core.scene_io.source.SourceDocument.is_unchanged :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.SourceDocument.is_unchanged ``` ```` ````{py:method} top_level_classes() -> list[simvx.core.scene_io.source.ClassDecl] :canonical: simvx.core.scene_io.source.SourceDocument.top_level_classes :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.SourceDocument.top_level_classes ``` ```` ````{py:method} find_class(name: str) -> simvx.core.scene_io.source.ClassDecl | None :canonical: simvx.core.scene_io.source.SourceDocument.find_class :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.SourceDocument.find_class ``` ```` ````{py:method} imports() -> list[simvx.core.scene_io.source.ImportDecl] :canonical: simvx.core.scene_io.source.SourceDocument.imports :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.SourceDocument.imports ``` ```` ````{py:method} top_level_statements() -> list[simvx.core.scene_io.source.Statement] :canonical: simvx.core.scene_io.source.SourceDocument.top_level_statements :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.SourceDocument.top_level_statements ``` ```` ````{py:method} insert_top_level(text: str, *, after: simvx.core.scene_io.source.Statement | None = None) -> simvx.core.scene_io.source.Statement :canonical: simvx.core.scene_io.source.SourceDocument.insert_top_level :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.SourceDocument.insert_top_level ``` ```` ````{py:method} ensure_import(name: str, *, from_: str | None = None) -> None :canonical: simvx.core.scene_io.source.SourceDocument.ensure_import :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.SourceDocument.ensure_import ``` ```` ````{py:method} remove_import(name: str, *, from_: str | None = None) -> None :canonical: simvx.core.scene_io.source.SourceDocument.remove_import :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.SourceDocument.remove_import ``` ```` ````` `````{py:class} SourceBackend :canonical: simvx.core.scene_io.source.SourceBackend Bases: {py:obj}`abc.ABC` ```{autodoc2-docstring} simvx.core.scene_io.source.SourceBackend ``` ````{py:attribute} __slots__ :canonical: simvx.core.scene_io.source.SourceBackend.__slots__ :value: > () ```{autodoc2-docstring} simvx.core.scene_io.source.SourceBackend.__slots__ ``` ```` ````{py:property} name :canonical: simvx.core.scene_io.source.SourceBackend.name :abstractmethod: :type: str ```{autodoc2-docstring} simvx.core.scene_io.source.SourceBackend.name ``` ```` ````{py:method} parse(text: str) -> simvx.core.scene_io.source.SourceDocument :canonical: simvx.core.scene_io.source.SourceBackend.parse :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.SourceBackend.parse ``` ```` ````{py:method} parse_expression(text: str) -> None :canonical: simvx.core.scene_io.source.SourceBackend.parse_expression :abstractmethod: ```{autodoc2-docstring} simvx.core.scene_io.source.SourceBackend.parse_expression ``` ```` ````` ````{py:function} backend_names() -> tuple[str, ...] :canonical: simvx.core.scene_io.source.backend_names ```{autodoc2-docstring} simvx.core.scene_io.source.backend_names ``` ```` ````{py:function} get_backend(name: str | None = None) -> simvx.core.scene_io.source.SourceBackend :canonical: simvx.core.scene_io.source.get_backend ```{autodoc2-docstring} simvx.core.scene_io.source.get_backend ``` ```` ````{py:function} parse(text: str, *, backend: str | None = None) -> simvx.core.scene_io.source.SourceDocument :canonical: simvx.core.scene_io.source.parse ```{autodoc2-docstring} simvx.core.scene_io.source.parse ``` ```` ````{py:function} parse_expression(text: str, *, backend: str | None = None) -> None :canonical: simvx.core.scene_io.source.parse_expression ```{autodoc2-docstring} simvx.core.scene_io.source.parse_expression ``` ```` ````{py:function} names_bound_in(statements: collections.abc.Iterable[simvx.core.scene_io.source.Statement]) -> set[str] :canonical: simvx.core.scene_io.source.names_bound_in ```{autodoc2-docstring} simvx.core.scene_io.source.names_bound_in ``` ```` ````{py:function} names_mentioned_in(statements: collections.abc.Iterable[simvx.core.scene_io.source.Statement]) -> set[str] :canonical: simvx.core.scene_io.source.names_mentioned_in ```{autodoc2-docstring} simvx.core.scene_io.source.names_mentioned_in ``` ```` ````{py:function} rename_name(statements: collections.abc.Sequence[simvx.core.scene_io.source.Statement], old: str, new: str) -> int :canonical: simvx.core.scene_io.source.rename_name ```{autodoc2-docstring} simvx.core.scene_io.source.rename_name ``` ````