ExternalModule
Represents an external module, like datetime
, that can be referenced.
These are only added to the graph during import resolution and will not exist in a local file’s subgraph. This is because we don’t know what an import is referencing or resolves to until we see the full codebase.
Inherits from
Callable, Usable, Importable, Expression, HasName, Editable
Attributes
call_sites
Returns all call sites (invocations) of this callable in the codebase.
dependencies
extended
Returns a SymbolGroup of all extended nodes associated with this element.
extended_source
str
Returns the source text representation of all extended nodes.
file
None
File property for ExternalModule class.
file_node_id
NodeId
filepath
str
Returns the filepath of the module.
full_name
str | None
Returns the full name of the object, including the namespace path.
function_calls
Returns a list of all function calls contained within this expression.
name
str | None
Retrieves the base name of the object without namespace prefixes.
node_type
Literal[NodeType.EXTERNAL]
parameters
Returns list of named parameters from an external function symbol.
parent
parent_class
Find the class this node is contained in
parent_function
Find the function this node is contained in
parent_statement
Find the statement this node is contained in
resolved_value
Returns the resolved type of an Expression.
return_type
source
str
Text representation of the Editable instance.
ts_node
TSNode
variable_usages
Returns Editables for all TreeSitter node instances of variable usages within this node's
Methods
ancestors
Find all ancestors of the node of the given type. Does not return itself
Returns
edit
Replace the source of this Editable
with new_src
.
Parameters
str
The new source text to replace the current text with.
bool
If True, adjusts the indentation of `new_src` to match the current text's indentation level. Defaults to False.
int
The priority of the edit transaction. Higher priority edits are applied first. Defaults to 0.
bool
If True, deduplicates identical transactions. Defaults to True.
Returns
None
find
Find and return matching nodes or substrings within an Editable instance.
Parameters
Union[list[str], str]
One or more strings to search for.
bool
If True, only return nodes whose source exactly matches one of the strings_to_match.
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 given
Parameters
list[str]
A list of strings to search for in string literals.
bool
If True, matches substrings within string literals. If False, only matches exact strings. Defaults to False.
Returns
A list of Editable objects representing the matching string literals.
flag
Adds a visual flag comment to the end of this Editable’s source text.
Returns
from_import
Creates an ExternalModule instance from an Import instance.
Parameters
An Import instance containing the module information.
Returns
A new ExternalModule instance representing the external module.
get_import_string
Returns the import string used to import this module.
Parameters
str | None, optional
An alternative name for the imported module.
str | None, optional
The module from which to import.
ImportType, optional
The type of import to generate. Defaults to ImportType.UNKNOWN.
bool, optional
Whether this is a type import. Defaults to False.
Returns
str
The import string that can be used to import this module.
get_name
Returns the name node of the object.
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.
Parameters
str
The name of the parameter to retrieve.
Returns
The parameter with the specified name, or None if no parameter with that name exists or if there are no parameters.
get_parameter_by_index
Returns the parameter at the given index.
Parameters
int
The index of the parameter to retrieve.
Returns
The parameter at the specified index, or None if the parameter list is empty or the index does not exist.
get_parameter_by_type
Retrieves a parameter from the callable by its type.
Parameters
The type to search for.
Returns
The parameter with the specified type, or None if no parameter is found or if the callable has no parameters.
get_variable_usages
Returns Editables for all TreeSitter nodes corresponding to instances of variable usage
Parameters
str
The variable name to search for.
bool
If True, matches variables where var_name is a substring. If False, requires exact match. Defaults to False.
Returns
List of Editable objects representing variable usage nodes matching the given name.
insert_after
Inserts code after this node.
Parameters
str
The source code to insert after this node.
bool, optional
Whether to adjust the indentation of new_src to match the current node. Defaults to False.
bool, optional
Whether to add a newline before the new_src. Defaults to True.
int, optional
Priority of the insertion transaction. Defaults to 0.
bool, optional
Whether to deduplicate identical transactions. Defaults to True.
Returns
None
insert_before
Inserts text before this node’s source with optional indentation and newline handling.
Parameters
str
The text to insert before this node.
bool
Whether to fix the indentation of new_src to match the current node. Defaults to False.
bool
Whether to add a newline after new_src. Defaults to True.
int
Transaction priority for managing multiple edits. Defaults to 0.
bool
Whether to deduplicate identical transactions. Defaults to True.
Returns
None
is_wrapped_in
Check if this node is contained another node of the given class
Returns
bool
parent_of_type
Find the first ancestor of the node of the given type. Does not return itself
Returns
reduce_condition
Reduces an editable to the following condition
Returns
None
remove
Deletes this Node and its related extended nodes (e.g. decorators, comments).
Parameters
bool
Whether to delete surrounding whitespace and formatting. Defaults to True.
int
Priority of the removal transaction. Higher priority transactions are executed first. Defaults to 0.
bool
Whether to deduplicate removal transactions at the same location. Defaults to True.
Returns
None
rename
Renames a symbol and updates all its references in the codebase.
Parameters
str
The new name for the symbol.
int
Priority of the edit operation. Defaults to 0.
Returns
tuple[NodeId, NodeId]
A tuple containing the file node ID and the new node ID of the renamed symbol.
replace
Search and replace occurrences of text within this node’s source and its extended nodes.
Parameters
str
The text or pattern to search for.
str
The text to replace matches with.
int, optional
Maximum number of replacements to make. Defaults to -1 (replace all).
bool, optional
Whether to treat 'old' as a regex pattern. Defaults to False.
int, optional
Priority of the replacement operation. Defaults to 0.
Returns
int
The total number of replacements made.
search
Returns a list of all regex match of regex_pattern
, similar to python’s re.search().
Parameters
str
The regular expression pattern to search for.
bool
When False, excludes the contents of string literals from the search. Defaults to True.
bool
When False, excludes the contents of comments from the search. Defaults to True.
Returns
A list of Editable objects corresponding to the matches found.
set_name
Sets the name of a code element.
Parameters
str
The new name to set for the object.
Returns
None
symbol_usages
Returns a list of symbols that use or import the exportable object.
Parameters
The types of usages to search for. Defaults to any.
usages
Returns a list of usages of the exportable object.
Parameters
Specifies which types of usages to include in the results. Default is any usages.
Returns
A sorted list of Usage objects representing where this exportable is used, ordered by source location in reverse.
Was this page helpful?