Skip to content

codenib.types

Classes:

Name Description
NodeInfo

Node attributes for graph nodes.

QueriedNode

Node attributes representing ranked nodes that keep optional content.

Functions:

Name Description
is_symbol_node

Whether node_type is any symbol (class/function/method/generic).

normalize_graph_layer

Normalize and validate a graph layer name.

edge_types_for_graph_layer

Return edge types included by a graph layer.

graph_layers_for_edge_type

Return every default layer that contains edge_type.

NodeInfo

Bases: BaseModel

Node attributes for graph nodes.

QueriedNode

Bases: NodeInfo

Node attributes representing ranked nodes that keep optional content.

is_symbol_node

is_symbol_node(node_type)

Whether node_type is any symbol (class/function/method/generic).

Source code in codenib/types.py
def is_symbol_node(node_type):
    """Whether ``node_type`` is any symbol (class/function/method/generic)."""
    return node_type in SYMBOL_TYPES

normalize_graph_layer

normalize_graph_layer(layer)

Normalize and validate a graph layer name.

Source code in codenib/types.py
def normalize_graph_layer(layer):
    """Normalize and validate a graph layer name."""
    normalized = (layer or "").strip().lower()
    if normalized not in GRAPH_LAYER_EDGE_TYPES:
        supported = ", ".join(sorted(GRAPH_LAYER_EDGE_TYPES))
        raise ValueError(f"Unknown graph layer {layer!r}; supported: {supported}")
    return normalized

edge_types_for_graph_layer

edge_types_for_graph_layer(layer)

Return edge types included by a graph layer.

None means "all edge types currently present in the graph".

Source code in codenib/types.py
def edge_types_for_graph_layer(layer):
    """Return edge types included by a graph layer.

    ``None`` means "all edge types currently present in the graph".
    """
    return GRAPH_LAYER_EDGE_TYPES[normalize_graph_layer(layer)]

graph_layers_for_edge_type

graph_layers_for_edge_type(edge_type)

Return every default layer that contains edge_type.

Source code in codenib/types.py
def graph_layers_for_edge_type(edge_type):
    """Return every default layer that contains ``edge_type``."""
    layers = [GRAPH_LAYER_ALL]
    for layer, edge_types in GRAPH_LAYER_EDGE_TYPES.items():
        if layer == GRAPH_LAYER_ALL:
            continue
        if edge_types is not None and edge_type in edge_types:
            layers.append(layer)
    return layers