docs in progress
This commit is contained in:
parent
82cb7cf320
commit
f19ab0e8c0
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,4 +1,4 @@
|
||||||
# Sphinx build info version 1
|
# Sphinx build info version 1
|
||||||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
||||||
config: f163178657211e96cbf2c6fd362c54f7
|
config: e4274c969fa060e752467936197fbf11
|
||||||
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
||||||
|
|
|
@ -1,95 +1,100 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
<html class="writer-html5" lang="en" data-content_root="../">
|
||||||
<html lang="en" data-content_root="../">
|
<head>
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Overview: module code — pynodes 0.1 documentation</title>
|
<title>Overview: module code — pynodes 0.1 documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=d1102ebc" />
|
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=80d5e7a1" />
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/alabaster.css?v=12dfc556" />
|
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
|
||||||
|
|
||||||
|
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="../_static/js/html5shiv.min.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
<script src="../_static/documentation_options.js?v=2709fde1"></script>
|
<script src="../_static/documentation_options.js?v=2709fde1"></script>
|
||||||
<script src="../_static/doctools.js?v=888ff710"></script>
|
<script src="../_static/doctools.js?v=888ff710"></script>
|
||||||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||||
|
<script src="../_static/js/theme.js"></script>
|
||||||
<link rel="index" title="Index" href="../genindex.html" />
|
<link rel="index" title="Index" href="../genindex.html" />
|
||||||
<link rel="search" title="Search" href="../search.html" />
|
<link rel="search" title="Search" href="../search.html" />
|
||||||
|
</head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
<body class="wy-body-for-nav">
|
||||||
|
<div class="wy-grid-for-nav">
|
||||||
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
|
<div class="wy-side-scroll">
|
||||||
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="../index.html" class="icon icon-home">
|
||||||
|
pynodes
|
||||||
|
</a>
|
||||||
|
<div role="search">
|
||||||
|
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||||
|
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||||
|
<input type="hidden" name="check_keywords" value="yes" />
|
||||||
|
<input type="hidden" name="area" value="default" />
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="../api.html">API</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
</head><body>
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||||
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
|
<a href="../index.html">pynodes</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="wy-nav-content">
|
||||||
<div class="document">
|
<div class="rst-content">
|
||||||
<div class="documentwrapper">
|
<div role="navigation" aria-label="Page navigation">
|
||||||
<div class="bodywrapper">
|
<ul class="wy-breadcrumbs">
|
||||||
|
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||||
|
<li class="breadcrumb-item active">Overview: module code</li>
|
||||||
<div class="body" role="main">
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<hr/>
|
||||||
|
</div>
|
||||||
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
|
<div itemprop="articleBody">
|
||||||
|
|
||||||
<h1>All modules for which code is available</h1>
|
<h1>All modules for which code is available</h1>
|
||||||
<ul><li><a href="pynodes.html">pynodes</a></li>
|
<ul><li><a href="pynodes.html">pynodes</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<footer>
|
||||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
|
||||||
<div class="sphinxsidebarwrapper">
|
|
||||||
<h1 class="logo"><a href="../index.html">pynodes</a></h1>
|
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
|
||||||
|
<div role="contentinfo">
|
||||||
|
<p>© Copyright 2024, fabthegreat.</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h3>Navigation</h3>
|
|
||||||
|
|
||||||
<div class="relations">
|
|
||||||
<h3>Related Topics</h3>
|
|
||||||
<ul>
|
|
||||||
<li><a href="../index.html">Documentation overview</a><ul>
|
|
||||||
</ul></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div id="searchbox" style="display: none" role="search">
|
|
||||||
<h3 id="searchlabel">Quick search</h3>
|
|
||||||
<div class="searchformwrapper">
|
|
||||||
<form class="search" action="../search.html" method="get">
|
|
||||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
|
||||||
<input type="submit" value="Go" />
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>document.getElementById('searchbox').style.display = "block"</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="clearer"></div>
|
|
||||||
</div>
|
|
||||||
<div class="footer">
|
|
||||||
©2024, fabthegreat.
|
|
||||||
|
|
||||||
|
|
|
||||||
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 7.2.6</a>
|
|
||||||
& <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||||
|
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||||
|
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||||
|
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
jQuery(function () {
|
||||||
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
|
@ -1,43 +1,81 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
<html class="writer-html5" lang="en" data-content_root="../">
|
||||||
<html lang="en" data-content_root="../">
|
<head>
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>pynodes — pynodes 0.1 documentation</title>
|
<title>pynodes — pynodes 0.1 documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=d1102ebc" />
|
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=80d5e7a1" />
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/alabaster.css?v=12dfc556" />
|
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
|
||||||
|
|
||||||
|
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="../_static/js/html5shiv.min.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
<script src="../_static/documentation_options.js?v=2709fde1"></script>
|
<script src="../_static/documentation_options.js?v=2709fde1"></script>
|
||||||
<script src="../_static/doctools.js?v=888ff710"></script>
|
<script src="../_static/doctools.js?v=888ff710"></script>
|
||||||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||||
|
<script src="../_static/js/theme.js"></script>
|
||||||
<link rel="index" title="Index" href="../genindex.html" />
|
<link rel="index" title="Index" href="../genindex.html" />
|
||||||
<link rel="search" title="Search" href="../search.html" />
|
<link rel="search" title="Search" href="../search.html" />
|
||||||
|
</head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
<body class="wy-body-for-nav">
|
||||||
|
<div class="wy-grid-for-nav">
|
||||||
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
|
<div class="wy-side-scroll">
|
||||||
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="../index.html" class="icon icon-home">
|
||||||
|
pynodes
|
||||||
|
</a>
|
||||||
|
<div role="search">
|
||||||
|
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||||
|
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||||
|
<input type="hidden" name="check_keywords" value="yes" />
|
||||||
|
<input type="hidden" name="area" value="default" />
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="../api.html">API</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
</head><body>
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||||
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
|
<a href="../index.html">pynodes</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="wy-nav-content">
|
||||||
<div class="document">
|
<div class="rst-content">
|
||||||
<div class="documentwrapper">
|
<div role="navigation" aria-label="Page navigation">
|
||||||
<div class="bodywrapper">
|
<ul class="wy-breadcrumbs">
|
||||||
|
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||||
|
<li class="breadcrumb-item"><a href="index.html">Module code</a></li>
|
||||||
<div class="body" role="main">
|
<li class="breadcrumb-item active">pynodes</li>
|
||||||
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<hr/>
|
||||||
|
</div>
|
||||||
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
|
<div itemprop="articleBody">
|
||||||
|
|
||||||
<h1>Source code for pynodes</h1><div class="highlight"><pre>
|
<h1>Source code for pynodes</h1><div class="highlight"><pre>
|
||||||
<span></span><span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">annotations</span> <span class="c1"># for Class forward reference</span>
|
<span></span><span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">annotations</span> <span class="c1"># for Class forward reference</span>
|
||||||
<span class="kn">import</span> <span class="nn">random</span>
|
<span class="kn">import</span> <span class="nn">random</span>
|
||||||
|
<span class="kn">import</span> <span class="nn">uuid</span>
|
||||||
|
|
||||||
<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">ClassVar</span>
|
<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">ClassVar</span>
|
||||||
|
|
||||||
|
|
||||||
<div class="viewcode-block" id="Node">
|
<div class="viewcode-block" id="Node">
|
||||||
<a class="viewcode-back" href="../index.html#pynodes.Node">[docs]</a>
|
<a class="viewcode-back" href="../api.html#pynodes.Node">[docs]</a>
|
||||||
<span class="k">class</span> <span class="nc">Node</span><span class="p">:</span>
|
<span class="k">class</span> <span class="nc">Node</span><span class="p">:</span>
|
||||||
<span class="w"> </span><span class="sd">"""</span>
|
<span class="w"> </span><span class="sd">"""</span>
|
||||||
<span class="sd"> Should be subclassed only</span>
|
<span class="sd"> Should be subclassed only</span>
|
||||||
|
@ -57,6 +95,10 @@
|
||||||
<span class="k">return</span> <span class="bp">cls</span>
|
<span class="k">return</span> <span class="bp">cls</span>
|
||||||
|
|
||||||
<span class="k">def</span> <span class="fm">__new__</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">parent</span><span class="p">:</span> <span class="n">Node</span> <span class="o">|</span> <span class="kc">None</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
|
<span class="k">def</span> <span class="fm">__new__</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">parent</span><span class="p">:</span> <span class="n">Node</span> <span class="o">|</span> <span class="kc">None</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
|
||||||
|
<span class="w"> </span><span class="sd">"""</span>
|
||||||
|
<span class="sd"> prevent the user to set the same name for 2 nodes</span>
|
||||||
|
<span class="sd"> ??? better to do it with uuid?</span>
|
||||||
|
<span class="sd"> """</span>
|
||||||
<span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="n">all_nodes</span><span class="p">:</span>
|
<span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="n">all_nodes</span><span class="p">:</span>
|
||||||
<span class="k">if</span> <span class="n">name</span> <span class="o">==</span> <span class="n">n</span><span class="o">.</span><span class="n">name</span><span class="p">:</span>
|
<span class="k">if</span> <span class="n">name</span> <span class="o">==</span> <span class="n">n</span><span class="o">.</span><span class="n">name</span><span class="p">:</span>
|
||||||
<span class="k">raise</span> <span class="ne">AttributeError</span><span class="p">(</span><span class="s1">'Node with this name already exists'</span><span class="p">)</span>
|
<span class="k">raise</span> <span class="ne">AttributeError</span><span class="p">(</span><span class="s1">'Node with this name already exists'</span><span class="p">)</span>
|
||||||
|
@ -67,12 +109,17 @@
|
||||||
<span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">name</span>
|
<span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">name</span>
|
||||||
<span class="bp">self</span><span class="o">.</span><span class="n">parent</span> <span class="o">=</span> <span class="n">parent</span> <span class="c1"># is set with add_child</span>
|
<span class="bp">self</span><span class="o">.</span><span class="n">parent</span> <span class="o">=</span> <span class="n">parent</span> <span class="c1"># is set with add_child</span>
|
||||||
<span class="bp">self</span><span class="o">.</span><span class="n">children</span><span class="p">:</span> <span class="nb">list</span><span class="p">[</span><span class="n">Node</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
<span class="bp">self</span><span class="o">.</span><span class="n">children</span><span class="p">:</span> <span class="nb">list</span><span class="p">[</span><span class="n">Node</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
||||||
|
<span class="bp">self</span><span class="o">.</span><span class="n">id</span> <span class="o">=</span> <span class="n">uuid</span><span class="o">.</span><span class="n">uuid4</span><span class="p">()</span>
|
||||||
<span class="nb">type</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">all_nodes</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
|
<span class="nb">type</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">all_nodes</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
|
||||||
|
|
||||||
<div class="viewcode-block" id="Node.add_child">
|
<div class="viewcode-block" id="Node.add_child">
|
||||||
<a class="viewcode-back" href="../index.html#pynodes.Node.add_child">[docs]</a>
|
<a class="viewcode-back" href="../api.html#pynodes.Node.add_child">[docs]</a>
|
||||||
<span class="k">def</span> <span class="nf">add_child</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">child</span><span class="p">:</span> <span class="n">Node</span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
|
<span class="k">def</span> <span class="nf">add_child</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">child</span><span class="p">:</span> <span class="n">Node</span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
|
||||||
<span class="w"> </span><span class="sd">""" add new child node to current instance """</span>
|
<span class="w"> </span><span class="sd">""" </span>
|
||||||
|
<span class="sd"> Add new child node to current instance </span>
|
||||||
|
|
||||||
|
<span class="sd"> :param child: Node object</span>
|
||||||
|
<span class="sd"> """</span>
|
||||||
<span class="n">child</span><span class="o">.</span><span class="n">parent</span> <span class="o">=</span> <span class="bp">self</span>
|
<span class="n">child</span><span class="o">.</span><span class="n">parent</span> <span class="o">=</span> <span class="bp">self</span>
|
||||||
<span class="k">if</span> <span class="n">child</span><span class="o">.</span><span class="n">name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="n">c</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">children</span><span class="p">]:</span>
|
<span class="k">if</span> <span class="n">child</span><span class="o">.</span><span class="n">name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="n">c</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">children</span><span class="p">]:</span>
|
||||||
<span class="bp">self</span><span class="o">.</span><span class="n">children</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">child</span><span class="p">)</span>
|
<span class="bp">self</span><span class="o">.</span><span class="n">children</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">child</span><span class="p">)</span>
|
||||||
|
@ -84,7 +131,6 @@
|
||||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Child with same name already exists'</span><span class="p">)</span></div>
|
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">'Child with same name already exists'</span><span class="p">)</span></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<span class="nd">@property</span>
|
<span class="nd">@property</span>
|
||||||
<span class="k">def</span> <span class="nf">siblings</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">[</span><span class="n">Node</span><span class="p">]:</span>
|
<span class="k">def</span> <span class="nf">siblings</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">[</span><span class="n">Node</span><span class="p">]:</span>
|
||||||
<span class="w"> </span><span class="sd">""" returns all the siblings of the Node object """</span>
|
<span class="w"> </span><span class="sd">""" returns all the siblings of the Node object """</span>
|
||||||
|
@ -123,9 +169,13 @@
|
||||||
<span class="k">return</span> <span class="n">path</span>
|
<span class="k">return</span> <span class="n">path</span>
|
||||||
|
|
||||||
<div class="viewcode-block" id="Node.is_sibling">
|
<div class="viewcode-block" id="Node.is_sibling">
|
||||||
<a class="viewcode-back" href="../index.html#pynodes.Node.is_sibling">[docs]</a>
|
<a class="viewcode-back" href="../api.html#pynodes.Node.is_sibling">[docs]</a>
|
||||||
<span class="k">def</span> <span class="nf">is_sibling</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
<span class="k">def</span> <span class="nf">is_sibling</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
<span class="w"> </span><span class="sd">""" check if Node object is a sibling of the other Node object """</span>
|
<span class="w"> </span><span class="sd">"""</span>
|
||||||
|
<span class="sd"> Check if Node object is a sibling of the other Node object</span>
|
||||||
|
|
||||||
|
<span class="sd"> :param other: Other Node object to be compared with</span>
|
||||||
|
<span class="sd"> """</span>
|
||||||
<span class="k">if</span> <span class="n">other</span> <span class="ow">in</span> <span class="p">[</span><span class="n">s</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">siblings</span><span class="p">]:</span>
|
<span class="k">if</span> <span class="n">other</span> <span class="ow">in</span> <span class="p">[</span><span class="n">s</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">siblings</span><span class="p">]:</span>
|
||||||
<span class="k">return</span> <span class="kc">True</span>
|
<span class="k">return</span> <span class="kc">True</span>
|
||||||
<span class="k">else</span><span class="p">:</span>
|
<span class="k">else</span><span class="p">:</span>
|
||||||
|
@ -133,7 +183,7 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="viewcode-block" id="Node.is_child">
|
<div class="viewcode-block" id="Node.is_child">
|
||||||
<a class="viewcode-back" href="../index.html#pynodes.Node.is_child">[docs]</a>
|
<a class="viewcode-back" href="../api.html#pynodes.Node.is_child">[docs]</a>
|
||||||
<span class="k">def</span> <span class="nf">is_child</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
<span class="k">def</span> <span class="nf">is_child</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
<span class="w"> </span><span class="sd">""" check if Node object is a child of the other Node object """</span>
|
<span class="w"> </span><span class="sd">""" check if Node object is a child of the other Node object """</span>
|
||||||
<span class="k">if</span> <span class="n">other</span> <span class="ow">in</span> <span class="p">[</span><span class="n">s</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">children</span><span class="p">]:</span>
|
<span class="k">if</span> <span class="n">other</span> <span class="ow">in</span> <span class="p">[</span><span class="n">s</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">children</span><span class="p">]:</span>
|
||||||
|
@ -143,17 +193,19 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="viewcode-block" id="Node.pretty_print">
|
<div class="viewcode-block" id="Node.pretty_print">
|
||||||
<a class="viewcode-back" href="../index.html#pynodes.Node.pretty_print">[docs]</a>
|
<a class="viewcode-back" href="../api.html#pynodes.Node.pretty_print">[docs]</a>
|
||||||
<span class="k">def</span> <span class="nf">pretty_print</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
|
<span class="k">def</span> <span class="nf">pretty_print</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">option</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s1">'default'</span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
|
||||||
<span class="w"> </span><span class="sd">""" print children tree from current instance """</span>
|
<span class="w"> </span><span class="sd">""" print children tree from current instance """</span>
|
||||||
<span class="n">dashes</span> <span class="o">=</span> <span class="s1">' '</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">level</span><span class="o">+</span><span class="s1">'|'</span><span class="o">+</span><span class="s1">'--'</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">level</span><span class="o">+</span><span class="s1">' '</span>
|
<span class="n">dashes</span> <span class="o">=</span> <span class="s1">' '</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">level</span><span class="o">+</span><span class="s1">'|'</span><span class="o">+</span><span class="s1">'--'</span><span class="o">*</span><span class="bp">self</span><span class="o">.</span><span class="n">level</span><span class="o">+</span><span class="s1">' '</span>
|
||||||
|
<span class="k">if</span> <span class="n">option</span> <span class="o">==</span> <span class="s1">'id'</span><span class="p">:</span>
|
||||||
|
<span class="n">dashes</span> <span class="o">+=</span> <span class="sa">f</span><span class="s1">'[</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">id</span><span class="si">}</span><span class="s1">] '</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">'</span><span class="si">{</span><span class="n">dashes</span><span class="si">}{</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="si">}</span><span class="s1">'</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">'</span><span class="si">{</span><span class="n">dashes</span><span class="si">}{</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="si">}</span><span class="s1">'</span><span class="p">)</span>
|
||||||
<span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">children</span><span class="p">:</span>
|
<span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">children</span><span class="p">:</span>
|
||||||
<span class="n">c</span><span class="o">.</span><span class="n">pretty_print</span><span class="p">()</span></div>
|
<span class="n">c</span><span class="o">.</span><span class="n">pretty_print</span><span class="p">(</span><span class="n">option</span><span class="p">)</span></div>
|
||||||
|
|
||||||
|
|
||||||
<div class="viewcode-block" id="Node.has_parent">
|
<div class="viewcode-block" id="Node.has_parent">
|
||||||
<a class="viewcode-back" href="../index.html#pynodes.Node.has_parent">[docs]</a>
|
<a class="viewcode-back" href="../api.html#pynodes.Node.has_parent">[docs]</a>
|
||||||
<span class="k">def</span> <span class="nf">has_parent</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
<span class="k">def</span> <span class="nf">has_parent</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
<span class="w"> </span><span class="sd">""" check if Node object has a parent or not """</span>
|
<span class="w"> </span><span class="sd">""" check if Node object has a parent or not """</span>
|
||||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
||||||
|
@ -162,7 +214,7 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="viewcode-block" id="Node.has_children">
|
<div class="viewcode-block" id="Node.has_children">
|
||||||
<a class="viewcode-back" href="../index.html#pynodes.Node.has_children">[docs]</a>
|
<a class="viewcode-back" href="../api.html#pynodes.Node.has_children">[docs]</a>
|
||||||
<span class="k">def</span> <span class="nf">has_children</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
<span class="k">def</span> <span class="nf">has_children</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
<span class="w"> </span><span class="sd">""" check if Node object has one child at least """</span>
|
<span class="w"> </span><span class="sd">""" check if Node object has one child at least """</span>
|
||||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">children</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">children</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
||||||
|
@ -171,7 +223,7 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="viewcode-block" id="Node.has_siblings">
|
<div class="viewcode-block" id="Node.has_siblings">
|
||||||
<a class="viewcode-back" href="../index.html#pynodes.Node.has_siblings">[docs]</a>
|
<a class="viewcode-back" href="../api.html#pynodes.Node.has_siblings">[docs]</a>
|
||||||
<span class="k">def</span> <span class="nf">has_siblings</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
<span class="k">def</span> <span class="nf">has_siblings</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
<span class="w"> </span><span class="sd">""" check if Node object has one sibling at least """</span>
|
<span class="w"> </span><span class="sd">""" check if Node object has one sibling at least """</span>
|
||||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">has_parent</span><span class="p">()</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">has_children</span><span class="p">()</span> \
|
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">has_parent</span><span class="p">()</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">has_children</span><span class="p">()</span> \
|
||||||
|
@ -181,7 +233,7 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="viewcode-block" id="Node.get_child">
|
<div class="viewcode-block" id="Node.get_child">
|
||||||
<a class="viewcode-back" href="../index.html#pynodes.Node.get_child">[docs]</a>
|
<a class="viewcode-back" href="../api.html#pynodes.Node.get_child">[docs]</a>
|
||||||
<span class="k">def</span> <span class="nf">get_child</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="n">Node</span> <span class="o">|</span> <span class="kc">None</span><span class="p">:</span>
|
<span class="k">def</span> <span class="nf">get_child</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="n">Node</span> <span class="o">|</span> <span class="kc">None</span><span class="p">:</span>
|
||||||
<span class="w"> </span><span class="sd">""" find and returns a child with specified name. None if nothing found """</span>
|
<span class="w"> </span><span class="sd">""" find and returns a child with specified name. None if nothing found """</span>
|
||||||
<span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">children</span><span class="p">:</span>
|
<span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">children</span><span class="p">:</span>
|
||||||
|
@ -191,7 +243,7 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="viewcode-block" id="Node.get_sibling">
|
<div class="viewcode-block" id="Node.get_sibling">
|
||||||
<a class="viewcode-back" href="../index.html#pynodes.Node.get_sibling">[docs]</a>
|
<a class="viewcode-back" href="../api.html#pynodes.Node.get_sibling">[docs]</a>
|
||||||
<span class="k">def</span> <span class="nf">get_sibling</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="n">Node</span> <span class="o">|</span> <span class="kc">None</span><span class="p">:</span>
|
<span class="k">def</span> <span class="nf">get_sibling</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="n">Node</span> <span class="o">|</span> <span class="kc">None</span><span class="p">:</span>
|
||||||
<span class="w"> </span><span class="sd">""" find and returns a sibling with specified name. None if nothing</span>
|
<span class="w"> </span><span class="sd">""" find and returns a sibling with specified name. None if nothing</span>
|
||||||
<span class="sd"> found """</span>
|
<span class="sd"> found """</span>
|
||||||
|
@ -211,7 +263,7 @@
|
||||||
<span class="k">return</span> <span class="n">results</span>
|
<span class="k">return</span> <span class="n">results</span>
|
||||||
|
|
||||||
<div class="viewcode-block" id="Node.check_lineage">
|
<div class="viewcode-block" id="Node.check_lineage">
|
||||||
<a class="viewcode-back" href="../index.html#pynodes.Node.check_lineage">[docs]</a>
|
<a class="viewcode-back" href="../api.html#pynodes.Node.check_lineage">[docs]</a>
|
||||||
<span class="nd">@staticmethod</span>
|
<span class="nd">@staticmethod</span>
|
||||||
<span class="k">def</span> <span class="nf">check_lineage</span><span class="p">(</span><span class="n">nodes</span><span class="p">:</span> <span class="nb">list</span><span class="p">[</span><span class="n">Node</span><span class="p">])</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
<span class="k">def</span> <span class="nf">check_lineage</span><span class="p">(</span><span class="n">nodes</span><span class="p">:</span> <span class="nb">list</span><span class="p">[</span><span class="n">Node</span><span class="p">])</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||||||
<span class="w"> </span><span class="sd">"""</span>
|
<span class="w"> </span><span class="sd">"""</span>
|
||||||
|
@ -228,7 +280,7 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="viewcode-block" id="Node.reset_stats">
|
<div class="viewcode-block" id="Node.reset_stats">
|
||||||
<a class="viewcode-back" href="../index.html#pynodes.Node.reset_stats">[docs]</a>
|
<a class="viewcode-back" href="../api.html#pynodes.Node.reset_stats">[docs]</a>
|
||||||
<span class="nd">@classmethod</span>
|
<span class="nd">@classmethod</span>
|
||||||
<span class="k">def</span> <span class="nf">reset_stats</span><span class="p">(</span><span class="bp">cls</span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
|
<span class="k">def</span> <span class="nf">reset_stats</span><span class="p">(</span><span class="bp">cls</span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
|
||||||
<span class="w"> </span><span class="sd">"""</span>
|
<span class="w"> </span><span class="sd">"""</span>
|
||||||
|
@ -240,7 +292,7 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="viewcode-block" id="Node.create_random_nodes">
|
<div class="viewcode-block" id="Node.create_random_nodes">
|
||||||
<a class="viewcode-back" href="../index.html#pynodes.Node.create_random_nodes">[docs]</a>
|
<a class="viewcode-back" href="../api.html#pynodes.Node.create_random_nodes">[docs]</a>
|
||||||
<span class="nd">@classmethod</span>
|
<span class="nd">@classmethod</span>
|
||||||
<span class="k">def</span> <span class="nf">create_random_nodes</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">type_</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s1">'cmd'</span><span class="p">,</span> <span class="n">depth</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="o">-></span> <span class="n">Node</span><span class="p">:</span>
|
<span class="k">def</span> <span class="nf">create_random_nodes</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">type_</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s1">'cmd'</span><span class="p">,</span> <span class="n">depth</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">0</span><span class="p">)</span> <span class="o">-></span> <span class="n">Node</span><span class="p">:</span>
|
||||||
<span class="w"> </span><span class="sd">"""</span>
|
<span class="w"> </span><span class="sd">"""</span>
|
||||||
|
@ -249,20 +301,16 @@
|
||||||
<span class="k">def</span> <span class="nf">create_node</span><span class="p">(</span><span class="n">level</span><span class="p">,</span> <span class="n">i</span><span class="p">):</span>
|
<span class="k">def</span> <span class="nf">create_node</span><span class="p">(</span><span class="n">level</span><span class="p">,</span> <span class="n">i</span><span class="p">):</span>
|
||||||
<span class="n">id_</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="n">all_nodes</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span>
|
<span class="n">id_</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="n">all_nodes</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span>
|
||||||
<span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="sa">f</span><span class="s1">'</span><span class="si">{</span><span class="n">type_</span><span class="si">}</span><span class="s1">_'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">id_</span><span class="p">))</span>
|
<span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="sa">f</span><span class="s1">'</span><span class="si">{</span><span class="n">type_</span><span class="si">}</span><span class="s1">_'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">id_</span><span class="p">))</span>
|
||||||
|
|
||||||
<span class="k">def</span> <span class="nf">create_node_list</span><span class="p">(</span><span class="n">level</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">width</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">5</span><span class="p">):</span>
|
<span class="k">def</span> <span class="nf">create_node_list</span><span class="p">(</span><span class="n">level</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">width</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">5</span><span class="p">):</span>
|
||||||
<span class="k">return</span> <span class="p">[</span><span class="n">create_node</span><span class="p">(</span><span class="n">level</span><span class="p">,</span> <span class="n">i</span><span class="p">)</span>
|
<span class="k">return</span> <span class="p">[</span><span class="n">create_node</span><span class="p">(</span><span class="n">level</span><span class="p">,</span> <span class="n">i</span><span class="p">)</span>
|
||||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">width</span><span class="p">))]</span>
|
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">width</span><span class="p">))]</span>
|
||||||
|
|
||||||
<span class="k">def</span> <span class="nf">create_arg_tree</span><span class="p">(</span><span class="n">arg</span><span class="p">:</span> <span class="bp">cls</span><span class="p">):</span>
|
<span class="k">def</span> <span class="nf">create_arg_tree</span><span class="p">(</span><span class="n">arg</span><span class="p">:</span> <span class="bp">cls</span><span class="p">):</span>
|
||||||
<span class="k">if</span> <span class="n">arg</span><span class="o">.</span><span class="n">level</span> <span class="o"><</span> <span class="n">depth</span><span class="p">:</span>
|
<span class="k">if</span> <span class="n">arg</span><span class="o">.</span><span class="n">level</span> <span class="o"><</span> <span class="n">depth</span><span class="p">:</span>
|
||||||
<span class="k">for</span> <span class="n">a</span> <span class="ow">in</span> <span class="n">create_node_list</span><span class="p">(</span><span class="n">arg</span><span class="o">.</span><span class="n">level</span><span class="p">):</span>
|
<span class="k">for</span> <span class="n">a</span> <span class="ow">in</span> <span class="n">create_node_list</span><span class="p">(</span><span class="n">arg</span><span class="o">.</span><span class="n">level</span><span class="p">):</span>
|
||||||
<span class="n">arg</span><span class="o">.</span><span class="n">add_child</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
|
<span class="n">arg</span><span class="o">.</span><span class="n">add_child</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
|
||||||
<span class="n">create_arg_tree</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
|
<span class="n">create_arg_tree</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
|
||||||
<span class="k">return</span> <span class="n">arg</span>
|
<span class="k">return</span> <span class="n">arg</span>
|
||||||
|
|
||||||
<span class="n">arg</span> <span class="o">=</span> <span class="bp">cls</span><span class="p">(</span><span class="s1">'parser'</span><span class="p">)</span>
|
<span class="n">arg</span> <span class="o">=</span> <span class="bp">cls</span><span class="p">(</span><span class="s1">'parser'</span><span class="p">)</span>
|
||||||
|
|
||||||
<span class="k">return</span> <span class="n">create_arg_tree</span><span class="p">(</span><span class="n">arg</span><span class="p">)</span></div>
|
<span class="k">return</span> <span class="n">create_arg_tree</span><span class="p">(</span><span class="n">arg</span><span class="p">)</span></div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -282,7 +330,6 @@
|
||||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span></div>
|
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s2">"__main__"</span><span class="p">:</span>
|
<span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s2">"__main__"</span><span class="p">:</span>
|
||||||
|
|
||||||
<span class="c1"># while True:</span>
|
<span class="c1"># while True:</span>
|
||||||
|
@ -293,69 +340,47 @@
|
||||||
<span class="c1"># print([n.name for n in node_list])</span>
|
<span class="c1"># print([n.name for n in node_list])</span>
|
||||||
<span class="c1"># print(Node.check_lineage(node_list))</span>
|
<span class="c1"># print(Node.check_lineage(node_list))</span>
|
||||||
<span class="c1"># input('pause')</span>
|
<span class="c1"># input('pause')</span>
|
||||||
<span class="n">n0</span> <span class="o">=</span> <span class="n">Node</span><span class="p">(</span><span class="s1">'name0'</span><span class="p">)</span>
|
<span class="k">class</span> <span class="nc">Person</span><span class="p">(</span><span class="n">Node</span><span class="p">):</span>
|
||||||
<span class="n">n1</span> <span class="o">=</span> <span class="n">Node</span><span class="p">(</span><span class="s1">'name0'</span><span class="p">)</span>
|
<span class="k">pass</span>
|
||||||
|
|
||||||
|
<span class="n">bob</span> <span class="o">=</span> <span class="n">Person</span><span class="p">(</span><span class="s1">'Bob'</span><span class="p">)</span>
|
||||||
|
<span class="n">eve</span> <span class="o">=</span> <span class="n">Person</span><span class="p">(</span><span class="s1">'Eve'</span><span class="p">)</span>
|
||||||
|
<span class="n">alice</span> <span class="o">=</span> <span class="n">Person</span><span class="p">(</span><span class="s1">'Alice'</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="c1"># Alice is parent of bob and eve</span>
|
||||||
|
<span class="n">alice</span><span class="o">.</span><span class="n">add_child</span><span class="p">(</span><span class="n">bob</span><span class="p">)</span>
|
||||||
|
<span class="n">alice</span><span class="o">.</span><span class="n">add_child</span><span class="p">(</span><span class="n">eve</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="n">alice</span><span class="o">.</span><span class="n">pretty_print</span><span class="p">(</span><span class="n">option</span> <span class="o">=</span> <span class="s1">'id'</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="n">alice</span><span class="o">.</span><span class="n">id</span><span class="p">)</span>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<footer>
|
||||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
|
||||||
<div class="sphinxsidebarwrapper">
|
|
||||||
<h1 class="logo"><a href="../index.html">pynodes</a></h1>
|
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
|
||||||
|
<div role="contentinfo">
|
||||||
|
<p>© Copyright 2024, fabthegreat.</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h3>Navigation</h3>
|
|
||||||
|
|
||||||
<div class="relations">
|
|
||||||
<h3>Related Topics</h3>
|
|
||||||
<ul>
|
|
||||||
<li><a href="../index.html">Documentation overview</a><ul>
|
|
||||||
<li><a href="index.html">Module code</a><ul>
|
|
||||||
</ul></li>
|
|
||||||
</ul></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div id="searchbox" style="display: none" role="search">
|
|
||||||
<h3 id="searchlabel">Quick search</h3>
|
|
||||||
<div class="searchformwrapper">
|
|
||||||
<form class="search" action="../search.html" method="get">
|
|
||||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
|
||||||
<input type="submit" value="Go" />
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>document.getElementById('searchbox').style.display = "block"</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="clearer"></div>
|
|
||||||
</div>
|
|
||||||
<div class="footer">
|
|
||||||
©2024, fabthegreat.
|
|
||||||
|
|
||||||
|
|
|
||||||
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 7.2.6</a>
|
|
||||||
& <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||||
|
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||||
|
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||||
|
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
jQuery(function () {
|
||||||
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
|
@ -0,0 +1,8 @@
|
||||||
|
API
|
||||||
|
=====
|
||||||
|
|
||||||
|
**pynodes** is a Python library to manage Nodes classes.
|
||||||
|
A node is an object which is related to other nodes given a tree chart.
|
||||||
|
|
||||||
|
.. automodule:: pynodes
|
||||||
|
:members:
|
|
@ -6,34 +6,57 @@
|
||||||
Welcome to pynodes's documentation!
|
Welcome to pynodes's documentation!
|
||||||
===================================
|
===================================
|
||||||
|
|
||||||
**pynodes** is a Python library to manage Nodes classes.
|
.. note::
|
||||||
A node is an object which is related to other nodes given a tree chart.
|
|
||||||
|
|
||||||
.. code-block:: console
|
This project is under active development.
|
||||||
|
|
||||||
(venv) $ pip install pynodes
|
Content:
|
||||||
|
--------
|
||||||
Source code is hosted on my own instance of `gitea <https://gitea.lutix.org/nodes>`_.
|
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
:caption: Contents:
|
|
||||||
|
|
||||||
Basic Usage
|
api
|
||||||
===========
|
|
||||||
|
Installation:
|
||||||
|
-------------
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
(venv) $ git clone https://gitea.lutix.org/ftg/nodes.git
|
||||||
|
|
||||||
|
Source code is hosted on my own instance of `gitea <https://gitea.lutix.org/ftg/nodes>`_.
|
||||||
|
|
||||||
|
Basic Usage:
|
||||||
|
------------
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
import pynodes
|
import pynodes
|
||||||
node = pynodes.Node()
|
|
||||||
|
|
||||||
.. autoclass:: pynodes.Node
|
class Person(pynodes.Node):
|
||||||
:members:
|
pass
|
||||||
|
|
||||||
|
bob = Person('Bob')
|
||||||
|
eve = Person('Eve')
|
||||||
|
alice = Person('Alice')
|
||||||
|
alice_again = Person('Alice') # will raise an error
|
||||||
|
|
||||||
|
|
||||||
|
# Alice is parent of bob and eve
|
||||||
|
alice.add_child(bob)
|
||||||
|
alice.add_child(eve)
|
||||||
|
|
||||||
|
alice.pretty_print()
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
:caption: Pretty print of the tree
|
||||||
|
|
||||||
|
Alice
|
||||||
|
-- Bob
|
||||||
|
-- Eve
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Indices and tables
|
|
||||||
==================
|
|
||||||
|
|
||||||
* :ref:`genindex`
|
|
||||||
* :ref:`modindex`
|
|
||||||
* :ref:`search`
|
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
API
|
||||||
|
=====
|
||||||
|
|
||||||
|
**pynodes** is a Python library to manage Nodes classes.
|
||||||
|
A node is an object which is related to other nodes given a tree chart.
|
||||||
|
|
||||||
|
|
|
@ -222,7 +222,7 @@ table.modindextable td {
|
||||||
/* -- general body styles --------------------------------------------------- */
|
/* -- general body styles --------------------------------------------------- */
|
||||||
|
|
||||||
div.body {
|
div.body {
|
||||||
min-width: inherit;
|
min-width: 360px;
|
||||||
max-width: 800px;
|
max-width: 800px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 434 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -0,0 +1 @@
|
||||||
|
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=4)}({4:function(e,t,r){}});
|
|
@ -0,0 +1,4 @@
|
||||||
|
/**
|
||||||
|
* @preserve HTML5 Shiv 3.7.3-pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
||||||
|
*/
|
||||||
|
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=y.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=y.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),y.elements=c+" "+a,j(b)}function f(a){var b=x[a[v]];return b||(b={},w++,a[v]=w,x[w]=b),b}function g(a,c,d){if(c||(c=b),q)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():u.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||t.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),q)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return y.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(y,b.frag)}function j(a){a||(a=b);var d=f(a);return!y.shivCSS||p||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),q||i(a,d),a}function k(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(l(b)));return g}function l(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(A+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function m(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+A+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function n(a){for(var b=a.length;b--;)a[b].removeNode()}function o(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,e,g=f(a),h=a.namespaces,i=a.parentWindow;return!B||a.printShived?a:("undefined"==typeof h[A]&&h.add(A),i.attachEvent("onbeforeprint",function(){b();for(var f,g,h,i=a.styleSheets,j=[],l=i.length,n=Array(l);l--;)n[l]=i[l];for(;h=n.pop();)if(!h.disabled&&z.test(h.media)){try{f=h.imports,g=f.length}catch(o){g=0}for(l=0;g>l;l++)n.push(f[l]);try{j.push(h.cssText)}catch(o){}}j=m(j.reverse().join("")),e=k(a),d=c(a,j)}),i.attachEvent("onafterprint",function(){n(e),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var p,q,r="3.7.3",s=a.html5||{},t=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,v="_html5shiv",w=0,x={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",p="hidden"in a,q=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){p=!0,q=!0}}();var y={elements:s.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:r,shivCSS:s.shivCSS!==!1,supportsUnknownElements:q,shivMethods:s.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=y,j(b);var z=/^$|\b(?:all|print)\b/,A="html5shiv",B=!q&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();y.type+=" print",y.shivPrint=o,o(b),"object"==typeof module&&module.exports&&(module.exports=y)}("undefined"!=typeof window?window:this,document);
|
|
@ -0,0 +1,4 @@
|
||||||
|
/**
|
||||||
|
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
||||||
|
*/
|
||||||
|
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3-pre",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document);
|
File diff suppressed because one or more lines are too long
|
@ -5,80 +5,71 @@ td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5
|
||||||
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||||||
.highlight .hll { background-color: #ffffcc }
|
.highlight .hll { background-color: #ffffcc }
|
||||||
.highlight { background: #f8f8f8; }
|
.highlight { background: #f8f8f8; }
|
||||||
.highlight .c { color: #8f5902; font-style: italic } /* Comment */
|
.highlight .c { color: #3D7B7B; font-style: italic } /* Comment */
|
||||||
.highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */
|
.highlight .err { border: 1px solid #FF0000 } /* Error */
|
||||||
.highlight .g { color: #000000 } /* Generic */
|
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
|
||||||
.highlight .k { color: #004461; font-weight: bold } /* Keyword */
|
.highlight .o { color: #666666 } /* Operator */
|
||||||
.highlight .l { color: #000000 } /* Literal */
|
.highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
|
||||||
.highlight .n { color: #000000 } /* Name */
|
.highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
|
||||||
.highlight .o { color: #582800 } /* Operator */
|
.highlight .cp { color: #9C6500 } /* Comment.Preproc */
|
||||||
.highlight .x { color: #000000 } /* Other */
|
.highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
|
||||||
.highlight .p { color: #000000; font-weight: bold } /* Punctuation */
|
.highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
|
||||||
.highlight .ch { color: #8f5902; font-style: italic } /* Comment.Hashbang */
|
.highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
|
||||||
.highlight .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */
|
.highlight .gd { color: #A00000 } /* Generic.Deleted */
|
||||||
.highlight .cp { color: #8f5902 } /* Comment.Preproc */
|
.highlight .ge { font-style: italic } /* Generic.Emph */
|
||||||
.highlight .cpf { color: #8f5902; font-style: italic } /* Comment.PreprocFile */
|
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
|
||||||
.highlight .c1 { color: #8f5902; font-style: italic } /* Comment.Single */
|
.highlight .gr { color: #E40000 } /* Generic.Error */
|
||||||
.highlight .cs { color: #8f5902; font-style: italic } /* Comment.Special */
|
|
||||||
.highlight .gd { color: #a40000 } /* Generic.Deleted */
|
|
||||||
.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */
|
|
||||||
.highlight .ges { color: #000000 } /* Generic.EmphStrong */
|
|
||||||
.highlight .gr { color: #ef2929 } /* Generic.Error */
|
|
||||||
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||||
.highlight .gi { color: #00A000 } /* Generic.Inserted */
|
.highlight .gi { color: #008400 } /* Generic.Inserted */
|
||||||
.highlight .go { color: #888888 } /* Generic.Output */
|
.highlight .go { color: #717171 } /* Generic.Output */
|
||||||
.highlight .gp { color: #745334 } /* Generic.Prompt */
|
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
|
||||||
.highlight .gs { color: #000000; font-weight: bold } /* Generic.Strong */
|
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
||||||
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||||
.highlight .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */
|
.highlight .gt { color: #0044DD } /* Generic.Traceback */
|
||||||
.highlight .kc { color: #004461; font-weight: bold } /* Keyword.Constant */
|
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
|
||||||
.highlight .kd { color: #004461; font-weight: bold } /* Keyword.Declaration */
|
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
|
||||||
.highlight .kn { color: #004461; font-weight: bold } /* Keyword.Namespace */
|
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
|
||||||
.highlight .kp { color: #004461; font-weight: bold } /* Keyword.Pseudo */
|
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
|
||||||
.highlight .kr { color: #004461; font-weight: bold } /* Keyword.Reserved */
|
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
|
||||||
.highlight .kt { color: #004461; font-weight: bold } /* Keyword.Type */
|
.highlight .kt { color: #B00040 } /* Keyword.Type */
|
||||||
.highlight .ld { color: #000000 } /* Literal.Date */
|
.highlight .m { color: #666666 } /* Literal.Number */
|
||||||
.highlight .m { color: #990000 } /* Literal.Number */
|
.highlight .s { color: #BA2121 } /* Literal.String */
|
||||||
.highlight .s { color: #4e9a06 } /* Literal.String */
|
.highlight .na { color: #687822 } /* Name.Attribute */
|
||||||
.highlight .na { color: #c4a000 } /* Name.Attribute */
|
.highlight .nb { color: #008000 } /* Name.Builtin */
|
||||||
.highlight .nb { color: #004461 } /* Name.Builtin */
|
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
|
||||||
.highlight .nc { color: #000000 } /* Name.Class */
|
.highlight .no { color: #880000 } /* Name.Constant */
|
||||||
.highlight .no { color: #000000 } /* Name.Constant */
|
.highlight .nd { color: #AA22FF } /* Name.Decorator */
|
||||||
.highlight .nd { color: #888888 } /* Name.Decorator */
|
.highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */
|
||||||
.highlight .ni { color: #ce5c00 } /* Name.Entity */
|
.highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
|
||||||
.highlight .ne { color: #cc0000; font-weight: bold } /* Name.Exception */
|
.highlight .nf { color: #0000FF } /* Name.Function */
|
||||||
.highlight .nf { color: #000000 } /* Name.Function */
|
.highlight .nl { color: #767600 } /* Name.Label */
|
||||||
.highlight .nl { color: #f57900 } /* Name.Label */
|
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
|
||||||
.highlight .nn { color: #000000 } /* Name.Namespace */
|
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
|
||||||
.highlight .nx { color: #000000 } /* Name.Other */
|
.highlight .nv { color: #19177C } /* Name.Variable */
|
||||||
.highlight .py { color: #000000 } /* Name.Property */
|
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
|
||||||
.highlight .nt { color: #004461; font-weight: bold } /* Name.Tag */
|
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
|
||||||
.highlight .nv { color: #000000 } /* Name.Variable */
|
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
|
||||||
.highlight .ow { color: #004461; font-weight: bold } /* Operator.Word */
|
.highlight .mf { color: #666666 } /* Literal.Number.Float */
|
||||||
.highlight .pm { color: #000000; font-weight: bold } /* Punctuation.Marker */
|
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
|
||||||
.highlight .w { color: #f8f8f8 } /* Text.Whitespace */
|
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
|
||||||
.highlight .mb { color: #990000 } /* Literal.Number.Bin */
|
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
|
||||||
.highlight .mf { color: #990000 } /* Literal.Number.Float */
|
.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
|
||||||
.highlight .mh { color: #990000 } /* Literal.Number.Hex */
|
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
|
||||||
.highlight .mi { color: #990000 } /* Literal.Number.Integer */
|
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
|
||||||
.highlight .mo { color: #990000 } /* Literal.Number.Oct */
|
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
|
||||||
.highlight .sa { color: #4e9a06 } /* Literal.String.Affix */
|
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
|
||||||
.highlight .sb { color: #4e9a06 } /* Literal.String.Backtick */
|
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
|
||||||
.highlight .sc { color: #4e9a06 } /* Literal.String.Char */
|
.highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
|
||||||
.highlight .dl { color: #4e9a06 } /* Literal.String.Delimiter */
|
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
|
||||||
.highlight .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */
|
.highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
|
||||||
.highlight .s2 { color: #4e9a06 } /* Literal.String.Double */
|
.highlight .sx { color: #008000 } /* Literal.String.Other */
|
||||||
.highlight .se { color: #4e9a06 } /* Literal.String.Escape */
|
.highlight .sr { color: #A45A77 } /* Literal.String.Regex */
|
||||||
.highlight .sh { color: #4e9a06 } /* Literal.String.Heredoc */
|
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
|
||||||
.highlight .si { color: #4e9a06 } /* Literal.String.Interpol */
|
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
|
||||||
.highlight .sx { color: #4e9a06 } /* Literal.String.Other */
|
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
|
||||||
.highlight .sr { color: #4e9a06 } /* Literal.String.Regex */
|
.highlight .fm { color: #0000FF } /* Name.Function.Magic */
|
||||||
.highlight .s1 { color: #4e9a06 } /* Literal.String.Single */
|
.highlight .vc { color: #19177C } /* Name.Variable.Class */
|
||||||
.highlight .ss { color: #4e9a06 } /* Literal.String.Symbol */
|
.highlight .vg { color: #19177C } /* Name.Variable.Global */
|
||||||
.highlight .bp { color: #3465a4 } /* Name.Builtin.Pseudo */
|
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
|
||||||
.highlight .fm { color: #000000 } /* Name.Function.Magic */
|
.highlight .vm { color: #19177C } /* Name.Variable.Magic */
|
||||||
.highlight .vc { color: #000000 } /* Name.Variable.Class */
|
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
|
||||||
.highlight .vg { color: #000000 } /* Name.Variable.Global */
|
|
||||||
.highlight .vi { color: #000000 } /* Name.Variable.Instance */
|
|
||||||
.highlight .vm { color: #000000 } /* Name.Variable.Magic */
|
|
||||||
.highlight .il { color: #990000 } /* Literal.Number.Integer.Long */
|
|
|
@ -0,0 +1,246 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html class="writer-html5" lang="en" data-content_root="./">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>API — pynodes 0.1 documentation</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=80d5e7a1" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" />
|
||||||
|
|
||||||
|
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="_static/js/html5shiv.min.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<script src="_static/documentation_options.js?v=2709fde1"></script>
|
||||||
|
<script src="_static/doctools.js?v=888ff710"></script>
|
||||||
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||||
|
<script src="_static/js/theme.js"></script>
|
||||||
|
<link rel="index" title="Index" href="genindex.html" />
|
||||||
|
<link rel="search" title="Search" href="search.html" />
|
||||||
|
<link rel="prev" title="Welcome to pynodes’s documentation!" href="index.html" />
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="wy-body-for-nav">
|
||||||
|
<div class="wy-grid-for-nav">
|
||||||
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
|
<div class="wy-side-scroll">
|
||||||
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="index.html" class="icon icon-home">
|
||||||
|
pynodes
|
||||||
|
</a>
|
||||||
|
<div role="search">
|
||||||
|
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||||
|
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||||
|
<input type="hidden" name="check_keywords" value="yes" />
|
||||||
|
<input type="hidden" name="area" value="default" />
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||||
|
<ul class="current">
|
||||||
|
<li class="toctree-l1 current"><a class="current reference internal" href="#">API</a><ul>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="#pynodes.Node"><code class="docutils literal notranslate"><span class="pre">Node</span></code></a><ul>
|
||||||
|
<li class="toctree-l3"><a class="reference internal" href="#pynodes.Node.add_child"><code class="docutils literal notranslate"><span class="pre">Node.add_child()</span></code></a></li>
|
||||||
|
<li class="toctree-l3"><a class="reference internal" href="#pynodes.Node.check_lineage"><code class="docutils literal notranslate"><span class="pre">Node.check_lineage()</span></code></a></li>
|
||||||
|
<li class="toctree-l3"><a class="reference internal" href="#pynodes.Node.create_random_nodes"><code class="docutils literal notranslate"><span class="pre">Node.create_random_nodes()</span></code></a></li>
|
||||||
|
<li class="toctree-l3"><a class="reference internal" href="#pynodes.Node.get_child"><code class="docutils literal notranslate"><span class="pre">Node.get_child()</span></code></a></li>
|
||||||
|
<li class="toctree-l3"><a class="reference internal" href="#pynodes.Node.get_sibling"><code class="docutils literal notranslate"><span class="pre">Node.get_sibling()</span></code></a></li>
|
||||||
|
<li class="toctree-l3"><a class="reference internal" href="#pynodes.Node.has_children"><code class="docutils literal notranslate"><span class="pre">Node.has_children()</span></code></a></li>
|
||||||
|
<li class="toctree-l3"><a class="reference internal" href="#pynodes.Node.has_parent"><code class="docutils literal notranslate"><span class="pre">Node.has_parent()</span></code></a></li>
|
||||||
|
<li class="toctree-l3"><a class="reference internal" href="#pynodes.Node.has_siblings"><code class="docutils literal notranslate"><span class="pre">Node.has_siblings()</span></code></a></li>
|
||||||
|
<li class="toctree-l3"><a class="reference internal" href="#pynodes.Node.is_child"><code class="docutils literal notranslate"><span class="pre">Node.is_child()</span></code></a></li>
|
||||||
|
<li class="toctree-l3"><a class="reference internal" href="#pynodes.Node.is_sibling"><code class="docutils literal notranslate"><span class="pre">Node.is_sibling()</span></code></a></li>
|
||||||
|
<li class="toctree-l3"><a class="reference internal" href="#pynodes.Node.level"><code class="docutils literal notranslate"><span class="pre">Node.level</span></code></a></li>
|
||||||
|
<li class="toctree-l3"><a class="reference internal" href="#pynodes.Node.parents"><code class="docutils literal notranslate"><span class="pre">Node.parents</span></code></a></li>
|
||||||
|
<li class="toctree-l3"><a class="reference internal" href="#pynodes.Node.path"><code class="docutils literal notranslate"><span class="pre">Node.path</span></code></a></li>
|
||||||
|
<li class="toctree-l3"><a class="reference internal" href="#pynodes.Node.pretty_print"><code class="docutils literal notranslate"><span class="pre">Node.pretty_print()</span></code></a></li>
|
||||||
|
<li class="toctree-l3"><a class="reference internal" href="#pynodes.Node.reset_stats"><code class="docutils literal notranslate"><span class="pre">Node.reset_stats()</span></code></a></li>
|
||||||
|
<li class="toctree-l3"><a class="reference internal" href="#pynodes.Node.siblings"><code class="docutils literal notranslate"><span class="pre">Node.siblings</span></code></a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||||
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
|
<a href="index.html">pynodes</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="wy-nav-content">
|
||||||
|
<div class="rst-content">
|
||||||
|
<div role="navigation" aria-label="Page navigation">
|
||||||
|
<ul class="wy-breadcrumbs">
|
||||||
|
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||||
|
<li class="breadcrumb-item active">API</li>
|
||||||
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
<a href="_sources/api.rst.txt" rel="nofollow"> View page source</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<hr/>
|
||||||
|
</div>
|
||||||
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
|
<div itemprop="articleBody">
|
||||||
|
|
||||||
|
<section id="api">
|
||||||
|
<h1>API<a class="headerlink" href="#api" title="Link to this heading">¶</a></h1>
|
||||||
|
<p><strong>pynodes</strong> is a Python library to manage Nodes classes.
|
||||||
|
A node is an object which is related to other nodes given a tree chart.</p>
|
||||||
|
<dl class="py class" id="module-pynodes">
|
||||||
|
<dt class="sig sig-object py" id="pynodes.Node">
|
||||||
|
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">pynodes.</span></span><span class="sig-name descname"><span class="pre">Node</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">parent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pynodes.Node" title="pynodes.Node"><span class="pre">Node</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pynodes.html#Node"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node" title="Link to this definition">¶</a></dt>
|
||||||
|
<dd><p>Should be subclassed only</p>
|
||||||
|
<dl class="py method">
|
||||||
|
<dt class="sig sig-object py" id="pynodes.Node.add_child">
|
||||||
|
<span class="sig-name descname"><span class="pre">add_child</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">child</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pynodes.Node" title="pynodes.Node"><span class="pre">Node</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.add_child"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.add_child" title="Link to this definition">¶</a></dt>
|
||||||
|
<dd><p>Add new child node to current instance</p>
|
||||||
|
<dl class="field-list simple">
|
||||||
|
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||||
|
<dd class="field-odd"><p><strong>child</strong> – Node object</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="py method">
|
||||||
|
<dt class="sig sig-object py" id="pynodes.Node.check_lineage">
|
||||||
|
<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">check_lineage</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">nodes</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#pynodes.Node" title="pynodes.Node"><span class="pre">Node</span></a><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.check_lineage"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.check_lineage" title="Link to this definition">¶</a></dt>
|
||||||
|
<dd><dl class="simple">
|
||||||
|
<dt>check if the list of nodes is a straight lineage:</dt><dd><p>node 1 (ancestor) -> node 2 -> node 3 -> … -> node n (grand
|
||||||
|
children)</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="py method">
|
||||||
|
<dt class="sig sig-object py" id="pynodes.Node.create_random_nodes">
|
||||||
|
<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">create_random_nodes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">type_</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'cmd'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">depth</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#pynodes.Node" title="pynodes.Node"><span class="pre">Node</span></a></span></span><a class="reference internal" href="_modules/pynodes.html#Node.create_random_nodes"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.create_random_nodes" title="Link to this definition">¶</a></dt>
|
||||||
|
<dd><p>Creates random tree of nodes for testing purpose</p>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="py method">
|
||||||
|
<dt class="sig sig-object py" id="pynodes.Node.get_child">
|
||||||
|
<span class="sig-name descname"><span class="pre">get_child</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#pynodes.Node" title="pynodes.Node"><span class="pre">Node</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.get_child"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.get_child" title="Link to this definition">¶</a></dt>
|
||||||
|
<dd><p>find and returns a child with specified name. None if nothing found</p>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="py method">
|
||||||
|
<dt class="sig sig-object py" id="pynodes.Node.get_sibling">
|
||||||
|
<span class="sig-name descname"><span class="pre">get_sibling</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#pynodes.Node" title="pynodes.Node"><span class="pre">Node</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.get_sibling"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.get_sibling" title="Link to this definition">¶</a></dt>
|
||||||
|
<dd><p>find and returns a sibling with specified name. None if nothing
|
||||||
|
found</p>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="py method">
|
||||||
|
<dt class="sig sig-object py" id="pynodes.Node.has_children">
|
||||||
|
<span class="sig-name descname"><span class="pre">has_children</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.has_children"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.has_children" title="Link to this definition">¶</a></dt>
|
||||||
|
<dd><p>check if Node object has one child at least</p>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="py method">
|
||||||
|
<dt class="sig sig-object py" id="pynodes.Node.has_parent">
|
||||||
|
<span class="sig-name descname"><span class="pre">has_parent</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.has_parent"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.has_parent" title="Link to this definition">¶</a></dt>
|
||||||
|
<dd><p>check if Node object has a parent or not</p>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="py method">
|
||||||
|
<dt class="sig sig-object py" id="pynodes.Node.has_siblings">
|
||||||
|
<span class="sig-name descname"><span class="pre">has_siblings</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.has_siblings"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.has_siblings" title="Link to this definition">¶</a></dt>
|
||||||
|
<dd><p>check if Node object has one sibling at least</p>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="py method">
|
||||||
|
<dt class="sig sig-object py" id="pynodes.Node.is_child">
|
||||||
|
<span class="sig-name descname"><span class="pre">is_child</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.is_child"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.is_child" title="Link to this definition">¶</a></dt>
|
||||||
|
<dd><p>check if Node object is a child of the other Node object</p>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="py method">
|
||||||
|
<dt class="sig sig-object py" id="pynodes.Node.is_sibling">
|
||||||
|
<span class="sig-name descname"><span class="pre">is_sibling</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.is_sibling"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.is_sibling" title="Link to this definition">¶</a></dt>
|
||||||
|
<dd><p>Check if Node object is a sibling of the other Node object</p>
|
||||||
|
<dl class="field-list simple">
|
||||||
|
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||||
|
<dd class="field-odd"><p><strong>other</strong> – Other Node object to be compared with</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="py property">
|
||||||
|
<dt class="sig sig-object py" id="pynodes.Node.level">
|
||||||
|
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">level</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">int</span></em><a class="headerlink" href="#pynodes.Node.level" title="Link to this definition">¶</a></dt>
|
||||||
|
<dd><p>returns the level of the Node object</p>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="py property">
|
||||||
|
<dt class="sig sig-object py" id="pynodes.Node.parents">
|
||||||
|
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">parents</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#pynodes.Node" title="pynodes.Node"><span class="pre">Node</span></a><span class="p"><span class="pre">]</span></span></em><a class="headerlink" href="#pynodes.Node.parents" title="Link to this definition">¶</a></dt>
|
||||||
|
<dd><p>returns all the ancestors of the Node object</p>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="py property">
|
||||||
|
<dt class="sig sig-object py" id="pynodes.Node.path">
|
||||||
|
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">path</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">str</span></em><a class="headerlink" href="#pynodes.Node.path" title="Link to this definition">¶</a></dt>
|
||||||
|
<dd><p>returns a representation of the ancestor lineage of self</p>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="py method">
|
||||||
|
<dt class="sig sig-object py" id="pynodes.Node.pretty_print">
|
||||||
|
<span class="sig-name descname"><span class="pre">pretty_print</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">option</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'default'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.pretty_print"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.pretty_print" title="Link to this definition">¶</a></dt>
|
||||||
|
<dd><p>print children tree from current instance</p>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="py method">
|
||||||
|
<dt class="sig sig-object py" id="pynodes.Node.reset_stats">
|
||||||
|
<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">reset_stats</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.reset_stats"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.reset_stats" title="Link to this definition">¶</a></dt>
|
||||||
|
<dd><p>reset all the ClassVar members</p>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="py property">
|
||||||
|
<dt class="sig sig-object py" id="pynodes.Node.siblings">
|
||||||
|
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">siblings</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#pynodes.Node" title="pynodes.Node"><span class="pre">Node</span></a><span class="p"><span class="pre">]</span></span></em><a class="headerlink" href="#pynodes.Node.siblings" title="Link to this definition">¶</a></dt>
|
||||||
|
<dd><p>returns all the siblings of the Node object</p>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||||||
|
<a href="index.html" class="btn btn-neutral float-left" title="Welcome to pynodes’s documentation!" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
|
||||||
|
<div role="contentinfo">
|
||||||
|
<p>© Copyright 2024, fabthegreat.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||||
|
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||||
|
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||||
|
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
jQuery(function () {
|
||||||
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -1,26 +1,25 @@
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
|
||||||
<html>
|
<html lang="en" data-content_root="../">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
|
||||||
<title>pynodes — pynodes 0.1 documentation</title>
|
<title>pynodes — pynodes 0.1 documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=d1102ebc" />
|
||||||
<link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
|
<link rel="stylesheet" type="text/css" href="../_static/alabaster.css?v=12dfc556" />
|
||||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
<script src="../_static/documentation_options.js?v=2709fde1"></script>
|
||||||
<script src="../_static/jquery.js"></script>
|
<script src="../_static/doctools.js?v=888ff710"></script>
|
||||||
<script src="../_static/underscore.js"></script>
|
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||||
<script src="../_static/doctools.js"></script>
|
|
||||||
<link rel="index" title="Index" href="../genindex.html" />
|
<link rel="index" title="Index" href="../genindex.html" />
|
||||||
<link rel="search" title="Search" href="../search.html" />
|
<link rel="search" title="Search" href="../search.html" />
|
||||||
<link rel="prev" title="Welcome to pynodes’s documentation!" href="../index.html" />
|
<link rel="prev" title="API" href="../api.html" />
|
||||||
|
|
||||||
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
||||||
|
|
||||||
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
|
||||||
|
|
||||||
|
|
||||||
</head><body>
|
</head><body>
|
||||||
|
|
||||||
|
@ -33,15 +32,11 @@
|
||||||
<div class="body" role="main">
|
<div class="body" role="main">
|
||||||
|
|
||||||
<section id="module-pynodes">
|
<section id="module-pynodes">
|
||||||
<span id="pynodes"></span><h1>pynodes<a class="headerlink" href="#module-pynodes" title="Permalink to this headline">¶</a></h1>
|
<span id="pynodes"></span><h1>pynodes<a class="headerlink" href="#module-pynodes" title="Link to this heading">¶</a></h1>
|
||||||
<p class="rubric">Classes</p>
|
<p class="rubric">Classes</p>
|
||||||
<table class="longtable docutils align-default">
|
<table class="autosummary longtable docutils align-default">
|
||||||
<colgroup>
|
|
||||||
<col style="width: 10%" />
|
|
||||||
<col style="width: 90%" />
|
|
||||||
</colgroup>
|
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr class="row-odd"><td><p><a class="reference internal" href="../index.html#pynodes.Node" title="pynodes.Node"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Node</span></code></a>(name[, parent])</p></td>
|
<tr class="row-odd"><td><p><code class="xref py py-obj docutils literal notranslate"><span class="pre">Node</span></code>(name[, parent])</p></td>
|
||||||
<td><p>Should be subclassed only</p></td>
|
<td><p>Should be subclassed only</p></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
@ -66,14 +61,19 @@
|
||||||
|
|
||||||
<h3>Navigation</h3>
|
<h3>Navigation</h3>
|
||||||
<ul class="current">
|
<ul class="current">
|
||||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">pynodes</a></li>
|
<li class="toctree-l1 current"><a class="reference internal" href="../api.html">API</a><ul class="current">
|
||||||
|
<li class="toctree-l2 current"><a class="current reference internal" href="#">pynodes</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<div class="relations">
|
<div class="relations">
|
||||||
<h3>Related Topics</h3>
|
<h3>Related Topics</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="../index.html">Documentation overview</a><ul>
|
<li><a href="../index.html">Documentation overview</a><ul>
|
||||||
<li>Previous: <a href="../index.html" title="previous chapter">Welcome to pynodes’s documentation!</a></li>
|
<li><a href="../api.html">API</a><ul>
|
||||||
|
<li>Previous: <a href="../api.html" title="previous chapter">API</a></li>
|
||||||
|
</ul></li>
|
||||||
</ul></li>
|
</ul></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
@ -86,7 +86,7 @@
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>$('#searchbox').show(0);</script>
|
<script>document.getElementById('searchbox').style.display = "block"</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -100,11 +100,11 @@
|
||||||
<div class="clearer"></div>
|
<div class="clearer"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
©2024, fabthegreat.
|
©2024, fabthegreat.
|
||||||
|
|
||||||
|
|
|
|
||||||
Powered by <a href="http://sphinx-doc.org/">Sphinx 4.3.2</a>
|
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 7.2.6</a>
|
||||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
& <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a>
|
||||||
|
|
||||||
|
|
|
|
||||||
<a href="../_sources/generated/pynodes.rst.txt"
|
<a href="../_sources/generated/pynodes.rst.txt"
|
||||||
|
|
|
@ -1,33 +1,70 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
<html class="writer-html5" lang="en" data-content_root="./">
|
||||||
<html lang="en" data-content_root="./">
|
<head>
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Index — pynodes 0.1 documentation</title>
|
<title>Index — pynodes 0.1 documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d1102ebc" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=80d5e7a1" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=12dfc556" />
|
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" />
|
||||||
|
|
||||||
|
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="_static/js/html5shiv.min.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
<script src="_static/documentation_options.js?v=2709fde1"></script>
|
<script src="_static/documentation_options.js?v=2709fde1"></script>
|
||||||
<script src="_static/doctools.js?v=888ff710"></script>
|
<script src="_static/doctools.js?v=888ff710"></script>
|
||||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||||
|
<script src="_static/js/theme.js"></script>
|
||||||
<link rel="index" title="Index" href="#" />
|
<link rel="index" title="Index" href="#" />
|
||||||
<link rel="search" title="Search" href="search.html" />
|
<link rel="search" title="Search" href="search.html" />
|
||||||
|
</head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
|
<body class="wy-body-for-nav">
|
||||||
|
<div class="wy-grid-for-nav">
|
||||||
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
|
<div class="wy-side-scroll">
|
||||||
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="index.html" class="icon icon-home">
|
||||||
|
pynodes
|
||||||
|
</a>
|
||||||
|
<div role="search">
|
||||||
|
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||||
|
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||||
|
<input type="hidden" name="check_keywords" value="yes" />
|
||||||
|
<input type="hidden" name="area" value="default" />
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="api.html">API</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
</head><body>
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||||
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
|
<a href="index.html">pynodes</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="wy-nav-content">
|
||||||
<div class="document">
|
<div class="rst-content">
|
||||||
<div class="documentwrapper">
|
<div role="navigation" aria-label="Page navigation">
|
||||||
<div class="bodywrapper">
|
<ul class="wy-breadcrumbs">
|
||||||
|
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||||
|
<li class="breadcrumb-item active">Index</li>
|
||||||
<div class="body" role="main">
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<hr/>
|
||||||
|
</div>
|
||||||
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
|
<div itemprop="articleBody">
|
||||||
|
|
||||||
|
|
||||||
<h1 id="index">Index</h1>
|
<h1 id="index">Index</h1>
|
||||||
|
@ -39,6 +76,7 @@
|
||||||
| <a href="#H"><strong>H</strong></a>
|
| <a href="#H"><strong>H</strong></a>
|
||||||
| <a href="#I"><strong>I</strong></a>
|
| <a href="#I"><strong>I</strong></a>
|
||||||
| <a href="#L"><strong>L</strong></a>
|
| <a href="#L"><strong>L</strong></a>
|
||||||
|
| <a href="#M"><strong>M</strong></a>
|
||||||
| <a href="#N"><strong>N</strong></a>
|
| <a href="#N"><strong>N</strong></a>
|
||||||
| <a href="#P"><strong>P</strong></a>
|
| <a href="#P"><strong>P</strong></a>
|
||||||
| <a href="#R"><strong>R</strong></a>
|
| <a href="#R"><strong>R</strong></a>
|
||||||
|
@ -48,7 +86,7 @@
|
||||||
<h2 id="A">A</h2>
|
<h2 id="A">A</h2>
|
||||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||||
<td style="width: 33%; vertical-align: top;"><ul>
|
<td style="width: 33%; vertical-align: top;"><ul>
|
||||||
<li><a href="index.html#pynodes.Node.add_child">add_child() (pynodes.Node method)</a>
|
<li><a href="api.html#pynodes.Node.add_child">add_child() (pynodes.Node method)</a>
|
||||||
</li>
|
</li>
|
||||||
</ul></td>
|
</ul></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
|
@ -56,11 +94,11 @@
|
||||||
<h2 id="C">C</h2>
|
<h2 id="C">C</h2>
|
||||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||||
<td style="width: 33%; vertical-align: top;"><ul>
|
<td style="width: 33%; vertical-align: top;"><ul>
|
||||||
<li><a href="index.html#pynodes.Node.check_lineage">check_lineage() (pynodes.Node static method)</a>
|
<li><a href="api.html#pynodes.Node.check_lineage">check_lineage() (pynodes.Node static method)</a>
|
||||||
</li>
|
</li>
|
||||||
</ul></td>
|
</ul></td>
|
||||||
<td style="width: 33%; vertical-align: top;"><ul>
|
<td style="width: 33%; vertical-align: top;"><ul>
|
||||||
<li><a href="index.html#pynodes.Node.create_random_nodes">create_random_nodes() (pynodes.Node class method)</a>
|
<li><a href="api.html#pynodes.Node.create_random_nodes">create_random_nodes() (pynodes.Node class method)</a>
|
||||||
</li>
|
</li>
|
||||||
</ul></td>
|
</ul></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
|
@ -68,11 +106,11 @@
|
||||||
<h2 id="G">G</h2>
|
<h2 id="G">G</h2>
|
||||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||||
<td style="width: 33%; vertical-align: top;"><ul>
|
<td style="width: 33%; vertical-align: top;"><ul>
|
||||||
<li><a href="index.html#pynodes.Node.get_child">get_child() (pynodes.Node method)</a>
|
<li><a href="api.html#pynodes.Node.get_child">get_child() (pynodes.Node method)</a>
|
||||||
</li>
|
</li>
|
||||||
</ul></td>
|
</ul></td>
|
||||||
<td style="width: 33%; vertical-align: top;"><ul>
|
<td style="width: 33%; vertical-align: top;"><ul>
|
||||||
<li><a href="index.html#pynodes.Node.get_sibling">get_sibling() (pynodes.Node method)</a>
|
<li><a href="api.html#pynodes.Node.get_sibling">get_sibling() (pynodes.Node method)</a>
|
||||||
</li>
|
</li>
|
||||||
</ul></td>
|
</ul></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
|
@ -80,13 +118,13 @@
|
||||||
<h2 id="H">H</h2>
|
<h2 id="H">H</h2>
|
||||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||||
<td style="width: 33%; vertical-align: top;"><ul>
|
<td style="width: 33%; vertical-align: top;"><ul>
|
||||||
<li><a href="index.html#pynodes.Node.has_children">has_children() (pynodes.Node method)</a>
|
<li><a href="api.html#pynodes.Node.has_children">has_children() (pynodes.Node method)</a>
|
||||||
</li>
|
</li>
|
||||||
</ul></td>
|
</ul></td>
|
||||||
<td style="width: 33%; vertical-align: top;"><ul>
|
<td style="width: 33%; vertical-align: top;"><ul>
|
||||||
<li><a href="index.html#pynodes.Node.has_parent">has_parent() (pynodes.Node method)</a>
|
<li><a href="api.html#pynodes.Node.has_parent">has_parent() (pynodes.Node method)</a>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="index.html#pynodes.Node.has_siblings">has_siblings() (pynodes.Node method)</a>
|
<li><a href="api.html#pynodes.Node.has_siblings">has_siblings() (pynodes.Node method)</a>
|
||||||
</li>
|
</li>
|
||||||
</ul></td>
|
</ul></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
|
@ -94,11 +132,11 @@
|
||||||
<h2 id="I">I</h2>
|
<h2 id="I">I</h2>
|
||||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||||
<td style="width: 33%; vertical-align: top;"><ul>
|
<td style="width: 33%; vertical-align: top;"><ul>
|
||||||
<li><a href="index.html#pynodes.Node.is_child">is_child() (pynodes.Node method)</a>
|
<li><a href="api.html#pynodes.Node.is_child">is_child() (pynodes.Node method)</a>
|
||||||
</li>
|
</li>
|
||||||
</ul></td>
|
</ul></td>
|
||||||
<td style="width: 33%; vertical-align: top;"><ul>
|
<td style="width: 33%; vertical-align: top;"><ul>
|
||||||
<li><a href="index.html#pynodes.Node.is_sibling">is_sibling() (pynodes.Node method)</a>
|
<li><a href="api.html#pynodes.Node.is_sibling">is_sibling() (pynodes.Node method)</a>
|
||||||
</li>
|
</li>
|
||||||
</ul></td>
|
</ul></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
|
@ -106,15 +144,28 @@
|
||||||
<h2 id="L">L</h2>
|
<h2 id="L">L</h2>
|
||||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||||
<td style="width: 33%; vertical-align: top;"><ul>
|
<td style="width: 33%; vertical-align: top;"><ul>
|
||||||
<li><a href="index.html#pynodes.Node.level">level (pynodes.Node property)</a>
|
<li><a href="api.html#pynodes.Node.level">level (pynodes.Node property)</a>
|
||||||
</li>
|
</li>
|
||||||
</ul></td>
|
</ul></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
|
|
||||||
|
<h2 id="M">M</h2>
|
||||||
|
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||||
|
<td style="width: 33%; vertical-align: top;"><ul>
|
||||||
|
<li>
|
||||||
|
module
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="api.html#module-pynodes">pynodes</a>
|
||||||
|
</li>
|
||||||
|
</ul></li>
|
||||||
|
</ul></td>
|
||||||
|
</tr></table>
|
||||||
|
|
||||||
<h2 id="N">N</h2>
|
<h2 id="N">N</h2>
|
||||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||||
<td style="width: 33%; vertical-align: top;"><ul>
|
<td style="width: 33%; vertical-align: top;"><ul>
|
||||||
<li><a href="index.html#pynodes.Node">Node (class in pynodes)</a>
|
<li><a href="api.html#pynodes.Node">Node (class in pynodes)</a>
|
||||||
</li>
|
</li>
|
||||||
</ul></td>
|
</ul></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
|
@ -122,21 +173,28 @@
|
||||||
<h2 id="P">P</h2>
|
<h2 id="P">P</h2>
|
||||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||||
<td style="width: 33%; vertical-align: top;"><ul>
|
<td style="width: 33%; vertical-align: top;"><ul>
|
||||||
<li><a href="index.html#pynodes.Node.parents">parents (pynodes.Node property)</a>
|
<li><a href="api.html#pynodes.Node.parents">parents (pynodes.Node property)</a>
|
||||||
|
</li>
|
||||||
|
<li><a href="api.html#pynodes.Node.path">path (pynodes.Node property)</a>
|
||||||
</li>
|
</li>
|
||||||
</ul></td>
|
</ul></td>
|
||||||
<td style="width: 33%; vertical-align: top;"><ul>
|
<td style="width: 33%; vertical-align: top;"><ul>
|
||||||
<li><a href="index.html#pynodes.Node.path">path (pynodes.Node property)</a>
|
<li><a href="api.html#pynodes.Node.pretty_print">pretty_print() (pynodes.Node method)</a>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="index.html#pynodes.Node.pretty_print">pretty_print() (pynodes.Node method)</a>
|
<li>
|
||||||
|
pynodes
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="api.html#module-pynodes">module</a>
|
||||||
</li>
|
</li>
|
||||||
|
</ul></li>
|
||||||
</ul></td>
|
</ul></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
|
|
||||||
<h2 id="R">R</h2>
|
<h2 id="R">R</h2>
|
||||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||||
<td style="width: 33%; vertical-align: top;"><ul>
|
<td style="width: 33%; vertical-align: top;"><ul>
|
||||||
<li><a href="index.html#pynodes.Node.reset_stats">reset_stats() (pynodes.Node class method)</a>
|
<li><a href="api.html#pynodes.Node.reset_stats">reset_stats() (pynodes.Node class method)</a>
|
||||||
</li>
|
</li>
|
||||||
</ul></td>
|
</ul></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
|
@ -144,7 +202,7 @@
|
||||||
<h2 id="S">S</h2>
|
<h2 id="S">S</h2>
|
||||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||||
<td style="width: 33%; vertical-align: top;"><ul>
|
<td style="width: 33%; vertical-align: top;"><ul>
|
||||||
<li><a href="index.html#pynodes.Node.siblings">siblings (pynodes.Node property)</a>
|
<li><a href="api.html#pynodes.Node.siblings">siblings (pynodes.Node property)</a>
|
||||||
</li>
|
</li>
|
||||||
</ul></td>
|
</ul></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
|
@ -152,62 +210,30 @@
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<footer>
|
||||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
|
||||||
<div class="sphinxsidebarwrapper">
|
|
||||||
<h1 class="logo"><a href="index.html">pynodes</a></h1>
|
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
|
||||||
|
<div role="contentinfo">
|
||||||
|
<p>© Copyright 2024, fabthegreat.</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h3>Navigation</h3>
|
|
||||||
|
|
||||||
<div class="relations">
|
|
||||||
<h3>Related Topics</h3>
|
|
||||||
<ul>
|
|
||||||
<li><a href="index.html">Documentation overview</a><ul>
|
|
||||||
</ul></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div id="searchbox" style="display: none" role="search">
|
|
||||||
<h3 id="searchlabel">Quick search</h3>
|
|
||||||
<div class="searchformwrapper">
|
|
||||||
<form class="search" action="search.html" method="get">
|
|
||||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
|
||||||
<input type="submit" value="Go" />
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>document.getElementById('searchbox').style.display = "block"</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="clearer"></div>
|
|
||||||
</div>
|
|
||||||
<div class="footer">
|
|
||||||
©2024, fabthegreat.
|
|
||||||
|
|
||||||
|
|
|
||||||
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 7.2.6</a>
|
|
||||||
& <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||||
|
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||||
|
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||||
|
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
jQuery(function () {
|
||||||
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
|
@ -1,230 +1,157 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
<html class="writer-html5" lang="en" data-content_root="./">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
|
||||||
<html lang="en" data-content_root="./">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<head>
|
<title>Welcome to pynodes’s documentation! — pynodes 0.1 documentation</title>
|
||||||
<meta charset="utf-8" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=80d5e7a1" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" />
|
||||||
|
|
||||||
|
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="_static/js/html5shiv.min.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
<title>Welcome to pynodes’s documentation! — pynodes 0.1 documentation</title>
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d1102ebc" />
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=12dfc556" />
|
|
||||||
<script src="_static/documentation_options.js?v=2709fde1"></script>
|
<script src="_static/documentation_options.js?v=2709fde1"></script>
|
||||||
<script src="_static/doctools.js?v=888ff710"></script>
|
<script src="_static/doctools.js?v=888ff710"></script>
|
||||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||||
|
<script src="_static/js/theme.js"></script>
|
||||||
<link rel="index" title="Index" href="genindex.html" />
|
<link rel="index" title="Index" href="genindex.html" />
|
||||||
<link rel="search" title="Search" href="search.html" />
|
<link rel="search" title="Search" href="search.html" />
|
||||||
|
<link rel="next" title="API" href="api.html" />
|
||||||
|
</head>
|
||||||
|
|
||||||
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
|
<body class="wy-body-for-nav">
|
||||||
|
<div class="wy-grid-for-nav">
|
||||||
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
|
<div class="wy-side-scroll">
|
||||||
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="#" class="icon icon-home">
|
||||||
|
pynodes
|
||||||
|
</a>
|
||||||
|
<div role="search">
|
||||||
|
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||||
|
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||||
|
<input type="hidden" name="check_keywords" value="yes" />
|
||||||
|
<input type="hidden" name="area" value="default" />
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="api.html">API</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
</head><body>
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||||
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
|
<a href="#">pynodes</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="wy-nav-content">
|
||||||
<div class="document">
|
<div class="rst-content">
|
||||||
<div class="documentwrapper">
|
<div role="navigation" aria-label="Page navigation">
|
||||||
<div class="bodywrapper">
|
<ul class="wy-breadcrumbs">
|
||||||
|
<li><a href="#" class="icon icon-home" aria-label="Home"></a></li>
|
||||||
|
<li class="breadcrumb-item active">Welcome to pynodes’s documentation!</li>
|
||||||
<div class="body" role="main">
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
<a href="_sources/index.rst.txt" rel="nofollow"> View page source</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<hr/>
|
||||||
|
</div>
|
||||||
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
|
<div itemprop="articleBody">
|
||||||
|
|
||||||
<section id="welcome-to-pynodes-s-documentation">
|
<section id="welcome-to-pynodes-s-documentation">
|
||||||
<h1>Welcome to pynodes’s documentation!<a class="headerlink" href="#welcome-to-pynodes-s-documentation" title="Link to this heading">¶</a></h1>
|
<h1>Welcome to pynodes’s documentation!<a class="headerlink" href="#welcome-to-pynodes-s-documentation" title="Link to this heading">¶</a></h1>
|
||||||
<p><strong>pynodes</strong> is a Python library to manage Nodes classes.
|
<div class="admonition note">
|
||||||
A node is an object which is related to other nodes given a tree chart.</p>
|
<p class="admonition-title">Note</p>
|
||||||
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp gp-VirtualEnv">(venv)</span> <span class="gp">$ </span>pip<span class="w"> </span>install<span class="w"> </span>pynodes
|
<p>This project is under active development.</p>
|
||||||
|
</div>
|
||||||
|
<section id="content">
|
||||||
|
<h2>Content:<a class="headerlink" href="#content" title="Link to this heading">¶</a></h2>
|
||||||
|
<div class="toctree-wrapper compound">
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="api.html">API</a><ul>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="api.html#pynodes.Node"><code class="docutils literal notranslate"><span class="pre">Node</span></code></a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section id="installation">
|
||||||
|
<h2>Installation:<a class="headerlink" href="#installation" title="Link to this heading">¶</a></h2>
|
||||||
|
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp gp-VirtualEnv">(venv)</span> <span class="gp">$ </span>git<span class="w"> </span>clone<span class="w"> </span>https://gitea.lutix.org/ftg/nodes.git
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
<p>Source code is hosted on my own instance of <a class="reference external" href="https://gitea.lutix.org/nodes">gitea</a>.</p>
|
<p>Source code is hosted on my own instance of <a class="reference external" href="https://gitea.lutix.org/ftg/nodes">gitea</a>.</p>
|
||||||
<div class="toctree-wrapper compound">
|
|
||||||
</div>
|
|
||||||
</section>
|
</section>
|
||||||
<section id="basic-usage">
|
<section id="basic-usage">
|
||||||
<h1>Basic Usage<a class="headerlink" href="#basic-usage" title="Link to this heading">¶</a></h1>
|
<h2>Basic Usage:<a class="headerlink" href="#basic-usage" title="Link to this heading">¶</a></h2>
|
||||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">pynodes</span>
|
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">pynodes</span>
|
||||||
<span class="n">node</span> <span class="o">=</span> <span class="n">pynodes</span><span class="o">.</span><span class="n">Node</span><span class="p">()</span>
|
|
||||||
|
<span class="k">class</span> <span class="nc">Person</span><span class="p">(</span><span class="n">pynodes</span><span class="o">.</span><span class="n">Node</span><span class="p">):</span>
|
||||||
|
<span class="k">pass</span>
|
||||||
|
|
||||||
|
<span class="n">bob</span> <span class="o">=</span> <span class="n">Person</span><span class="p">(</span><span class="s1">'Bob'</span><span class="p">)</span>
|
||||||
|
<span class="n">eve</span> <span class="o">=</span> <span class="n">Person</span><span class="p">(</span><span class="s1">'Eve'</span><span class="p">)</span>
|
||||||
|
<span class="n">alice</span> <span class="o">=</span> <span class="n">Person</span><span class="p">(</span><span class="s1">'Alice'</span><span class="p">)</span>
|
||||||
|
<span class="n">alice_again</span> <span class="o">=</span> <span class="n">Person</span><span class="p">(</span><span class="s1">'Alice'</span><span class="p">)</span> <span class="c1"># will raise an error</span>
|
||||||
|
|
||||||
|
|
||||||
|
<span class="c1"># Alice is parent of bob and eve</span>
|
||||||
|
<span class="n">alice</span><span class="o">.</span><span class="n">add_child</span><span class="p">(</span><span class="n">bob</span><span class="p">)</span>
|
||||||
|
<span class="n">alice</span><span class="o">.</span><span class="n">add_child</span><span class="p">(</span><span class="n">eve</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="n">alice</span><span class="o">.</span><span class="n">pretty_print</span><span class="p">()</span>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
<dl class="py class">
|
<div class="literal-block-wrapper docutils container" id="id1">
|
||||||
<dt class="sig sig-object py" id="pynodes.Node">
|
<div class="code-block-caption"><span class="caption-text">Pretty print of the tree</span><a class="headerlink" href="#id1" title="Link to this code">¶</a></div>
|
||||||
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">pynodes.</span></span><span class="sig-name descname"><span class="pre">Node</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">parent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pynodes.Node" title="pynodes.Node"><span class="pre">Node</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pynodes.html#Node"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node" title="Link to this definition">¶</a></dt>
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">Alice</span>
|
||||||
<dd><p>Should be subclassed only</p>
|
<span class="o">--</span> <span class="n">Bob</span>
|
||||||
<dl class="py method">
|
<span class="o">--</span> <span class="n">Eve</span>
|
||||||
<dt class="sig sig-object py" id="pynodes.Node.add_child">
|
</pre></div>
|
||||||
<span class="sig-name descname"><span class="pre">add_child</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">child</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="#pynodes.Node" title="pynodes.Node"><span class="pre">Node</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.add_child"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.add_child" title="Link to this definition">¶</a></dt>
|
</div>
|
||||||
<dd><p>add new child node to current instance</p>
|
</div>
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="py method">
|
|
||||||
<dt class="sig sig-object py" id="pynodes.Node.check_lineage">
|
|
||||||
<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">check_lineage</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">nodes</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">list</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#pynodes.Node" title="pynodes.Node"><span class="pre">Node</span></a><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.check_lineage"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.check_lineage" title="Link to this definition">¶</a></dt>
|
|
||||||
<dd><dl class="simple">
|
|
||||||
<dt>check if the list of nodes is a straight lineage:</dt><dd><p>node 1 (ancestor) -> node 2 -> node 3 -> … -> node n (grand
|
|
||||||
children)</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="py method">
|
|
||||||
<dt class="sig sig-object py" id="pynodes.Node.create_random_nodes">
|
|
||||||
<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">create_random_nodes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">type_</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'cmd'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">depth</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#pynodes.Node" title="pynodes.Node"><span class="pre">Node</span></a></span></span><a class="reference internal" href="_modules/pynodes.html#Node.create_random_nodes"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.create_random_nodes" title="Link to this definition">¶</a></dt>
|
|
||||||
<dd><p>Creates random tree of nodes for testing purpose</p>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="py method">
|
|
||||||
<dt class="sig sig-object py" id="pynodes.Node.get_child">
|
|
||||||
<span class="sig-name descname"><span class="pre">get_child</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#pynodes.Node" title="pynodes.Node"><span class="pre">Node</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.get_child"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.get_child" title="Link to this definition">¶</a></dt>
|
|
||||||
<dd><p>find and returns a child with specified name. None if nothing found</p>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="py method">
|
|
||||||
<dt class="sig sig-object py" id="pynodes.Node.get_sibling">
|
|
||||||
<span class="sig-name descname"><span class="pre">get_sibling</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference internal" href="#pynodes.Node" title="pynodes.Node"><span class="pre">Node</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.get_sibling"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.get_sibling" title="Link to this definition">¶</a></dt>
|
|
||||||
<dd><p>find and returns a sibling with specified name. None if nothing
|
|
||||||
found</p>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="py method">
|
|
||||||
<dt class="sig sig-object py" id="pynodes.Node.has_children">
|
|
||||||
<span class="sig-name descname"><span class="pre">has_children</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.has_children"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.has_children" title="Link to this definition">¶</a></dt>
|
|
||||||
<dd><p>check if Node object has one child at least</p>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="py method">
|
|
||||||
<dt class="sig sig-object py" id="pynodes.Node.has_parent">
|
|
||||||
<span class="sig-name descname"><span class="pre">has_parent</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.has_parent"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.has_parent" title="Link to this definition">¶</a></dt>
|
|
||||||
<dd><p>check if Node object has a parent or not</p>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="py method">
|
|
||||||
<dt class="sig sig-object py" id="pynodes.Node.has_siblings">
|
|
||||||
<span class="sig-name descname"><span class="pre">has_siblings</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.has_siblings"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.has_siblings" title="Link to this definition">¶</a></dt>
|
|
||||||
<dd><p>check if Node object has one sibling at least</p>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="py method">
|
|
||||||
<dt class="sig sig-object py" id="pynodes.Node.is_child">
|
|
||||||
<span class="sig-name descname"><span class="pre">is_child</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.is_child"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.is_child" title="Link to this definition">¶</a></dt>
|
|
||||||
<dd><p>check if Node object is a child of the other Node object</p>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="py method">
|
|
||||||
<dt class="sig sig-object py" id="pynodes.Node.is_sibling">
|
|
||||||
<span class="sig-name descname"><span class="pre">is_sibling</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.is_sibling"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.is_sibling" title="Link to this definition">¶</a></dt>
|
|
||||||
<dd><p>check if Node object is a sibling of the other Node object</p>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="py property">
|
|
||||||
<dt class="sig sig-object py" id="pynodes.Node.level">
|
|
||||||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">level</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">int</span></em><a class="headerlink" href="#pynodes.Node.level" title="Link to this definition">¶</a></dt>
|
|
||||||
<dd><p>returns the level of the Node object</p>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="py property">
|
|
||||||
<dt class="sig sig-object py" id="pynodes.Node.parents">
|
|
||||||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">parents</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#pynodes.Node" title="pynodes.Node"><span class="pre">Node</span></a><span class="p"><span class="pre">]</span></span></em><a class="headerlink" href="#pynodes.Node.parents" title="Link to this definition">¶</a></dt>
|
|
||||||
<dd><p>returns all the ancestors of the Node object</p>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="py property">
|
|
||||||
<dt class="sig sig-object py" id="pynodes.Node.path">
|
|
||||||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">path</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">str</span></em><a class="headerlink" href="#pynodes.Node.path" title="Link to this definition">¶</a></dt>
|
|
||||||
<dd><p>returns a representation of the ancestor lineage of self</p>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="py method">
|
|
||||||
<dt class="sig sig-object py" id="pynodes.Node.pretty_print">
|
|
||||||
<span class="sig-name descname"><span class="pre">pretty_print</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.pretty_print"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.pretty_print" title="Link to this definition">¶</a></dt>
|
|
||||||
<dd><p>print children tree from current instance</p>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="py method">
|
|
||||||
<dt class="sig sig-object py" id="pynodes.Node.reset_stats">
|
|
||||||
<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">reset_stats</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="reference internal" href="_modules/pynodes.html#Node.reset_stats"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pynodes.Node.reset_stats" title="Link to this definition">¶</a></dt>
|
|
||||||
<dd><p>reset all the ClassVar members</p>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="py property">
|
|
||||||
<dt class="sig sig-object py" id="pynodes.Node.siblings">
|
|
||||||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">siblings</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">list</span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#pynodes.Node" title="pynodes.Node"><span class="pre">Node</span></a><span class="p"><span class="pre">]</span></span></em><a class="headerlink" href="#pynodes.Node.siblings" title="Link to this definition">¶</a></dt>
|
|
||||||
<dd><p>returns all the siblings of the Node object</p>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
<section id="indices-and-tables">
|
|
||||||
<h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Link to this heading">¶</a></h1>
|
|
||||||
<ul class="simple">
|
|
||||||
<li><p><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></p></li>
|
|
||||||
<li><p><a class="reference internal" href="py-modindex.html"><span class="std std-ref">Module Index</span></a></p></li>
|
|
||||||
<li><p><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></p></li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
<a href="api.html" class="btn btn-neutral float-right" title="API" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||||
<div class="sphinxsidebarwrapper">
|
|
||||||
<h1 class="logo"><a href="#">pynodes</a></h1>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h3>Navigation</h3>
|
|
||||||
|
|
||||||
<div class="relations">
|
|
||||||
<h3>Related Topics</h3>
|
|
||||||
<ul>
|
|
||||||
<li><a href="#">Documentation overview</a><ul>
|
|
||||||
</ul></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div id="searchbox" style="display: none" role="search">
|
|
||||||
<h3 id="searchlabel">Quick search</h3>
|
|
||||||
<div class="searchformwrapper">
|
|
||||||
<form class="search" action="search.html" method="get">
|
|
||||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
|
||||||
<input type="submit" value="Go" />
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>document.getElementById('searchbox').style.display = "block"</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="clearer"></div>
|
|
||||||
</div>
|
|
||||||
<div class="footer">
|
|
||||||
©2024, fabthegreat.
|
|
||||||
|
|
||||||
|
|
|
||||||
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 7.2.6</a>
|
|
||||||
& <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a>
|
|
||||||
|
|
||||||
|
|
|
||||||
<a href="_sources/index.rst.txt"
|
|
||||||
rel="nofollow">Page source</a>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
|
||||||
|
<div role="contentinfo">
|
||||||
|
<p>© Copyright 2024, fabthegreat.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||||
|
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||||
|
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||||
|
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
jQuery(function () {
|
||||||
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
Binary file not shown.
|
@ -1,41 +1,77 @@
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
<html class="writer-html5" lang="en" data-content_root="./">
|
||||||
<html>
|
<head>
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Python Module Index — pynodes 0.1 documentation</title>
|
<title>Python Module Index — pynodes 0.1 documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=80d5e7a1" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
|
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" />
|
||||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
|
||||||
<script src="_static/jquery.js"></script>
|
|
||||||
<script src="_static/underscore.js"></script>
|
<!--[if lt IE 9]>
|
||||||
<script src="_static/doctools.js"></script>
|
<script src="_static/js/html5shiv.min.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<script src="_static/documentation_options.js?v=2709fde1"></script>
|
||||||
|
<script src="_static/doctools.js?v=888ff710"></script>
|
||||||
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||||
|
<script src="_static/js/theme.js"></script>
|
||||||
<link rel="index" title="Index" href="genindex.html" />
|
<link rel="index" title="Index" href="genindex.html" />
|
||||||
<link rel="search" title="Search" href="search.html" />
|
<link rel="search" title="Search" href="search.html" />
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
|
|
||||||
|
|
||||||
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
DOCUMENTATION_OPTIONS.COLLAPSE_INDEX = true;
|
DOCUMENTATION_OPTIONS.COLLAPSE_INDEX = true;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
</head><body>
|
</head>
|
||||||
|
|
||||||
|
<body class="wy-body-for-nav">
|
||||||
|
<div class="wy-grid-for-nav">
|
||||||
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
|
<div class="wy-side-scroll">
|
||||||
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
<div class="document">
|
|
||||||
<div class="documentwrapper">
|
|
||||||
<div class="bodywrapper">
|
|
||||||
|
|
||||||
|
<a href="index.html" class="icon icon-home">
|
||||||
|
pynodes
|
||||||
|
</a>
|
||||||
|
<div role="search">
|
||||||
|
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||||
|
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||||
|
<input type="hidden" name="check_keywords" value="yes" />
|
||||||
|
<input type="hidden" name="area" value="default" />
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="api.html">API</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<div class="body" role="main">
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||||
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
|
<a href="index.html">pynodes</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="wy-nav-content">
|
||||||
|
<div class="rst-content">
|
||||||
|
<div role="navigation" aria-label="Page navigation">
|
||||||
|
<ul class="wy-breadcrumbs">
|
||||||
|
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||||
|
<li class="breadcrumb-item active">Python Module Index</li>
|
||||||
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<hr/>
|
||||||
|
</div>
|
||||||
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
|
<div itemprop="articleBody">
|
||||||
|
|
||||||
|
|
||||||
<h1>Python Module Index</h1>
|
<h1>Python Module Index</h1>
|
||||||
|
@ -51,68 +87,36 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td>
|
<td>
|
||||||
<a href="index.html#module-pynodes"><code class="xref">pynodes</code></a></td><td>
|
<a href="api.html#module-pynodes"><code class="xref">pynodes</code></a></td><td>
|
||||||
<em></em></td></tr>
|
<em></em></td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<footer>
|
||||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
|
||||||
<div class="sphinxsidebarwrapper">
|
|
||||||
<h1 class="logo"><a href="index.html">pynodes</a></h1>
|
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
|
||||||
|
<div role="contentinfo">
|
||||||
|
<p>© Copyright 2024, fabthegreat.</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h3>Navigation</h3>
|
|
||||||
|
|
||||||
<div class="relations">
|
|
||||||
<h3>Related Topics</h3>
|
|
||||||
<ul>
|
|
||||||
<li><a href="index.html">Documentation overview</a><ul>
|
|
||||||
</ul></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div id="searchbox" style="display: none" role="search">
|
|
||||||
<h3 id="searchlabel">Quick search</h3>
|
|
||||||
<div class="searchformwrapper">
|
|
||||||
<form class="search" action="search.html" method="get">
|
|
||||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
|
||||||
<input type="submit" value="Go" />
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>$('#searchbox').show(0);</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="clearer"></div>
|
|
||||||
</div>
|
|
||||||
<div class="footer">
|
|
||||||
©2024, fabthegreat.
|
|
||||||
|
|
||||||
|
|
|
||||||
Powered by <a href="http://sphinx-doc.org/">Sphinx 4.3.2</a>
|
|
||||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||||
|
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||||
|
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||||
|
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
jQuery(function () {
|
||||||
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
|
@ -1,118 +1,119 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
<html class="writer-html5" lang="en" data-content_root="./">
|
||||||
<html lang="en" data-content_root="./">
|
<head>
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Search — pynodes 0.1 documentation</title>
|
<title>Search — pynodes 0.1 documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d1102ebc" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=80d5e7a1" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=12dfc556" />
|
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="_static/js/html5shiv.min.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
<script src="_static/documentation_options.js?v=2709fde1"></script>
|
<script src="_static/documentation_options.js?v=2709fde1"></script>
|
||||||
<script src="_static/doctools.js?v=888ff710"></script>
|
<script src="_static/doctools.js?v=888ff710"></script>
|
||||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||||
|
<script src="_static/js/theme.js"></script>
|
||||||
<script src="_static/searchtools.js"></script>
|
<script src="_static/searchtools.js"></script>
|
||||||
<script src="_static/language_data.js"></script>
|
<script src="_static/language_data.js"></script>
|
||||||
<link rel="index" title="Index" href="genindex.html" />
|
<link rel="index" title="Index" href="genindex.html" />
|
||||||
<link rel="search" title="Search" href="#" />
|
<link rel="search" title="Search" href="#" />
|
||||||
<script src="searchindex.js" defer></script>
|
</head>
|
||||||
|
|
||||||
|
<body class="wy-body-for-nav">
|
||||||
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
|
<div class="wy-grid-for-nav">
|
||||||
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
|
<div class="wy-side-scroll">
|
||||||
|
<div class="wy-side-nav-search" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="index.html" class="icon icon-home">
|
||||||
|
pynodes
|
||||||
|
</a>
|
||||||
|
<div role="search">
|
||||||
|
<form id="rtd-search-form" class="wy-form" action="#" method="get">
|
||||||
|
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||||
|
<input type="hidden" name="check_keywords" value="yes" />
|
||||||
|
<input type="hidden" name="area" value="default" />
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="api.html">API</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||||
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
|
<a href="index.html">pynodes</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
</head><body>
|
<div class="wy-nav-content">
|
||||||
|
<div class="rst-content">
|
||||||
|
<div role="navigation" aria-label="Page navigation">
|
||||||
<div class="document">
|
<ul class="wy-breadcrumbs">
|
||||||
<div class="documentwrapper">
|
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||||
<div class="bodywrapper">
|
<li class="breadcrumb-item active">Search</li>
|
||||||
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
</li>
|
||||||
<div class="body" role="main">
|
</ul>
|
||||||
|
<hr/>
|
||||||
<h1 id="search-documentation">Search</h1>
|
</div>
|
||||||
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
|
<div itemprop="articleBody">
|
||||||
|
|
||||||
<noscript>
|
<noscript>
|
||||||
<div class="admonition warning">
|
<div id="fallback" class="admonition warning">
|
||||||
<p>
|
<p class="last">
|
||||||
Please activate JavaScript to enable the search
|
Please activate JavaScript to enable the search functionality.
|
||||||
functionality.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</noscript>
|
</noscript>
|
||||||
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Searching for multiple words only shows matches that contain
|
|
||||||
all words.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
<form action="" method="get">
|
|
||||||
<input type="text" name="q" aria-labelledby="search-documentation" value="" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
|
||||||
<input type="submit" value="search" />
|
|
||||||
<span id="search-progress" style="padding-left: 10px"></span>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div id="search-results">
|
<div id="search-results">
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
<footer>
|
||||||
<div class="sphinxsidebarwrapper">
|
|
||||||
<h1 class="logo"><a href="index.html">pynodes</a></h1>
|
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
|
||||||
|
<div role="contentinfo">
|
||||||
|
<p>© Copyright 2024, fabthegreat.</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h3>Navigation</h3>
|
|
||||||
|
|
||||||
<div class="relations">
|
|
||||||
<h3>Related Topics</h3>
|
|
||||||
<ul>
|
|
||||||
<li><a href="index.html">Documentation overview</a><ul>
|
|
||||||
</ul></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="clearer"></div>
|
|
||||||
</div>
|
|
||||||
<div class="footer">
|
|
||||||
©2024, fabthegreat.
|
|
||||||
|
|
||||||
|
|
|
||||||
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 7.2.6</a>
|
|
||||||
& <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||||
|
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||||
|
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||||
|
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
jQuery(function () {
|
||||||
|
SphinxRtdTheme.Navigation.enable(true);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
jQuery(function() { Search.loadIndex("searchindex.js"); });
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script id="searchindexloader"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
|
@ -1 +1 @@
|
||||||
Search.setIndex({"docnames": ["index"], "filenames": ["index.rst"], "titles": ["Welcome to pynodes\u2019s documentation!"], "terms": {"i": 0, "python": 0, "librari": 0, "manag": 0, "node": 0, "class": 0, "A": 0, "an": 0, "object": 0, "which": 0, "relat": 0, "other": 0, "given": 0, "tree": 0, "chart": 0, "venv": 0, "pip": 0, "instal": 0, "import": 0, "name": 0, "str": 0, "parent": 0, "none": 0, "sourc": 0, "should": 0, "subclass": 0, "onli": 0, "add_child": 0, "child": 0, "add": 0, "new": 0, "current": 0, "instanc": 0, "static": 0, "check_lineag": 0, "list": 0, "bool": 0, "check": 0, "straight": 0, "lineag": 0, "1": 0, "ancestor": 0, "2": 0, "3": 0, "n": 0, "grand": 0, "children": 0, "classmethod": 0, "create_random_nod": 0, "type_": 0, "cmd": 0, "depth": 0, "int": 0, "0": 0, "creat": 0, "random": 0, "test": 0, "purpos": 0, "properti": 0, "path": 0, "return": 0, "represent": 0, "self": 0, "pretty_print": 0, "print": 0, "from": 0, "reset_stat": 0, "reset": 0, "all": 0, "classvar": 0, "member": 0, "index": 0, "modul": 0, "search": 0, "page": 0, "level": 0, "sibl": 0, "get_child": 0, "find": 0, "specifi": 0, "noth": 0, "found": 0, "get_sibl": 0, "has_children": 0, "ha": 0, "one": 0, "least": 0, "has_par": 0, "has_sibl": 0, "is_child": 0, "is_sibl": 0, "code": 0, "host": 0, "my": 0, "own": 0, "gitea": 0, "link": [], "text": []}, "objects": {"pynodes": [[0, 0, 1, "", "Node"]], "pynodes.Node": [[0, 1, 1, "", "add_child"], [0, 1, 1, "", "check_lineage"], [0, 1, 1, "", "create_random_nodes"], [0, 1, 1, "", "get_child"], [0, 1, 1, "", "get_sibling"], [0, 1, 1, "", "has_children"], [0, 1, 1, "", "has_parent"], [0, 1, 1, "", "has_siblings"], [0, 1, 1, "", "is_child"], [0, 1, 1, "", "is_sibling"], [0, 2, 1, "", "level"], [0, 2, 1, "", "parents"], [0, 2, 1, "", "path"], [0, 1, 1, "", "pretty_print"], [0, 1, 1, "", "reset_stats"], [0, 2, 1, "", "siblings"]]}, "objtypes": {"0": "py:class", "1": "py:method", "2": "py:property"}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "method", "Python method"], "2": ["py", "property", "Python property"]}, "titleterms": {"welcom": 0, "pynod": 0, "": 0, "document": 0, "basic": 0, "usag": 0, "indic": 0, "tabl": 0}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"Welcome to pynodes\u2019s documentation!": [[0, "welcome-to-pynodes-s-documentation"]], "Basic Usage": [[0, "basic-usage"]], "Indices and tables": [[0, "indices-and-tables"]]}, "indexentries": {"node (class in pynodes)": [[0, "pynodes.Node"]], "add_child() (pynodes.node method)": [[0, "pynodes.Node.add_child"]], "check_lineage() (pynodes.node static method)": [[0, "pynodes.Node.check_lineage"]], "create_random_nodes() (pynodes.node class method)": [[0, "pynodes.Node.create_random_nodes"]], "get_child() (pynodes.node method)": [[0, "pynodes.Node.get_child"]], "get_sibling() (pynodes.node method)": [[0, "pynodes.Node.get_sibling"]], "has_children() (pynodes.node method)": [[0, "pynodes.Node.has_children"]], "has_parent() (pynodes.node method)": [[0, "pynodes.Node.has_parent"]], "has_siblings() (pynodes.node method)": [[0, "pynodes.Node.has_siblings"]], "is_child() (pynodes.node method)": [[0, "pynodes.Node.is_child"]], "is_sibling() (pynodes.node method)": [[0, "pynodes.Node.is_sibling"]], "level (pynodes.node property)": [[0, "pynodes.Node.level"]], "parents (pynodes.node property)": [[0, "pynodes.Node.parents"]], "path (pynodes.node property)": [[0, "pynodes.Node.path"]], "pretty_print() (pynodes.node method)": [[0, "pynodes.Node.pretty_print"]], "reset_stats() (pynodes.node class method)": [[0, "pynodes.Node.reset_stats"]], "siblings (pynodes.node property)": [[0, "pynodes.Node.siblings"]]}})
|
Search.setIndex({"docnames": ["api", "index"], "filenames": ["api.rst", "index.rst"], "titles": ["API", "Welcome to pynodes\u2019s documentation!"], "terms": {"i": [0, 1], "python": 0, "librari": 0, "manag": 0, "node": [0, 1], "class": [0, 1], "A": 0, "an": [0, 1], "object": 0, "which": 0, "relat": 0, "other": 0, "given": 0, "tree": [0, 1], "chart": 0, "venv": 1, "pip": [], "instal": [], "import": 1, "name": 0, "str": 0, "parent": [0, 1], "none": 0, "sourc": [0, 1], "should": 0, "subclass": 0, "onli": 0, "add_child": [0, 1], "child": 0, "add": 0, "new": 0, "current": 0, "instanc": [0, 1], "static": 0, "check_lineag": 0, "list": 0, "bool": 0, "check": 0, "straight": 0, "lineag": 0, "1": 0, "ancestor": 0, "2": 0, "3": 0, "n": 0, "grand": 0, "children": 0, "classmethod": 0, "create_random_nod": 0, "type_": 0, "cmd": 0, "depth": 0, "int": 0, "0": 0, "creat": 0, "random": 0, "test": 0, "purpos": 0, "properti": 0, "path": 0, "return": 0, "represent": 0, "self": 0, "pretty_print": [0, 1], "print": [0, 1], "from": 0, "reset_stat": 0, "reset": 0, "all": 0, "classvar": 0, "member": 0, "index": [], "modul": [], "search": [], "page": [], "level": 0, "sibl": 0, "get_child": 0, "find": 0, "specifi": 0, "noth": 0, "found": 0, "get_sibl": 0, "has_children": 0, "ha": 0, "one": 0, "least": 0, "has_par": 0, "has_sibl": 0, "is_child": 0, "is_sibl": 0, "code": 1, "host": 1, "my": 1, "own": 1, "gitea": 1, "link": [], "text": [], "usag": [], "basic": [], "pynod": 0, "api": 1, "thi": 1, "project": 1, "under": 1, "activ": 1, "develop": 1, "person": 1, "pass": 1, "bob": 1, "ev": 1, "alic": 1, "pretti": 1, "alice_again": 1, "rais": 1, "error": 1, "cool": [], "bit": [], "some": [], "option": 0, "default": 0, "git": 1, "clone": 1, "http": 1, "lutix": 1, "org": 1, "ftg": 1, "paramet": 0, "param": [], "compar": 0}, "objects": {"": [[0, 0, 0, "-", "pynodes"]], "pynodes": [[0, 1, 1, "", "Node"]], "pynodes.Node": [[0, 2, 1, "", "add_child"], [0, 2, 1, "", "check_lineage"], [0, 2, 1, "", "create_random_nodes"], [0, 2, 1, "", "get_child"], [0, 2, 1, "", "get_sibling"], [0, 2, 1, "", "has_children"], [0, 2, 1, "", "has_parent"], [0, 2, 1, "", "has_siblings"], [0, 2, 1, "", "is_child"], [0, 2, 1, "", "is_sibling"], [0, 3, 1, "", "level"], [0, 3, 1, "", "parents"], [0, 3, 1, "", "path"], [0, 2, 1, "", "pretty_print"], [0, 2, 1, "", "reset_stats"], [0, 3, 1, "", "siblings"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"]}, "titleterms": {"welcom": 1, "pynod": 1, "": 1, "document": 1, "basic": 1, "usag": 1, "indic": [], "tabl": [], "instal": 1, "api": 0, "content": 1}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"Welcome to pynodes\u2019s documentation!": [[1, "welcome-to-pynodes-s-documentation"]], "Content:": [[1, "content"]], "Installation:": [[1, "installation"]], "Basic Usage:": [[1, "basic-usage"]], "API": [[0, "api"]]}, "indexentries": {"node (class in pynodes)": [[0, "pynodes.Node"]], "add_child() (pynodes.node method)": [[0, "pynodes.Node.add_child"]], "check_lineage() (pynodes.node static method)": [[0, "pynodes.Node.check_lineage"]], "create_random_nodes() (pynodes.node class method)": [[0, "pynodes.Node.create_random_nodes"]], "get_child() (pynodes.node method)": [[0, "pynodes.Node.get_child"]], "get_sibling() (pynodes.node method)": [[0, "pynodes.Node.get_sibling"]], "has_children() (pynodes.node method)": [[0, "pynodes.Node.has_children"]], "has_parent() (pynodes.node method)": [[0, "pynodes.Node.has_parent"]], "has_siblings() (pynodes.node method)": [[0, "pynodes.Node.has_siblings"]], "is_child() (pynodes.node method)": [[0, "pynodes.Node.is_child"]], "is_sibling() (pynodes.node method)": [[0, "pynodes.Node.is_sibling"]], "level (pynodes.node property)": [[0, "pynodes.Node.level"]], "module": [[0, "module-pynodes"]], "parents (pynodes.node property)": [[0, "pynodes.Node.parents"]], "path (pynodes.node property)": [[0, "pynodes.Node.path"]], "pretty_print() (pynodes.node method)": [[0, "pynodes.Node.pretty_print"]], "pynodes": [[0, "module-pynodes"]], "reset_stats() (pynodes.node class method)": [[0, "pynodes.Node.reset_stats"]], "siblings (pynodes.node property)": [[0, "pynodes.Node.siblings"]]}})
|
|
@ -0,0 +1,102 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
<html lang="en" data-content_root="./">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
|
||||||
|
<title>API — pynodes 0.1 documentation</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d1102ebc" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=12dfc556" />
|
||||||
|
<script src="_static/documentation_options.js?v=2709fde1"></script>
|
||||||
|
<script src="_static/doctools.js?v=888ff710"></script>
|
||||||
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||||
|
<link rel="index" title="Index" href="genindex.html" />
|
||||||
|
<link rel="search" title="Search" href="search.html" />
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</head><body>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="document">
|
||||||
|
<div class="documentwrapper">
|
||||||
|
<div class="bodywrapper">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="body" role="main">
|
||||||
|
|
||||||
|
<section id="api">
|
||||||
|
<h1>API<a class="headerlink" href="#api" title="Link to this heading">¶</a></h1>
|
||||||
|
<p><strong>pynodes</strong> is a Python library to manage Nodes classes.
|
||||||
|
A node is an object which is related to other nodes given a tree chart.</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||||
|
<div class="sphinxsidebarwrapper">
|
||||||
|
<h1 class="logo"><a href="index.html">pynodes</a></h1>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h3>Navigation</h3>
|
||||||
|
|
||||||
|
<div class="relations">
|
||||||
|
<h3>Related Topics</h3>
|
||||||
|
<ul>
|
||||||
|
<li><a href="index.html">Documentation overview</a><ul>
|
||||||
|
</ul></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="searchbox" style="display: none" role="search">
|
||||||
|
<h3 id="searchlabel">Quick search</h3>
|
||||||
|
<div class="searchformwrapper">
|
||||||
|
<form class="search" action="search.html" method="get">
|
||||||
|
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
||||||
|
<input type="submit" value="Go" />
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>document.getElementById('searchbox').style.display = "block"</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="clearer"></div>
|
||||||
|
</div>
|
||||||
|
<div class="footer">
|
||||||
|
©2024, fabthegreat.
|
||||||
|
|
||||||
|
|
|
||||||
|
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 7.2.6</a>
|
||||||
|
& <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a>
|
||||||
|
|
||||||
|
|
|
||||||
|
<a href="_sources/usage.rst.txt"
|
||||||
|
rel="nofollow">Page source</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
Binary file not shown.
|
@ -0,0 +1,8 @@
|
||||||
|
API
|
||||||
|
=====
|
||||||
|
|
||||||
|
**pynodes** is a Python library to manage Nodes classes.
|
||||||
|
A node is an object which is related to other nodes given a tree chart.
|
||||||
|
|
||||||
|
.. automodule:: pynodes
|
||||||
|
:members:
|
|
@ -14,6 +14,7 @@ import os
|
||||||
import sys
|
import sys
|
||||||
sys.path.insert(0, os.path.abspath('../..'))
|
sys.path.insert(0, os.path.abspath('../..'))
|
||||||
import pynodes
|
import pynodes
|
||||||
|
import sphinx_rtd_theme
|
||||||
|
|
||||||
|
|
||||||
# -- Project information -----------------------------------------------------
|
# -- Project information -----------------------------------------------------
|
||||||
|
@ -51,7 +52,9 @@ exclude_patterns = []
|
||||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||||
# a list of builtin themes.
|
# a list of builtin themes.
|
||||||
#
|
#
|
||||||
html_theme = 'alabaster'
|
#html_theme = 'alabaster'
|
||||||
|
html_theme = 'sphinx_rtd_theme'
|
||||||
|
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
|
||||||
|
|
||||||
# Add any paths that contain custom static files (such as style sheets) here,
|
# 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,
|
# relative to this directory. They are copied after the builtin static files,
|
||||||
|
|
|
@ -6,34 +6,57 @@
|
||||||
Welcome to pynodes's documentation!
|
Welcome to pynodes's documentation!
|
||||||
===================================
|
===================================
|
||||||
|
|
||||||
**pynodes** is a Python library to manage Nodes classes.
|
.. note::
|
||||||
A node is an object which is related to other nodes given a tree chart.
|
|
||||||
|
|
||||||
.. code-block:: console
|
This project is under active development.
|
||||||
|
|
||||||
(venv) $ pip install pynodes
|
Content:
|
||||||
|
--------
|
||||||
Source code is hosted on my own instance of `gitea <https://gitea.lutix.org/nodes>`_.
|
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
:caption: Contents:
|
|
||||||
|
|
||||||
Basic Usage
|
api
|
||||||
===========
|
|
||||||
|
Installation:
|
||||||
|
-------------
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
(venv) $ git clone https://gitea.lutix.org/ftg/nodes.git
|
||||||
|
|
||||||
|
Source code is hosted on my own instance of `gitea <https://gitea.lutix.org/ftg/nodes>`_.
|
||||||
|
|
||||||
|
Basic Usage:
|
||||||
|
------------
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
import pynodes
|
import pynodes
|
||||||
node = pynodes.Node()
|
|
||||||
|
|
||||||
.. autoclass:: pynodes.Node
|
class Person(pynodes.Node):
|
||||||
:members:
|
pass
|
||||||
|
|
||||||
|
bob = Person('Bob')
|
||||||
|
eve = Person('Eve')
|
||||||
|
alice = Person('Alice')
|
||||||
|
alice_again = Person('Alice') # will raise an error
|
||||||
|
|
||||||
|
|
||||||
|
# Alice is parent of bob and eve
|
||||||
|
alice.add_child(bob)
|
||||||
|
alice.add_child(eve)
|
||||||
|
|
||||||
|
alice.pretty_print()
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
:caption: Pretty print of the tree
|
||||||
|
|
||||||
|
Alice
|
||||||
|
-- Bob
|
||||||
|
-- Eve
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Indices and tables
|
|
||||||
==================
|
|
||||||
|
|
||||||
* :ref:`genindex`
|
|
||||||
* :ref:`modindex`
|
|
||||||
* :ref:`search`
|
|
||||||
|
|
69
pynodes.py
69
pynodes.py
|
@ -1,9 +1,9 @@
|
||||||
from __future__ import annotations # for Class forward reference
|
from __future__ import annotations # for Class forward reference
|
||||||
import random
|
import random
|
||||||
|
import uuid
|
||||||
|
|
||||||
from typing import ClassVar
|
from typing import ClassVar
|
||||||
|
|
||||||
|
|
||||||
class Node:
|
class Node:
|
||||||
"""
|
"""
|
||||||
Should be subclassed only
|
Should be subclassed only
|
||||||
|
@ -23,6 +23,10 @@ class Node:
|
||||||
return cls
|
return cls
|
||||||
|
|
||||||
def __new__(cls, name: str, parent: Node | None = None) -> None:
|
def __new__(cls, name: str, parent: Node | None = None) -> None:
|
||||||
|
"""
|
||||||
|
prevent the user to set the same name for 2 nodes
|
||||||
|
??? better to do it with uuid?
|
||||||
|
"""
|
||||||
for n in cls.all_nodes:
|
for n in cls.all_nodes:
|
||||||
if name == n.name:
|
if name == n.name:
|
||||||
raise AttributeError('Node with this name already exists')
|
raise AttributeError('Node with this name already exists')
|
||||||
|
@ -33,10 +37,15 @@ class Node:
|
||||||
self.name = name
|
self.name = name
|
||||||
self.parent = parent # is set with add_child
|
self.parent = parent # is set with add_child
|
||||||
self.children: list[Node] = []
|
self.children: list[Node] = []
|
||||||
|
self.id = uuid.uuid4()
|
||||||
type(self).all_nodes.append(self)
|
type(self).all_nodes.append(self)
|
||||||
|
|
||||||
def add_child(self, child: Node) -> None:
|
def add_child(self, child: Node) -> None:
|
||||||
""" add new child node to current instance """
|
"""
|
||||||
|
Add new child node to current instance
|
||||||
|
|
||||||
|
:param child: Node object
|
||||||
|
"""
|
||||||
child.parent = self
|
child.parent = self
|
||||||
if child.name not in [c.name for c in self.children]:
|
if child.name not in [c.name for c in self.children]:
|
||||||
self.children.append(child)
|
self.children.append(child)
|
||||||
|
@ -47,16 +56,19 @@ class Node:
|
||||||
else:
|
else:
|
||||||
raise Exception('Child with same name already exists')
|
raise Exception('Child with same name already exists')
|
||||||
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def siblings(self) -> list[Node]:
|
def siblings(self) -> list[Node]:
|
||||||
""" returns all the siblings of the Node object """
|
"""
|
||||||
|
Returns all the siblings of the Node object
|
||||||
|
"""
|
||||||
if self.has_siblings():
|
if self.has_siblings():
|
||||||
return self.parent.children
|
return self.parent.children
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def parents(self) -> list[Node]:
|
def parents(self) -> list[Node]:
|
||||||
""" returns all the ancestors of the Node object """
|
"""
|
||||||
|
Returns all the ancestors of the Node object
|
||||||
|
"""
|
||||||
parents = []
|
parents = []
|
||||||
p = self
|
p = self
|
||||||
while p.has_parent():
|
while p.has_parent():
|
||||||
|
@ -66,7 +78,9 @@ class Node:
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def level(self) -> int:
|
def level(self) -> int:
|
||||||
""" returns the level of the Node object """
|
"""
|
||||||
|
Returns the level of the Node object
|
||||||
|
"""
|
||||||
level = 0
|
level = 0
|
||||||
p = self
|
p = self
|
||||||
while p.has_parent():
|
while p.has_parent():
|
||||||
|
@ -77,7 +91,7 @@ class Node:
|
||||||
@property
|
@property
|
||||||
def path(self) -> str:
|
def path(self) -> str:
|
||||||
"""
|
"""
|
||||||
returns a representation of the ancestor lineage of self
|
Returns a representation of the ancestor lineage of self
|
||||||
"""
|
"""
|
||||||
path = ''
|
path = ''
|
||||||
for p in reversed(self.parents):
|
for p in reversed(self.parents):
|
||||||
|
@ -86,25 +100,35 @@ class Node:
|
||||||
return path
|
return path
|
||||||
|
|
||||||
def is_sibling(self, other: str) -> bool:
|
def is_sibling(self, other: str) -> bool:
|
||||||
""" check if Node object is a sibling of the other Node object """
|
"""
|
||||||
|
Check if Node object is a sibling of the other Node object
|
||||||
|
|
||||||
|
:param other: Other Node object to be compared with
|
||||||
|
"""
|
||||||
if other in [s.name for s in self.siblings]:
|
if other in [s.name for s in self.siblings]:
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def is_child(self, other: str) -> bool:
|
def is_child(self, other: str) -> bool:
|
||||||
""" check if Node object is a child of the other Node object """
|
"""
|
||||||
|
Check if Node object is a child of the other Node object
|
||||||
|
"""
|
||||||
if other in [s.name for s in self.children]:
|
if other in [s.name for s in self.children]:
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def pretty_print(self) -> None:
|
def pretty_print(self, option: str = 'default') -> None:
|
||||||
""" print children tree from current instance """
|
"""
|
||||||
|
Print children tree from current instance
|
||||||
|
"""
|
||||||
dashes = ' '*self.level+'|'+'--'*self.level+' '
|
dashes = ' '*self.level+'|'+'--'*self.level+' '
|
||||||
|
if option == 'id':
|
||||||
|
dashes += f'[{self.id}] '
|
||||||
print(f'{dashes}{self.name}')
|
print(f'{dashes}{self.name}')
|
||||||
for c in self.children:
|
for c in self.children:
|
||||||
c.pretty_print()
|
c.pretty_print(option)
|
||||||
|
|
||||||
def has_parent(self) -> bool:
|
def has_parent(self) -> bool:
|
||||||
""" check if Node object has a parent or not """
|
""" check if Node object has a parent or not """
|
||||||
|
@ -180,20 +204,16 @@ class Node:
|
||||||
def create_node(level, i):
|
def create_node(level, i):
|
||||||
id_ = len(cls.all_nodes) + 1
|
id_ = len(cls.all_nodes) + 1
|
||||||
return cls(f'{type_}_'+str(id_))
|
return cls(f'{type_}_'+str(id_))
|
||||||
|
|
||||||
def create_node_list(level: int, width: int = 5):
|
def create_node_list(level: int, width: int = 5):
|
||||||
return [create_node(level, i)
|
return [create_node(level, i)
|
||||||
for i in range(random.randint(1, width))]
|
for i in range(random.randint(1, width))]
|
||||||
|
|
||||||
def create_arg_tree(arg: cls):
|
def create_arg_tree(arg: cls):
|
||||||
if arg.level < depth:
|
if arg.level < depth:
|
||||||
for a in create_node_list(arg.level):
|
for a in create_node_list(arg.level):
|
||||||
arg.add_child(a)
|
arg.add_child(a)
|
||||||
create_arg_tree(a)
|
create_arg_tree(a)
|
||||||
return arg
|
return arg
|
||||||
|
|
||||||
arg = cls('parser')
|
arg = cls('parser')
|
||||||
|
|
||||||
return create_arg_tree(arg)
|
return create_arg_tree(arg)
|
||||||
|
|
||||||
def __lt__(self, other):
|
def __lt__(self, other):
|
||||||
|
@ -211,7 +231,6 @@ class Node:
|
||||||
def __str__(self) -> str:
|
def __str__(self) -> str:
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
||||||
# while True:
|
# while True:
|
||||||
|
@ -222,5 +241,17 @@ if __name__ == "__main__":
|
||||||
# print([n.name for n in node_list])
|
# print([n.name for n in node_list])
|
||||||
# print(Node.check_lineage(node_list))
|
# print(Node.check_lineage(node_list))
|
||||||
# input('pause')
|
# input('pause')
|
||||||
n0 = Node('name0')
|
class Person(Node):
|
||||||
n1 = Node('name0')
|
pass
|
||||||
|
|
||||||
|
bob = Person('Bob')
|
||||||
|
eve = Person('Eve')
|
||||||
|
alice = Person('Alice')
|
||||||
|
|
||||||
|
# Alice is parent of bob and eve
|
||||||
|
alice.add_child(bob)
|
||||||
|
alice.add_child(eve)
|
||||||
|
|
||||||
|
alice.pretty_print(option = 'id')
|
||||||
|
|
||||||
|
print(alice.id)
|
||||||
|
|
Loading…
Reference in New Issue