Skip to content

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}
header={Children}
headerComment="string"
path="string"
>
{children}
</SourceFile>
childrenoptionalChildren

Content to add to the file, such as function definitions, class definitions, and variable declarations.

docoptionalChildren

Documentation for this module, which will be rendered as a module-level docstring.

headeroptionalChildren

Header comment to add to the file, which will be rendered at the top of the file.

headerCommentoptionalstring

Comment to add to the header, which will be rendered as a comment in the file.

pathstring

The path to the file relative to the source directory.

<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