View Source on Github
Inherits from
PyHasBlock, PySymbol, Function, HasBlock, Symbol, Callable, Expression, Usable, Editable, Importable, HasNameAttributes
body
str
call_sites
Returns all call sites (invocations) of this callable in the codebase.
code_block
The block of code associated with the code object.
comment
PyCommentGroup | None
Retrieves the comment group associated with a Python symbol.decorators
Returns a list of decorators associated with this symbol.
docstring
PyCommentGroup | None
Gets the function's docstring.extended
Returns a SymbolGroup of all extended nodes associated with this element.
extended_nodes
Returns a list of Editable nodes associated with this symbol, including extended symbols.
extended_source
str
file
The file object that this Editable instance belongs to.
filepath
str
full_name
str | None
function_calls
Gets all function calls within the function and its parameters.
function_signature
str
inferred_return_type
str | None
inline_comment
PyCommentGroup | None
Returns the inline comment group associated with this symbol.is_async
bool
is_class_method
bool
is_constructor
bool
is_decorated
bool
is_exported
bool
is_magic
bool
is_method
bool
is_overload
bool
is_private
bool
is_property
bool
is_static_method
bool
name
str | None
nested_functions
Returns a list of nested functions defined within this function's code block.
parameters
Retrieves all parameters of a callable symbol.
parent
The parent node of this Editable instance.
parent_class
PyClass | None
Find the class this node is contained inparent_function
PyFunction | None
Find the function this node is contained inparent_statement
Statement | None
Find the statement this node is contained inresolved_value
Returns the resolved type of an Expression.
return_statements
Returns a list of all return statements within this function's body.
return_type
The type of value returned by the callable, or a placeholder.
source
str
symbol_type
The type of symbol, set to SymbolType.Function.
type_parameters
The type parameters of the symbol, if any.
variable_usages
Returns Editables for all TreeSitter node instances of variable usages within this node's
Methods
add_comment
Adds a new comment to the symbol.View Source on Github
Parameters
comment
str
required
auto_format
bool
default:True
clean_format
bool
default:True
comment_type
default:PyCommentType.SINGLE_LINE
Returns
None
add_decorator
Adds a decorator to a function or method.View Source on Github
Parameters
new_decorator
str
required
skip_if_exists
bool, optional
default:False
Returns
bool
add_keyword
Insert a keyword in the appropriate place before this symbol if it doesn’t already exist.View Source on Github
Parameters
keyword
str
required
Returns
None
add_statements
Adds statements to the end of a function body.View Source on Github
Parameters
lines
str
required
Returns
None
ancestors
Find all ancestors of the node of the given type. Does not return itselfView Source on Github
Returns
asyncify
Modifies the function to be asynchronous.View Source on Github
Returns
None
dependencies
Returns a list of symbols that this symbol depends on.View Source on Github
Parameters
usage_types
UsageType | None
default:UsageType.DIRECT
max_depth
int | None
default:None
Returns
edit
Replace the source of this node with new_src.View Source on Github
Parameters
new_src
str
required
fix_indentation
bool
default:False
priority
int
default:0
dedupe
bool
default:True
Returns
None
find
Find and return matching nodes or substrings within an Editable instance.View Source on Github
Parameters
strings_to_match
Union[list[str], str]
required
exact
bool
default:False
Returns
A list of Editable instances that match the search criteria.
find_string_literals
Returns a list of string literals within this node’s source that match any of the givenView Source on Github
Parameters
strings_to_match
list[str]
required
fuzzy_match
bool
default:False
Returns
A list of Editable objects representing the matching string literals.
flag
Flags a Python symbol by adding a flag comment and returning a CodeFlag.View Source on Github
Returns
The code flag object for tracking purposes
get_import_string
Generates an import string for a Python symbol.View Source on Github
Parameters
alias
str | None
default:None
module
str | None
default:None
import_type
default:ImportType.UNKNOWN
is_type_import
bool
default:False
Returns
str
get_name
Returns the name node of the object.View Source on Github
Returns
The name node of the object. Can be a Name node for simple names, a ChainedAttribute for names with namespaces (e.g., a.b), or None if the object has no name.
get_parameter
Gets a specific parameter from the callable’s parameters list by name.View Source on Github
Parameters
name
str
required
Returns
PyParameter | None
get_parameter_by_index
Returns the parameter at the given index.View Source on Github
Parameters
index
int
required
Returns
PyParameter | None
get_parameter_by_type
Retrieves a parameter from the callable by its type.View Source on Github
Parameters
type
required
Returns
PyParameter | None
get_variable_usages
Returns Editables for all TreeSitter nodes corresponding to instances of variable usageView Source on Github
Parameters
var_name
str
required
fuzzy_match
bool
default:False
Returns
List of Editable objects representing variable usage nodes matching the given name.
insert_after
Inserts code after this node.View Source on Github
Parameters
new_src
str
required
fix_indentation
bool, optional
default:False
newline
bool, optional
default:True
priority
int, optional
default:0
dedupe
bool, optional
default:True
Returns
None
insert_before
Inserts text before the current symbol node in the Abstract Syntax Tree.View Source on Github
Parameters
new_src
str
required
fix_indentation
bool
default:False
newline
bool
default:True
priority
int
default:0
dedupe
bool
default:True
extended
bool
default:True
Returns
None
insert_statements
Inserts lines of code into the function body at the specified index.View Source on Github
Parameters
lines
str
required
index
int, optional
default:0
Returns
None
is_child_of
Checks if this node is a descendant of the given editable instance in the AST.View Source on Github
Returns
bool
is_wrapped_in
Check if this node is contained another node of the given classView Source on Github
Returns
bool
move_to_file
Moves the given symbol to a new file and updates its imports and references.View Source on Github
Parameters
file
required
include_dependencies
bool
default:True
strategy
str
default:"update_all_imports"
Returns
None
parent_of_type
Find the first ancestor of the node of the given type. Does not return itselfView Source on Github
Returns
Editable | None
parent_of_types
Find the first ancestor of the node of the given type. Does not return itselfView Source on Github
Returns
Editable | None
prepend_statements
Prepends statements to the start of the function body.View Source on Github
Parameters
lines
str
required
Returns
None
reduce_condition
Reduces an editable to the following conditionView Source on Github
Returns
None
remove
Deletes this Node and its related extended nodes (e.g. decorators, comments).View Source on Github
Parameters
delete_formatting
bool
default:True
priority
int
default:0
dedupe
bool
default:True
Returns
None
rename
Renames a symbol and updates all its references in the codebase.View Source on Github
Parameters
new_name
str
required
priority
int
default:0
Returns
tuple[NodeId, NodeId]
rename_local_variable
Renames a local variable and all its usages within a function body.View Source on Github
Parameters
old_var_name
str
required
new_var_name
str
required
fuzzy_match
bool, optional
default:False
Returns
None
replace
Search and replace occurrences of text within this node’s source and its extended nodes.View Source on Github
Parameters
old
str
required
new
str
required
count
int, optional
default:-1
is_regex
bool, optional
default:False
priority
int, optional
default:0
Returns
int
search
Returns a list of all regex match ofregex_pattern
, similar to python’s re.search().
View Source on Github
Parameters
regex_pattern
str
required
include_strings
bool
default:True
include_comments
bool
default:True
Returns
A list of Editable objects corresponding to the matches found.
set_comment
Sets a comment for the Python symbol.View Source on Github
Parameters
comment
str
required
auto_format
bool, optional
default:True
clean_format
bool, optional
default:True
comment_type
PyCommentType , optional
default:PyCommentType.SINGLE_LINE
Returns
None
set_docstring
Sets or updates a docstring for a Python function or class.View Source on Github
Parameters
docstring
str
required
auto_format
bool, optional
default:True
clean_format
bool, optional
default:True
force_multiline
bool, optional
default:False
Returns
None
set_inline_comment
Sets an inline comment to the symbol.View Source on Github
Parameters
comment
str
required
auto_format
bool, optional
default:True
clean_format
bool, optional
default:True
Returns
None
set_name
Sets the name of a code element.View Source on Github
Parameters
name
str
required
Returns
None
set_return_type
Sets or modifies the return type annotation of a function.View Source on Github
Parameters
new_return_type
str
required
Returns
None
symbol_usages
Returns a list of symbols that use or import the exportable object.View Source on Github
Parameters
usage_types
UsageType | None
default:None
Returns
usages
Returns a list of usages of the exportable object.View Source on Github
Parameters
usage_types
UsageType | None
default:None
Returns
A sorted list of Usage objects representing where this exportable is used, ordered by source location in reverse.