networkx.utils.decorators.not_implemented_for

not_implemented_for(*graph_types)[source]

Decorator to mark algorithms as not implemented

Parameters
graph_typescontainer of strings

Entries must be one of “directed”, “undirected”, “multigraph”, or “graph”.

Returns
_requirefunction

The decorated function.

Raises
NetworkXNotImplemented
If any of the packages cannot be imported

Notes

Multiple types are joined logically with “and”. For “or” use multiple @not_implemented_for() lines.

Examples

Decorate functions like this:

@not_implemented_for("directed")
def sp_function(G):
    pass

# rule out MultiDiGraph
@not_implemented_for("directed","multigraph")
def sp_np_function(G):
    pass

# rule out all except DiGraph
@not_implemented_for("undirected")
@not_implemented_for("multigraph")
def sp_np_function(G):
    pass