91 lines
2.9 KiB
Python
91 lines
2.9 KiB
Python
|
"""
|
||
|
NetworkX
|
||
|
========
|
||
|
|
||
|
NetworkX is a Python package for the creation, manipulation, and study of the
|
||
|
structure, dynamics, and functions of complex networks.
|
||
|
|
||
|
See https://networkx.org for complete documentation.
|
||
|
"""
|
||
|
|
||
|
__version__ = "2.7.1"
|
||
|
|
||
|
|
||
|
def __getattr__(name):
|
||
|
"""Remove functions and provide informative error messages."""
|
||
|
if name == "nx_yaml":
|
||
|
raise ImportError(
|
||
|
"\nThe nx_yaml module has been removed from NetworkX.\n"
|
||
|
"Please use the `yaml` package directly for working with yaml data.\n"
|
||
|
"For example, a networkx.Graph `G` can be written to and loaded\n"
|
||
|
"from a yaml file with:\n\n"
|
||
|
" import yaml\n\n"
|
||
|
" with open('path_to_yaml_file', 'w') as fh:\n"
|
||
|
" yaml.dump(G, fh)\n"
|
||
|
" with open('path_to_yaml_file', 'r') as fh:\n"
|
||
|
" G = yaml.load(fh, Loader=yaml.Loader)\n\n"
|
||
|
"Note that yaml.Loader is considered insecure - see the pyyaml\n"
|
||
|
"documentation for further details.\n\n"
|
||
|
"This message will be removed in NetworkX 3.0."
|
||
|
)
|
||
|
if name == "read_yaml":
|
||
|
raise ImportError(
|
||
|
"\nread_yaml has been removed from NetworkX, please use `yaml`\n"
|
||
|
"directly:\n\n"
|
||
|
" import yaml\n\n"
|
||
|
" with open('path', 'r') as fh:\n"
|
||
|
" yaml.load(fh, Loader=yaml.Loader)\n\n"
|
||
|
"Note that yaml.Loader is considered insecure - see the pyyaml\n"
|
||
|
"documentation for further details.\n\n"
|
||
|
"This message will be removed in NetworkX 3.0."
|
||
|
)
|
||
|
if name == "write_yaml":
|
||
|
raise ImportError(
|
||
|
"\nwrite_yaml has been removed from NetworkX, please use `yaml`\n"
|
||
|
"directly:\n\n"
|
||
|
" import yaml\n\n"
|
||
|
" with open('path_for_yaml_output', 'w') as fh:\n"
|
||
|
" yaml.dump(G_to_be_yaml, fh)\n\n"
|
||
|
"This message will be removed in NetworkX 3.0."
|
||
|
)
|
||
|
raise AttributeError(f"module {__name__} has no attribute {name}")
|
||
|
|
||
|
|
||
|
# These are imported in order as listed
|
||
|
from networkx.lazy_imports import lazy_import
|
||
|
|
||
|
from networkx.exception import *
|
||
|
|
||
|
from networkx import utils
|
||
|
|
||
|
from networkx import classes
|
||
|
from networkx.classes import filters
|
||
|
from networkx.classes import *
|
||
|
|
||
|
from networkx import convert
|
||
|
from networkx.convert import *
|
||
|
|
||
|
from networkx import convert_matrix
|
||
|
from networkx.convert_matrix import *
|
||
|
|
||
|
from networkx import relabel
|
||
|
from networkx.relabel import *
|
||
|
|
||
|
from networkx import generators
|
||
|
from networkx.generators import *
|
||
|
|
||
|
from networkx import readwrite
|
||
|
from networkx.readwrite import *
|
||
|
|
||
|
# Need to test with SciPy, when available
|
||
|
from networkx import algorithms
|
||
|
from networkx.algorithms import *
|
||
|
|
||
|
from networkx import linalg
|
||
|
from networkx.linalg import *
|
||
|
|
||
|
from networkx.testing.test import run as test
|
||
|
|
||
|
from networkx import drawing
|
||
|
from networkx.drawing import *
|