File: //proc/self/root/lib/python3/dist-packages/networkx/algorithms/node_classification/__init__.py
""" This module provides the functions for node classification problem.
The functions in this module are not imported
into the top level `networkx` namespace.
You can access these functions by importing
the `networkx.algorithms.node_classification` modules,
then accessing the functions as attributes of `node_classification`.
For example:
>>> from networkx.algorithms import node_classification
>>> G = nx.path_graph(4)
>>> G.edges()
EdgeView([(0, 1), (1, 2), (2, 3)])
>>> G.nodes[0]["label"] = "A"
>>> G.nodes[3]["label"] = "B"
>>> node_classification.harmonic_function(G)
['A', 'A', 'B', 'B']
"""
def __getattr__(name):
if name in ("hmn", "lgc"):
import warnings
import importlib
fn_name = (
"harmonic_function" if name == "hmn" else "local_and_global_consistency"
)
msg = (
f"The {name} module is deprecated and will be removed in version 3.0.\n"
f"Access `{fn_name}` directly from `node_classification`:\n\n"
" from networkx.algorithms import node_classification\n"
f" node_classification.{fn_name}\n"
)
warnings.warn(msg, category=DeprecationWarning, stacklevel=2)
return importlib.import_module(
f".{name}", "networkx.algorithms.node_classification"
)
if name == "harmonic_function":
from .hmn import harmonic_function
return harmonic_function
if name == "local_and_global_consistency":
from .lgc import local_and_global_consistency
return local_and_global_consistency
raise AttributeError(f"module {__name__} has no attribute {name}")
def __dir__():
return ["harmonic_function", "local_and_global_consistency"]