Skip to main content

Inherits from

PyHasBlock, PySymbol, Class, HasBlock, Symbol, Callable, Expression, Usable, Editable, Importable, HasName

Attributes

call_sites

code_block

comment

constructor

decorators

docstring

extended

extended_nodes

extended_source

file

filepath

full_name

function_calls

inline_comment

is_decorated

is_exported

is_subclass

name

nested_classes

parameters

parent

parent_class

parent_class_names

parent_classes

parent_function

parent_statement

resolved_value

return_type

source

symbol_type

type_parameters

variable_usages

Methods

add_attribute

Adds an attribute to a class from another class.

add_attribute_from_source

Adds an attribute to a class from raw source code, placing it in a specific location

add_comment

Adds a new comment to the symbol.

add_decorator

Adds a decorator to a function or method.

add_keyword

Insert a keyword in the appropriate place before this symbol if it doesn’t already exist.

add_source

Adds source code to the class definition.

ancestors

Find all ancestors of the node of the given type. Does not return itself

attributes

Retrieves all attributes from this Class including those from its superclasses up to a

dependencies

Returns a list of symbols that this symbol depends on.

edit

Replace the source of this node with new_src.

find

Find and return matching nodes or substrings within an Editable instance.

find_string_literals

Returns a list of string literals within this node’s source that match any of the given

flag

Flags a Python symbol by adding a flag comment and returning a CodeFlag.

get_attribute

Returns a specific attribute by name.

get_import_string

Generates an import string for a Python symbol.

get_method

Returns a specific method by name from the class or any of its superclasses.

get_name

Returns the name node of the object.

get_nested_class

Returns a nested class by name from the current class.

get_parameter

Gets a specific parameter from the callable’s parameters list by name.

get_parameter_by_index

Returns the parameter at the given index.

get_parameter_by_type

Retrieves a parameter from the callable by its type.

get_parent_class

Returns the parent class node with the specified name.

get_variable_usages

Returns Editables for all TreeSitter nodes corresponding to instances of variable usage

insert_after

Inserts code after this node.

insert_before

Inserts text before the current symbol node in the Abstract Syntax Tree.

is_child_of

Checks if this node is a descendant of the given editable instance in the AST.

is_subclass_of

Checks if the class inherits from a specified parent class.

is_wrapped_in

Check if this node is contained another node of the given class

methods

Retrieves all methods that exist on this Class, including methods from superclasses, with

move_to_file

Moves the given symbol to a new file and updates its imports and references.

parent_of_type

Find the first ancestor of the node of the given type. Does not return itself

parent_of_types

Find the first ancestor of the node of the given type. Does not return itself

reduce_condition

Reduces an editable to the following condition

remove

Deletes this Node and its related extended nodes (e.g. decorators, comments).

rename

Renames a symbol and updates all its references in the codebase.

replace

Search and replace occurrences of text within this node’s source and its extended nodes. Returns a list of all regex match of regex_pattern, similar to python’s re.search().

set_comment

Sets a comment for the Python symbol.

set_docstring

Sets or updates a docstring for a Python function or class.

set_inline_comment

Sets an inline comment to the symbol.

set_name

Sets the name of a code element.

subclasses

Returns all classes which subclass this class.

superclasses

Returns a list of all classes that this class extends, up to max_depth.

symbol_usages

Returns a list of symbols that use or import the exportable object.

usages

Returns a list of usages of the exportable object.