SourceFile
A Python source file component that represents a Python file in the source directory.
It provides a scope for the file, which is a PythonModuleScope that contains
all the symbols defined in the file, such as functions, classes, and variables.
import { SourceFile } from "@alloy-js/python";
<SourceFile doc={Children} futureImports={Children[]} header={Children} headerComment="string" path="string"> {children}</SourceFile>import { SourceFile } from "@alloy-js/python/stc";
SourceFile({ doc: Children, futureImports: Children[], header: Children, headerComment: string, path: string,}).children(children)| children | optional Children | Content to add to the file, such as function definitions, class definitions, and variable declarations. |
| doc | optional Children | Documentation for this module, which will be rendered as a module-level docstring. |
| futureImports | optional Children[] | future imports to render after the docstring but before regular imports. |
| header | optional Children | Content to render at the very top of the file, before everything else. Use this for shebang lines, encoding declarations, or license headers. |
| headerComment | optional string | Comment to add at the top of the file, rendered as a Python comment block. This is a convenience prop for adding copyright notices or other comments. |
| path | string | The path to the file relative to the source directory. |
Examples
Section titled “Examples”<SourceFile path="test.py">
<FunctionDeclaration name="test" />
</SourceFile>
renders to
def test():
pass
With module documentation:
<SourceFile
path="utils.py"
doc={<ModuleDoc description={[<Prose>Utility functions for data processing.</Prose>]} />}
>
<FunctionDeclaration name="process_data" />
</SourceFile>
renders to
"""
Utility functions for data processing.
"""
def process_data():
pass