Docs for Graph.
authorScott Gasch <[email protected]>
Sat, 17 Dec 2022 06:09:46 +0000 (22:09 -0800)
committerScott Gasch <[email protected]>
Sat, 17 Dec 2022 06:09:46 +0000 (22:09 -0800)
docs/conf.py
docs/pyutils.rst
docs/pyutils.types.rst
src/pyutils/graph.py

index 182d5a3cc8814529ee5a8ad7ed06ddecbae50c4d..64bbaf8bc38da1def558fbb13db8b46b60341568 100644 (file)
 import os
 import sys
 
-sys.path.insert(0, os.path.abspath('/home/scott/lib/release/pyutils'))
+sys.path.insert(0, os.path.abspath("/home/scott/lib/release/pyutils"))
 sys.path.insert(
-    0, os.path.abspath('/home/scott/py39-venv/lib/python3.9/site-packages/')
+    0, os.path.abspath("/home/scott/py39-venv/lib/python3.9/site-packages/")
 )
-sys.path.insert(0, os.path.abspath('/usr/local/lib/python3.9/site-packages/'))
+sys.path.insert(0, os.path.abspath("/usr/local/lib/python3.9/site-packages/"))
 
 # -- Project information -----------------------------------------------------
 
 project = "pyutils"
-copyright = '2021-2022, Scott Gasch'
-author = 'Scott Gasch'
+copyright = "2021-2022, Scott Gasch"
+author = "Scott Gasch"
 
 
 # -- General configuration ---------------------------------------------------
@@ -32,21 +32,22 @@ author = 'Scott Gasch'
 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
 # ones.
 extensions = [
-    'sphinx.ext.autodoc',
-    'sphinx.ext.doctest',
-    'sphinx.ext.napoleon',
-    'sphinx.ext.viewcode',
+    "sphinx.ext.autodoc",
+    "sphinx.ext.doctest",
+    "sphinx.ext.napoleon",
+    "sphinx.ext.viewcode",
+    "sphinx.ext.graphviz",
 ]
 
 autodoc_typehints = "both"
 
 # Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
+templates_path = ["_templates"]
 
 # List of patterns, relative to source directory, that match files and
 # directories to ignore when looking for source files.
 # This pattern also affects html_static_path and html_extra_path.
-exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
+exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
 
 
 # -- Options for HTML output -------------------------------------------------
@@ -54,15 +55,15 @@ exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
 # The theme to use for HTML and HTML Help pages.  See the documentation for
 # a list of builtin themes.
 #
-html_theme = 'sphinx_rtd_theme'
+html_theme = "sphinx_rtd_theme"
 html_theme_options = {
-    'navigation_depth': 5,
+    "navigation_depth": 5,
 }
 
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to this directory. They are copied after the builtin static files,
 # so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
+html_static_path = ["_static"]
 
 
 # Don't skip __init__()!
@@ -74,8 +75,8 @@ def setup(app):
     app.connect("autodoc-skip-member", skip)
 
 
-doctest_global_setup = '''
+doctest_global_setup = """
 import pyutils
-'''
+"""
 
-autoclass_content = 'both'
+autoclass_content = "both"
index 4e8fdff0f1dec93b99375c2f2be67a89d21280b7..3581bef6ca93e7e57be83d497ef66d313cae3d50 100644 (file)
@@ -2316,6 +2316,14 @@ pyutils.function\_utils module
    :undoc-members:
    :show-inheritance:
 
+pyutils.graph module
+------------------------------
+
+.. automodule:: pyutils.graph
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
 pyutils.id\_generator module
 ----------------------------
 
index e5729d2f507db7db5cf0d09d5318420481026b61..628aa29b2990a9434d06f857b3516c683043c5ac 100644 (file)
@@ -40,6 +40,14 @@ pyutils.types.rate module
    :undoc-members:
    :show-inheritance:
 
+pyutils.types.simple module
+---------------------------
+
+.. automodule:: pyutils.types.simple
+   :members:
+   :undoc-members:
+   :show-inheritance:
+
 pyutils.types.type\_utils module
 --------------------------------
 
index 428dd1650a3e913a3f61248aa8db80424dd8a981..e5966975139296365d284398fd0a97bdd3da051c 100644 (file)
@@ -16,8 +16,7 @@ class Graph(object):
         """Constructs a new Graph object.
 
         Args:
-            directed: are we modeling a directed graph?  See ::meth
-                add_edge.
+            directed: are we modeling a directed graph?  See :meth:`add_edge`.
 
         """
         self.directed = directed
@@ -56,8 +55,8 @@ class Graph(object):
 
         .. note::
 
-        If either or both of src and dest are not already added to the
-        graph, they are implicitly added by adding this edge.
+            If either or both of src and dest are not already added to
+            the graph, they are implicitly added by adding this edge.
 
         Args:
             src: the source vertex id
@@ -129,13 +128,15 @@ class Graph(object):
         Returns:
             An ordered sequence of vertex ids visited by the traversal.
 
-                A ------ B
-                |        |
-                |        |
-                C ------ D ------ E ------ F -O
-                                  |
-                                  |
-                                  G
+        .. graphviz::
+
+            graph g {
+                node [shape=record];
+                A -- B -- D;
+                A -- C -- D -- E -- F;
+                F -- F;
+                E -- G;
+            }
 
         >>> g = Graph()
         >>> g.add_edge('A', 'B')
@@ -181,13 +182,15 @@ class Graph(object):
         Returns:
             An ordered sequence of vertex ids visited by the traversal.
 
-                A ------ B
-                |        |
-                |        |
-                C ------ D ------ E ------ F -O
-                                  |
-                                  |
-                                  G
+        .. graphviz::
+
+            graph g {
+                node [shape=record];
+                A -- B -- D;
+                A -- C -- D -- E -- F;
+                F -- F;
+                E -- G;
+            }
 
         >>> g = Graph()
         >>> g.add_edge('A', 'B')