Compare commits
48 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 625512c82a | |||
| 9f5fb31fbc | |||
| 6c84083c69 | |||
| b45c030c59 | |||
| 5d855abbee | |||
| 20496f9d86 | |||
| 77c2969682 | |||
| c6d10808ad | |||
| 1c76e1801c | |||
| 3e8988f369 | |||
| 7b4942adcf | |||
| c083200e40 | |||
| 690a50f7db | |||
| f780595616 | |||
| 7f961db5e0 | |||
| 16e455bc83 | |||
| 4e64da696a | |||
| ae9df823a4 | |||
| e86e8652d3 | |||
| c1b5045815 | |||
| b8c926c88f | |||
| a3ad3fd1d0 | |||
| a99a154485 | |||
| ca19ff0c9a | |||
| ac366716ee | |||
| 36bf49f0ca | |||
| 0773fa28c5 | |||
| 6b7e9192b9 | |||
| 13b9a6d039 | |||
| 713084c336 | |||
| ec0129bd05 | |||
| a843d35c7b | |||
| 43984913b8 | |||
| 217efe3c20 | |||
| 6cc36b0af9 | |||
| 68dc885110 | |||
| 8320c7ec09 | |||
| 7d90b4b4e3 | |||
| 22f8318b8d | |||
| e154f6db75 | |||
| 9f28a9ddce | |||
| 42e1808155 | |||
| 13123f372f | |||
| cc1f1e8d71 | |||
| efa1a09810 | |||
| 8b6b130412 | |||
| 22a999e502 | |||
| 0b1cb6ea2f |
6
.gitignore
vendored
6
.gitignore
vendored
@@ -1,2 +1,8 @@
|
|||||||
# ignore matplotlib
|
# ignore matplotlib
|
||||||
./bayes-learning/packages/matplotlib/*
|
./bayes-learning/packages/matplotlib/*
|
||||||
|
|
||||||
|
# ignore sublime workspace
|
||||||
|
*markov.sublime-workspace
|
||||||
|
|
||||||
|
# ignore mypy cache
|
||||||
|
.mypy_cache
|
||||||
|
|||||||
17
documentation-test-import/demo.py
Normal file
17
documentation-test-import/demo.py
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
import documentation_test
|
||||||
|
import documentation_test.submod1.submod1 as submod1
|
||||||
|
import documentation_test.submod3.submod3 as submod3
|
||||||
|
|
||||||
|
print(dir(documentation_test))
|
||||||
|
|
||||||
|
submod1.submod1('submod1 from demo')
|
||||||
|
|
||||||
|
# documentation_test.submod2.submod2('s')
|
||||||
|
|
||||||
|
documentation_test.testFunction('test function from demo')
|
||||||
|
|
||||||
|
documentation_test.submod2.submod2.submod2('demo submod2')
|
||||||
|
|
||||||
|
inst = submod3.testClass.createString('submod3 from demo')
|
||||||
|
|
||||||
|
inst.printString()
|
||||||
21
documentation-test/LICENSE
Normal file
21
documentation-test/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2019 Daniel Tomlinson
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
0
documentation-test/README.rst
Normal file
0
documentation-test/README.rst
Normal file
BIN
documentation-test/build/documentation_test/base_library.zip
Normal file
BIN
documentation-test/build/documentation_test/base_library.zip
Normal file
Binary file not shown.
BIN
documentation-test/dist/documentation-test-0.2.11.tar.gz
vendored
Normal file
BIN
documentation-test/dist/documentation-test-0.2.11.tar.gz
vendored
Normal file
Binary file not shown.
BIN
documentation-test/dist/documentation_test-0.2.11-py3-none-any.whl
vendored
Normal file
BIN
documentation-test/dist/documentation_test-0.2.11-py3-none-any.whl
vendored
Normal file
Binary file not shown.
@@ -0,0 +1,282 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||||
|
<meta name="generator" content="pdoc 0.7.2" />
|
||||||
|
<title>documentation_test.documentation_test API documentation</title>
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'>
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet">
|
||||||
|
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
|
||||||
|
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
|
||||||
|
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<article id="content">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Module <code>documentation_test.documentation_test</code></h1>
|
||||||
|
</header>
|
||||||
|
<section id="section-intro">
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">import documentation_test.submod1.submod1 as submod1
|
||||||
|
import documentation_test.submod2.submod2 as submod2
|
||||||
|
|
||||||
|
__all__ = ['testFunction', 'testClass']
|
||||||
|
|
||||||
|
|
||||||
|
class testClass(object):
|
||||||
|
|
||||||
|
"""Summary of class
|
||||||
|
|
||||||
|
Attributes
|
||||||
|
----------
|
||||||
|
arg : str
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, arg: str):
|
||||||
|
"""Summary of init
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
arg : str, optional
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
super(testClass, self).__init__()
|
||||||
|
self.arg = arg
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def createString(cls, aString: str):
|
||||||
|
"""create a string
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
aString : str
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
return cls(arg=aString)
|
||||||
|
|
||||||
|
def printString(self):
|
||||||
|
"""Print a string
|
||||||
|
"""
|
||||||
|
print(self.arg)
|
||||||
|
|
||||||
|
|
||||||
|
def testFunction(anything: str = 'test') -> None:
|
||||||
|
"""test function for a demo import of whole module
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
anything : str, optional
|
||||||
|
a test string
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
None
|
||||||
|
"""
|
||||||
|
print(anything)
|
||||||
|
|
||||||
|
|
||||||
|
submod1.submod1('string from submod1 in base')
|
||||||
|
|
||||||
|
submod2.submod2('string from submod2 in base')</code></pre>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-functions">Functions</h2>
|
||||||
|
<dl>
|
||||||
|
<dt id="documentation_test.documentation_test.testFunction"><code class="name flex">
|
||||||
|
<span>def <span class="ident">testFunction</span></span>(<span>anything: str = 'test') -> NoneType</span>
|
||||||
|
</code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"><p>test function for a demo import of whole module</p>
|
||||||
|
<h2 id="parameters">Parameters</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><strong><code>anything</code></strong> : <code>str</code>, optional</dt>
|
||||||
|
<dd>a test string</dd>
|
||||||
|
</dl>
|
||||||
|
<h2 id="returns">Returns</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><code>None</code></dt>
|
||||||
|
<dd> </dd>
|
||||||
|
</dl></section>
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">def testFunction(anything: str = 'test') -> None:
|
||||||
|
"""test function for a demo import of whole module
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
anything : str, optional
|
||||||
|
a test string
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
None
|
||||||
|
"""
|
||||||
|
print(anything)</code></pre>
|
||||||
|
</details>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-classes">Classes</h2>
|
||||||
|
<dl>
|
||||||
|
<dt id="documentation_test.documentation_test.testClass"><code class="flex name class">
|
||||||
|
<span>class <span class="ident">testClass</span></span>
|
||||||
|
<span>(</span><span>arg: str)</span>
|
||||||
|
</code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"><p>Summary of class</p>
|
||||||
|
<h2 id="attributes">Attributes</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><strong><code>arg</code></strong> : <code>str</code></dt>
|
||||||
|
<dd>a string to print</dd>
|
||||||
|
</dl>
|
||||||
|
<p>Summary of init</p>
|
||||||
|
<h2 id="parameters">Parameters</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><strong><code>arg</code></strong> : <code>str</code>, optional</dt>
|
||||||
|
<dd>a string to print</dd>
|
||||||
|
</dl></section>
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">class testClass(object):
|
||||||
|
|
||||||
|
"""Summary of class
|
||||||
|
|
||||||
|
Attributes
|
||||||
|
----------
|
||||||
|
arg : str
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, arg: str):
|
||||||
|
"""Summary of init
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
arg : str, optional
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
super(testClass, self).__init__()
|
||||||
|
self.arg = arg
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def createString(cls, aString: str):
|
||||||
|
"""create a string
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
aString : str
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
return cls(arg=aString)
|
||||||
|
|
||||||
|
def printString(self):
|
||||||
|
"""Print a string
|
||||||
|
"""
|
||||||
|
print(self.arg)</code></pre>
|
||||||
|
</details>
|
||||||
|
<h3>Static methods</h3>
|
||||||
|
<dl>
|
||||||
|
<dt id="documentation_test.documentation_test.testClass.createString"><code class="name flex">
|
||||||
|
<span>def <span class="ident">createString</span></span>(<span>aString: str)</span>
|
||||||
|
</code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"><p>create a string</p>
|
||||||
|
<h2 id="parameters">Parameters</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><strong><code>aString</code></strong> : <code>str</code></dt>
|
||||||
|
<dd>a string to print</dd>
|
||||||
|
</dl></section>
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">@classmethod
|
||||||
|
def createString(cls, aString: str):
|
||||||
|
"""create a string
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
aString : str
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
return cls(arg=aString)</code></pre>
|
||||||
|
</details>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<h3>Methods</h3>
|
||||||
|
<dl>
|
||||||
|
<dt id="documentation_test.documentation_test.testClass.printString"><code class="name flex">
|
||||||
|
<span>def <span class="ident">printString</span></span>(<span>self)</span>
|
||||||
|
</code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"><p>Print a string</p></section>
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">def printString(self):
|
||||||
|
"""Print a string
|
||||||
|
"""
|
||||||
|
print(self.arg)</code></pre>
|
||||||
|
</details>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<nav id="sidebar">
|
||||||
|
<h1>Index</h1>
|
||||||
|
<div class="toc">
|
||||||
|
<ul></ul>
|
||||||
|
</div>
|
||||||
|
<ul id="index">
|
||||||
|
<li><h3>Super-module</h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test" href="index.html">documentation_test</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><h3><a href="#header-functions">Functions</a></h3>
|
||||||
|
<ul class="">
|
||||||
|
<li><code><a title="documentation_test.documentation_test.testFunction" href="#documentation_test.documentation_test.testFunction">testFunction</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><h3><a href="#header-classes">Classes</a></h3>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<h4><code><a title="documentation_test.documentation_test.testClass" href="#documentation_test.documentation_test.testClass">testClass</a></code></h4>
|
||||||
|
<ul class="">
|
||||||
|
<li><code><a title="documentation_test.documentation_test.testClass.createString" href="#documentation_test.documentation_test.testClass.createString">createString</a></code></li>
|
||||||
|
<li><code><a title="documentation_test.documentation_test.testClass.printString" href="#documentation_test.documentation_test.testClass.printString">printString</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
<footer id="footer">
|
||||||
|
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.2</a>.</p>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
<script>hljs.initHighlightingOnLoad()</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
85
documentation-test/docs/documentation_test/index.html
Normal file
85
documentation-test/docs/documentation_test/index.html
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||||
|
<meta name="generator" content="pdoc 0.7.2" />
|
||||||
|
<title>documentation_test API documentation</title>
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'>
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet">
|
||||||
|
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
|
||||||
|
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
|
||||||
|
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<article id="content">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Module <code>documentation_test</code></h1>
|
||||||
|
</header>
|
||||||
|
<section id="section-intro">
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">from documentation_test.documentation_test import *
|
||||||
|
|
||||||
|
__version__ = '0.1.0'
|
||||||
|
|
||||||
|
print('documentation_test __init__')</code></pre>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-submodules">Sub-modules</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><code class="name"><a title="documentation_test.documentation_test" href="documentation_test.html">documentation_test.documentation_test</a></code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"></section>
|
||||||
|
</dd>
|
||||||
|
<dt><code class="name"><a title="documentation_test.submod1" href="submod1/index.html">documentation_test.submod1</a></code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"></section>
|
||||||
|
</dd>
|
||||||
|
<dt><code class="name"><a title="documentation_test.submod2" href="submod2/index.html">documentation_test.submod2</a></code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"></section>
|
||||||
|
</dd>
|
||||||
|
<dt><code class="name"><a title="documentation_test.submod3" href="submod3/index.html">documentation_test.submod3</a></code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"></section>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<nav id="sidebar">
|
||||||
|
<h1>Index</h1>
|
||||||
|
<div class="toc">
|
||||||
|
<ul></ul>
|
||||||
|
</div>
|
||||||
|
<ul id="index">
|
||||||
|
<li><h3><a href="#header-submodules">Sub-modules</a></h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test.documentation_test" href="documentation_test.html">documentation_test.documentation_test</a></code></li>
|
||||||
|
<li><code><a title="documentation_test.submod1" href="submod1/index.html">documentation_test.submod1</a></code></li>
|
||||||
|
<li><code><a title="documentation_test.submod2" href="submod2/index.html">documentation_test.submod2</a></code></li>
|
||||||
|
<li><code><a title="documentation_test.submod3" href="submod3/index.html">documentation_test.submod3</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
<footer id="footer">
|
||||||
|
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.2</a>.</p>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
<script>hljs.initHighlightingOnLoad()</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||||
|
<meta name="generator" content="pdoc 0.7.2" />
|
||||||
|
<title>documentation_test.submod1 API documentation</title>
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'>
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet">
|
||||||
|
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
|
||||||
|
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
|
||||||
|
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<article id="content">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Module <code>documentation_test.submod1</code></h1>
|
||||||
|
</header>
|
||||||
|
<section id="section-intro">
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">print('submod1.__init__')</code></pre>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-submodules">Sub-modules</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><code class="name"><a title="documentation_test.submod1.submod1" href="submod1.html">documentation_test.submod1.submod1</a></code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"></section>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<nav id="sidebar">
|
||||||
|
<h1>Index</h1>
|
||||||
|
<div class="toc">
|
||||||
|
<ul></ul>
|
||||||
|
</div>
|
||||||
|
<ul id="index">
|
||||||
|
<li><h3>Super-module</h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test" href="../index.html">documentation_test</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><h3><a href="#header-submodules">Sub-modules</a></h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test.submod1.submod1" href="submod1.html">documentation_test.submod1.submod1</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
<footer id="footer">
|
||||||
|
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.2</a>.</p>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
<script>hljs.initHighlightingOnLoad()</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
105
documentation-test/docs/documentation_test/submod1/submod1.html
Normal file
105
documentation-test/docs/documentation_test/submod1/submod1.html
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||||
|
<meta name="generator" content="pdoc 0.7.2" />
|
||||||
|
<title>documentation_test.submod1.submod1 API documentation</title>
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'>
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet">
|
||||||
|
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
|
||||||
|
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
|
||||||
|
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<article id="content">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Module <code>documentation_test.submod1.submod1</code></h1>
|
||||||
|
</header>
|
||||||
|
<section id="section-intro">
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">print('imported submod1')
|
||||||
|
|
||||||
|
|
||||||
|
def submod1(myStr: str) -> None:
|
||||||
|
"""test module for submod1
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
myStr : str
|
||||||
|
a test string
|
||||||
|
"""
|
||||||
|
print('submod1')
|
||||||
|
print(myStr)</code></pre>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-functions">Functions</h2>
|
||||||
|
<dl>
|
||||||
|
<dt id="documentation_test.submod1.submod1.submod1"><code class="name flex">
|
||||||
|
<span>def <span class="ident">submod1</span></span>(<span>myStr: str) -> NoneType</span>
|
||||||
|
</code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"><p>test module for submod1</p>
|
||||||
|
<h2 id="parameters">Parameters</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><strong><code>myStr</code></strong> : <code>str</code></dt>
|
||||||
|
<dd>a test string</dd>
|
||||||
|
</dl></section>
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">def submod1(myStr: str) -> None:
|
||||||
|
"""test module for submod1
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
myStr : str
|
||||||
|
a test string
|
||||||
|
"""
|
||||||
|
print('submod1')
|
||||||
|
print(myStr)</code></pre>
|
||||||
|
</details>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<nav id="sidebar">
|
||||||
|
<h1>Index</h1>
|
||||||
|
<div class="toc">
|
||||||
|
<ul></ul>
|
||||||
|
</div>
|
||||||
|
<ul id="index">
|
||||||
|
<li><h3>Super-module</h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test.submod1" href="index.html">documentation_test.submod1</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><h3><a href="#header-functions">Functions</a></h3>
|
||||||
|
<ul class="">
|
||||||
|
<li><code><a title="documentation_test.submod1.submod1.submod1" href="#documentation_test.submod1.submod1.submod1">submod1</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
<footer id="footer">
|
||||||
|
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.2</a>.</p>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
<script>hljs.initHighlightingOnLoad()</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||||
|
<meta name="generator" content="pdoc 0.7.2" />
|
||||||
|
<title>documentation_test.submod2 API documentation</title>
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'>
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet">
|
||||||
|
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
|
||||||
|
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
|
||||||
|
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<article id="content">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Module <code>documentation_test.submod2</code></h1>
|
||||||
|
</header>
|
||||||
|
<section id="section-intro">
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">print('submod2.__init__')</code></pre>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-submodules">Sub-modules</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><code class="name"><a title="documentation_test.submod2.submod2" href="submod2.html">documentation_test.submod2.submod2</a></code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"></section>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<nav id="sidebar">
|
||||||
|
<h1>Index</h1>
|
||||||
|
<div class="toc">
|
||||||
|
<ul></ul>
|
||||||
|
</div>
|
||||||
|
<ul id="index">
|
||||||
|
<li><h3>Super-module</h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test" href="../index.html">documentation_test</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><h3><a href="#header-submodules">Sub-modules</a></h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test.submod2.submod2" href="submod2.html">documentation_test.submod2.submod2</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
<footer id="footer">
|
||||||
|
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.2</a>.</p>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
<script>hljs.initHighlightingOnLoad()</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
118
documentation-test/docs/documentation_test/submod2/submod2.html
Normal file
118
documentation-test/docs/documentation_test/submod2/submod2.html
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||||
|
<meta name="generator" content="pdoc 0.7.2" />
|
||||||
|
<title>documentation_test.submod2.submod2 API documentation</title>
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'>
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet">
|
||||||
|
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
|
||||||
|
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
|
||||||
|
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<article id="content">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Module <code>documentation_test.submod2.submod2</code></h1>
|
||||||
|
</header>
|
||||||
|
<section id="section-intro">
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">print('imported submod2')
|
||||||
|
|
||||||
|
|
||||||
|
def submod2(someString: str = 'submod2 string') -> None:
|
||||||
|
"""submod2 test function
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
someString : str, optional
|
||||||
|
a random string to show it's working
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
None
|
||||||
|
"""
|
||||||
|
|
||||||
|
print(someString)</code></pre>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-functions">Functions</h2>
|
||||||
|
<dl>
|
||||||
|
<dt id="documentation_test.submod2.submod2.submod2"><code class="name flex">
|
||||||
|
<span>def <span class="ident">submod2</span></span>(<span>someString: str = '<a title="documentation_test.submod2.submod2.submod2" href="#documentation_test.submod2.submod2.submod2">submod2()</a> string') -> NoneType</span>
|
||||||
|
</code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"><p>submod2 test function</p>
|
||||||
|
<h2 id="parameters">Parameters</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><strong><code>someString</code></strong> : <code>str</code>, optional</dt>
|
||||||
|
<dd>a random string to show it's working</dd>
|
||||||
|
</dl>
|
||||||
|
<h2 id="returns">Returns</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><code>None</code></dt>
|
||||||
|
<dd> </dd>
|
||||||
|
</dl></section>
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">def submod2(someString: str = 'submod2 string') -> None:
|
||||||
|
"""submod2 test function
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
someString : str, optional
|
||||||
|
a random string to show it's working
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
None
|
||||||
|
"""
|
||||||
|
|
||||||
|
print(someString)</code></pre>
|
||||||
|
</details>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<nav id="sidebar">
|
||||||
|
<h1>Index</h1>
|
||||||
|
<div class="toc">
|
||||||
|
<ul></ul>
|
||||||
|
</div>
|
||||||
|
<ul id="index">
|
||||||
|
<li><h3>Super-module</h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test.submod2" href="index.html">documentation_test.submod2</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><h3><a href="#header-functions">Functions</a></h3>
|
||||||
|
<ul class="">
|
||||||
|
<li><code><a title="documentation_test.submod2.submod2.submod2" href="#documentation_test.submod2.submod2.submod2">submod2</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
<footer id="footer">
|
||||||
|
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.2</a>.</p>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
<script>hljs.initHighlightingOnLoad()</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||||
|
<meta name="generator" content="pdoc 0.7.2" />
|
||||||
|
<title>documentation_test.submod3 API documentation</title>
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'>
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet">
|
||||||
|
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
|
||||||
|
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
|
||||||
|
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<article id="content">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Module <code>documentation_test.submod3</code></h1>
|
||||||
|
</header>
|
||||||
|
<section id="section-intro">
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-submodules">Sub-modules</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><code class="name"><a title="documentation_test.submod3.submod3" href="submod3.html">documentation_test.submod3.submod3</a></code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"></section>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<nav id="sidebar">
|
||||||
|
<h1>Index</h1>
|
||||||
|
<div class="toc">
|
||||||
|
<ul></ul>
|
||||||
|
</div>
|
||||||
|
<ul id="index">
|
||||||
|
<li><h3>Super-module</h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test" href="../index.html">documentation_test</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><h3><a href="#header-submodules">Sub-modules</a></h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test.submod3.submod3" href="submod3.html">documentation_test.submod3.submod3</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
<footer id="footer">
|
||||||
|
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.2</a>.</p>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
<script>hljs.initHighlightingOnLoad()</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,94 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||||
|
<meta name="generator" content="pdoc 0.7.2" />
|
||||||
|
<title>documentation_test.submod3.submod3 API documentation</title>
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'>
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet">
|
||||||
|
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
|
||||||
|
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
|
||||||
|
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<article id="content">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Module <code>documentation_test.submod3.submod3</code></h1>
|
||||||
|
</header>
|
||||||
|
<section id="section-intro">
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python"># class testClass(object):
|
||||||
|
|
||||||
|
# """Summary of class
|
||||||
|
|
||||||
|
# Attributes
|
||||||
|
# ----------
|
||||||
|
# arg : str
|
||||||
|
# a string to print
|
||||||
|
# """
|
||||||
|
|
||||||
|
# def __init__(self, arg: str):
|
||||||
|
# """Summary of init
|
||||||
|
|
||||||
|
# Parameters
|
||||||
|
# ----------
|
||||||
|
# arg : str, optional
|
||||||
|
# a string to print
|
||||||
|
# """
|
||||||
|
# super(testClass, self).__init__()
|
||||||
|
# self.arg = arg
|
||||||
|
|
||||||
|
# @classmethod
|
||||||
|
# def createString(cls, aString: str):
|
||||||
|
# """create a string
|
||||||
|
|
||||||
|
# Parameters
|
||||||
|
# ----------
|
||||||
|
# aString : str
|
||||||
|
# a string to print
|
||||||
|
# """
|
||||||
|
# return cls(arg=aString)
|
||||||
|
|
||||||
|
# def printString(self):
|
||||||
|
# """Print a string
|
||||||
|
# """
|
||||||
|
# print(self.arg)</code></pre>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<nav id="sidebar">
|
||||||
|
<h1>Index</h1>
|
||||||
|
<div class="toc">
|
||||||
|
<ul></ul>
|
||||||
|
</div>
|
||||||
|
<ul id="index">
|
||||||
|
<li><h3>Super-module</h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test.submod3" href="index.html">documentation_test.submod3</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
<footer id="footer">
|
||||||
|
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.2</a>.</p>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
<script>hljs.initHighlightingOnLoad()</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
37
documentation-test/documentation_test.spec
Normal file
37
documentation-test/documentation_test.spec
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
# -*- mode: python ; coding: utf-8 -*-
|
||||||
|
|
||||||
|
block_cipher = None
|
||||||
|
|
||||||
|
|
||||||
|
a = Analysis(['src/documentation_test/documentation_test.pyclear'],
|
||||||
|
pathex=['/Users/dtomlinson/OneDrive - William Hill Organisation Limited/Mac/git_repos/python-VM/documentation-test'],
|
||||||
|
binaries=[],
|
||||||
|
datas=[],
|
||||||
|
hiddenimports=[],
|
||||||
|
hookspath=[],
|
||||||
|
runtime_hooks=[],
|
||||||
|
excludes=[],
|
||||||
|
win_no_prefer_redirects=False,
|
||||||
|
win_private_assemblies=False,
|
||||||
|
cipher=block_cipher,
|
||||||
|
noarchive=False)
|
||||||
|
pyz = PYZ(a.pure, a.zipped_data,
|
||||||
|
cipher=block_cipher)
|
||||||
|
exe = EXE(pyz,
|
||||||
|
a.scripts,
|
||||||
|
[],
|
||||||
|
exclude_binaries=True,
|
||||||
|
name='documentation_test',
|
||||||
|
debug=False,
|
||||||
|
bootloader_ignore_signals=False,
|
||||||
|
strip=False,
|
||||||
|
upx=True,
|
||||||
|
console=True )
|
||||||
|
coll = COLLECT(exe,
|
||||||
|
a.binaries,
|
||||||
|
a.zipfiles,
|
||||||
|
a.datas,
|
||||||
|
strip=False,
|
||||||
|
upx=True,
|
||||||
|
upx_exclude=[],
|
||||||
|
name='documentation_test')
|
||||||
@@ -0,0 +1,289 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||||
|
<meta name="generator" content="pdoc 0.7.2" />
|
||||||
|
<title>documentation_test.documentation_test API documentation</title>
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'>
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet">
|
||||||
|
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
|
||||||
|
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
|
||||||
|
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<article id="content">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Module <code>documentation_test.documentation_test</code></h1>
|
||||||
|
</header>
|
||||||
|
<section id="section-intro">
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">import documentation_test.submod1.submod1 as submod1
|
||||||
|
import documentation_test.submod2.submod2 as submod2
|
||||||
|
from documentation_test.lib.lib import export
|
||||||
|
|
||||||
|
__all__ = []
|
||||||
|
|
||||||
|
|
||||||
|
@export
|
||||||
|
class testClass(object):
|
||||||
|
|
||||||
|
"""Summary of class
|
||||||
|
|
||||||
|
Attributes
|
||||||
|
----------
|
||||||
|
arg : str
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, arg: str):
|
||||||
|
"""Summary of init
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
arg : str, optional
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
super(testClass, self).__init__()
|
||||||
|
self.arg = arg
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def createString(cls, aString: str):
|
||||||
|
"""create a string
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
aString : str
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
return cls(arg=aString)
|
||||||
|
|
||||||
|
def printString(self):
|
||||||
|
"""Print a string
|
||||||
|
"""
|
||||||
|
print(self.arg)
|
||||||
|
|
||||||
|
|
||||||
|
@export
|
||||||
|
def testFunction(anything: str = 'test') -> None:
|
||||||
|
"""test function for a demo import of whole module
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
anything : str, optional
|
||||||
|
a test string
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
None
|
||||||
|
"""
|
||||||
|
print(anything)
|
||||||
|
|
||||||
|
|
||||||
|
submod1.submod1('string from submod1 in base')
|
||||||
|
|
||||||
|
submod2.submod2('string from submod2 in base')
|
||||||
|
|
||||||
|
|
||||||
|
print(f'{__all__=}')</code></pre>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-functions">Functions</h2>
|
||||||
|
<dl>
|
||||||
|
<dt id="documentation_test.documentation_test.testFunction"><code class="name flex">
|
||||||
|
<span>def <span class="ident">testFunction</span></span>(<span>anything: str = 'test') -> NoneType</span>
|
||||||
|
</code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"><p>test function for a demo import of whole module</p>
|
||||||
|
<h2 id="parameters">Parameters</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><strong><code>anything</code></strong> : <code>str</code>, optional</dt>
|
||||||
|
<dd>a test string</dd>
|
||||||
|
</dl>
|
||||||
|
<h2 id="returns">Returns</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><code>None</code></dt>
|
||||||
|
<dd> </dd>
|
||||||
|
</dl></section>
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">@export
|
||||||
|
def testFunction(anything: str = 'test') -> None:
|
||||||
|
"""test function for a demo import of whole module
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
anything : str, optional
|
||||||
|
a test string
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
None
|
||||||
|
"""
|
||||||
|
print(anything)</code></pre>
|
||||||
|
</details>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-classes">Classes</h2>
|
||||||
|
<dl>
|
||||||
|
<dt id="documentation_test.documentation_test.testClass"><code class="flex name class">
|
||||||
|
<span>class <span class="ident">testClass</span></span>
|
||||||
|
<span>(</span><span>arg: str)</span>
|
||||||
|
</code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"><p>Summary of class</p>
|
||||||
|
<h2 id="attributes">Attributes</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><strong><code>arg</code></strong> : <code>str</code></dt>
|
||||||
|
<dd>a string to print</dd>
|
||||||
|
</dl>
|
||||||
|
<p>Summary of init</p>
|
||||||
|
<h2 id="parameters">Parameters</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><strong><code>arg</code></strong> : <code>str</code>, optional</dt>
|
||||||
|
<dd>a string to print</dd>
|
||||||
|
</dl></section>
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">class testClass(object):
|
||||||
|
|
||||||
|
"""Summary of class
|
||||||
|
|
||||||
|
Attributes
|
||||||
|
----------
|
||||||
|
arg : str
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, arg: str):
|
||||||
|
"""Summary of init
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
arg : str, optional
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
super(testClass, self).__init__()
|
||||||
|
self.arg = arg
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def createString(cls, aString: str):
|
||||||
|
"""create a string
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
aString : str
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
return cls(arg=aString)
|
||||||
|
|
||||||
|
def printString(self):
|
||||||
|
"""Print a string
|
||||||
|
"""
|
||||||
|
print(self.arg)</code></pre>
|
||||||
|
</details>
|
||||||
|
<h3>Static methods</h3>
|
||||||
|
<dl>
|
||||||
|
<dt id="documentation_test.documentation_test.testClass.createString"><code class="name flex">
|
||||||
|
<span>def <span class="ident">createString</span></span>(<span>aString: str)</span>
|
||||||
|
</code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"><p>create a string</p>
|
||||||
|
<h2 id="parameters">Parameters</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><strong><code>aString</code></strong> : <code>str</code></dt>
|
||||||
|
<dd>a string to print</dd>
|
||||||
|
</dl></section>
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">@classmethod
|
||||||
|
def createString(cls, aString: str):
|
||||||
|
"""create a string
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
aString : str
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
return cls(arg=aString)</code></pre>
|
||||||
|
</details>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<h3>Methods</h3>
|
||||||
|
<dl>
|
||||||
|
<dt id="documentation_test.documentation_test.testClass.printString"><code class="name flex">
|
||||||
|
<span>def <span class="ident">printString</span></span>(<span>self)</span>
|
||||||
|
</code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"><p>Print a string</p></section>
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">def printString(self):
|
||||||
|
"""Print a string
|
||||||
|
"""
|
||||||
|
print(self.arg)</code></pre>
|
||||||
|
</details>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<nav id="sidebar">
|
||||||
|
<h1>Index</h1>
|
||||||
|
<div class="toc">
|
||||||
|
<ul></ul>
|
||||||
|
</div>
|
||||||
|
<ul id="index">
|
||||||
|
<li><h3>Super-module</h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test" href="index.html">documentation_test</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><h3><a href="#header-functions">Functions</a></h3>
|
||||||
|
<ul class="">
|
||||||
|
<li><code><a title="documentation_test.documentation_test.testFunction" href="#documentation_test.documentation_test.testFunction">testFunction</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><h3><a href="#header-classes">Classes</a></h3>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<h4><code><a title="documentation_test.documentation_test.testClass" href="#documentation_test.documentation_test.testClass">testClass</a></code></h4>
|
||||||
|
<ul class="">
|
||||||
|
<li><code><a title="documentation_test.documentation_test.testClass.createString" href="#documentation_test.documentation_test.testClass.createString">createString</a></code></li>
|
||||||
|
<li><code><a title="documentation_test.documentation_test.testClass.printString" href="#documentation_test.documentation_test.testClass.printString">printString</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
<footer id="footer">
|
||||||
|
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.2</a>.</p>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
<script>hljs.initHighlightingOnLoad()</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
90
documentation-test/html/documentation_test/index.html
Normal file
90
documentation-test/html/documentation_test/index.html
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||||
|
<meta name="generator" content="pdoc 0.7.2" />
|
||||||
|
<title>documentation_test API documentation</title>
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'>
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet">
|
||||||
|
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
|
||||||
|
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
|
||||||
|
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<article id="content">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Module <code>documentation_test</code></h1>
|
||||||
|
</header>
|
||||||
|
<section id="section-intro">
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">from documentation_test.documentation_test import *
|
||||||
|
|
||||||
|
__version__ = '0.1.0'
|
||||||
|
|
||||||
|
print('documentation_test __init__')</code></pre>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-submodules">Sub-modules</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><code class="name"><a title="documentation_test.documentation_test" href="documentation_test.html">documentation_test.documentation_test</a></code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"></section>
|
||||||
|
</dd>
|
||||||
|
<dt><code class="name"><a title="documentation_test.lib" href="lib/index.html">documentation_test.lib</a></code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"></section>
|
||||||
|
</dd>
|
||||||
|
<dt><code class="name"><a title="documentation_test.submod1" href="submod1/index.html">documentation_test.submod1</a></code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"></section>
|
||||||
|
</dd>
|
||||||
|
<dt><code class="name"><a title="documentation_test.submod2" href="submod2/index.html">documentation_test.submod2</a></code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"></section>
|
||||||
|
</dd>
|
||||||
|
<dt><code class="name"><a title="documentation_test.submod3" href="submod3/index.html">documentation_test.submod3</a></code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"></section>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<nav id="sidebar">
|
||||||
|
<h1>Index</h1>
|
||||||
|
<div class="toc">
|
||||||
|
<ul></ul>
|
||||||
|
</div>
|
||||||
|
<ul id="index">
|
||||||
|
<li><h3><a href="#header-submodules">Sub-modules</a></h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test.documentation_test" href="documentation_test.html">documentation_test.documentation_test</a></code></li>
|
||||||
|
<li><code><a title="documentation_test.lib" href="lib/index.html">documentation_test.lib</a></code></li>
|
||||||
|
<li><code><a title="documentation_test.submod1" href="submod1/index.html">documentation_test.submod1</a></code></li>
|
||||||
|
<li><code><a title="documentation_test.submod2" href="submod2/index.html">documentation_test.submod2</a></code></li>
|
||||||
|
<li><code><a title="documentation_test.submod3" href="submod3/index.html">documentation_test.submod3</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
<footer id="footer">
|
||||||
|
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.2</a>.</p>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
<script>hljs.initHighlightingOnLoad()</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
65
documentation-test/html/documentation_test/lib/index.html
Normal file
65
documentation-test/html/documentation_test/lib/index.html
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||||
|
<meta name="generator" content="pdoc 0.7.2" />
|
||||||
|
<title>documentation_test.lib API documentation</title>
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'>
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet">
|
||||||
|
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
|
||||||
|
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
|
||||||
|
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<article id="content">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Namespace <code>documentation_test.lib</code></h1>
|
||||||
|
</header>
|
||||||
|
<section id="section-intro">
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-submodules">Sub-modules</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><code class="name"><a title="documentation_test.lib.lib" href="lib.html">documentation_test.lib.lib</a></code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"></section>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<nav id="sidebar">
|
||||||
|
<h1>Index</h1>
|
||||||
|
<div class="toc">
|
||||||
|
<ul></ul>
|
||||||
|
</div>
|
||||||
|
<ul id="index">
|
||||||
|
<li><h3>Super-module</h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test" href="../index.html">documentation_test</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><h3><a href="#header-submodules">Sub-modules</a></h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test.lib.lib" href="lib.html">documentation_test.lib.lib</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
<footer id="footer">
|
||||||
|
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.2</a>.</p>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
<script>hljs.initHighlightingOnLoad()</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
94
documentation-test/html/documentation_test/lib/lib.html
Normal file
94
documentation-test/html/documentation_test/lib/lib.html
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||||
|
<meta name="generator" content="pdoc 0.7.2" />
|
||||||
|
<title>documentation_test.lib.lib API documentation</title>
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'>
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet">
|
||||||
|
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
|
||||||
|
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
|
||||||
|
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<article id="content">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Module <code>documentation_test.lib.lib</code></h1>
|
||||||
|
</header>
|
||||||
|
<section id="section-intro">
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">import sys
|
||||||
|
|
||||||
|
|
||||||
|
def export(fn):
|
||||||
|
mod = sys.modules[fn.__module__]
|
||||||
|
if hasattr(mod, '__all__'):
|
||||||
|
mod.__all__.append(fn.__name__)
|
||||||
|
else:
|
||||||
|
mod.__all__ = [fn.__name__]
|
||||||
|
return fn</code></pre>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-functions">Functions</h2>
|
||||||
|
<dl>
|
||||||
|
<dt id="documentation_test.lib.lib.export"><code class="name flex">
|
||||||
|
<span>def <span class="ident">export</span></span>(<span>fn)</span>
|
||||||
|
</code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"></section>
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">def export(fn):
|
||||||
|
mod = sys.modules[fn.__module__]
|
||||||
|
if hasattr(mod, '__all__'):
|
||||||
|
mod.__all__.append(fn.__name__)
|
||||||
|
else:
|
||||||
|
mod.__all__ = [fn.__name__]
|
||||||
|
return fn</code></pre>
|
||||||
|
</details>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<nav id="sidebar">
|
||||||
|
<h1>Index</h1>
|
||||||
|
<div class="toc">
|
||||||
|
<ul></ul>
|
||||||
|
</div>
|
||||||
|
<ul id="index">
|
||||||
|
<li><h3>Super-module</h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test.lib" href="index.html">documentation_test.lib</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><h3><a href="#header-functions">Functions</a></h3>
|
||||||
|
<ul class="">
|
||||||
|
<li><code><a title="documentation_test.lib.lib.export" href="#documentation_test.lib.lib.export">export</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
<footer id="footer">
|
||||||
|
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.2</a>.</p>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
<script>hljs.initHighlightingOnLoad()</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||||
|
<meta name="generator" content="pdoc 0.7.2" />
|
||||||
|
<title>documentation_test.submod1 API documentation</title>
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'>
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet">
|
||||||
|
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
|
||||||
|
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
|
||||||
|
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<article id="content">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Module <code>documentation_test.submod1</code></h1>
|
||||||
|
</header>
|
||||||
|
<section id="section-intro">
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">print('submod1.__init__')</code></pre>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-submodules">Sub-modules</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><code class="name"><a title="documentation_test.submod1.submod1" href="submod1.html">documentation_test.submod1.submod1</a></code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"></section>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<nav id="sidebar">
|
||||||
|
<h1>Index</h1>
|
||||||
|
<div class="toc">
|
||||||
|
<ul></ul>
|
||||||
|
</div>
|
||||||
|
<ul id="index">
|
||||||
|
<li><h3>Super-module</h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test" href="../index.html">documentation_test</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><h3><a href="#header-submodules">Sub-modules</a></h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test.submod1.submod1" href="submod1.html">documentation_test.submod1.submod1</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
<footer id="footer">
|
||||||
|
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.2</a>.</p>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
<script>hljs.initHighlightingOnLoad()</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
105
documentation-test/html/documentation_test/submod1/submod1.html
Normal file
105
documentation-test/html/documentation_test/submod1/submod1.html
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||||
|
<meta name="generator" content="pdoc 0.7.2" />
|
||||||
|
<title>documentation_test.submod1.submod1 API documentation</title>
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'>
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet">
|
||||||
|
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
|
||||||
|
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
|
||||||
|
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<article id="content">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Module <code>documentation_test.submod1.submod1</code></h1>
|
||||||
|
</header>
|
||||||
|
<section id="section-intro">
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">print('imported submod1')
|
||||||
|
|
||||||
|
|
||||||
|
def submod1(myStr: str) -> None:
|
||||||
|
"""test module for submod1
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
myStr : str
|
||||||
|
a test string
|
||||||
|
"""
|
||||||
|
print('submod1')
|
||||||
|
print(myStr)</code></pre>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-functions">Functions</h2>
|
||||||
|
<dl>
|
||||||
|
<dt id="documentation_test.submod1.submod1.submod1"><code class="name flex">
|
||||||
|
<span>def <span class="ident">submod1</span></span>(<span>myStr: str) -> NoneType</span>
|
||||||
|
</code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"><p>test module for submod1</p>
|
||||||
|
<h2 id="parameters">Parameters</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><strong><code>myStr</code></strong> : <code>str</code></dt>
|
||||||
|
<dd>a test string</dd>
|
||||||
|
</dl></section>
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">def submod1(myStr: str) -> None:
|
||||||
|
"""test module for submod1
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
myStr : str
|
||||||
|
a test string
|
||||||
|
"""
|
||||||
|
print('submod1')
|
||||||
|
print(myStr)</code></pre>
|
||||||
|
</details>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<nav id="sidebar">
|
||||||
|
<h1>Index</h1>
|
||||||
|
<div class="toc">
|
||||||
|
<ul></ul>
|
||||||
|
</div>
|
||||||
|
<ul id="index">
|
||||||
|
<li><h3>Super-module</h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test.submod1" href="index.html">documentation_test.submod1</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><h3><a href="#header-functions">Functions</a></h3>
|
||||||
|
<ul class="">
|
||||||
|
<li><code><a title="documentation_test.submod1.submod1.submod1" href="#documentation_test.submod1.submod1.submod1">submod1</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
<footer id="footer">
|
||||||
|
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.2</a>.</p>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
<script>hljs.initHighlightingOnLoad()</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||||
|
<meta name="generator" content="pdoc 0.7.2" />
|
||||||
|
<title>documentation_test.submod2 API documentation</title>
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'>
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet">
|
||||||
|
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
|
||||||
|
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
|
||||||
|
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<article id="content">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Module <code>documentation_test.submod2</code></h1>
|
||||||
|
</header>
|
||||||
|
<section id="section-intro">
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">print('submod2.__init__')</code></pre>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-submodules">Sub-modules</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><code class="name"><a title="documentation_test.submod2.submod2" href="submod2.html">documentation_test.submod2.submod2</a></code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"></section>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<nav id="sidebar">
|
||||||
|
<h1>Index</h1>
|
||||||
|
<div class="toc">
|
||||||
|
<ul></ul>
|
||||||
|
</div>
|
||||||
|
<ul id="index">
|
||||||
|
<li><h3>Super-module</h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test" href="../index.html">documentation_test</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><h3><a href="#header-submodules">Sub-modules</a></h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test.submod2.submod2" href="submod2.html">documentation_test.submod2.submod2</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
<footer id="footer">
|
||||||
|
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.2</a>.</p>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
<script>hljs.initHighlightingOnLoad()</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
118
documentation-test/html/documentation_test/submod2/submod2.html
Normal file
118
documentation-test/html/documentation_test/submod2/submod2.html
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||||
|
<meta name="generator" content="pdoc 0.7.2" />
|
||||||
|
<title>documentation_test.submod2.submod2 API documentation</title>
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'>
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet">
|
||||||
|
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
|
||||||
|
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
|
||||||
|
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<article id="content">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Module <code>documentation_test.submod2.submod2</code></h1>
|
||||||
|
</header>
|
||||||
|
<section id="section-intro">
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">print('imported submod2')
|
||||||
|
|
||||||
|
|
||||||
|
def submod2(someString: str = 'submod2 string') -> None:
|
||||||
|
"""submod2 test function
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
someString : str, optional
|
||||||
|
a random string to show it's working
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
None
|
||||||
|
"""
|
||||||
|
|
||||||
|
print(someString)</code></pre>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-functions">Functions</h2>
|
||||||
|
<dl>
|
||||||
|
<dt id="documentation_test.submod2.submod2.submod2"><code class="name flex">
|
||||||
|
<span>def <span class="ident">submod2</span></span>(<span>someString: str = '<a title="documentation_test.submod2.submod2.submod2" href="#documentation_test.submod2.submod2.submod2">submod2()</a> string') -> NoneType</span>
|
||||||
|
</code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"><p>submod2 test function</p>
|
||||||
|
<h2 id="parameters">Parameters</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><strong><code>someString</code></strong> : <code>str</code>, optional</dt>
|
||||||
|
<dd>a random string to show it's working</dd>
|
||||||
|
</dl>
|
||||||
|
<h2 id="returns">Returns</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><code>None</code></dt>
|
||||||
|
<dd> </dd>
|
||||||
|
</dl></section>
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">def submod2(someString: str = 'submod2 string') -> None:
|
||||||
|
"""submod2 test function
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
someString : str, optional
|
||||||
|
a random string to show it's working
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
None
|
||||||
|
"""
|
||||||
|
|
||||||
|
print(someString)</code></pre>
|
||||||
|
</details>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<nav id="sidebar">
|
||||||
|
<h1>Index</h1>
|
||||||
|
<div class="toc">
|
||||||
|
<ul></ul>
|
||||||
|
</div>
|
||||||
|
<ul id="index">
|
||||||
|
<li><h3>Super-module</h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test.submod2" href="index.html">documentation_test.submod2</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><h3><a href="#header-functions">Functions</a></h3>
|
||||||
|
<ul class="">
|
||||||
|
<li><code><a title="documentation_test.submod2.submod2.submod2" href="#documentation_test.submod2.submod2.submod2">submod2</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
<footer id="footer">
|
||||||
|
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.2</a>.</p>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
<script>hljs.initHighlightingOnLoad()</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||||
|
<meta name="generator" content="pdoc 0.7.2" />
|
||||||
|
<title>documentation_test.submod3 API documentation</title>
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'>
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet">
|
||||||
|
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
|
||||||
|
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
|
||||||
|
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<article id="content">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Module <code>documentation_test.submod3</code></h1>
|
||||||
|
</header>
|
||||||
|
<section id="section-intro">
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-submodules">Sub-modules</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><code class="name"><a title="documentation_test.submod3.submod3" href="submod3.html">documentation_test.submod3.submod3</a></code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"></section>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<nav id="sidebar">
|
||||||
|
<h1>Index</h1>
|
||||||
|
<div class="toc">
|
||||||
|
<ul></ul>
|
||||||
|
</div>
|
||||||
|
<ul id="index">
|
||||||
|
<li><h3>Super-module</h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test" href="../index.html">documentation_test</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><h3><a href="#header-submodules">Sub-modules</a></h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test.submod3.submod3" href="submod3.html">documentation_test.submod3.submod3</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
<footer id="footer">
|
||||||
|
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.2</a>.</p>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
<script>hljs.initHighlightingOnLoad()</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
214
documentation-test/html/documentation_test/submod3/submod3.html
Normal file
214
documentation-test/html/documentation_test/submod3/submod3.html
Normal file
@@ -0,0 +1,214 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||||
|
<meta name="generator" content="pdoc 0.7.2" />
|
||||||
|
<title>documentation_test.submod3.submod3 API documentation</title>
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'>
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet">
|
||||||
|
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
|
||||||
|
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
|
||||||
|
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<article id="content">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Module <code>documentation_test.submod3.submod3</code></h1>
|
||||||
|
</header>
|
||||||
|
<section id="section-intro">
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">class testClass(object):
|
||||||
|
|
||||||
|
"""Summary of class
|
||||||
|
|
||||||
|
Attributes
|
||||||
|
----------
|
||||||
|
arg : str
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, arg: str):
|
||||||
|
"""Summary of init
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
arg : str, optional
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
super(testClass, self).__init__()
|
||||||
|
self.arg = arg
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def createString(cls, aString: str):
|
||||||
|
"""create a string
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
aString : str
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
return cls(arg=aString)
|
||||||
|
|
||||||
|
def printString(self):
|
||||||
|
"""Print a string
|
||||||
|
"""
|
||||||
|
print(self.arg)</code></pre>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-classes">Classes</h2>
|
||||||
|
<dl>
|
||||||
|
<dt id="documentation_test.submod3.submod3.testClass"><code class="flex name class">
|
||||||
|
<span>class <span class="ident">testClass</span></span>
|
||||||
|
<span>(</span><span>arg: str)</span>
|
||||||
|
</code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"><p>Summary of class</p>
|
||||||
|
<h2 id="attributes">Attributes</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><strong><code>arg</code></strong> : <code>str</code></dt>
|
||||||
|
<dd>a string to print</dd>
|
||||||
|
</dl>
|
||||||
|
<p>Summary of init</p>
|
||||||
|
<h2 id="parameters">Parameters</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><strong><code>arg</code></strong> : <code>str</code>, optional</dt>
|
||||||
|
<dd>a string to print</dd>
|
||||||
|
</dl></section>
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">class testClass(object):
|
||||||
|
|
||||||
|
"""Summary of class
|
||||||
|
|
||||||
|
Attributes
|
||||||
|
----------
|
||||||
|
arg : str
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, arg: str):
|
||||||
|
"""Summary of init
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
arg : str, optional
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
super(testClass, self).__init__()
|
||||||
|
self.arg = arg
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def createString(cls, aString: str):
|
||||||
|
"""create a string
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
aString : str
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
return cls(arg=aString)
|
||||||
|
|
||||||
|
def printString(self):
|
||||||
|
"""Print a string
|
||||||
|
"""
|
||||||
|
print(self.arg)</code></pre>
|
||||||
|
</details>
|
||||||
|
<h3>Static methods</h3>
|
||||||
|
<dl>
|
||||||
|
<dt id="documentation_test.submod3.submod3.testClass.createString"><code class="name flex">
|
||||||
|
<span>def <span class="ident">createString</span></span>(<span>aString: str)</span>
|
||||||
|
</code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"><p>create a string</p>
|
||||||
|
<h2 id="parameters">Parameters</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><strong><code>aString</code></strong> : <code>str</code></dt>
|
||||||
|
<dd>a string to print</dd>
|
||||||
|
</dl></section>
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">@classmethod
|
||||||
|
def createString(cls, aString: str):
|
||||||
|
"""create a string
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
aString : str
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
return cls(arg=aString)</code></pre>
|
||||||
|
</details>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<h3>Methods</h3>
|
||||||
|
<dl>
|
||||||
|
<dt id="documentation_test.submod3.submod3.testClass.printString"><code class="name flex">
|
||||||
|
<span>def <span class="ident">printString</span></span>(<span>self)</span>
|
||||||
|
</code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"><p>Print a string</p></section>
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">def printString(self):
|
||||||
|
"""Print a string
|
||||||
|
"""
|
||||||
|
print(self.arg)</code></pre>
|
||||||
|
</details>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<nav id="sidebar">
|
||||||
|
<h1>Index</h1>
|
||||||
|
<div class="toc">
|
||||||
|
<ul></ul>
|
||||||
|
</div>
|
||||||
|
<ul id="index">
|
||||||
|
<li><h3>Super-module</h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="documentation_test.submod3" href="index.html">documentation_test.submod3</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><h3><a href="#header-classes">Classes</a></h3>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<h4><code><a title="documentation_test.submod3.submod3.testClass" href="#documentation_test.submod3.submod3.testClass">testClass</a></code></h4>
|
||||||
|
<ul class="">
|
||||||
|
<li><code><a title="documentation_test.submod3.submod3.testClass.createString" href="#documentation_test.submod3.submod3.testClass.createString">createString</a></code></li>
|
||||||
|
<li><code><a title="documentation_test.submod3.submod3.testClass.printString" href="#documentation_test.submod3.submod3.testClass.printString">printString</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
<footer id="footer">
|
||||||
|
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.2</a>.</p>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
<script>hljs.initHighlightingOnLoad()</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
134
documentation-test/poetry.lock
generated
Normal file
134
documentation-test/poetry.lock
generated
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Atomic file writes."
|
||||||
|
name = "atomicwrites"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "1.3.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Classes Without Boilerplate"
|
||||||
|
name = "attrs"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "19.3.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Cross-platform colored terminal text."
|
||||||
|
marker = "sys_platform == \"win32\""
|
||||||
|
name = "colorama"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "0.4.1"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "A super-fast templating language that borrows the best ideas from the existing templating languages."
|
||||||
|
name = "mako"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "1.1.0"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
MarkupSafe = ">=0.9.2"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Python implementation of Markdown."
|
||||||
|
name = "markdown"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*"
|
||||||
|
version = "3.1.1"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
setuptools = ">=36"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Safely add untrusted strings to HTML/XML markup."
|
||||||
|
name = "markupsafe"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
|
||||||
|
version = "1.1.1"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "More routines for operating on iterables, beyond itertools"
|
||||||
|
name = "more-itertools"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.4"
|
||||||
|
version = "7.2.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Auto-generate API documentation for Python projects."
|
||||||
|
name = "pdoc3"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">= 3.5"
|
||||||
|
version = "0.7.2"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
mako = "*"
|
||||||
|
markdown = ">=3.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "plugin and hook calling mechanisms for python"
|
||||||
|
name = "pluggy"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "0.13.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "library with cross-python path, ini-parsing, io, code, log facilities"
|
||||||
|
name = "py"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "1.8.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "pytest: simple powerful testing with Python"
|
||||||
|
name = "pytest"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "3.10.1"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
atomicwrites = ">=1.0"
|
||||||
|
attrs = ">=17.4.0"
|
||||||
|
colorama = "*"
|
||||||
|
more-itertools = ">=4.0.0"
|
||||||
|
pluggy = ">=0.7"
|
||||||
|
py = ">=1.5.0"
|
||||||
|
setuptools = "*"
|
||||||
|
six = ">=1.10.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Python 2 and 3 compatibility utilities"
|
||||||
|
name = "six"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.6, !=3.0.*, !=3.1.*"
|
||||||
|
version = "1.13.0"
|
||||||
|
|
||||||
|
[metadata]
|
||||||
|
content-hash = "d076842203a2af0e8bf5a5951864e82e229eb62c49fd974814c9dedd00b48ba2"
|
||||||
|
python-versions = "^3.8"
|
||||||
|
|
||||||
|
[metadata.hashes]
|
||||||
|
atomicwrites = ["03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4", "75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6"]
|
||||||
|
attrs = ["08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c", "f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72"]
|
||||||
|
colorama = ["05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d", "f8ac84de7840f5b9c4e3347b3c1eaa50f7e49c2b07596221daec5edaabbd7c48"]
|
||||||
|
mako = ["a36919599a9b7dc5d86a7a8988f23a9a3a3d083070023bab23d64f7f1d1e0a4b"]
|
||||||
|
markdown = ["2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a", "56a46ac655704b91e5b7e6326ce43d5ef72411376588afa1dd90e881b83c7e8c"]
|
||||||
|
markupsafe = ["00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473", "09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161", "09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235", "1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5", "24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff", "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b", "43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1", "46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e", "500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183", "535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66", "62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1", "6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1", "717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e", "79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b", "7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905", "88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735", "8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d", "98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e", "9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d", "9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c", "ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21", "b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2", "b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5", "b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b", "ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6", "c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f", "cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f", "e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"]
|
||||||
|
more-itertools = ["409cd48d4db7052af495b09dec721011634af3753ae1ef92d2b32f73a745f832", "92b8c4b06dac4f0611c0729b2f2ede52b2e1bac1ab48f089c7ddc12e26bb60c4"]
|
||||||
|
pdoc3 = ["df43a7f1a139a5a61e778f424f167719acc33ed71bf13b6c34c7ebd139866eb7"]
|
||||||
|
pluggy = ["0db4b7601aae1d35b4a033282da476845aa19185c1e6964b25cf324b5e4ec3e6", "fa5fa1622fa6dd5c030e9cad086fa19ef6a0cf6d7a2d12318e10cb49d6d68f34"]
|
||||||
|
py = ["64f65755aee5b381cea27766a3a147c3f15b9b6b9ac88676de66ba2ae36793fa", "dc639b046a6e2cff5bbe40194ad65936d6ba360b52b3c3fe1d08a82dd50b5e53"]
|
||||||
|
pytest = ["3f193df1cfe1d1609d4c583838bea3d532b18d6160fd3f55c9447fdca30848ec", "e246cf173c01169b9617fc07264b7b1316e78d7a650055235d6d897bc80d9660"]
|
||||||
|
six = ["1f1b7d42e254082a9db6279deae68afb421ceba6158efa6131de7b3003ee93fd", "30f610279e8b2578cab6db20741130331735c781b56053c59c4076da27f06b66"]
|
||||||
19
documentation-test/pyproject.toml
Normal file
19
documentation-test/pyproject.toml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
[tool.poetry]
|
||||||
|
name = "documentation-test"
|
||||||
|
version = "0.2.11"
|
||||||
|
description = ""
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
|
||||||
|
[tool.poetry.dependencies]
|
||||||
|
python = "^3.7"
|
||||||
|
|
||||||
|
[tool.poetry.dev-dependencies]
|
||||||
|
pytest = "^3.0"
|
||||||
|
pdoc3 = "^0.7.2"
|
||||||
|
|
||||||
|
[tool.poetry.plugins."console_scripts"]
|
||||||
|
"documentationcmd" = "documentation_test.console:console"
|
||||||
|
|
||||||
|
[build-system]
|
||||||
|
requires = ["poetry>=0.12"]
|
||||||
|
build-backend = "poetry.masonry.api"
|
||||||
5
documentation-test/src/documentation_test/__init__.py
Normal file
5
documentation-test/src/documentation_test/__init__.py
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
from documentation_test.documentation_test import *
|
||||||
|
|
||||||
|
__version__ = '0.2.11'
|
||||||
|
|
||||||
|
print('documentation_test __init__')
|
||||||
Binary file not shown.
Binary file not shown.
5
documentation-test/src/documentation_test/console/__init__.py
Executable file
5
documentation-test/src/documentation_test/console/__init__.py
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
import documentation_test
|
||||||
|
|
||||||
|
|
||||||
|
def console():
|
||||||
|
return documentation_test.testFunction(f'{documentation_test.__version__}')
|
||||||
0
documentation-test/src/documentation_test/console/console.py
Executable file
0
documentation-test/src/documentation_test/console/console.py
Executable file
@@ -0,0 +1,68 @@
|
|||||||
|
import documentation_test.submod1.submod1 as submod1
|
||||||
|
import documentation_test.submod2.submod2 as submod2
|
||||||
|
from documentation_test.lib.lib import export
|
||||||
|
|
||||||
|
__all__ = []
|
||||||
|
|
||||||
|
|
||||||
|
@export
|
||||||
|
class testClass(object):
|
||||||
|
|
||||||
|
"""Summary of class
|
||||||
|
|
||||||
|
Attributes
|
||||||
|
----------
|
||||||
|
arg : str
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, arg: str):
|
||||||
|
"""Summary of init
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
arg : str, optional
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
super(testClass, self).__init__()
|
||||||
|
self.arg = arg
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def createString(cls, aString: str):
|
||||||
|
"""create a string
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
aString : str
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
return cls(arg=aString)
|
||||||
|
|
||||||
|
def printString(self):
|
||||||
|
"""Print a string
|
||||||
|
"""
|
||||||
|
print(self.arg)
|
||||||
|
|
||||||
|
|
||||||
|
@export
|
||||||
|
def testFunction(anything: str = 'test') -> None:
|
||||||
|
"""test function for a demo import of whole module
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
anything : str, optional
|
||||||
|
a test string
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
None
|
||||||
|
"""
|
||||||
|
print(anything)
|
||||||
|
|
||||||
|
|
||||||
|
submod1.submod1('string from submod1 in base')
|
||||||
|
|
||||||
|
submod2.submod2('string from submod2 in base')
|
||||||
|
|
||||||
|
|
||||||
|
# print(f'{__all__=}')
|
||||||
Binary file not shown.
10
documentation-test/src/documentation_test/lib/lib.py
Normal file
10
documentation-test/src/documentation_test/lib/lib.py
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
def export(fn):
|
||||||
|
mod = sys.modules[fn.__module__]
|
||||||
|
if hasattr(mod, '__all__'):
|
||||||
|
mod.__all__.append(fn.__name__)
|
||||||
|
else:
|
||||||
|
mod.__all__ = [fn.__name__]
|
||||||
|
return fn
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
print('submod1.__init__')
|
||||||
Binary file not shown.
Binary file not shown.
13
documentation-test/src/documentation_test/submod1/submod1.py
Normal file
13
documentation-test/src/documentation_test/submod1/submod1.py
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
print('imported submod1')
|
||||||
|
|
||||||
|
|
||||||
|
def submod1(myStr: str) -> None:
|
||||||
|
"""test module for submod1
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
myStr : str
|
||||||
|
a test string
|
||||||
|
"""
|
||||||
|
print('submod1')
|
||||||
|
print(myStr)
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
print('submod2.__init__')
|
||||||
Binary file not shown.
Binary file not shown.
17
documentation-test/src/documentation_test/submod2/submod2.py
Normal file
17
documentation-test/src/documentation_test/submod2/submod2.py
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
print('imported submod2')
|
||||||
|
|
||||||
|
|
||||||
|
def submod2(someString: str = 'submod2 string') -> None:
|
||||||
|
"""submod2 test function
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
someString : str, optional
|
||||||
|
a random string to show it's working
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
None
|
||||||
|
"""
|
||||||
|
|
||||||
|
print(someString)
|
||||||
Binary file not shown.
Binary file not shown.
42
documentation-test/src/documentation_test/submod3/submod3.py
Normal file
42
documentation-test/src/documentation_test/submod3/submod3.py
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
from documentation_test.lib.lib import export
|
||||||
|
|
||||||
|
__all__ = []
|
||||||
|
|
||||||
|
|
||||||
|
@export
|
||||||
|
class testClass(object):
|
||||||
|
|
||||||
|
"""Summary of class
|
||||||
|
|
||||||
|
Attributes
|
||||||
|
----------
|
||||||
|
arg : str
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, arg: str):
|
||||||
|
"""Summary of init
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
arg : str, optional
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
super(testClass, self).__init__()
|
||||||
|
self.arg = arg
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def createString(cls, aString: str):
|
||||||
|
"""create a string
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
aString : str
|
||||||
|
a string to print
|
||||||
|
"""
|
||||||
|
return cls(arg=aString)
|
||||||
|
|
||||||
|
def printString(self):
|
||||||
|
"""Print a string
|
||||||
|
"""
|
||||||
|
print(self.arg)
|
||||||
0
documentation-test/tests/__init__.py
Normal file
0
documentation-test/tests/__init__.py
Normal file
17
documentation-test/tests/demo.py
Normal file
17
documentation-test/tests/demo.py
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
import documentation_test
|
||||||
|
import documentation_test.submod1.submod1 as submod1
|
||||||
|
import documentation_test.submod3.submod3 as submod3
|
||||||
|
|
||||||
|
print(dir(documentation_test))
|
||||||
|
|
||||||
|
submod1.submod1('submod1 from demo')
|
||||||
|
|
||||||
|
# documentation_test.submod2.submod2('s')
|
||||||
|
|
||||||
|
documentation_test.testFunction('test function from demo')
|
||||||
|
|
||||||
|
documentation_test.submod2.submod2.submod2('demo submod2')
|
||||||
|
|
||||||
|
inst = submod3.testClass.createString('submod3 from demo')
|
||||||
|
|
||||||
|
inst.printString()
|
||||||
5
documentation-test/tests/test_documentation_test.py
Normal file
5
documentation-test/tests/test_documentation_test.py
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
from documentation_test import __version__
|
||||||
|
|
||||||
|
|
||||||
|
def test_version():
|
||||||
|
assert __version__ == '0.1.0'
|
||||||
129
emoji-cmd/.gitignore
vendored
Normal file
129
emoji-cmd/.gitignore
vendored
Normal file
@@ -0,0 +1,129 @@
|
|||||||
|
# Byte-compiled / optimized / DLL files
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*$py.class
|
||||||
|
|
||||||
|
# C extensions
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Distribution / packaging
|
||||||
|
.Python
|
||||||
|
build/
|
||||||
|
develop-eggs/
|
||||||
|
dist/
|
||||||
|
downloads/
|
||||||
|
eggs/
|
||||||
|
.eggs/
|
||||||
|
lib/
|
||||||
|
lib64/
|
||||||
|
parts/
|
||||||
|
sdist/
|
||||||
|
var/
|
||||||
|
wheels/
|
||||||
|
pip-wheel-metadata/
|
||||||
|
share/python-wheels/
|
||||||
|
*.egg-info/
|
||||||
|
.installed.cfg
|
||||||
|
*.egg
|
||||||
|
MANIFEST
|
||||||
|
|
||||||
|
# PyInstaller
|
||||||
|
# Usually these files are written by a python script from a template
|
||||||
|
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||||
|
*.manifest
|
||||||
|
*.spec
|
||||||
|
|
||||||
|
# Installer logs
|
||||||
|
pip-log.txt
|
||||||
|
pip-delete-this-directory.txt
|
||||||
|
|
||||||
|
# Unit test / coverage reports
|
||||||
|
htmlcov/
|
||||||
|
.tox/
|
||||||
|
.nox/
|
||||||
|
.coverage
|
||||||
|
.coverage.*
|
||||||
|
.cache
|
||||||
|
nosetests.xml
|
||||||
|
coverage.xml
|
||||||
|
*.cover
|
||||||
|
*.py,cover
|
||||||
|
.hypothesis/
|
||||||
|
.pytest_cache/
|
||||||
|
|
||||||
|
# Translations
|
||||||
|
*.mo
|
||||||
|
*.pot
|
||||||
|
|
||||||
|
# Django stuff:
|
||||||
|
*.log
|
||||||
|
local_settings.py
|
||||||
|
db.sqlite3
|
||||||
|
db.sqlite3-journal
|
||||||
|
|
||||||
|
# Flask stuff:
|
||||||
|
instance/
|
||||||
|
.webassets-cache
|
||||||
|
|
||||||
|
# Scrapy stuff:
|
||||||
|
.scrapy
|
||||||
|
|
||||||
|
# Sphinx documentation
|
||||||
|
docs/_build/
|
||||||
|
|
||||||
|
# PyBuilder
|
||||||
|
target/
|
||||||
|
|
||||||
|
# Jupyter Notebook
|
||||||
|
.ipynb_checkpoints
|
||||||
|
|
||||||
|
# IPython
|
||||||
|
profile_default/
|
||||||
|
ipython_config.py
|
||||||
|
|
||||||
|
# pyenv
|
||||||
|
.python-version
|
||||||
|
|
||||||
|
# pipenv
|
||||||
|
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
||||||
|
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
||||||
|
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
||||||
|
# install all needed dependencies.
|
||||||
|
#Pipfile.lock
|
||||||
|
|
||||||
|
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
||||||
|
__pypackages__/
|
||||||
|
|
||||||
|
# Celery stuff
|
||||||
|
celerybeat-schedule
|
||||||
|
celerybeat.pid
|
||||||
|
|
||||||
|
# SageMath parsed files
|
||||||
|
*.sage.py
|
||||||
|
|
||||||
|
# Environments
|
||||||
|
.env
|
||||||
|
.venv
|
||||||
|
env/
|
||||||
|
venv/
|
||||||
|
ENV/
|
||||||
|
env.bak/
|
||||||
|
venv.bak/
|
||||||
|
|
||||||
|
# Spyder project settings
|
||||||
|
.spyderproject
|
||||||
|
.spyproject
|
||||||
|
|
||||||
|
# Rope project settings
|
||||||
|
.ropeproject
|
||||||
|
|
||||||
|
# mkdocs documentation
|
||||||
|
/site
|
||||||
|
|
||||||
|
# mypy
|
||||||
|
.mypy_cache/
|
||||||
|
.dmypy.json
|
||||||
|
dmypy.json
|
||||||
|
|
||||||
|
# Pyre type checker
|
||||||
|
.pyre/
|
||||||
21
emoji-cmd/LICENSE
Normal file
21
emoji-cmd/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2019 dtomlinson
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
106
emoji-cmd/README.md
Normal file
106
emoji-cmd/README.md
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
# Emojis on the command line
|
||||||
|
|
||||||
|
<!-- MarkdownTOC -->
|
||||||
|
|
||||||
|
- [Author](#author)
|
||||||
|
- [Requires](#requires)
|
||||||
|
- [Python requirements:](#python-requirements)
|
||||||
|
- [Documentation](#documentation)
|
||||||
|
- [Installation](#installation)
|
||||||
|
* [Easy Way](#easy-way)
|
||||||
|
* [Python](#python)
|
||||||
|
+ [From pip](#from-pip)
|
||||||
|
+ [From local wheel](#from-local-wheel)
|
||||||
|
+ [From source](#from-source)
|
||||||
|
- [Example Usage](#example-usage)
|
||||||
|
|
||||||
|
<!-- /MarkdownTOC -->
|
||||||
|
|
||||||
|
|
||||||
|
## Author
|
||||||
|
|
||||||
|
Daniel Tomlinson <dtomlinson@panaetius.co.uk>
|
||||||
|
|
||||||
|
## Requires
|
||||||
|
|
||||||
|
`python3.7+`
|
||||||
|
|
||||||
|
## Python requirements:
|
||||||
|
|
||||||
|
```
|
||||||
|
argparse 1.4.0 Python command-line parsing library
|
||||||
|
click 7.0 Composable command line interface toolkit
|
||||||
|
emojis 0.5.1 Emojis for Python
|
||||||
|
texttable 1.6.2 module for creating simple ASCII tables
|
||||||
|
```
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
[Read the documentation](https://dtomlinson91.github.io/emoji-cmd/)
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Easy Way
|
||||||
|
|
||||||
|
Run `curl -LSs https://raw.githubusercontent.com/dtomlinson91/emoji-cmd/master/install.sh | bash`
|
||||||
|
|
||||||
|
### Python
|
||||||
|
|
||||||
|
#### From pip
|
||||||
|
|
||||||
|
_coming soon_
|
||||||
|
|
||||||
|
#### From local wheel
|
||||||
|
|
||||||
|
1. Create a local directory `mkdir python-applications`
|
||||||
|
1. Create a virtualenv `python3 -m venv emoji`
|
||||||
|
1. Activate the environment `source emoji/bin/activate`
|
||||||
|
1. Download latest `.whl` version from [releases](https://github.com/dtomlinson91/emoji-cmd/releases) and install `pip install emoji_cmd-1.0-py3-none-any.whl`
|
||||||
|
1. Link binary to PATH `ln -s $(which emoji) ~/.local/bin`
|
||||||
|
1. Deactivate virtualenv `deactivate`
|
||||||
|
|
||||||
|
#### From source
|
||||||
|
|
||||||
|
1. Follow steps 1-3 above
|
||||||
|
1. Download `requirements.txt`
|
||||||
|
1. Download the latest `tar.gz` from [releases](https://github.com/dtomlinson91/emoji-cmd/releases) and extract.
|
||||||
|
1. Do `pip install -r requirements.txt`
|
||||||
|
1. Go into the extracted tar folder and do `pip install -e .`
|
||||||
|
1. Link binary to PATH `ln -s $(which emoji) ~/.local/bin`
|
||||||
|
1. Deactivate virtualenv `deactivate`
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
`emoji --help`
|
||||||
|
|
||||||
|
```
|
||||||
|
Usage: emoji [OPTIONS]
|
||||||
|
|
||||||
|
Emojis on the command line 🥳!
|
||||||
|
|
||||||
|
Search for an emoji with --search EMOJI
|
||||||
|
|
||||||
|
Options:
|
||||||
|
--help Show this message and exit.
|
||||||
|
--version Show the version and exit.
|
||||||
|
-s, --search TEXT Prints all emojis matching TEXT
|
||||||
|
```
|
||||||
|
|
||||||
|
`emoji --search cake`
|
||||||
|
|
||||||
|
```
|
||||||
|
I found 5 emojis for cake! 🥳
|
||||||
|
+-------------+-------+
|
||||||
|
| tag/alias | emoji |
|
||||||
|
+=============+=======+
|
||||||
|
| :pancakes: | 🥞 |
|
||||||
|
+-------------+-------+
|
||||||
|
| :fish_cake: | 🍥 |
|
||||||
|
+-------------+-------+
|
||||||
|
| :moon_cake: | 🥮 |
|
||||||
|
+-------------+-------+
|
||||||
|
| :cake: | 🍰 |
|
||||||
|
+-------------+-------+
|
||||||
|
| :cupcake: | 🧁 |
|
||||||
|
+-------------+-------+
|
||||||
|
```
|
||||||
1
emoji-cmd/docs/_config.yml
Normal file
1
emoji-cmd/docs/_config.yml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
theme: jekyll-theme-cayman
|
||||||
87
emoji-cmd/docs/cli.html
Normal file
87
emoji-cmd/docs/cli.html
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||||
|
<meta name="generator" content="pdoc 0.7.2" />
|
||||||
|
<title>emoji_cmd.cli API documentation</title>
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'>
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet">
|
||||||
|
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
|
||||||
|
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
|
||||||
|
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<article id="content">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Module <code>emoji_cmd.cli</code></h1>
|
||||||
|
</header>
|
||||||
|
<section id="section-intro">
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">import emoji_cmd
|
||||||
|
from emoji_cmd.__version__ import __version__
|
||||||
|
import click
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
@click.command()
|
||||||
|
@click.help_option()
|
||||||
|
@click.version_option(version=__version__ + ', (Mon Nov 25 02:08:55 2019)')
|
||||||
|
# @click.argument('emoji')
|
||||||
|
@click.option(
|
||||||
|
'-s', '--search', 'emoji', help='Prints all emojis matching TEXT', type=str
|
||||||
|
)
|
||||||
|
def cli(emoji: str):
|
||||||
|
"""Emojis on the command line 🥳!
|
||||||
|
|
||||||
|
Search for an emoji with --search EMOJI
|
||||||
|
"""
|
||||||
|
emoji_cmd.main(emoji)
|
||||||
|
|
||||||
|
|
||||||
|
if getattr(sys, 'frozen', False):
|
||||||
|
cli(sys.argv[1:])
|
||||||
|
|
||||||
|
# if __name__ == '__main__':
|
||||||
|
# options = '--help'
|
||||||
|
|
||||||
|
# print(f'> ' + options)
|
||||||
|
# cli(options.split())</code></pre>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<nav id="sidebar">
|
||||||
|
<h1>Index</h1>
|
||||||
|
<div class="toc">
|
||||||
|
<ul></ul>
|
||||||
|
</div>
|
||||||
|
<ul id="index">
|
||||||
|
<li><h3>Super-module</h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="emoji_cmd" href="index.html">emoji_cmd</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
<footer id="footer">
|
||||||
|
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.2</a>.</p>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
<script>hljs.initHighlightingOnLoad()</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
207
emoji-cmd/docs/index.html
Normal file
207
emoji-cmd/docs/index.html
Normal file
@@ -0,0 +1,207 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
|
||||||
|
<meta name="generator" content="pdoc 0.7.2" />
|
||||||
|
<title>emoji_cmd API documentation</title>
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'>
|
||||||
|
<link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'>
|
||||||
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet">
|
||||||
|
<style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
|
||||||
|
<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
|
||||||
|
<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<article id="content">
|
||||||
|
<header>
|
||||||
|
<h1 class="title">Module <code>emoji_cmd</code></h1>
|
||||||
|
</header>
|
||||||
|
<section id="section-intro">
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">import emojis # type: ignore
|
||||||
|
import argparse
|
||||||
|
from texttable import Texttable # type: ignore
|
||||||
|
|
||||||
|
|
||||||
|
def main(emoji: str) -> None:
|
||||||
|
"""returns an emoji from a string
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
emoji : str
|
||||||
|
a string for the emoji name/tag/description
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
None
|
||||||
|
"""
|
||||||
|
|
||||||
|
t = Texttable()
|
||||||
|
|
||||||
|
searchOne = [y for y in [x for x in emojis.db.get_tags()] if emoji in y]
|
||||||
|
|
||||||
|
emojiResults = []
|
||||||
|
|
||||||
|
emojiResults.append((['tag/alias', 'emoji']))
|
||||||
|
|
||||||
|
for item in searchOne:
|
||||||
|
listOne = [x for x in emojis.db.get_emojis_by_tag(item)]
|
||||||
|
for i in range(0, len(listOne)):
|
||||||
|
emojiResults.append(
|
||||||
|
[(listOne[i][0][0]).strip(), (listOne[i][1]).strip()]
|
||||||
|
)
|
||||||
|
|
||||||
|
for alias, emojiAlias in zip(
|
||||||
|
emojis.db.get_emoji_aliases().keys(),
|
||||||
|
emojis.db.get_emoji_aliases().values(),
|
||||||
|
):
|
||||||
|
if emoji in alias:
|
||||||
|
emojiResults.append([alias.strip(), emojiAlias.strip()])
|
||||||
|
|
||||||
|
t.add_rows(emojiResults)
|
||||||
|
|
||||||
|
if len(emojiResults) - 1 == 0:
|
||||||
|
print(f'I found {len(emojiResults)-1} emojis for {emoji}! 😢')
|
||||||
|
else:
|
||||||
|
print(f'I found {len(emojiResults)-1} emojis for {emoji}! 🥳')
|
||||||
|
print(t.draw())
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
parser = argparse.ArgumentParser(
|
||||||
|
description="""
|
||||||
|
emoji lookup script to be ran on the shell
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
|
||||||
|
parser.add_argument(
|
||||||
|
'emoji',
|
||||||
|
type=str,
|
||||||
|
help=(
|
||||||
|
'full path to list of files. leave blank'
|
||||||
|
' to run in current directory. the results will be'
|
||||||
|
' placed in this folder if specified.'
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
emoji = vars(args)['emoji']
|
||||||
|
|
||||||
|
main(emoji)</code></pre>
|
||||||
|
</details>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-submodules">Sub-modules</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><code class="name"><a title="emoji_cmd.cli" href="cli.html">emoji_cmd.cli</a></code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"></section>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2 class="section-title" id="header-functions">Functions</h2>
|
||||||
|
<dl>
|
||||||
|
<dt id="emoji_cmd.main"><code class="name flex">
|
||||||
|
<span>def <span class="ident">main</span></span>(<span>emoji: str) -> NoneType</span>
|
||||||
|
</code></dt>
|
||||||
|
<dd>
|
||||||
|
<section class="desc"><p>returns an emoji from a string</p>
|
||||||
|
<h2 id="parameters">Parameters</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><strong><code>emoji</code></strong> : <code>str</code></dt>
|
||||||
|
<dd>a string for the emoji name/tag/description</dd>
|
||||||
|
</dl>
|
||||||
|
<h2 id="returns">Returns</h2>
|
||||||
|
<dl>
|
||||||
|
<dt><code>None</code></dt>
|
||||||
|
<dd> </dd>
|
||||||
|
</dl></section>
|
||||||
|
<details class="source">
|
||||||
|
<summary>
|
||||||
|
<span>Expand source code</span>
|
||||||
|
</summary>
|
||||||
|
<pre><code class="python">def main(emoji: str) -> None:
|
||||||
|
"""returns an emoji from a string
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
emoji : str
|
||||||
|
a string for the emoji name/tag/description
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
None
|
||||||
|
"""
|
||||||
|
|
||||||
|
t = Texttable()
|
||||||
|
|
||||||
|
searchOne = [y for y in [x for x in emojis.db.get_tags()] if emoji in y]
|
||||||
|
|
||||||
|
emojiResults = []
|
||||||
|
|
||||||
|
emojiResults.append((['tag/alias', 'emoji']))
|
||||||
|
|
||||||
|
for item in searchOne:
|
||||||
|
listOne = [x for x in emojis.db.get_emojis_by_tag(item)]
|
||||||
|
for i in range(0, len(listOne)):
|
||||||
|
emojiResults.append(
|
||||||
|
[(listOne[i][0][0]).strip(), (listOne[i][1]).strip()]
|
||||||
|
)
|
||||||
|
|
||||||
|
for alias, emojiAlias in zip(
|
||||||
|
emojis.db.get_emoji_aliases().keys(),
|
||||||
|
emojis.db.get_emoji_aliases().values(),
|
||||||
|
):
|
||||||
|
if emoji in alias:
|
||||||
|
emojiResults.append([alias.strip(), emojiAlias.strip()])
|
||||||
|
|
||||||
|
t.add_rows(emojiResults)
|
||||||
|
|
||||||
|
if len(emojiResults) - 1 == 0:
|
||||||
|
print(f'I found {len(emojiResults)-1} emojis for {emoji}! 😢')
|
||||||
|
else:
|
||||||
|
print(f'I found {len(emojiResults)-1} emojis for {emoji}! 🥳')
|
||||||
|
print(t.draw())</code></pre>
|
||||||
|
</details>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
<nav id="sidebar">
|
||||||
|
<h1>Index</h1>
|
||||||
|
<div class="toc">
|
||||||
|
<ul></ul>
|
||||||
|
</div>
|
||||||
|
<ul id="index">
|
||||||
|
<li><h3><a href="#header-submodules">Sub-modules</a></h3>
|
||||||
|
<ul>
|
||||||
|
<li><code><a title="emoji_cmd.cli" href="cli.html">emoji_cmd.cli</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><h3><a href="#header-functions">Functions</a></h3>
|
||||||
|
<ul class="">
|
||||||
|
<li><code><a title="emoji_cmd.main" href="#emoji_cmd.main">main</a></code></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
<footer id="footer">
|
||||||
|
<p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.2</a>.</p>
|
||||||
|
</footer>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
|
||||||
|
<script>hljs.initHighlightingOnLoad()</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
3
emoji-cmd/install.sh
Executable file
3
emoji-cmd/install.sh
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
curl -LOemoji https://github.com/dtomlinson91/emoji-cmd/releases/download/1.0/emoji
|
||||||
|
chmod +x emoji
|
||||||
|
mv ./emoji ~/.local/bin
|
||||||
242
emoji-cmd/poetry.lock
generated
Normal file
242
emoji-cmd/poetry.lock
generated
Normal file
@@ -0,0 +1,242 @@
|
|||||||
|
[[package]]
|
||||||
|
category = "main"
|
||||||
|
description = "Python command-line parsing library"
|
||||||
|
name = "argparse"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "1.4.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Atomic file writes."
|
||||||
|
name = "atomicwrites"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "1.3.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Classes Without Boilerplate"
|
||||||
|
name = "attrs"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "19.3.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "main"
|
||||||
|
description = "Composable command line interface toolkit"
|
||||||
|
name = "click"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "7.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Cross-platform colored terminal text."
|
||||||
|
marker = "sys_platform == \"win32\""
|
||||||
|
name = "colorama"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "0.4.1"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "main"
|
||||||
|
description = "Emojis for Python"
|
||||||
|
name = "emojis"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "0.5.1"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Read metadata from Python packages"
|
||||||
|
marker = "python_version < \"3.8\""
|
||||||
|
name = "importlib-metadata"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7,!=3.0,!=3.1,!=3.2,!=3.3"
|
||||||
|
version = "0.23"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
zipp = ">=0.5"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "A super-fast templating language that borrows the best ideas from the existing templating languages."
|
||||||
|
name = "mako"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "1.1.0"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
MarkupSafe = ">=0.9.2"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Python implementation of Markdown."
|
||||||
|
name = "markdown"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*"
|
||||||
|
version = "3.1.1"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
setuptools = ">=36"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Safely add untrusted strings to HTML/XML markup."
|
||||||
|
name = "markupsafe"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
|
||||||
|
version = "1.1.1"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "More routines for operating on iterables, beyond itertools"
|
||||||
|
name = "more-itertools"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.4"
|
||||||
|
version = "7.2.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Optional static typing for Python"
|
||||||
|
name = "mypy"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.5"
|
||||||
|
version = "0.740"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
mypy-extensions = ">=0.4.0,<0.5.0"
|
||||||
|
typed-ast = ">=1.4.0,<1.5.0"
|
||||||
|
typing-extensions = ">=3.7.4"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Experimental type system extensions for programs checked with the mypy typechecker."
|
||||||
|
name = "mypy-extensions"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "0.4.3"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Auto-generate API documentation for Python projects."
|
||||||
|
name = "pdoc3"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">= 3.5"
|
||||||
|
version = "0.7.2"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
mako = "*"
|
||||||
|
markdown = ">=3.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "plugin and hook calling mechanisms for python"
|
||||||
|
name = "pluggy"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "0.13.1"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
[package.dependencies.importlib-metadata]
|
||||||
|
python = "<3.8"
|
||||||
|
version = ">=0.12"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "library with cross-python path, ini-parsing, io, code, log facilities"
|
||||||
|
name = "py"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "1.8.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "pytest: simple powerful testing with Python"
|
||||||
|
name = "pytest"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "3.10.1"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
atomicwrites = ">=1.0"
|
||||||
|
attrs = ">=17.4.0"
|
||||||
|
colorama = "*"
|
||||||
|
more-itertools = ">=4.0.0"
|
||||||
|
pluggy = ">=0.7"
|
||||||
|
py = ">=1.5.0"
|
||||||
|
setuptools = "*"
|
||||||
|
six = ">=1.10.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Python 2 and 3 compatibility utilities"
|
||||||
|
name = "six"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.6, !=3.0.*, !=3.1.*"
|
||||||
|
version = "1.13.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "main"
|
||||||
|
description = "module for creating simple ASCII tables"
|
||||||
|
name = "texttable"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "1.6.2"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "a fork of Python 2 and 3 ast modules with type comment support"
|
||||||
|
name = "typed-ast"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "1.4.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Backported and Experimental Type Hints for Python 3.5+"
|
||||||
|
name = "typing-extensions"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "3.7.4.1"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Backport of pathlib-compatible object wrapper for zip files"
|
||||||
|
marker = "python_version < \"3.8\""
|
||||||
|
name = "zipp"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7"
|
||||||
|
version = "0.6.0"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
more-itertools = "*"
|
||||||
|
|
||||||
|
[metadata]
|
||||||
|
content-hash = "758849be8630c5c4d89297bfc1315cd1d95e6f8d922e65fd03cf9e90e2b6aaf2"
|
||||||
|
python-versions = "^3.7"
|
||||||
|
|
||||||
|
[metadata.hashes]
|
||||||
|
argparse = ["62b089a55be1d8949cd2bc7e0df0bddb9e028faefc8c32038cc84862aefdd6e4", "c31647edb69fd3d465a847ea3157d37bed1f95f19760b11a47aa91c04b666314"]
|
||||||
|
atomicwrites = ["03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4", "75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6"]
|
||||||
|
attrs = ["08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c", "f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72"]
|
||||||
|
click = ["2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13", "5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7"]
|
||||||
|
colorama = ["05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d", "f8ac84de7840f5b9c4e3347b3c1eaa50f7e49c2b07596221daec5edaabbd7c48"]
|
||||||
|
emojis = ["30d0b317fc9ab70b6acdc752a1ed481b2d278f7ca7c68aef222e4cd833e5de7f", "a719391df2de34689ce47d78bb302b0f0dc24656b4f83f501725de7b0ee621ee"]
|
||||||
|
importlib-metadata = ["aa18d7378b00b40847790e7c27e11673d7fed219354109d0e7b9e5b25dc3ad26", "d5f18a79777f3aa179c145737780282e27b508fc8fd688cb17c7a813e8bd39af"]
|
||||||
|
mako = ["a36919599a9b7dc5d86a7a8988f23a9a3a3d083070023bab23d64f7f1d1e0a4b"]
|
||||||
|
markdown = ["2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a", "56a46ac655704b91e5b7e6326ce43d5ef72411376588afa1dd90e881b83c7e8c"]
|
||||||
|
markupsafe = ["00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473", "09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161", "09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235", "1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5", "24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff", "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b", "43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1", "46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e", "500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183", "535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66", "62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1", "6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1", "717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e", "79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b", "7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905", "88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735", "8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d", "98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e", "9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d", "9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c", "ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21", "b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2", "b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5", "b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b", "ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6", "c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f", "cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f", "e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"]
|
||||||
|
more-itertools = ["409cd48d4db7052af495b09dec721011634af3753ae1ef92d2b32f73a745f832", "92b8c4b06dac4f0611c0729b2f2ede52b2e1bac1ab48f089c7ddc12e26bb60c4"]
|
||||||
|
mypy = ["1521c186a3d200c399bd5573c828ea2db1362af7209b2adb1bb8532cea2fb36f", "31a046ab040a84a0fc38bc93694876398e62bc9f35eca8ccbf6418b7297f4c00", "3b1a411909c84b2ae9b8283b58b48541654b918e8513c20a400bb946aa9111ae", "48c8bc99380575deb39f5d3400ebb6a8a1cb5cc669bbba4d3bb30f904e0a0e7d", "540c9caa57a22d0d5d3c69047cc9dd0094d49782603eb03069821b41f9e970e9", "672e418425d957e276c291930a3921b4a6413204f53fe7c37cad7bc57b9a3391", "6ed3b9b3fdc7193ea7aca6f3c20549b377a56f28769783a8f27191903a54170f", "9371290aa2cad5ad133e4cdc43892778efd13293406f7340b9ffe99d5ec7c1d9", "ace6ac1d0f87d4072f05b5468a084a45b4eda970e4d26704f201e06d47ab2990", "b428f883d2b3fe1d052c630642cc6afddd07d5cd7873da948644508be3b9d4a7", "d5bf0e6ec8ba346a2cf35cb55bf4adfddbc6b6576fcc9e10863daa523e418dbb", "d7574e283f83c08501607586b3167728c58e8442947e027d2d4c7dcd6d82f453", "dc889c84241a857c263a2b1cd1121507db7d5b5f5e87e77147097230f374d10b", "f4748697b349f373002656bf32fede706a0e713d67bfdcf04edf39b1f61d46eb"]
|
||||||
|
mypy-extensions = ["090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d", "2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"]
|
||||||
|
pdoc3 = ["df43a7f1a139a5a61e778f424f167719acc33ed71bf13b6c34c7ebd139866eb7"]
|
||||||
|
pluggy = ["15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0", "966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"]
|
||||||
|
py = ["64f65755aee5b381cea27766a3a147c3f15b9b6b9ac88676de66ba2ae36793fa", "dc639b046a6e2cff5bbe40194ad65936d6ba360b52b3c3fe1d08a82dd50b5e53"]
|
||||||
|
pytest = ["3f193df1cfe1d1609d4c583838bea3d532b18d6160fd3f55c9447fdca30848ec", "e246cf173c01169b9617fc07264b7b1316e78d7a650055235d6d897bc80d9660"]
|
||||||
|
six = ["1f1b7d42e254082a9db6279deae68afb421ceba6158efa6131de7b3003ee93fd", "30f610279e8b2578cab6db20741130331735c781b56053c59c4076da27f06b66"]
|
||||||
|
texttable = ["eff3703781fbc7750125f50e10f001195174f13825a92a45e9403037d539b4f4"]
|
||||||
|
typed-ast = ["1170afa46a3799e18b4c977777ce137bb53c7485379d9706af8a59f2ea1aa161", "18511a0b3e7922276346bcb47e2ef9f38fb90fd31cb9223eed42c85d1312344e", "262c247a82d005e43b5b7f69aff746370538e176131c32dda9cb0f324d27141e", "2b907eb046d049bcd9892e3076c7a6456c93a25bebfe554e931620c90e6a25b0", "354c16e5babd09f5cb0ee000d54cfa38401d8b8891eefa878ac772f827181a3c", "48e5b1e71f25cfdef98b013263a88d7145879fbb2d5185f2a0c79fa7ebbeae47", "4e0b70c6fc4d010f8107726af5fd37921b666f5b31d9331f0bd24ad9a088e631", "630968c5cdee51a11c05a30453f8cd65e0cc1d2ad0d9192819df9978984529f4", "66480f95b8167c9c5c5c87f32cf437d585937970f3fc24386f313a4c97b44e34", "71211d26ffd12d63a83e079ff258ac9d56a1376a25bc80b1cdcdf601b855b90b", "7954560051331d003b4e2b3eb822d9dd2e376fa4f6d98fee32f452f52dd6ebb2", "838997f4310012cf2e1ad3803bce2f3402e9ffb71ded61b5ee22617b3a7f6b6e", "95bd11af7eafc16e829af2d3df510cecfd4387f6453355188342c3e79a2ec87a", "bc6c7d3fa1325a0c6613512a093bc2a2a15aeec350451cbdf9e1d4bffe3e3233", "cc34a6f5b426748a507dd5d1de4c1978f2eb5626d51326e43280941206c209e1", "d755f03c1e4a51e9b24d899561fec4ccaf51f210d52abdf8c07ee2849b212a36", "d7c45933b1bdfaf9f36c579671fec15d25b06c8398f113dab64c18ed1adda01d", "d896919306dd0aa22d0132f62a1b78d11aaf4c9fc5b3410d3c666b818191630a", "fdc1c9bbf79510b76408840e009ed65958feba92a88833cdceecff93ae8fff66", "ffde2fbfad571af120fcbfbbc61c72469e72f550d676c3342492a9dfdefb8f12"]
|
||||||
|
typing-extensions = ["091ecc894d5e908ac75209f10d5b4f118fbdb2eb1ede6a63544054bb1edb41f2", "910f4656f54de5993ad9304959ce9bb903f90aadc7c67a0bef07e678014e892d", "cf8b63fedea4d89bab840ecbb93e75578af28f76f66c35889bd7065f5af88575"]
|
||||||
|
zipp = ["3718b1cbcd963c7d4c5511a8240812904164b7f381b647143a89d3b98f9bcd8e", "f06903e9f1f43b12d371004b4ac7b06ab39a44adc747266928ae6debfa7b3335"]
|
||||||
24
emoji-cmd/pyproject.toml
Normal file
24
emoji-cmd/pyproject.toml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
[tool.poetry]
|
||||||
|
name = "emoji-cmd"
|
||||||
|
version = "1.0"
|
||||||
|
description = ""
|
||||||
|
authors = ["dtomlinson <dtomlinson@panaetius.co.uk>"]
|
||||||
|
|
||||||
|
[tool.poetry.dependencies]
|
||||||
|
python = "^3.7"
|
||||||
|
emojis = "^0.5.1"
|
||||||
|
argparse = "^1.4"
|
||||||
|
texttable = "^1.6"
|
||||||
|
click = "^7.0"
|
||||||
|
|
||||||
|
[tool.poetry.dev-dependencies]
|
||||||
|
pytest = "^3.0"
|
||||||
|
mypy = "^0.740.0"
|
||||||
|
pdoc3 = "^0.7.2"
|
||||||
|
|
||||||
|
[tool.poetry.plugins."console_scripts"]
|
||||||
|
"emoji" = "emoji_cmd.cli:cli"
|
||||||
|
|
||||||
|
[build-system]
|
||||||
|
requires = ["poetry>=0.12"]
|
||||||
|
build-backend = "poetry.masonry.api"
|
||||||
11
emoji-cmd/requirements.txt
Normal file
11
emoji-cmd/requirements.txt
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
argparse==1.4.0 \
|
||||||
|
--hash=sha256:62b089a55be1d8949cd2bc7e0df0bddb9e028faefc8c32038cc84862aefdd6e4 \
|
||||||
|
--hash=sha256:c31647edb69fd3d465a847ea3157d37bed1f95f19760b11a47aa91c04b666314
|
||||||
|
click==7.0 \
|
||||||
|
--hash=sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13 \
|
||||||
|
--hash=sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7
|
||||||
|
emojis==0.5.1 \
|
||||||
|
--hash=sha256:30d0b317fc9ab70b6acdc752a1ed481b2d278f7ca7c68aef222e4cd833e5de7f \
|
||||||
|
--hash=sha256:a719391df2de34689ce47d78bb302b0f0dc24656b4f83f501725de7b0ee621ee
|
||||||
|
texttable==1.6.2 \
|
||||||
|
--hash=sha256:eff3703781fbc7750125f50e10f001195174f13825a92a45e9403037d539b4f4
|
||||||
71
emoji-cmd/src/emoji_cmd/__init__.py
Normal file
71
emoji-cmd/src/emoji_cmd/__init__.py
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
import emojis # type: ignore
|
||||||
|
import argparse
|
||||||
|
from texttable import Texttable # type: ignore
|
||||||
|
|
||||||
|
|
||||||
|
def main(emoji: str) -> None:
|
||||||
|
"""returns an emoji from a string
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
emoji : str
|
||||||
|
a string for the emoji name/tag/description
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
None
|
||||||
|
"""
|
||||||
|
|
||||||
|
t = Texttable()
|
||||||
|
|
||||||
|
searchOne = [y for y in [x for x in emojis.db.get_tags()] if emoji in y]
|
||||||
|
|
||||||
|
emojiResults = []
|
||||||
|
|
||||||
|
emojiResults.append((['tag/alias', 'emoji']))
|
||||||
|
|
||||||
|
for item in searchOne:
|
||||||
|
listOne = [x for x in emojis.db.get_emojis_by_tag(item)]
|
||||||
|
for i in range(0, len(listOne)):
|
||||||
|
emojiResults.append(
|
||||||
|
[(listOne[i][0][0]).strip(), (listOne[i][1]).strip()]
|
||||||
|
)
|
||||||
|
|
||||||
|
for alias, emojiAlias in zip(
|
||||||
|
emojis.db.get_emoji_aliases().keys(),
|
||||||
|
emojis.db.get_emoji_aliases().values(),
|
||||||
|
):
|
||||||
|
if emoji in alias:
|
||||||
|
emojiResults.append([alias.strip(), emojiAlias.strip()])
|
||||||
|
|
||||||
|
t.add_rows(emojiResults)
|
||||||
|
|
||||||
|
if len(emojiResults) - 1 == 0:
|
||||||
|
print(f'I found {len(emojiResults)-1} emojis for {emoji}! 😢')
|
||||||
|
else:
|
||||||
|
print(f'I found {len(emojiResults)-1} emojis for {emoji}! 🥳')
|
||||||
|
print(t.draw())
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
parser = argparse.ArgumentParser(
|
||||||
|
description="""
|
||||||
|
emoji lookup script to be ran on the shell
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
|
||||||
|
parser.add_argument(
|
||||||
|
'emoji',
|
||||||
|
type=str,
|
||||||
|
help=(
|
||||||
|
'full path to list of files. leave blank'
|
||||||
|
' to run in current directory. the results will be'
|
||||||
|
' placed in this folder if specified.'
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
emoji = vars(args)['emoji']
|
||||||
|
|
||||||
|
main(emoji)
|
||||||
1
emoji-cmd/src/emoji_cmd/__version__.py
Normal file
1
emoji-cmd/src/emoji_cmd/__version__.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
__version__ = '1.0'
|
||||||
29
emoji-cmd/src/emoji_cmd/cli.py
Normal file
29
emoji-cmd/src/emoji_cmd/cli.py
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
import emoji_cmd
|
||||||
|
from emoji_cmd.__version__ import __version__
|
||||||
|
import click
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
@click.command()
|
||||||
|
@click.help_option()
|
||||||
|
@click.version_option(version=__version__ + ', (Mon Nov 25 02:08:55 2019)')
|
||||||
|
# @click.argument('emoji')
|
||||||
|
@click.option(
|
||||||
|
'-s', '--search', 'emoji', help='Prints all emojis matching TEXT', type=str
|
||||||
|
)
|
||||||
|
def cli(emoji: str):
|
||||||
|
"""Emojis on the command line 🥳!
|
||||||
|
|
||||||
|
Search for an emoji with --search EMOJI
|
||||||
|
"""
|
||||||
|
emoji_cmd.main(emoji)
|
||||||
|
|
||||||
|
|
||||||
|
if getattr(sys, 'frozen', False):
|
||||||
|
cli(sys.argv[1:])
|
||||||
|
|
||||||
|
# if __name__ == '__main__':
|
||||||
|
# options = '--help'
|
||||||
|
|
||||||
|
# print(f'> ' + options)
|
||||||
|
# cli(options.split())
|
||||||
0
emoji-cmd/tests/__init__.py
Normal file
0
emoji-cmd/tests/__init__.py
Normal file
1
emoji-cmd/tests/test_emoji_cmd.py
Normal file
1
emoji-cmd/tests/test_emoji_cmd.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
import emoji_cmd
|
||||||
23
gui-test/demo.py
Normal file
23
gui-test/demo.py
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
import PySimpleGUI as sg
|
||||||
|
import sys
|
||||||
|
|
||||||
|
print(sys.version)
|
||||||
|
|
||||||
|
sg.change_look_and_feel('DarkAmber') # Add a little color
|
||||||
|
# All the stuff inside your window.
|
||||||
|
layout = [
|
||||||
|
[sg.Text('Some text on Row 1')],
|
||||||
|
[sg.Text('Enter something on Row 2'), sg.InputText()],
|
||||||
|
[sg.Button('Ok'), sg.Button('Cancel')],
|
||||||
|
]
|
||||||
|
|
||||||
|
# Create the Window
|
||||||
|
window = sg.Window('Window Title', layout)
|
||||||
|
# Event Loop to process "events" and get the "values" of the inputs
|
||||||
|
while True:
|
||||||
|
event, values = window.read()
|
||||||
|
if event in (None, 'Cancel'): # if user closes window or clicks cancel
|
||||||
|
break
|
||||||
|
print('You entered ', values[0])
|
||||||
|
|
||||||
|
window.close()
|
||||||
3
gui-test/popup.py
Normal file
3
gui-test/popup.py
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
import PySimpleGUIQt as sg
|
||||||
|
|
||||||
|
sg.Popup('Hello From PySimpleGUI!', 'This is the shortest GUI program ever!')
|
||||||
20
gui-test/popup2.py
Normal file
20
gui-test/popup2.py
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
import PySimpleGUIQt as sg
|
||||||
|
|
||||||
|
myVar = 1
|
||||||
|
|
||||||
|
|
||||||
|
def main(var: str, *args, **kwargs) -> list:
|
||||||
|
|
||||||
|
event, values = sg.Window(
|
||||||
|
'Get filename example',
|
||||||
|
[
|
||||||
|
[sg.Text('Filename')],
|
||||||
|
[sg.Input(), sg.FileBrowse()],
|
||||||
|
[sg.OK(), sg.Cancel()],
|
||||||
|
],
|
||||||
|
).Read()
|
||||||
|
return list
|
||||||
|
|
||||||
|
|
||||||
|
# if __name__ == '__main__':
|
||||||
|
main()
|
||||||
43
logic-puzzle/dev/testSolver.py
Normal file
43
logic-puzzle/dev/testSolver.py
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
import constraint
|
||||||
|
|
||||||
|
|
||||||
|
problem = constraint.Problem()
|
||||||
|
|
||||||
|
nationality = ["English", "Spanish", "Ukrainian", "Norwegian", "Japanese"]
|
||||||
|
pet = ["dog", "snails", "fox", "horse", "zebra"]
|
||||||
|
cigarette = [
|
||||||
|
"Old Gold", "Kools", "Chesterfields", "Lucky Strike", "Parliaments"
|
||||||
|
]
|
||||||
|
colour = ["red", "green", "yellow", "blue", "ivory"]
|
||||||
|
beverage = ["coffee", "milk", "orange juice", "water", "tea"]
|
||||||
|
|
||||||
|
criteria = nationality + pet + cigarette + colour + beverage
|
||||||
|
problem.addVariables(criteria, [1, 2, 3, 4, 5])
|
||||||
|
|
||||||
|
problem.addConstraint(constraint.AllDifferentConstraint(), nationality)
|
||||||
|
problem.addConstraint(constraint.AllDifferentConstraint(), pet)
|
||||||
|
problem.addConstraint(constraint.AllDifferentConstraint(), cigarette)
|
||||||
|
problem.addConstraint(constraint.AllDifferentConstraint(), colour)
|
||||||
|
problem.addConstraint(constraint.AllDifferentConstraint(), beverage)
|
||||||
|
|
||||||
|
problem.addConstraint(lambda e, r: e == r, ["English", "red"])
|
||||||
|
problem.addConstraint(lambda s, d: s == d, ("Spanish", "dog"))
|
||||||
|
problem.addConstraint(lambda c, g: c == g, ("coffee", "green"))
|
||||||
|
problem.addConstraint(lambda u, t: u == t, ("Ukrainian", "tea"))
|
||||||
|
problem.addConstraint(lambda g, i: g - i == 1, ("green", "ivory"))
|
||||||
|
problem.addConstraint(lambda o, s: o == s, ("Old Gold", "snails"))
|
||||||
|
problem.addConstraint(lambda k, y: k == y, ("Kools", "yellow"))
|
||||||
|
problem.addConstraint(constraint.InSetConstraint([3]), ["milk"])
|
||||||
|
problem.addConstraint(constraint.InSetConstraint([1]), ["Norwegian"])
|
||||||
|
problem.addConstraint(lambda c, f: av bs(c - f) == 1, ("Chesterfields", "fox"))
|
||||||
|
problem.addConstraint(lambda k, h: abs(k - h) == 1, ("Kools", "horse"))
|
||||||
|
problem.addConstraint(lambda q, o: q == o, ["Lucky Strike", "orange juice"])
|
||||||
|
problem.addConstraint(lambda j, p: j == p, ["Japanese", "Parliaments"])
|
||||||
|
problem.addConstraint(lambda k, h: abs(k - h) == 1, ("Norwegian", "blue"))
|
||||||
|
|
||||||
|
solution = problem.getSolutions()[0]
|
||||||
|
|
||||||
|
for i in range(1, 6):
|
||||||
|
for x in solution:
|
||||||
|
if solution[x] == i:
|
||||||
|
print(str(i), x)
|
||||||
326
markov/markov.py
326
markov/markov.py
@@ -2,60 +2,116 @@ import numpy as np
|
|||||||
import itertools
|
import itertools
|
||||||
import functools
|
import functools
|
||||||
|
|
||||||
""" Define our data """
|
|
||||||
# The Statespace
|
|
||||||
states = np.array(['L', 'w', 'W'])
|
|
||||||
|
|
||||||
# Possible sequences of events
|
|
||||||
transitionName = np.array([['LL', 'Lw', 'LW'],
|
|
||||||
['wL', 'ww', 'wW'],
|
|
||||||
['WL', 'Ww', 'WW']])
|
|
||||||
|
|
||||||
# Probabilities Matrix (transition matrix)
|
|
||||||
transitionMatrix = np.array([[0.8, 0.15, 0.05],
|
|
||||||
[0.8, 0.15, 0.05],
|
|
||||||
[0.8, 0.15, 0.05]])
|
|
||||||
|
|
||||||
# Starting state
|
|
||||||
startingState = 'L'
|
|
||||||
# Steps to run
|
|
||||||
stepTime = 2
|
|
||||||
# End state you want to find probabilites of
|
|
||||||
endState = 'L'
|
|
||||||
|
|
||||||
|
|
||||||
""" Set our parameters """
|
""" Set our parameters """
|
||||||
# Should we seed the results?
|
# Should we seed the results?
|
||||||
setSeed = False
|
setSeed = False
|
||||||
seedNum = 27
|
seedNum = 27
|
||||||
|
|
||||||
|
|
||||||
""" Simulation parameters """
|
""" Simulation parameters """
|
||||||
# Should we simulate more than once?
|
# Should we simulate more than once?
|
||||||
setSim = True
|
setSim = True
|
||||||
simNum = 10
|
simNum = 15000
|
||||||
|
|
||||||
|
""" Define our data """
|
||||||
|
# The Statespace
|
||||||
|
states = np.array(['L', 'w', 'W'])
|
||||||
|
|
||||||
|
# Possible sequences of events
|
||||||
|
transitionName = np.array(
|
||||||
|
[
|
||||||
|
['LL', 'Lw', 'LW'],
|
||||||
|
['wL', 'ww', 'wW'],
|
||||||
|
['WL', 'Ww', 'WW'],
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
# Probabilities Matrix (transition matrix)
|
||||||
|
transitionMatrix = np.array(
|
||||||
|
[
|
||||||
|
[0.6, 0.1, 0.3],
|
||||||
|
[0.1, 0.7, 0.2],
|
||||||
|
[0.2, 0.2, 0.6],
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
# Starting state - Given as a list of probabilities of starting
|
||||||
|
# in each state. To always start at the same state set one of them
|
||||||
|
# to 1 and the rest to 0. These must add to 1!
|
||||||
|
initial_dist = np.array([1, 0, 0])
|
||||||
|
|
||||||
|
# Steps to run - How many steps or jumps we want the markov chain to make
|
||||||
|
stepTime = 2
|
||||||
|
# End state you want to find probabilites of - we can estimate the stationary
|
||||||
|
# distribution by running this many times for many steps.
|
||||||
|
# E.g to find the stat distribution for L run the simulation 10,000 times
|
||||||
|
# for 1000 jumps. This should be very close to the actual value which
|
||||||
|
# we can find below.
|
||||||
|
endState = 'L'
|
||||||
|
|
||||||
|
""" Find the transition matrix for the given number of steps
|
||||||
|
This finds the probabilities of going from step i to step j
|
||||||
|
in N number of steps, where N is your step size
|
||||||
|
E.g 10 steps would give P_10 which is prob of going from step i
|
||||||
|
to step j in exactly 10 steps """
|
||||||
|
transition_matrix_step = True
|
||||||
|
|
||||||
|
""" Get Stationary distribution of the Markov Chain
|
||||||
|
This tells you what % of time you spend in each state if you
|
||||||
|
simulated the Markov Chain for a high number of steps
|
||||||
|
THIS NEEDS THE INTIIAL DISTRIBUTION SETTING """
|
||||||
|
stat_dist = True
|
||||||
|
|
||||||
|
|
||||||
# A class that implements the Markov chain to forecast the state/mood:
|
# A class that implements the Markov chain to forecast the state/mood:
|
||||||
class markov(object):
|
class markov(object):
|
||||||
"""simulates a markov chain given its states, current state and
|
"""Simulates a markov chain given its states, current state and
|
||||||
transition matrix.
|
transition matrix.
|
||||||
|
|
||||||
Parameters:
|
Attributes
|
||||||
states: 1-d array containing all the possible states
|
----------
|
||||||
transitionName: 2-d array containing a list
|
change : str
|
||||||
of the all possible state directions
|
Random choice from transitionName
|
||||||
transitionMatrix: 2-d array containing all
|
currentState : str
|
||||||
the probabilites of moving to each state
|
Current state of the Markov Chain
|
||||||
currentState: a string indicating the starting state
|
prob : float
|
||||||
steps: an integer determining how many steps (or times) to simulate"""
|
Step probability
|
||||||
|
stateList : list
|
||||||
|
A list that tracks how `currentState` evolves over time
|
||||||
|
states : np.array
|
||||||
|
An array containing the possible states of the chain
|
||||||
|
steps : int
|
||||||
|
See below
|
||||||
|
transitionMatrix : np.array
|
||||||
|
Transition matrix
|
||||||
|
transitionName : np.array
|
||||||
|
Step representation of the probailities of the transisition matrix
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
states : np.array
|
||||||
|
See above
|
||||||
|
transitionName : np.array
|
||||||
|
See above
|
||||||
|
transitionMatrix : np.array
|
||||||
|
See above
|
||||||
|
currentState : str
|
||||||
|
See above
|
||||||
|
steps : int
|
||||||
|
How many steps to take
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
self,
|
||||||
|
states: np.array,
|
||||||
|
transitionName: np.array,
|
||||||
|
transitionMatrix: np.array,
|
||||||
|
currentState: str,
|
||||||
|
steps: int,
|
||||||
|
):
|
||||||
|
|
||||||
def __init__(self, states: np.array, transitionName: np.array,
|
|
||||||
transitionMatrix: np.array, currentState: str,
|
|
||||||
steps: int):
|
|
||||||
super(markov, self).__init__()
|
super(markov, self).__init__()
|
||||||
self.states = states
|
self.states = states
|
||||||
self.list = list
|
|
||||||
self.transitionName = transitionName
|
self.transitionName = transitionName
|
||||||
self.transitionMatrix = transitionMatrix
|
self.transitionMatrix = transitionMatrix
|
||||||
self.currentState = currentState
|
self.currentState = currentState
|
||||||
@@ -65,72 +121,106 @@ class markov(object):
|
|||||||
def setSeed(num: int):
|
def setSeed(num: int):
|
||||||
return np.random.seed(num)
|
return np.random.seed(num)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def transition_matrix_step(transitionMatrix, steps):
|
||||||
|
try:
|
||||||
|
for _ in itertools.repeat(None, steps - 1):
|
||||||
|
step_mat = np.matmul(transitionMatrix, transitionMatrix)
|
||||||
|
return step_mat
|
||||||
|
except UnboundLocalError:
|
||||||
|
return transitionMatrix
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def stationary_dist(transitionMatrix, initial_dist, steps):
|
||||||
|
w, v = np.linalg.eig(transitionMatrix.T)
|
||||||
|
j_stationary = np.argmin(abs(w - 1.0))
|
||||||
|
p_stationary = v[:, j_stationary].real
|
||||||
|
p_stationary /= p_stationary.sum()
|
||||||
|
return p_stationary
|
||||||
|
|
||||||
@functools.lru_cache(maxsize=128)
|
@functools.lru_cache(maxsize=128)
|
||||||
def forecast(self):
|
def forecast(self):
|
||||||
print(f'Start state: {self.currentState}')
|
"""Simulate the Markov chain
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
np.array
|
||||||
|
Description
|
||||||
|
"""
|
||||||
|
print(f'Start state: {self.currentState}\n')
|
||||||
# Shall store the sequence of states taken
|
# Shall store the sequence of states taken
|
||||||
self.stateList = [self.currentState]
|
self.stateList = [self.currentState]
|
||||||
i = 0
|
i = 0
|
||||||
# To calculate the probability of the stateList
|
# To calculate the probability of the stateList
|
||||||
self.prob = 1
|
self.prob = 1
|
||||||
while i != self.steps:
|
while i != self.steps:
|
||||||
if self.currentState == 'L':
|
if self.currentState == self.states[0]:
|
||||||
self.change = np.random.choice(self.transitionName[0],
|
self.change = np.random.choice(
|
||||||
replace=True,
|
self.transitionName[0], replace=True, p=transitionMatrix[0]
|
||||||
p=transitionMatrix[0])
|
)
|
||||||
if self.change == 'LL':
|
if self.change == self.transitionName[0][0]:
|
||||||
self.prob = self.prob * 0.8
|
self.prob = self.prob * self.transitionMatrix[0][0]
|
||||||
self.stateList.append('L')
|
self.stateList.append(self.states[0])
|
||||||
pass
|
pass
|
||||||
elif self.change == 'Lw':
|
elif self.change == self.transitionName[0][1]:
|
||||||
self.prob = self.prob * 0.15
|
self.prob = self.prob * self.transitionMatrix[0][1]
|
||||||
self.currentState = 'w'
|
self.currentState = self.states[1]
|
||||||
self.stateList.append('w')
|
self.stateList.append(self.states[1])
|
||||||
else:
|
else:
|
||||||
self.prob = self.prob * 0.05
|
self.prob = self.transitionMatrix[0][2]
|
||||||
self.currentState = "W"
|
self.currentState = self.states[2]
|
||||||
self.stateList.append("W")
|
self.stateList.append(self.states[2])
|
||||||
elif self.currentState == "w":
|
elif self.currentState == self.states[1]:
|
||||||
self.change = np.random.choice(self.transitionName[1],
|
self.change = np.random.choice(
|
||||||
replace=True,
|
self.transitionName[1], replace=True, p=transitionMatrix[1]
|
||||||
p=transitionMatrix[1])
|
)
|
||||||
if self.change == "ww":
|
if self.change == self.transitionName[1][0]:
|
||||||
self.prob = self.prob * 0.15
|
self.prob = self.prob * self.transitionMatrix[1][0]
|
||||||
self.stateList.append("w")
|
self.currentState = self.states[0]
|
||||||
|
self.stateList.append(self.states[0])
|
||||||
|
elif self.change == self.transitionName[1][1]:
|
||||||
|
self.prob = self.prob * self.transitionMatrix[1][1]
|
||||||
|
self.stateList.append(self.states[1])
|
||||||
pass
|
pass
|
||||||
elif self.change == "wL":
|
|
||||||
self.prob = self.prob * 0.8
|
|
||||||
self.currentState = "L"
|
|
||||||
self.stateList.append("L")
|
|
||||||
else:
|
else:
|
||||||
self.prob = self.prob * 0.05
|
self.prob = self.prob * self.transitionMatrix[1][2]
|
||||||
self.currentState = "W"
|
self.currentState = self.states[2]
|
||||||
self.stateList.append("W")
|
self.stateList.append(self.states[2])
|
||||||
elif self.currentState == "W":
|
elif self.currentState == self.states[2]:
|
||||||
self.change = np.random.choice(self.transitionName[2],
|
self.change = np.random.choice(
|
||||||
replace=True,
|
self.transitionName[2], replace=True, p=transitionMatrix[2]
|
||||||
p=transitionMatrix[2])
|
)
|
||||||
if self.change == "WW":
|
if self.change == self.transitionName[2][0]:
|
||||||
self.prob = self.prob * 0.05
|
self.prob = self.prob * self.transitionMatrix[2][0]
|
||||||
self.stateList.append("W")
|
self.currentState = self.states[0]
|
||||||
|
self.stateList.append(self.states[0])
|
||||||
|
elif self.change == self.transitionName[2][1]:
|
||||||
|
self.prob = self.prob * self.transitionMatrix[2][1]
|
||||||
|
self.currentState = self.states[1]
|
||||||
|
self.stateList.append(self.states[1])
|
||||||
|
else:
|
||||||
|
self.prob = self.prob * self.transitionMatrix[2][2]
|
||||||
|
self.stateList.append(self.states[2])
|
||||||
pass
|
pass
|
||||||
elif self.change == "WL":
|
|
||||||
self.prob = self.prob * 0.8
|
|
||||||
self.currentState = "L"
|
|
||||||
self.stateList.append("L")
|
|
||||||
else:
|
|
||||||
self.prob = self.prob * 0.15
|
|
||||||
self.currentState = "w"
|
|
||||||
self.stateList.append("w")
|
|
||||||
i += 1
|
i += 1
|
||||||
print(f'Possible states: {self.stateList}')
|
print(f'Path Markov Chain took in this iteration: {self.stateList}')
|
||||||
print(f'End state after {self.steps} steps: {self.currentState}')
|
print(f'End state after {self.steps} steps: {self.currentState}')
|
||||||
print(f'Probability of all the possible sequence of states:'
|
print(
|
||||||
f' {self.prob}')
|
f'Probability of taking these exact steps in this order is:'
|
||||||
|
f' {self.prob:.2f} or {self.prob:.2%}\n'
|
||||||
|
)
|
||||||
return self.stateList
|
return self.stateList
|
||||||
|
|
||||||
|
|
||||||
|
def checker(item, name):
|
||||||
|
try:
|
||||||
|
item is not None
|
||||||
|
except Exception:
|
||||||
|
raise Exception(f'{name} is not set - set it and try again.')
|
||||||
|
|
||||||
|
|
||||||
def main(*args, **kwargs):
|
def main(*args, **kwargs):
|
||||||
|
global startingState
|
||||||
try:
|
try:
|
||||||
simNum = kwargs['simNum']
|
simNum = kwargs['simNum']
|
||||||
except KeyError:
|
except KeyError:
|
||||||
@@ -149,26 +239,74 @@ def main(*args, **kwargs):
|
|||||||
count = 0
|
count = 0
|
||||||
# Simulate Multiple Times
|
# Simulate Multiple Times
|
||||||
if setSim:
|
if setSim:
|
||||||
|
if initial_dist is not None:
|
||||||
|
startingState = np.random.choice(states, p=initial_dist)
|
||||||
for _ in itertools.repeat(None, simNum):
|
for _ in itertools.repeat(None, simNum):
|
||||||
markovChain = markov(states, transitionName,
|
markovChain = markov(
|
||||||
transitionMatrix, startingState,
|
states,
|
||||||
stepTime)
|
transitionName,
|
||||||
|
transitionMatrix,
|
||||||
|
startingState,
|
||||||
|
stepTime,
|
||||||
|
)
|
||||||
|
list_state.append(markovChain.forecast())
|
||||||
|
startingState = np.random.choice(states, p=initial_dist)
|
||||||
|
else:
|
||||||
|
for _ in itertools.repeat(None, simNum):
|
||||||
|
markovChain = markov(
|
||||||
|
states,
|
||||||
|
transitionName,
|
||||||
|
transitionMatrix,
|
||||||
|
startingState,
|
||||||
|
stepTime,
|
||||||
|
)
|
||||||
list_state.append(markovChain.forecast())
|
list_state.append(markovChain.forecast())
|
||||||
else:
|
else:
|
||||||
for _ in range(1, 2):
|
for _ in range(1, 2):
|
||||||
list_state.append(markov(states, transitionName,
|
list_state.append(
|
||||||
transitionMatrix, startingState,
|
markov(
|
||||||
stepTime).forecast())
|
states,
|
||||||
|
transitionName,
|
||||||
|
transitionMatrix,
|
||||||
|
startingState,
|
||||||
|
stepTime,
|
||||||
|
).forecast()
|
||||||
|
)
|
||||||
for list in list_state:
|
for list in list_state:
|
||||||
if(list[-1] == f'{endState!s}'):
|
if list[-1] == f'{endState!s}':
|
||||||
print(True, list)
|
print(
|
||||||
|
f'SUCCESS - path ended in the requested state {endState!s}'
|
||||||
|
f':',
|
||||||
|
list,
|
||||||
|
)
|
||||||
count += 1
|
count += 1
|
||||||
else:
|
else:
|
||||||
print(False, list)
|
print(
|
||||||
|
f'FAILURE - path did not end in the requested state'
|
||||||
|
f' {endState!s}:',
|
||||||
|
list,
|
||||||
|
)
|
||||||
if setSim is False:
|
if setSim is False:
|
||||||
simNum = 1
|
simNum = 1
|
||||||
print(f'\nThe probability of starting in {startingState} and finishing'
|
print(
|
||||||
f' in {endState} after {stepTime} steps is {(count / simNum):.2%}')
|
f'\nTherefore the estimated probability of starting in'
|
||||||
|
f' {startingState} and finishing in {endState} after '
|
||||||
|
f'{stepTime} steps is '
|
||||||
|
f'{(count / simNum):.2%}.\n'
|
||||||
|
f'This is calculated by number of success/total steps\n'
|
||||||
|
)
|
||||||
|
if transition_matrix_step:
|
||||||
|
print(
|
||||||
|
f'P_{stepTime} is: \n'
|
||||||
|
f'{markov.transition_matrix_step(transitionMatrix, stepTime)}\n'
|
||||||
|
)
|
||||||
|
if stat_dist:
|
||||||
|
checker(initial_dist, 'initial distribution')
|
||||||
|
print(
|
||||||
|
f"""Stat dist is {
|
||||||
|
markov.stationary_dist(transitionMatrix,initial_dist, stepTime)
|
||||||
|
}"""
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
229
markov/markov_test.py
Normal file
229
markov/markov_test.py
Normal file
@@ -0,0 +1,229 @@
|
|||||||
|
import numpy as np
|
||||||
|
import itertools
|
||||||
|
import functools
|
||||||
|
|
||||||
|
|
||||||
|
""" Set our parameters """
|
||||||
|
# Should we seed the results?
|
||||||
|
setSeed = False
|
||||||
|
seedNum = 27
|
||||||
|
|
||||||
|
""" Simulation parameters """
|
||||||
|
# Should we simulate more than once?
|
||||||
|
setSim = True
|
||||||
|
simNum = 1
|
||||||
|
|
||||||
|
""" Define our data """
|
||||||
|
# The Statespace
|
||||||
|
states = np.array(['L', 'w', 'W'])
|
||||||
|
|
||||||
|
# Possible sequences of events
|
||||||
|
transitionName = np.array([['LL', 'Lw', 'LW'],
|
||||||
|
['wL', 'ww', 'wW'],
|
||||||
|
['WL', 'Ww', 'WW']])
|
||||||
|
|
||||||
|
# Probabilities Matrix (transition matrix)
|
||||||
|
transitionMatrix = np.array([[0.6, 0.1, 0.3],
|
||||||
|
[0.1, 0.7, 0.2],
|
||||||
|
[0.2, 0.2, 0.6]])
|
||||||
|
|
||||||
|
# Starting state
|
||||||
|
startingState = 'w'
|
||||||
|
initial_dist = np.array([0, 1, 0])
|
||||||
|
# initial_dist = None
|
||||||
|
|
||||||
|
# Steps to run
|
||||||
|
stepTime = 100
|
||||||
|
# End state you want to find probabilites of
|
||||||
|
endState = 'W'
|
||||||
|
|
||||||
|
""" Find the transition matrix for the given number of steps
|
||||||
|
This finds the probabilities of going from step i to step j
|
||||||
|
in N number of steps, where N is your step size
|
||||||
|
E.g 10 steps would give P_10 which is prob of going from step i
|
||||||
|
to step j in exactly 10 steps """
|
||||||
|
transition_matrix_step = True
|
||||||
|
|
||||||
|
""" Get Stationary distribution of the Markov Chain
|
||||||
|
This tells you what % of time you spend in each state if you
|
||||||
|
simulated the Markov Chain for a high number of steps
|
||||||
|
THIS NEEDS THE INTIIAL DISTRIBUTION SETTING """
|
||||||
|
stat_dist = True
|
||||||
|
|
||||||
|
|
||||||
|
# A class that implements the Markov chain to forecast the state/mood:
|
||||||
|
class markov(object):
|
||||||
|
"""simulates a markov chain given its states, current state and
|
||||||
|
transition matrix.
|
||||||
|
|
||||||
|
Parameters:
|
||||||
|
states: 1-d array containing all the possible states
|
||||||
|
transitionName: 2-d array containing a list
|
||||||
|
of the all possible state directions
|
||||||
|
transitionMatrix: 2-d array containing all
|
||||||
|
the probabilites of moving to each state
|
||||||
|
currentState: a string indicating the starting state
|
||||||
|
steps: an integer determining how many steps (or times) to simulate"""
|
||||||
|
|
||||||
|
def __init__(self, states: np.array, transitionName: np.array,
|
||||||
|
transitionMatrix: np.array, currentState: str,
|
||||||
|
steps: int):
|
||||||
|
super(markov, self).__init__()
|
||||||
|
self.states = states
|
||||||
|
self.list = list
|
||||||
|
self.transitionName = transitionName
|
||||||
|
self.transitionMatrix = transitionMatrix
|
||||||
|
self.currentState = currentState
|
||||||
|
self.steps = steps
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def setSeed(num: int):
|
||||||
|
return np.random.seed(num)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def transition_matrix_step(transitionMatrix, steps):
|
||||||
|
for _ in itertools.repeat(None, steps):
|
||||||
|
step_mat = np.matmul(transitionMatrix, transitionMatrix)
|
||||||
|
return step_mat
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def stationary_dist(transitionMatrix, initial_dist, steps):
|
||||||
|
w, v = np.linalg.eig(transitionMatrix.T)
|
||||||
|
j_stationary = np.argmin(abs(w - 1.0))
|
||||||
|
p_stationary = v[:, j_stationary].real
|
||||||
|
p_stationary /= p_stationary.sum()
|
||||||
|
return p_stationary
|
||||||
|
|
||||||
|
@functools.lru_cache(maxsize=128)
|
||||||
|
def forecast(self):
|
||||||
|
print(f'Start state: {self.currentState}\n')
|
||||||
|
# Shall store the sequence of states taken
|
||||||
|
self.stateList = [self.currentState]
|
||||||
|
i = 0
|
||||||
|
# To calculate the probability of the stateList
|
||||||
|
self.prob = 1
|
||||||
|
while i != self.steps:
|
||||||
|
if self.currentState == 'L':
|
||||||
|
self.change = np.random.choice(self.transitionName[0],
|
||||||
|
replace=True,
|
||||||
|
p=transitionMatrix[0])
|
||||||
|
if self.change == 'LL':
|
||||||
|
self.prob = self.prob * 0.8
|
||||||
|
self.stateList.append('L')
|
||||||
|
pass
|
||||||
|
elif self.change == 'Lw':
|
||||||
|
self.prob = self.prob * 0.15
|
||||||
|
self.currentState = 'w'
|
||||||
|
self.stateList.append('w')
|
||||||
|
else:
|
||||||
|
self.prob = self.prob * 0.05
|
||||||
|
self.currentState = "W"
|
||||||
|
self.stateList.append("W")
|
||||||
|
elif self.currentState == "w":
|
||||||
|
self.change = np.random.choice(self.transitionName[1],
|
||||||
|
replace=True,
|
||||||
|
p=transitionMatrix[1])
|
||||||
|
if self.change == "ww":
|
||||||
|
self.prob = self.prob * 0.15
|
||||||
|
self.stateList.append("w")
|
||||||
|
pass
|
||||||
|
elif self.change == "wL":
|
||||||
|
self.prob = self.prob * 0.8
|
||||||
|
self.currentState = "L"
|
||||||
|
self.stateList.append("L")
|
||||||
|
else:
|
||||||
|
self.prob = self.prob * 0.05
|
||||||
|
self.currentState = "W"
|
||||||
|
self.stateList.append("W")
|
||||||
|
elif self.currentState == "W":
|
||||||
|
self.change = np.random.choice(self.transitionName[2],
|
||||||
|
replace=True,
|
||||||
|
p=transitionMatrix[2])
|
||||||
|
if self.change == "WW":
|
||||||
|
self.prob = self.prob * 0.05
|
||||||
|
self.stateList.append("W")
|
||||||
|
pass
|
||||||
|
elif self.change == "WL":
|
||||||
|
self.prob = self.prob * 0.8
|
||||||
|
self.currentState = "L"
|
||||||
|
self.stateList.append("L")
|
||||||
|
else:
|
||||||
|
self.prob = self.prob * 0.15
|
||||||
|
self.currentState = "w"
|
||||||
|
self.stateList.append("w")
|
||||||
|
i += 1
|
||||||
|
print(f'Path Markov Chain took in this iteration: {self.stateList}')
|
||||||
|
print(f'End state after {self.steps} steps: {self.currentState}')
|
||||||
|
print(f'Probability of this specific path:'
|
||||||
|
f' {self.prob:.4f} or {self.prob:.2%}\n')
|
||||||
|
return self.stateList
|
||||||
|
|
||||||
|
|
||||||
|
def checker(item, name):
|
||||||
|
try:
|
||||||
|
item is not None
|
||||||
|
except Exception:
|
||||||
|
raise Exception(f'{name} is not set - set it and try again.')
|
||||||
|
|
||||||
|
|
||||||
|
def main(*args, **kwargs):
|
||||||
|
global startingState
|
||||||
|
try:
|
||||||
|
simNum = kwargs['simNum']
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
sumTotal = 0
|
||||||
|
# Check validity of transitionMatrix
|
||||||
|
for i in range(len(transitionMatrix)):
|
||||||
|
sumTotal += sum(transitionMatrix[i])
|
||||||
|
if i != len(states) and i == len(transitionMatrix):
|
||||||
|
raise ValueError('Probabilities should add to 1')
|
||||||
|
# Set the seed so we can repeat with the same results
|
||||||
|
if setSeed:
|
||||||
|
markov.setSeed(seedNum)
|
||||||
|
# Save our simulations:
|
||||||
|
list_state = []
|
||||||
|
count = 0
|
||||||
|
# Simulate Multiple Times
|
||||||
|
if setSim:
|
||||||
|
if initial_dist is not None:
|
||||||
|
startingState = np.random.choice(states, p=initial_dist)
|
||||||
|
for _ in itertools.repeat(None, simNum):
|
||||||
|
markovChain = markov(states, transitionName,
|
||||||
|
transitionMatrix, startingState,
|
||||||
|
stepTime)
|
||||||
|
list_state.append(markovChain.forecast())
|
||||||
|
startingState = np.random.choice(states, p=initial_dist)
|
||||||
|
else:
|
||||||
|
for _ in itertools.repeat(None, simNum):
|
||||||
|
markovChain = markov(states, transitionName,
|
||||||
|
transitionMatrix, startingState,
|
||||||
|
stepTime)
|
||||||
|
list_state.append(markovChain.forecast())
|
||||||
|
else:
|
||||||
|
for _ in range(1, 2):
|
||||||
|
list_state.append(markov(states, transitionName,
|
||||||
|
transitionMatrix, startingState,
|
||||||
|
stepTime).forecast())
|
||||||
|
for list in list_state:
|
||||||
|
if(list[-1] == f'{endState!s}'):
|
||||||
|
print(f'SUCCESS - path ended in the requested state {endState!s}'
|
||||||
|
f':', list)
|
||||||
|
count += 1
|
||||||
|
else:
|
||||||
|
print(f'FAILURE - path did not end in the requested state'
|
||||||
|
f' {endState!s}:', list)
|
||||||
|
if setSim is False:
|
||||||
|
simNum = 1
|
||||||
|
print(f'\nThe probability of starting in {startingState} and finishing'
|
||||||
|
f' in {endState} after {stepTime} steps is {(count / simNum):.2%}\n')
|
||||||
|
if transition_matrix_step:
|
||||||
|
print(f'P_{stepTime} is: \n'
|
||||||
|
f'{markov.transition_matrix_step(transitionMatrix, stepTime)}\n')
|
||||||
|
if stat_dist:
|
||||||
|
checker(initial_dist, 'initial distribution')
|
||||||
|
print(f'Stat dist is {markov.stationary_dist(transitionMatrix,initial_dist, stepTime)}')
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main(simNum=simNum)
|
||||||
1
markov/requirements.txt
Normal file
1
markov/requirements.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
numpy==1.17.4
|
||||||
36
markov/test.py
Normal file
36
markov/test.py
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
import numpy as np
|
||||||
|
|
||||||
|
np.random.seed(1234)
|
||||||
|
|
||||||
|
n_states = 5
|
||||||
|
n_steps = 50
|
||||||
|
tolerance = 1e-5
|
||||||
|
|
||||||
|
# Random transition matrix and state vector
|
||||||
|
transitionMatrix = np.array([[0.6, 0.1, 0.3],
|
||||||
|
[0.1, 0.7, 0.2],
|
||||||
|
[0.2, 0.2, 0.6]])
|
||||||
|
|
||||||
|
# initial dist = [L, w, W]
|
||||||
|
intital_dist = np.array([1, 0, 0])
|
||||||
|
|
||||||
|
# Normalize rows in transitionMatrix
|
||||||
|
# transitionMatrix /= transitionMatrix.sum(axis=1)[:, np.newaxis]
|
||||||
|
|
||||||
|
# # Normalize p
|
||||||
|
# p /= p.sum()
|
||||||
|
|
||||||
|
# Take steps
|
||||||
|
for k in range(n_steps):
|
||||||
|
intital_dist = transitionMatrix.T.dot(intital_dist)
|
||||||
|
|
||||||
|
p_50 = intital_dist
|
||||||
|
print(f'p {p_50}')
|
||||||
|
|
||||||
|
# Compute stationary state
|
||||||
|
w, v = np.linalg.eig(transitionMatrix.T)
|
||||||
|
|
||||||
|
j_stationary = np.argmin(abs(w - 1.0))
|
||||||
|
p_stationary = v[:, j_stationary].real
|
||||||
|
p_stationary /= p_stationary.sum()
|
||||||
|
print(p_stationary)
|
||||||
28
mediainfo/mediaInfo.py
Normal file
28
mediainfo/mediaInfo.py
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
from pymediainfo import MediaInfo
|
||||||
|
import flag
|
||||||
|
|
||||||
|
|
||||||
|
media_info = MediaInfo.parse('/mnt/hgfs/Multimedia/Movies/The.'
|
||||||
|
'Hobbit.An.Unexpected.Journey.2012.Extended.'
|
||||||
|
'BluRay.1080p.Rus.Eng.-HQCLUB.mkv')
|
||||||
|
|
||||||
|
# for track in media_info.tracks:
|
||||||
|
# if track.track_type == 'Text':
|
||||||
|
# # print(dir(track))
|
||||||
|
# language = track.language
|
||||||
|
# if language == 'en':
|
||||||
|
# language = 'gb'
|
||||||
|
# flag_type = f':{language}:'
|
||||||
|
# print(f'Language: {track.language} {flag.flagize(flag_type)}')
|
||||||
|
# print(f'Type: {track.title}\n')
|
||||||
|
|
||||||
|
for track in media_info.tracks:
|
||||||
|
print(track, dir(track), '\n')
|
||||||
|
|
||||||
|
print(media_info.tracks, '\n')
|
||||||
|
|
||||||
|
print(media_info.tracks[1].__dict__['frame_rate'])
|
||||||
|
|
||||||
|
print(media_info.tracks[1].to_data())
|
||||||
|
|
||||||
|
assert media_info.tracks[1].to_data() == media_info.tracks[1].__dict__
|
||||||
129
movieposterporndownloader/.gitignore
vendored
Normal file
129
movieposterporndownloader/.gitignore
vendored
Normal file
@@ -0,0 +1,129 @@
|
|||||||
|
# Byte-compiled / optimized / DLL files
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*$py.class
|
||||||
|
|
||||||
|
# C extensions
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Distribution / packaging
|
||||||
|
.Python
|
||||||
|
build/
|
||||||
|
develop-eggs/
|
||||||
|
dist/
|
||||||
|
downloads/
|
||||||
|
eggs/
|
||||||
|
.eggs/
|
||||||
|
lib/
|
||||||
|
lib64/
|
||||||
|
parts/
|
||||||
|
sdist/
|
||||||
|
var/
|
||||||
|
wheels/
|
||||||
|
pip-wheel-metadata/
|
||||||
|
share/python-wheels/
|
||||||
|
*.egg-info/
|
||||||
|
.installed.cfg
|
||||||
|
*.egg
|
||||||
|
MANIFEST
|
||||||
|
|
||||||
|
# PyInstaller
|
||||||
|
# Usually these files are written by a python script from a template
|
||||||
|
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||||
|
*.manifest
|
||||||
|
*.spec
|
||||||
|
|
||||||
|
# Installer logs
|
||||||
|
pip-log.txt
|
||||||
|
pip-delete-this-directory.txt
|
||||||
|
|
||||||
|
# Unit test / coverage reports
|
||||||
|
htmlcov/
|
||||||
|
.tox/
|
||||||
|
.nox/
|
||||||
|
.coverage
|
||||||
|
.coverage.*
|
||||||
|
.cache
|
||||||
|
nosetests.xml
|
||||||
|
coverage.xml
|
||||||
|
*.cover
|
||||||
|
*.py,cover
|
||||||
|
.hypothesis/
|
||||||
|
.pytest_cache/
|
||||||
|
|
||||||
|
# Translations
|
||||||
|
*.mo
|
||||||
|
*.pot
|
||||||
|
|
||||||
|
# Django stuff:
|
||||||
|
*.log
|
||||||
|
local_settings.py
|
||||||
|
db.sqlite3
|
||||||
|
db.sqlite3-journal
|
||||||
|
|
||||||
|
# Flask stuff:
|
||||||
|
instance/
|
||||||
|
.webassets-cache
|
||||||
|
|
||||||
|
# Scrapy stuff:
|
||||||
|
.scrapy
|
||||||
|
|
||||||
|
# Sphinx documentation
|
||||||
|
docs/_build/
|
||||||
|
|
||||||
|
# PyBuilder
|
||||||
|
target/
|
||||||
|
|
||||||
|
# Jupyter Notebook
|
||||||
|
.ipynb_checkpoints
|
||||||
|
|
||||||
|
# IPython
|
||||||
|
profile_default/
|
||||||
|
ipython_config.py
|
||||||
|
|
||||||
|
# pyenv
|
||||||
|
.python-version
|
||||||
|
|
||||||
|
# pipenv
|
||||||
|
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
||||||
|
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
||||||
|
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
||||||
|
# install all needed dependencies.
|
||||||
|
#Pipfile.lock
|
||||||
|
|
||||||
|
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
||||||
|
__pypackages__/
|
||||||
|
|
||||||
|
# Celery stuff
|
||||||
|
celerybeat-schedule
|
||||||
|
celerybeat.pid
|
||||||
|
|
||||||
|
# SageMath parsed files
|
||||||
|
*.sage.py
|
||||||
|
|
||||||
|
# Environments
|
||||||
|
.env
|
||||||
|
.venv
|
||||||
|
env/
|
||||||
|
venv/
|
||||||
|
ENV/
|
||||||
|
env.bak/
|
||||||
|
venv.bak/
|
||||||
|
|
||||||
|
# Spyder project settings
|
||||||
|
.spyderproject
|
||||||
|
.spyproject
|
||||||
|
|
||||||
|
# Rope project settings
|
||||||
|
.ropeproject
|
||||||
|
|
||||||
|
# mkdocs documentation
|
||||||
|
/site
|
||||||
|
|
||||||
|
# mypy
|
||||||
|
.mypy_cache/
|
||||||
|
.dmypy.json
|
||||||
|
dmypy.json
|
||||||
|
|
||||||
|
# Pyre type checker
|
||||||
|
.pyre/
|
||||||
21
movieposterporndownloader/LICENSE
Normal file
21
movieposterporndownloader/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2019 dtomlinson
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
0
movieposterporndownloader/README.rst
Normal file
0
movieposterporndownloader/README.rst
Normal file
152
movieposterporndownloader/__dev/design-patterns.txt
Normal file
152
movieposterporndownloader/__dev/design-patterns.txt
Normal file
@@ -0,0 +1,152 @@
|
|||||||
|
To do : summarise the OOP principles
|
||||||
|
|
||||||
|
continue from pg20
|
||||||
|
|
||||||
|
# Encapsulation
|
||||||
|
|
||||||
|
## Interface
|
||||||
|
|
||||||
|
An interface is the public part of an object - which is open to interactions with other objects.
|
||||||
|
|
||||||
|
Interfaces look almost like classes, but only have methods (in other languages than python).
|
||||||
|
|
||||||
|
Interfaces aren't necessary in python because of multiple inheritance and duck typing. They are more used in Java where multiple inheritance isn't a thing/
|
||||||
|
|
||||||
|
Duck typing means that an operation does not formally specify the requirements that its operands have to meet, but just tries it out with what is given.
|
||||||
|
|
||||||
|
Thus, a dynamic type system as Python's always uses duck typing:
|
||||||
|
|
||||||
|
```python
|
||||||
|
def f(x):
|
||||||
|
x.Quack()
|
||||||
|
```
|
||||||
|
|
||||||
|
If f gets an x supporting a Quack(), everything is fine, if not, it will crash at runtime.
|
||||||
|
|
||||||
|
|
||||||
|
Interfaces can be implemented using Abstract base classes:
|
||||||
|
|
||||||
|
An interface is sort of like an empty muffin pan. It's a class file with a set of method definitions that have no code.
|
||||||
|
|
||||||
|
An implementation would be a class that depends on this interface that actually implements the methods that have been specified. If we were using abstract base clases, an implementation would be a class we create from this and write the abstract methods.
|
||||||
|
|
||||||
|
An abstract class is the same thing, but not all functions need to be empty. Some can have code. It's not strictly empty.
|
||||||
|
|
||||||
|
ABC:
|
||||||
|
|
||||||
|
```python
|
||||||
|
from abc import ABC, abstractmethod
|
||||||
|
|
||||||
|
class AccountingSystem(ABC):
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def create_purchase_invoice(self, purchase):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def create_sale_invoice(self, sale):
|
||||||
|
log.debug('Creating sale invoice', sale)
|
||||||
|
```
|
||||||
|
|
||||||
|
Create a normal subclass and override all abstract methods:
|
||||||
|
|
||||||
|
```python
|
||||||
|
class GizmoAccountingSystem(AccountingSystem):
|
||||||
|
|
||||||
|
def create_purchase_invoice(self, purchase):
|
||||||
|
submit_to_gizmo_purchase_service(purchase)
|
||||||
|
|
||||||
|
def create_sale_invoice(self, sale):
|
||||||
|
super().create_sale_invoice(sale)
|
||||||
|
submit_to_gizmo_sale_service(sale)
|
||||||
|
```
|
||||||
|
|
||||||
|
You can optionally have common implementation in the abstract methods as in create_sale_invoice(), calling it with super() explicitly in the subclass as above.
|
||||||
|
|
||||||
|
Instantiation of a subclass that does not implement all the abstract methods fails:
|
||||||
|
|
||||||
|
```python
|
||||||
|
class IncompleteAccountingSystem(AccountingSystem):
|
||||||
|
pass
|
||||||
|
```
|
||||||
|
|
||||||
|
Gives:
|
||||||
|
|
||||||
|
```
|
||||||
|
>>> accounting = IncompleteAccountingSystem()
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<stdin>", line 1, in <module>
|
||||||
|
TypeError: Can't instantiate abstract class IncompleteAccountingSystem with abstract methods
|
||||||
|
create_purchase_invoice, create_sale_invoice
|
||||||
|
```
|
||||||
|
(see https://stackoverflow.com/a/51273196)
|
||||||
|
|
||||||
|
This means we can have a class that we only want to work with a certain type of object/class. We can create this class as an ABC and specify abstract methods. We can then create classes that implement this interface. Then, the parent class that we only want to work with a certain type will definitely work with the classes, which means we can use methods that we know will be present. See pg. 16.
|
||||||
|
|
||||||
|
## Encapsulation
|
||||||
|
|
||||||
|
Encapsulation is the ability of an object to hide parts of it state and behaviours from other objects - allowing you to expose only a limited interface to the rest of the program.
|
||||||
|
|
||||||
|
Encapsulating something means making it private - meaning it's only accessible from within the methods of it's own class.
|
||||||
|
|
||||||
|
You can also make something protected - this makes a member of a class available to subclasses as well.
|
||||||
|
|
||||||
|
In python this is through `_` and `__`.
|
||||||
|
|
||||||
|
## Polymorphism
|
||||||
|
|
||||||
|
Polymorphism is the ability of a program to detect the real class of an object and call its implementation, even when its real type is unknown in the current context.
|
||||||
|
|
||||||
|
You can think of a polymorphism as the ability of an object to pretend to be something else. This could be a class it extends or an interface it implements.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
```python
|
||||||
|
|
||||||
|
bag = [Cat(), Dog()]
|
||||||
|
|
||||||
|
for animal in bag:
|
||||||
|
animal.make_sound()
|
||||||
|
```
|
||||||
|
|
||||||
|
Here Cat() and Dog() were pretending to be a generic animal. The code will try to invoke the method `make_sound()` without knowing if it exists. If it doesn't, it will raise an error.
|
||||||
|
|
||||||
|
# Relationships
|
||||||
|
|
||||||
|
## Inheritance
|
||||||
|
|
||||||
|
Inheritance: Class А inherits interface and implementation of class B but can extend it. Objects A can be treated as B. Class A depends on B.
|
||||||
|
|
||||||
|
The main benefit of inheritance is code reuse. If you need to create a new class that's only slightly different from an existing one, you don't need to repeat code. You can extend the current class by creating a subclass and adding any additional functionality into the subclass.
|
||||||
|
|
||||||
|
This subclass will inherit fields and methods of the superclass.
|
||||||
|
|
||||||
|
When you instantiate the subclass, think of it as "pulling" from the subclass, the subclass can define attributes on `self` which don't exist in it's scope, but when the subclass instantiates it will be able to use them.
|
||||||
|
|
||||||
|
Subclasses have the same interface as their parent class. You can't hide a method in a subclass if it was declared in the parent class.
|
||||||
|
|
||||||
|
If abstract methods are defined, they also have to be defined, even if they don't make sense in the subclass.
|
||||||
|
|
||||||
|
# Encapsulation
|
||||||
|
|
||||||
|
Identify the aspects of your application that vary and separate them from what stays the same.
|
||||||
|
|
||||||
|
The idea is to minimise the effect caused by changes.
|
||||||
|
|
||||||
|
You should isolate the parts of the program that vary into independent modules/components
|
||||||
|
|
||||||
|
This way, if a part of the code changes later on, you have protected the rest of the code from adverse affect.
|
||||||
|
|
||||||
|
## Encapsulation on a Method level
|
||||||
|
|
||||||
|
If a method is doing several things, highlight parts of it that are doing the different bits. You can then move things into other methods, and call them from within the current method.
|
||||||
|
|
||||||
|
E.g. if youre calculating tax on an order price, you can move this calculation step into a new method that takes a country, and returns the tax value. The original method can then call this new method to get its tax value.
|
||||||
|
|
||||||
|
## Encapsulation on a Class level
|
||||||
|
|
||||||
|
We know when a class starts to become too bloated if the intended purpose or responsability of the class is now confusing or not clear.
|
||||||
|
|
||||||
|
We can extract methods/variables and place them in a new class. Referencing these in the original class. It will reference the new methods and variables from the old class, meaning we have an aggregation relationship:
|
||||||
|
|
||||||
|
Aggregation: Object А knows about object B, and consists of B. Class A depends on B.
|
||||||
57
movieposterporndownloader/__dev/structure.txt
Normal file
57
movieposterporndownloader/__dev/structure.txt
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
https://refactoring.guru/design-patterns
|
||||||
|
https://sourcemaking.com/s
|
||||||
|
|
||||||
|
Can have a base class that you instantiate. It will inherit nothing, but it will have "lazy" methods that point to all the other classes you need.
|
||||||
|
|
||||||
|
E.g you can have a reddit instance. this instance can define a comment/redditor/submission method that point to those classes by returning the method directly. These methods take the same vars as the classes they point to.
|
||||||
|
|
||||||
|
This is a shortcut and prevents polluting the front facing class with a lot of inhertiances.
|
||||||
|
|
||||||
|
Alternatively, for methods that don't need any additional variables, or are ok with the defaults, you can define this as a instance variable in the __init__ method.
|
||||||
|
|
||||||
|
Either way, you're providing a facade/api for the methods behind the scenes, without needing multiple inheritance on the front facing class.
|
||||||
|
|
||||||
|
The classes behind the scenes can have mixins to extend their functionality, and can have a base class that they all inherit from (PRAWBase)
|
||||||
|
|
||||||
|
|
||||||
|
When structuring the project:
|
||||||
|
|
||||||
|
1. Have a front facing class that is instantiated and where everything is done from.
|
||||||
|
|
||||||
|
2. This class should not have multiple inheritance
|
||||||
|
|
||||||
|
3. Have a final backend class that is responsible for the front end instance - it should be relatively simple, and selt a private variable for the front end instance that will be passed in.
|
||||||
|
|
||||||
|
3. The front facing class should provide a facade/api to the backend classes. These backend classes can use mixins (multiple mixins if necessary) to obtain extra functionality and should inherit from the backend class, making sure to pass 'self' in as an argument. This self will be set in the backend class so any future classes that dependo on it can access this same instance.
|
||||||
|
|
||||||
|
These backend classes (that have __init__) can use Super().__init__()
|
||||||
|
|
||||||
|
5. The front end class can either set an instance attribute (when you don't need to pass any attributes to these backend classes - they do not have __init__ set) or it can define a method that returns an instance of one of the backend classes that need instantiating and variables passing back.
|
||||||
|
|
||||||
|
The front end class should set the docstrings appropiately for these backend classes - either repeating the documentation or referencing the backend class documentation.
|
||||||
|
|
||||||
|
|
||||||
|
Remember:
|
||||||
|
|
||||||
|
Front end class
|
||||||
|
This should (at some point) pass 'self' back to the final backend class
|
||||||
|
This backend class should assign this to an instance variable (self.instance)
|
||||||
|
Backend classes can either be module functions (that depend on the final backend class - these should do some actual work)
|
||||||
|
Or the backend classes can be mixins that provide additional functionality to the other backend classes.
|
||||||
|
All the backend classes can access self.instance
|
||||||
|
|
||||||
|
Some ideas for backend classes:
|
||||||
|
|
||||||
|
Final backend class can be called MODULEbase
|
||||||
|
You could have a class that creates objects
|
||||||
|
this could
|
||||||
|
|
||||||
|
|
||||||
|
to do - go through mixins in praw and write down what each one does
|
||||||
|
map this logically to show how they can be seperated and organised to write a module using them.
|
||||||
|
|
||||||
|
|
||||||
|
Break down your structure into different interfaces. Each class should represent an object not a state of an object. Any properties that your object has that are unique to that object can be defined as a method/property in that same class.
|
||||||
|
Any shared functionality that more than one object might have should go in mixins that you inherit from. This allows you to share that functionality across different objects.
|
||||||
|
|
||||||
|
E.g reddit.Submission() - this is a subnission class and provides the interface to interact with submissions. This class represents a submission, it inherits from the base object (as expected), it also inherits several mixins. One of them is UserContentMixin which provides methods for comments and submissions. This mixin itself is just a combination of 7 other mixins, e.g EditableMixin, SavableMixin etc. This submission class can edit, it can save etc. so it can get this functionality from this mixin. This is also shared with comments which can do the same thing. It's a logical way of grouping things together.
|
||||||
590
movieposterporndownloader/poetry.lock
generated
Normal file
590
movieposterporndownloader/poetry.lock
generated
Normal file
@@ -0,0 +1,590 @@
|
|||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Refactors valid 3.x syntax into valid 2.x syntax, if a syntactical conversion is possible"
|
||||||
|
name = "3to2"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "1.1.1"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
|
||||||
|
name = "appdirs"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "1.4.3"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Cross-platform application utilities in Python"
|
||||||
|
name = "applib"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "1.2"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
appdirs = "*"
|
||||||
|
six = ">=1.0.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Atomic file writes."
|
||||||
|
name = "atomicwrites"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "1.3.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Classes Without Boilerplate"
|
||||||
|
name = "attrs"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "19.3.0"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
azure-pipelines = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "pytest-azurepipelines"]
|
||||||
|
dev = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "sphinx", "pre-commit"]
|
||||||
|
docs = ["sphinx", "zope.interface"]
|
||||||
|
tests = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "A tool that automatically formats Python code to conform to the PEP 8 style guide"
|
||||||
|
name = "autopep8"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "1.4.4"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
pycodestyle = ">=2.4.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "The uncompromising code formatter."
|
||||||
|
name = "black"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.6"
|
||||||
|
version = "19.10b0"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
appdirs = "*"
|
||||||
|
attrs = ">=18.1.0"
|
||||||
|
click = ">=6.5"
|
||||||
|
pathspec = ">=0.6,<1"
|
||||||
|
regex = "*"
|
||||||
|
toml = ">=0.9.4"
|
||||||
|
typed-ast = ">=1.4.0"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
d = ["aiohttp (>=3.3.2)", "aiohttp-cors"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "main"
|
||||||
|
description = "Python package for providing Mozilla's CA Bundle."
|
||||||
|
name = "certifi"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "2019.11.28"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "main"
|
||||||
|
description = "Universal encoding detector for Python 2 and 3"
|
||||||
|
name = "chardet"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "3.0.4"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = ""
|
||||||
|
name = "clang"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "6.0.0.2"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Composable command line interface toolkit"
|
||||||
|
name = "click"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "7.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "An improved cmd.py for writing multi-command scripts and shells."
|
||||||
|
name = "cmdln"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "2.0.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Komodo Edit CodeIntel"
|
||||||
|
name = "codeintel"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "2.0.0"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
3to2 = "*"
|
||||||
|
applib = "*"
|
||||||
|
chardet = "*"
|
||||||
|
clang = "*"
|
||||||
|
cmdln = "*"
|
||||||
|
esprima = "*"
|
||||||
|
inflector = "*"
|
||||||
|
six = "*"
|
||||||
|
"zope.cachedescriptors" = "*"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Cross-platform colored terminal text."
|
||||||
|
marker = "sys_platform == \"win32\""
|
||||||
|
name = "colorama"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "0.4.1"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "ECMAScript parsing infrastructure for multipurpose analysis in Python"
|
||||||
|
name = "esprima"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "4.0.1"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Clean single-source support for Python 3 and 2"
|
||||||
|
name = "future"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
|
||||||
|
version = "0.18.2"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "main"
|
||||||
|
description = "Internationalized Domain Names in Applications (IDNA)"
|
||||||
|
name = "idna"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "2.8"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Inflector for Python"
|
||||||
|
name = "inflector"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "3.0.1"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "An autocompletion tool for Python that can be used for text editors."
|
||||||
|
name = "jedi"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "0.15.1"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
parso = ">=0.5.0"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
testing = ["colorama", "docopt", "pytest (>=3.1.0,<5.0.0)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "McCabe checker, plugin for flake8"
|
||||||
|
name = "mccabe"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "0.6.1"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "More routines for operating on iterables, beyond itertools"
|
||||||
|
name = "more-itertools"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.5"
|
||||||
|
version = "8.0.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "A Python Parser"
|
||||||
|
name = "parso"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "0.5.1"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
testing = ["docopt", "pytest (>=3.0.7)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Utility library for gitignore style pattern matching of file paths."
|
||||||
|
name = "pathspec"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "0.6.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "plugin and hook calling mechanisms for python"
|
||||||
|
name = "pluggy"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "0.13.1"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
dev = ["pre-commit", "tox"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "main"
|
||||||
|
description = "PRAW, an acronym for `Python Reddit API Wrapper`, is a python package that allows for simple access to reddit's API."
|
||||||
|
name = "praw"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.4"
|
||||||
|
version = "6.4.0"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
prawcore = ">=1.0.1,<2.0"
|
||||||
|
update-checker = ">=0.16"
|
||||||
|
websocket-client = ">=0.54.0"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
dev = ["pre-commit"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "main"
|
||||||
|
description = "Low-level communication layer for PRAW 4+."
|
||||||
|
name = "prawcore"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "1.0.1"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
requests = ">=2.6.0,<3.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "A full-screen, console-based Python debugger"
|
||||||
|
name = "pudb"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "2019.2"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
pygments = ">=1.0"
|
||||||
|
urwid = ">=1.1.1"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "library with cross-python path, ini-parsing, io, code, log facilities"
|
||||||
|
name = "py"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "1.8.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Python style guide checker"
|
||||||
|
name = "pycodestyle"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "2.5.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Python docstring style checker"
|
||||||
|
name = "pydocstyle"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.4"
|
||||||
|
version = "4.0.1"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
snowballstemmer = "*"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "passive checker of Python programs"
|
||||||
|
name = "pyflakes"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "2.1.1"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Pygments is a syntax highlighting package written in Python."
|
||||||
|
name = "pygments"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||||
|
version = "2.5.2"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Black plugin for the Python Language Server"
|
||||||
|
name = "pyls-black"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "0.4.4"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
black = ">=19.3b0"
|
||||||
|
python-language-server = "*"
|
||||||
|
toml = "*"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
dev = ["isort", "flake8", "pytest", "mypy"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "pytest: simple powerful testing with Python"
|
||||||
|
name = "pytest"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "3.10.1"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
atomicwrites = ">=1.0"
|
||||||
|
attrs = ">=17.4.0"
|
||||||
|
colorama = "*"
|
||||||
|
more-itertools = ">=4.0.0"
|
||||||
|
pluggy = ">=0.7"
|
||||||
|
py = ">=1.5.0"
|
||||||
|
setuptools = "*"
|
||||||
|
six = ">=1.10.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "JSON RPC 2.0 server library"
|
||||||
|
name = "python-jsonrpc-server"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "0.3.1"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
future = ">=0.14.0"
|
||||||
|
ujson = "<=1.35"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
test = ["versioneer", "pylint", "pycodestyle", "pyflakes", "pytest", "mock", "pytest-cov", "coverage"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Python Language Server for the Language Server Protocol"
|
||||||
|
name = "python-language-server"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "0.31.1"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
jedi = ">=0.14.1,<0.16"
|
||||||
|
pluggy = "*"
|
||||||
|
python-jsonrpc-server = ">=0.3.0"
|
||||||
|
ujson = "<=1.35"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
all = ["autopep8", "flake8", "mccabe", "pycodestyle", "pydocstyle (>=2.0.0)", "pyflakes (>=1.6.0)", "pylint", "rope (>=0.10.5)", "yapf"]
|
||||||
|
autopep8 = ["autopep8"]
|
||||||
|
flake8 = ["flake8"]
|
||||||
|
mccabe = ["mccabe"]
|
||||||
|
pycodestyle = ["pycodestyle"]
|
||||||
|
pydocstyle = ["pydocstyle (>=2.0.0)"]
|
||||||
|
pyflakes = ["pyflakes (>=1.6.0)"]
|
||||||
|
pylint = ["pylint"]
|
||||||
|
rope = ["rope (>0.10.5)"]
|
||||||
|
test = ["versioneer", "pylint", "pytest", "mock", "pytest-cov", "coverage", "numpy", "pandas", "matplotlib"]
|
||||||
|
yapf = ["yapf"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Alternative regular expression module, to replace re."
|
||||||
|
name = "regex"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "2019.11.1"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "main"
|
||||||
|
description = "Python HTTP for Humans."
|
||||||
|
name = "requests"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||||
|
version = "2.22.0"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
certifi = ">=2017.4.17"
|
||||||
|
chardet = ">=3.0.2,<3.1.0"
|
||||||
|
idna = ">=2.5,<2.9"
|
||||||
|
urllib3 = ">=1.21.1,<1.25.0 || >1.25.0,<1.25.1 || >1.25.1,<1.26"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)"]
|
||||||
|
socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7)", "win-inet-pton"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "main"
|
||||||
|
description = "a python refactoring library..."
|
||||||
|
name = "rope"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "0.14.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "main"
|
||||||
|
description = "Python 2 and 3 compatibility utilities"
|
||||||
|
name = "six"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.6, !=3.0.*, !=3.1.*"
|
||||||
|
version = "1.13.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "This package provides 26 stemmers for 25 languages generated from Snowball algorithms."
|
||||||
|
name = "snowballstemmer"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "2.0.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Python Library for Tom's Obvious, Minimal Language"
|
||||||
|
name = "toml"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "0.10.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "a fork of Python 2 and 3 ast modules with type comment support"
|
||||||
|
name = "typed-ast"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "1.4.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Ultra fast JSON encoder and decoder for Python"
|
||||||
|
name = "ujson"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "1.35"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "main"
|
||||||
|
description = "A python module that will check for package updates."
|
||||||
|
name = "update-checker"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "0.16"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
requests = ">=2.3.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "main"
|
||||||
|
description = "HTTP library with thread-safe connection pooling, file post, and more."
|
||||||
|
name = "urllib3"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4"
|
||||||
|
version = "1.25.7"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
brotli = ["brotlipy (>=0.6.0)"]
|
||||||
|
secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
|
||||||
|
socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7,<2.0)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "A full-featured console (xterm et al.) user interface library"
|
||||||
|
name = "urwid"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "2.1.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "main"
|
||||||
|
description = "WebSocket client for Python. hybi13 is supported."
|
||||||
|
name = "websocket-client"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
version = "0.56.0"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
six = "*"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "A formatter for Python code."
|
||||||
|
name = "yapf"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "0.29.0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
category = "dev"
|
||||||
|
description = "Method and property caching decorators"
|
||||||
|
name = "zope.cachedescriptors"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
version = "4.3.1"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
setuptools = "*"
|
||||||
|
|
||||||
|
[metadata]
|
||||||
|
content-hash = "5a887d16289754a5987734ee1f7ab3ff7c87bfee9c80a1fda0abaa0b78bd0b93"
|
||||||
|
python-versions = "^3.8"
|
||||||
|
|
||||||
|
[metadata.hashes]
|
||||||
|
3to2 = ["fef50b2b881ef743f269946e1090b77567b71bb9a9ce64b7f8e699b562ff685c"]
|
||||||
|
appdirs = ["9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92", "d8b24664561d0d34ddfaec54636d502d7cea6e29c3eaf68f3df6180863e2166e"]
|
||||||
|
applib = ["735a4c2104d652d41048219581a8aa0c00b95ab5316730bda8a7d46235aaf824"]
|
||||||
|
atomicwrites = ["03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4", "75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6"]
|
||||||
|
attrs = ["08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c", "f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72"]
|
||||||
|
autopep8 = ["4d8eec30cc81bc5617dbf1218201d770dc35629363547f17577c61683ccfb3ee"]
|
||||||
|
black = ["1b30e59be925fafc1ee4565e5e08abef6b03fe455102883820fe5ee2e4734e0b", "c2edb73a08e9e0e6f65a0e6af18b059b8b1cdd5bef997d7a0b181df93dc81539"]
|
||||||
|
certifi = ["017c25db2a153ce562900032d5bc68e9f191e44e9a0f762f373977de9df1fbb3", "25b64c7da4cd7479594d035c08c2d809eb4aab3a26e5a990ea98cc450c320f1f"]
|
||||||
|
chardet = ["84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", "fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"]
|
||||||
|
clang = ["73e3a7978edda18306a7e02881cfca3b616d02c5999f8570002f2cae8c84d6c3", "fea8d56f3f5f02f61c4c1160dbce0f4ff244b996993d35433124d4b505de8b79"]
|
||||||
|
click = ["2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13", "5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7"]
|
||||||
|
cmdln = ["9b036d89914b49f5f3166a8b3730729f17a7fb533f6a264947a8bbef016d7e20"]
|
||||||
|
codeintel = ["00d6880539a4f8ae2e833ce1556e2c06ab04640b883203c1f2a08d9af62187c7", "0729b592c68cffcf6a73e30a585d3b42226e281c25eb1b31558c842aa498041a", "0c3d0fcd356082b0f786e52151e36e2ca8622ea399896ac5478d39e7f78815e8", "0dc9e5bb254e78ecfb4055ec596c9a4dadca1a6727577ee8d7f369cbbe40e85f", "19b823b9ba45676f6802c260ba1518ee8a632e367c8651340dd94f62a73baa33", "28e845e5360ff247541d7d88d9d775eb743852d308a8e61af3a5dcfc5fb9120d", "2cb2a29a16e06707f2ad8442d98aca1e82035010d16b39ce811dce53e9c5b683", "3768174b27e2f500bc16dff815de2403fe2c97a5672914d47956a1a3644fca88", "3b91b3bbe622e4f7afa5f17856fe0556cde0fc5cfdafb33d12bb94d1b1174674", "3c2c4b8a2599973966437628c8d8308d2ae8f0c9be4e6f111fb2ab5ee07b2984", "3c52a4cfbfa95bd5f4f436d85aa31d6d7edd97ce6c43320a94d75024abe09634", "3f35f1b0151ca6bdcab0fb4ad50c77f0715b33a111f41a852b92e8003a525067", "3f430ab1f018ec05926742e44529200d2b8424adf54d5694a7b81e3207c099aa", "48267f591a3d00e39063358d5e220038980136b9d7c93c975fc803ad3e9bf0c6", "4c49ae2cbe4ec92cf4f9db01f9494cf8301f262096fee2cf5350e37c7e45ea7c", "53327252fbee1b38adb3e7a1c244b6a49a4339e463ad4f05b19f54a6ce46a9e6", "54f2ee96b5961e7f956fecb539e6ca1ad258108d08e2082b614a7ddc8afaf8bd", "55ddf8027a73040c7244e00b61b5f05a2cfc3fa61c95107c695f3e1327315fe3", "5ce6e0874e3cca099fa77514f834f25fd077131e3188e067dba0d4ce1e922724", "5d5ea55a01ff4e1a6173b6867c78cfe1019fe13f657bd195aa65444eaa176425", "5e13e549232258013f7c2783f2fc04185a54daca33439a023687683b4d0e94ba", "684cee9edb12fbfb4dec09fb365b46276c12b9e65e7a8c0e71449634c2c2d494", "6e4fa55af48b102da85b8f955de82f22034d828e92eae4b3505f4f09f8bbb7a4", "6e623f3ae741b60b01017690daafa831f8d92e656709a493cb36f925debcfe49", "741e546cdf615f28302ad83b26ebf972da2af4c8b59ad2243f1328684ce68883", "79a48c9b0031beb84d51731f0f5e3e15a868d7dfbcb5d379ca3d8f29afd45ed5", "7e3dc9529dda548fd8549fba2fbabadb1f37368410a06eb7ab9ca7eae6d3f0be", "813ae2aeafb2c4c2d1ff6f3962eebb033cd7e10bac5465ef0897bc379c49f465", "8eceb6313e821eb27e42d56b5bf53ab06cc3d9031a93052d0958be0cc99ab7c1", "92976c06c223bc4c86df819baeb56bcd1c8af2d59958858d531392dce3630cca", "995be6ec9b07a0c08ffd8c6fc7d48bb215c7a1135f696dc6c84500620d6311bd", "a82ad9884f5dd7fe30de796d46929f4ceeaad0526a0d8bae05457d4e8d36211c", "a96719b9a70c3f4910263f1a31017fd52f9ae1af411e6763eb075bf659275c38", "b159404437b48b83c8f1480a3bf8a3d2025091b4f747e5a0b4a3c87a3a57afdc", "de58cde38f57121effa159a5b7b08be51b3444241f0e691d320a5f850d1ea5ea", "e9991a318885dc770e34f99b417f958b7718aa31df0b0447c5f067bf8119b3f8", "f155eb02d1cf9ed5fede9e6a3eb2c96012019b3eb5831e373b4e4d5209a1f60c", "f73594dae8426d51ad9b6e2f93b7b8f5892fdf56dd386c4dd84c01d556e556a8"]
|
||||||
|
colorama = ["05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d", "f8ac84de7840f5b9c4e3347b3c1eaa50f7e49c2b07596221daec5edaabbd7c48"]
|
||||||
|
esprima = ["08db1a876d3c2910db9cfaeb83108193af5411fc3a3a66ebefacd390d21323ee"]
|
||||||
|
future = ["b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d"]
|
||||||
|
idna = ["c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407", "ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c"]
|
||||||
|
inflector = ["21add07f255a45ef83523ea73747b0651a1d680c79d0853009c4abff218d4d10"]
|
||||||
|
jedi = ["786b6c3d80e2f06fd77162a07fed81b8baa22dde5d62896a790a331d6ac21a27", "ba859c74fa3c966a22f2aeebe1b74ee27e2a462f56d3f5f7ca4a59af61bfe42e"]
|
||||||
|
mccabe = ["ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42", "dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"]
|
||||||
|
more-itertools = ["53ff73f186307d9c8ef17a9600309154a6ae27f25579e80af4db8f047ba14bc2", "a0ea684c39bc4315ba7aae406596ef191fd84f873d2d2751f84d64e81a7a2d45"]
|
||||||
|
parso = ["63854233e1fadb5da97f2744b6b24346d2750b85965e7e399bec1620232797dc", "666b0ee4a7a1220f65d367617f2cd3ffddff3e205f3f16a0284df30e774c2a9c"]
|
||||||
|
pathspec = ["e285ccc8b0785beadd4c18e5708b12bb8fcf529a1e61215b3feff1d1e559ea5c"]
|
||||||
|
pluggy = ["15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0", "966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"]
|
||||||
|
praw = ["2e5c98e49fe60e5308255ed147b670d350f98281f84f582df30f87de727b6de2", "cb8f85541ad4c6b10214ef9639acccfb5fed7ffee977be169b85357d2d2ea6d9"]
|
||||||
|
prawcore = ["25dd14bf121bc0ad2ffc78e2322d9a01a516017105a5596cc21bb1e9a928b40c", "ab5558efb438aa73fc66c4178bfc809194dea3ce2addf4dec873de7e2fd2824e"]
|
||||||
|
pudb = ["e8f0ea01b134d802872184b05bffc82af29a1eb2f9374a277434b932d68f58dc"]
|
||||||
|
py = ["64f65755aee5b381cea27766a3a147c3f15b9b6b9ac88676de66ba2ae36793fa", "dc639b046a6e2cff5bbe40194ad65936d6ba360b52b3c3fe1d08a82dd50b5e53"]
|
||||||
|
pycodestyle = ["95a2219d12372f05704562a14ec30bc76b05a5b297b21a5dfe3f6fac3491ae56", "e40a936c9a450ad81df37f549d676d127b1b66000a6c500caa2b085bc0ca976c"]
|
||||||
|
pydocstyle = ["04c84e034ebb56eb6396c820442b8c4499ac5eb94a3bda88951ac3dc519b6058", "66aff87ffe34b1e49bff2dd03a88ce6843be2f3346b0c9814410d34987fbab59"]
|
||||||
|
pyflakes = ["17dbeb2e3f4d772725c777fabc446d5634d1038f234e77343108ce445ea69ce0", "d976835886f8c5b31d47970ed689944a0262b5f3afa00a5a7b4dc81e5449f8a2"]
|
||||||
|
pygments = ["2a3fe295e54a20164a9df49c75fa58526d3be48e14aceba6d6b1e8ac0bfd6f1b", "98c8aa5a9f778fcd1026a17361ddaf7330d1b7c62ae97c3bb0ae73e0b9b6b0fe"]
|
||||||
|
pyls-black = ["ba6364e92acfad97fb9b68928f90f5b266932e1da44ab0652606e4e91a5f4587", "d63149f53be4e1fbc6e7a99bb321cf58ae3cb46b8711c13c4f45c2081b8467da"]
|
||||||
|
pytest = ["3f193df1cfe1d1609d4c583838bea3d532b18d6160fd3f55c9447fdca30848ec", "e246cf173c01169b9617fc07264b7b1316e78d7a650055235d6d897bc80d9660"]
|
||||||
|
python-jsonrpc-server = ["ccc221b82e37853ed3fd3b64ca30b0562348127598b32413f70936fde82261d9"]
|
||||||
|
python-language-server = ["e6b12c20915c70897036810d68378eede3dfafe40aa73ac4d46f5875dc857ca4"]
|
||||||
|
regex = ["15454b37c5a278f46f7aa2d9339bda450c300617ca2fca6558d05d870245edc7", "1ad40708c255943a227e778b022c6497c129ad614bb7a2a2f916e12e8a359ee7", "5e00f65cc507d13ab4dfa92c1232d004fa202c1d43a32a13940ab8a5afe2fb96", "604dc563a02a74d70ae1f55208ddc9bfb6d9f470f6d1a5054c4bd5ae58744ab1", "720e34a539a76a1fedcebe4397290604cc2bdf6f81eca44adb9fb2ea071c0c69", "7caf47e4a9ac6ef08cabd3442cc4ca3386db141fb3c8b2a7e202d0470028e910", "7faf534c1841c09d8fefa60ccde7b9903c9b528853ecf41628689793290ca143", "b4e0406d822aa4993ac45072a584d57aa4931cf8288b5455bbf30c1d59dbad59", "c31eaf28c6fe75ea329add0022efeed249e37861c19681960f99bbc7db981fb2", "c7393597191fc2043c744db021643549061e12abe0b3ff5c429d806de7b93b66", "d2b302f8cdd82c8f48e9de749d1d17f85ce9a0f082880b9a4859f66b07037dc6", "e3d8dd0ec0ea280cf89026b0898971f5750a7bd92cb62c51af5a52abd020054a", "ec032cbfed59bd5a4b8eab943c310acfaaa81394e14f44454ad5c9eba4f24a74"]
|
||||||
|
requests = ["11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4", "9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31"]
|
||||||
|
rope = ["6b728fdc3e98a83446c27a91fc5d56808a004f8beab7a31ab1d7224cecc7d969", "c5c5a6a87f7b1a2095fb311135e2a3d1f194f5ecb96900fdd0a9100881f48aaf", "f0dcf719b63200d492b85535ebe5ea9b29e0d0b8aebeb87fe03fc1a65924fdaf"]
|
||||||
|
six = ["1f1b7d42e254082a9db6279deae68afb421ceba6158efa6131de7b3003ee93fd", "30f610279e8b2578cab6db20741130331735c781b56053c59c4076da27f06b66"]
|
||||||
|
snowballstemmer = ["209f257d7533fdb3cb73bdbd24f436239ca3b2fa67d56f6ff88e86be08cc5ef0", "df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52"]
|
||||||
|
toml = ["229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c", "235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e", "f1db651f9657708513243e61e6cc67d101a39bad662eaa9b5546f789338e07a3"]
|
||||||
|
typed-ast = ["1170afa46a3799e18b4c977777ce137bb53c7485379d9706af8a59f2ea1aa161", "18511a0b3e7922276346bcb47e2ef9f38fb90fd31cb9223eed42c85d1312344e", "262c247a82d005e43b5b7f69aff746370538e176131c32dda9cb0f324d27141e", "2b907eb046d049bcd9892e3076c7a6456c93a25bebfe554e931620c90e6a25b0", "354c16e5babd09f5cb0ee000d54cfa38401d8b8891eefa878ac772f827181a3c", "48e5b1e71f25cfdef98b013263a88d7145879fbb2d5185f2a0c79fa7ebbeae47", "4e0b70c6fc4d010f8107726af5fd37921b666f5b31d9331f0bd24ad9a088e631", "630968c5cdee51a11c05a30453f8cd65e0cc1d2ad0d9192819df9978984529f4", "66480f95b8167c9c5c5c87f32cf437d585937970f3fc24386f313a4c97b44e34", "71211d26ffd12d63a83e079ff258ac9d56a1376a25bc80b1cdcdf601b855b90b", "7954560051331d003b4e2b3eb822d9dd2e376fa4f6d98fee32f452f52dd6ebb2", "838997f4310012cf2e1ad3803bce2f3402e9ffb71ded61b5ee22617b3a7f6b6e", "95bd11af7eafc16e829af2d3df510cecfd4387f6453355188342c3e79a2ec87a", "bc6c7d3fa1325a0c6613512a093bc2a2a15aeec350451cbdf9e1d4bffe3e3233", "cc34a6f5b426748a507dd5d1de4c1978f2eb5626d51326e43280941206c209e1", "d755f03c1e4a51e9b24d899561fec4ccaf51f210d52abdf8c07ee2849b212a36", "d7c45933b1bdfaf9f36c579671fec15d25b06c8398f113dab64c18ed1adda01d", "d896919306dd0aa22d0132f62a1b78d11aaf4c9fc5b3410d3c666b818191630a", "fdc1c9bbf79510b76408840e009ed65958feba92a88833cdceecff93ae8fff66", "ffde2fbfad571af120fcbfbbc61c72469e72f550d676c3342492a9dfdefb8f12"]
|
||||||
|
ujson = ["f66073e5506e91d204ab0c614a148d5aa938bdbf104751be66f8ad7a222f5f86"]
|
||||||
|
update-checker = ["59cfad7f9a0ee99f95f1dfc60f55bf184937bcab46a7270341c2c33695572453", "70e39446fccf77b21192cf7a8214051fa93a636dc3b5c8b602b589d100a168b8"]
|
||||||
|
urllib3 = ["a8a318824cc77d1fd4b2bec2ded92646630d7fe8619497b142c84a9e6f5a7293", "f3c5fd51747d450d4dcf6f923c81f78f811aab8205fda64b0aba34a4e48b0745"]
|
||||||
|
urwid = ["0896f36060beb6bf3801cb554303fef336a79661401797551ba106d23ab4cd86"]
|
||||||
|
websocket-client = ["1151d5fb3a62dc129164292e1227655e4bbc5dd5340a5165dfae61128ec50aa9", "1fd5520878b68b84b5748bb30e592b10d0a91529d5383f74f4964e72b297fd3a"]
|
||||||
|
yapf = ["712e23c468506bf12cadd10169f852572ecc61b266258422d45aaf4ad7ef43de", "cad8a272c6001b3401de3278238fdc54997b6c2e56baa751788915f879a52fca"]
|
||||||
|
"zope.cachedescriptors" = ["1f4d1a702f2ea3d177a1ffb404235551bb85560100ec88e6c98691734b1d194a", "ebf5d6768a7ef0a9e59bdc8a5416ce0e0ae2df86817bdb3b352defc410c9bf6d"]
|
||||||
28
movieposterporndownloader/pyproject.toml
Normal file
28
movieposterporndownloader/pyproject.toml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
[tool.poetry]
|
||||||
|
name = "movieposterporndownloader"
|
||||||
|
version = "0.2.3"
|
||||||
|
description = ""
|
||||||
|
authors = ["dtomlinson <dtomlinson@panaetius.co.uk>"]
|
||||||
|
|
||||||
|
[tool.poetry.dependencies]
|
||||||
|
python = "^3.8"
|
||||||
|
praw = "^6.4"
|
||||||
|
rope = "^0.14.0"
|
||||||
|
|
||||||
|
[tool.poetry.dev-dependencies]
|
||||||
|
pytest = "^3.0"
|
||||||
|
codeintel = "^2.0"
|
||||||
|
autopep8 = "^1.4"
|
||||||
|
McCabe = "^0.6.1"
|
||||||
|
YAPF = "^0.29.0"
|
||||||
|
pydocstyle = "^4.0"
|
||||||
|
Rope = "^0.14.0"
|
||||||
|
python-language-server = "^0.31.1"
|
||||||
|
pycodestyle = "^2.5"
|
||||||
|
pudb = "^2019.2"
|
||||||
|
pyls-black = "^0.4.4"
|
||||||
|
pyflakes = "^2.1"
|
||||||
|
|
||||||
|
[build-system]
|
||||||
|
requires = ["poetry>=0.12"]
|
||||||
|
build-backend = "poetry.masonry.api"
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
Metadata-Version: 1.2
|
||||||
|
Name: movieposterporndownloader
|
||||||
|
Version: 0.2.2
|
||||||
|
Summary: UNKNOWN
|
||||||
|
Home-page: UNKNOWN
|
||||||
|
Author: dtomlinson
|
||||||
|
Author-email: dtomlinson@panaetius.co.uk
|
||||||
|
License: UNKNOWN
|
||||||
|
Description: UNKNOWN
|
||||||
|
Platform: UNKNOWN
|
||||||
|
Requires-Python: >=3.8,<4.0
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
README.rst
|
||||||
|
setup.py
|
||||||
|
src/movieposterporndownloader/__init__.py
|
||||||
|
src/movieposterporndownloader/__version__.py
|
||||||
|
src/movieposterporndownloader/libraries.py
|
||||||
|
src/movieposterporndownloader/reddit.py
|
||||||
|
src/movieposterporndownloader.egg-info/PKG-INFO
|
||||||
|
src/movieposterporndownloader.egg-info/SOURCES.txt
|
||||||
|
src/movieposterporndownloader.egg-info/dependency_links.txt
|
||||||
|
src/movieposterporndownloader.egg-info/requires.txt
|
||||||
|
src/movieposterporndownloader.egg-info/top_level.txt
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
movieposterporndownloader
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,2 @@
|
|||||||
|
version = '0.1.0'
|
||||||
|
__version__ = version
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
import sys
|
||||||
|
from typing import Callable, Sequence
|
||||||
|
|
||||||
|
__all__ = ['export'] # type: Sequence[str]
|
||||||
|
|
||||||
|
|
||||||
|
def export(fn: Callable) -> Callable:
|
||||||
|
"""decorator that exports a function/method/class in module and adds it to
|
||||||
|
`__all__`.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
fn (Callable): a function/method/class to export
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
Callable: returns the function `fn`
|
||||||
|
"""
|
||||||
|
module = sys.modules[fn.__module__]
|
||||||
|
if hasattr(module, '__all__'):
|
||||||
|
module.__all__.append(fn.__name__) # type: ignore
|
||||||
|
else:
|
||||||
|
module.__all__ = [fn.__name__] # type: ignore
|
||||||
|
return fn
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
from typing import List, TypeVar
|
||||||
|
|
||||||
|
import praw # type: ignore
|
||||||
|
import requests
|
||||||
|
|
||||||
|
# from movieposterporndownloader.__version__ import __version__ as version
|
||||||
|
from movieposterporndownloader.libraries import export
|
||||||
|
|
||||||
|
|
||||||
|
__all__ = [] # type: List
|
||||||
|
|
||||||
|
T_subreddit_scraper = TypeVar('T_subreddit_scraper', bound="SubredditScraper")
|
||||||
|
|
||||||
|
|
||||||
|
# @export
|
||||||
|
class SubredditScraper(object):
|
||||||
|
|
||||||
|
"""Summary
|
||||||
|
|
||||||
|
Attributes:
|
||||||
|
reddit (praw.Reddit): Description
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, reddit: praw.Reddit):
|
||||||
|
"""Summary
|
||||||
|
|
||||||
|
Args:
|
||||||
|
reddit (praw.Reddit): Description
|
||||||
|
"""
|
||||||
|
super(SubredditScraper, self).__init__()
|
||||||
|
self.reddit = reddit # type: praw.Reddit
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def create_reddit_instance(
|
||||||
|
cls,
|
||||||
|
client_id: str,
|
||||||
|
client_secret: str,
|
||||||
|
user_agent: str,
|
||||||
|
) -> T_subreddit_scraper:
|
||||||
|
"""Summary
|
||||||
|
|
||||||
|
Args:
|
||||||
|
client_id (str): Description
|
||||||
|
client_secret (str): Description
|
||||||
|
user_agent (str): Description
|
||||||
|
"""
|
||||||
|
reddit = praw.Reddit(
|
||||||
|
client_id=client_id,
|
||||||
|
client_secret=client_secret,
|
||||||
|
user_agent=user_agent,
|
||||||
|
)
|
||||||
|
|
||||||
|
return cls(reddit)
|
||||||
|
|
||||||
|
|
||||||
|
inst = SubredditScraper.create_reddit_instance(
|
||||||
|
client_id='yb7NnBPh4riSnw',
|
||||||
|
client_secret='-3Z0XUXD2XCiksfX26jORG107fA',
|
||||||
|
user_agent='mac:movieposterporndownloader:v0.1.0',
|
||||||
|
)
|
||||||
|
|
||||||
|
inst.reddit.subreddits
|
||||||
|
# praw.Reddit().subreddit()
|
||||||
|
|
||||||
|
SubredditScraper()
|
||||||
0
movieposterporndownloader/tests/__init__.py
Normal file
0
movieposterporndownloader/tests/__init__.py
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
from movieposterporndownloader import __version__
|
||||||
|
|
||||||
|
|
||||||
|
def test_version():
|
||||||
|
assert __version__ == '0.1.0'
|
||||||
231
playground/hearts.py
Normal file
231
playground/hearts.py
Normal file
@@ -0,0 +1,231 @@
|
|||||||
|
# hearts.py
|
||||||
|
|
||||||
|
from collections import Counter
|
||||||
|
import random
|
||||||
|
import sys
|
||||||
|
from typing import Any, Dict, List, Optional, Sequence, Tuple, Union
|
||||||
|
from typing import overload
|
||||||
|
|
||||||
|
|
||||||
|
class Card:
|
||||||
|
SUITS = "♠ ♡ ♢ ♣".split()
|
||||||
|
RANKS = "2 3 4 5 6 7 8 9 10 J Q K A".split()
|
||||||
|
|
||||||
|
def __init__(self, suit: str, rank: str) -> None:
|
||||||
|
self.suit = suit
|
||||||
|
self.rank = rank
|
||||||
|
|
||||||
|
@property
|
||||||
|
def value(self) -> int:
|
||||||
|
"""The value of a card is rank as a number"""
|
||||||
|
return self.RANKS.index(self.rank)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def points(self) -> int:
|
||||||
|
"""Points this card is worth"""
|
||||||
|
if self.suit == "♠" and self.rank == "Q":
|
||||||
|
return 13
|
||||||
|
if self.suit == "♡":
|
||||||
|
return 1
|
||||||
|
return 0
|
||||||
|
|
||||||
|
def __eq__(self, other: Any) -> Any:
|
||||||
|
return self.suit == other.suit and self.rank == other.rank
|
||||||
|
|
||||||
|
def __lt__(self, other: Any) -> Any:
|
||||||
|
return self.value < other.value
|
||||||
|
|
||||||
|
def __repr__(self) -> str:
|
||||||
|
return f"{self.suit}{self.rank}"
|
||||||
|
|
||||||
|
|
||||||
|
class Deck(Sequence[Card]):
|
||||||
|
def __init__(self, cards: List[Card]) -> None:
|
||||||
|
self.cards = cards
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def create(cls, shuffle: bool = False) -> "Deck":
|
||||||
|
"""Create a new deck of 52 cards"""
|
||||||
|
cards = [Card(s, r) for r in Card.RANKS for s in Card.SUITS]
|
||||||
|
if shuffle:
|
||||||
|
random.shuffle(cards)
|
||||||
|
return cls(cards)
|
||||||
|
|
||||||
|
def play(self, card: Card) -> None:
|
||||||
|
"""Play one card by removing it from the deck"""
|
||||||
|
self.cards.remove(card)
|
||||||
|
|
||||||
|
def deal(self, num_hands: int) -> Tuple["Deck", ...]:
|
||||||
|
"""Deal the cards in the deck into a number of hands"""
|
||||||
|
return tuple(self[i::num_hands] for i in range(num_hands))
|
||||||
|
|
||||||
|
def add_cards(self, cards: List[Card]) -> None:
|
||||||
|
"""Add a list of cards to the deck"""
|
||||||
|
self.cards += cards
|
||||||
|
|
||||||
|
def __len__(self) -> int:
|
||||||
|
return len(self.cards)
|
||||||
|
|
||||||
|
@overload
|
||||||
|
def __getitem__(self, key: int) -> Card:
|
||||||
|
...
|
||||||
|
|
||||||
|
@overload
|
||||||
|
def __getitem__(self, key: slice) -> "Deck": # noqa
|
||||||
|
...
|
||||||
|
|
||||||
|
def __getitem__( # noqa
|
||||||
|
self, key: Union[int, slice]
|
||||||
|
) -> Union[Card, "Deck"]:
|
||||||
|
if isinstance(key, int):
|
||||||
|
return self.cards[key]
|
||||||
|
elif isinstance(key, slice):
|
||||||
|
cls = self.__class__
|
||||||
|
return cls(self.cards[key])
|
||||||
|
else:
|
||||||
|
raise TypeError("Indices must be integers or slices")
|
||||||
|
|
||||||
|
def __repr__(self) -> str:
|
||||||
|
return " ".join(repr(c) for c in self.cards)
|
||||||
|
|
||||||
|
|
||||||
|
class Player:
|
||||||
|
def __init__(self, name: str, hand: Optional[Deck] = None) -> None:
|
||||||
|
self.name = name
|
||||||
|
self.hand = Deck([]) if hand is None else hand
|
||||||
|
|
||||||
|
def playable_cards(self, played: List[Card], hearts_broken: bool) -> Deck:
|
||||||
|
"""List which cards in hand are playable this round"""
|
||||||
|
if Card("♣", "2") in self.hand:
|
||||||
|
return Deck([Card("♣", "2")])
|
||||||
|
|
||||||
|
lead = played[0].suit if played else None
|
||||||
|
playable = Deck([c for c in self.hand if c.suit == lead]) or self.hand
|
||||||
|
if lead is None and not hearts_broken:
|
||||||
|
playable = Deck([c for c in playable if c.suit != "♡"])
|
||||||
|
return playable or Deck(self.hand.cards)
|
||||||
|
|
||||||
|
def non_winning_cards(self, played: List[Card], playable: Deck) -> Deck:
|
||||||
|
"""List playable cards that are guaranteed to not win the trick"""
|
||||||
|
if not played:
|
||||||
|
return Deck([])
|
||||||
|
|
||||||
|
lead = played[0].suit
|
||||||
|
best_card = max(c for c in played if c.suit == lead)
|
||||||
|
return Deck([c for c in playable if c < best_card or c.suit != lead])
|
||||||
|
|
||||||
|
def play_card(self, played: List[Card], hearts_broken: bool) -> Card:
|
||||||
|
"""Play a card from a cpu player's hand"""
|
||||||
|
playable = self.playable_cards(played, hearts_broken)
|
||||||
|
non_winning = self.non_winning_cards(played, playable)
|
||||||
|
|
||||||
|
# Strategy
|
||||||
|
if non_winning:
|
||||||
|
# Highest card not winning the trick, prefer points
|
||||||
|
card = max(non_winning, key=lambda c: (c.points, c.value))
|
||||||
|
elif len(played) < 3:
|
||||||
|
# Lowest card maybe winning, avoid points
|
||||||
|
card = min(playable, key=lambda c: (c.points, c.value))
|
||||||
|
else:
|
||||||
|
# Highest card guaranteed winning, avoid points
|
||||||
|
card = max(playable, key=lambda c: (-c.points, c.value))
|
||||||
|
self.hand.cards.remove(card)
|
||||||
|
print(f"{self.name} -> {card}")
|
||||||
|
return card
|
||||||
|
|
||||||
|
def has_card(self, card: Card) -> bool:
|
||||||
|
return card in self.hand
|
||||||
|
|
||||||
|
def __repr__(self) -> str:
|
||||||
|
return f"{self.__class__.__name__}({self.name!r}, {self.hand})"
|
||||||
|
|
||||||
|
|
||||||
|
class HumanPlayer(Player):
|
||||||
|
def play_card(self, played: List[Card], hearts_broken: bool) -> Card:
|
||||||
|
"""Play a card from a human player's hand"""
|
||||||
|
playable = sorted(self.playable_cards(played, hearts_broken))
|
||||||
|
p_str = " ".join(f"{n}: {c}" for n, c in enumerate(playable))
|
||||||
|
np_str = " ".join(repr(c) for c in self.hand if c not in playable)
|
||||||
|
print(f" {p_str} (Rest: {np_str})")
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
card_num = int(input(f" {self.name}, choose card: "))
|
||||||
|
card = playable[card_num]
|
||||||
|
except (ValueError, IndexError):
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
break
|
||||||
|
self.hand.play(card)
|
||||||
|
print(f"{self.name} => {card}")
|
||||||
|
return card
|
||||||
|
|
||||||
|
|
||||||
|
class HeartsGame:
|
||||||
|
def __init__(self, *names: str) -> None:
|
||||||
|
self.names = (list(names) + "P1 P2 P3 P4".split())[:4]
|
||||||
|
self.players = [Player(n) for n in self.names[1:]]
|
||||||
|
self.players.append(HumanPlayer(self.names[0]))
|
||||||
|
|
||||||
|
def play(self) -> None:
|
||||||
|
"""Play a game of Hearts until one player go bust"""
|
||||||
|
score = Counter({n: 0 for n in self.names})
|
||||||
|
while all(s < 100 for s in score.values()):
|
||||||
|
print("\nStarting new round:")
|
||||||
|
round_score = self.play_round()
|
||||||
|
score.update(Counter(round_score))
|
||||||
|
print("Scores:")
|
||||||
|
for name, total_score in score.most_common(4):
|
||||||
|
print(f"{name:<15} {round_score[name]:>3} {total_score:>3}")
|
||||||
|
|
||||||
|
winners = [n for n in self.names if score[n] == min(score.values())]
|
||||||
|
print(f"\n{' and '.join(winners)} won the game")
|
||||||
|
|
||||||
|
def play_round(self) -> Dict[str, int]:
|
||||||
|
"""Play a round of the Hearts card game"""
|
||||||
|
deck = Deck.create(shuffle=True)
|
||||||
|
for player, hand in zip(self.players, deck.deal(4)):
|
||||||
|
player.hand.add_cards(hand.cards)
|
||||||
|
start_player = next(
|
||||||
|
p for p in self.players if p.has_card(Card("♣", "2"))
|
||||||
|
)
|
||||||
|
tricks = {p.name: Deck([]) for p in self.players}
|
||||||
|
hearts = False
|
||||||
|
|
||||||
|
# Play cards from each player's hand until empty
|
||||||
|
while start_player.hand:
|
||||||
|
played: List[Card] = []
|
||||||
|
turn_order = self.player_order(start=start_player)
|
||||||
|
for player in turn_order:
|
||||||
|
card = player.play_card(played, hearts_broken=hearts)
|
||||||
|
played.append(card)
|
||||||
|
start_player = self.trick_winner(played, turn_order)
|
||||||
|
tricks[start_player.name].add_cards(played)
|
||||||
|
print(f"{start_player.name} wins the trick\n")
|
||||||
|
hearts = hearts or any(c.suit == "♡" for c in played)
|
||||||
|
return self.count_points(tricks)
|
||||||
|
|
||||||
|
def player_order(self, start: Optional[Player] = None) -> List[Player]:
|
||||||
|
"""Rotate player order so that start goes first"""
|
||||||
|
if start is None:
|
||||||
|
start = random.choice(self.players)
|
||||||
|
start_idx = self.players.index(start)
|
||||||
|
return self.players[start_idx:] + self.players[:start_idx]
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def trick_winner(trick: List[Card], players: List[Player]) -> Player:
|
||||||
|
lead = trick[0].suit
|
||||||
|
valid = [
|
||||||
|
(c.value, p) for c, p in zip(trick, players) if c.suit == lead
|
||||||
|
]
|
||||||
|
return max(valid)[1]
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def count_points(tricks: Dict[str, Deck]) -> Dict[str, int]:
|
||||||
|
return {n: sum(c.points for c in cards) for n, cards in tricks.items()}
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
# Read player names from the command line
|
||||||
|
player_names = sys.argv[1:]
|
||||||
|
game = HeartsGame(*player_names)
|
||||||
|
game.play()
|
||||||
3
playground/jsonTest.py
Normal file
3
playground/jsonTest.py
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
import json
|
||||||
|
|
||||||
|
print(type(json))
|
||||||
7
playground/kite.py
Normal file
7
playground/kite.py
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
import emojis
|
||||||
|
import datetime
|
||||||
|
import praw
|
||||||
|
|
||||||
|
print(emojis.__file__)
|
||||||
|
print(datetime.__file__)
|
||||||
|
print(praw.__file__)
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user