masterpiece 0.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- masterpiece-0.0.0/MANIFEST.in +12 -0
- masterpiece-0.0.0/PKG-INFO +134 -0
- masterpiece-0.0.0/docs/build/html/.buildinfo +4 -0
- masterpiece-0.0.0/docs/build/html/.nojekyll +0 -0
- masterpiece-0.0.0/docs/build/html/CHANGELOG.html +193 -0
- masterpiece-0.0.0/docs/build/html/CONTRIBUTING.html +225 -0
- masterpiece-0.0.0/docs/build/html/LICENSE.html +190 -0
- masterpiece-0.0.0/docs/build/html/README.html +253 -0
- masterpiece-0.0.0/docs/build/html/TODO.html +182 -0
- masterpiece-0.0.0/docs/build/html/_images/inheritance-41ff705b17a9cbaba6302d8eb520ab2424341b27.svg +29 -0
- masterpiece-0.0.0/docs/build/html/_images/masterpiece.png +0 -0
- masterpiece-0.0.0/docs/build/html/_modules/index.html +141 -0
- masterpiece-0.0.0/docs/build/html/_modules/masterpiece.html +721 -0
- masterpiece-0.0.0/docs/build/html/_sources/CHANGELOG.rst.txt +16 -0
- masterpiece-0.0.0/docs/build/html/_sources/CONTRIBUTING.rst.txt +45 -0
- masterpiece-0.0.0/docs/build/html/_sources/LICENSE.rst.txt +22 -0
- masterpiece-0.0.0/docs/build/html/_sources/README.rst.txt +84 -0
- masterpiece-0.0.0/docs/build/html/_sources/TODO.rst.txt +10 -0
- masterpiece-0.0.0/docs/build/html/_sources/index.rst.txt +35 -0
- masterpiece-0.0.0/docs/build/html/_sources/masterpiece/index.rst.txt +9 -0
- masterpiece-0.0.0/docs/build/html/_static/basic.css +925 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-2.3.2/css/bootstrap-responsive.css +1109 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-2.3.2/css/bootstrap-responsive.min.css +9 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-2.3.2/css/bootstrap.css +6167 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-2.3.2/css/bootstrap.min.css +9 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-2.3.2/img/glyphicons-halflings-white.png +0 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-2.3.2/img/glyphicons-halflings.png +0 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-2.3.2/js/bootstrap.js +2287 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-2.3.2/js/bootstrap.min.js +6 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap-theme.css +587 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap-theme.css.map +1 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap-theme.min.css +6 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap-theme.min.css.map +1 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap.css +6834 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap.css.map +1 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap.min.css +6 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-3.4.1/css/bootstrap.min.css.map +1 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-3.4.1/fonts/glyphicons-halflings-regular.eot +0 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-3.4.1/fonts/glyphicons-halflings-regular.svg +288 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-3.4.1/fonts/glyphicons-halflings-regular.ttf +0 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-3.4.1/fonts/glyphicons-halflings-regular.woff +0 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-3.4.1/fonts/glyphicons-halflings-regular.woff2 +0 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-3.4.1/js/bootstrap.js +2580 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-3.4.1/js/bootstrap.min.js +6 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-3.4.1/js/npm.js +13 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-sphinx.css +221 -0
- masterpiece-0.0.0/docs/build/html/_static/bootstrap-sphinx.js +175 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-2.3.2/amelia/bootstrap.min.css +9 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-2.3.2/cerulean/bootstrap.min.css +9 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-2.3.2/cosmo/bootstrap.min.css +9 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-2.3.2/cyborg/bootstrap.min.css +9 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-2.3.2/flatly/bootstrap.min.css +9 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-2.3.2/img/glyphicons-halflings-white.png +0 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-2.3.2/img/glyphicons-halflings.png +0 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-2.3.2/journal/bootstrap.min.css +9 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-2.3.2/readable/bootstrap.min.css +9 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-2.3.2/simplex/bootstrap.min.css +9 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-2.3.2/slate/bootstrap.min.css +9 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-2.3.2/spacelab/bootstrap.min.css +9 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-2.3.2/spruce/bootstrap.min.css +9 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-2.3.2/superhero/bootstrap.min.css +9 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-2.3.2/united/bootstrap.min.css +9 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/cerulean/bootstrap.min.css +11 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/cosmo/bootstrap.min.css +11 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/cyborg/bootstrap.min.css +11 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/darkly/bootstrap.min.css +11 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/flatly/bootstrap.min.css +11 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/fonts/glyphicons-halflings-regular.eot +0 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/fonts/glyphicons-halflings-regular.svg +288 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/fonts/glyphicons-halflings-regular.ttf +0 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/fonts/glyphicons-halflings-regular.woff +0 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/fonts/glyphicons-halflings-regular.woff2 +0 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/journal/bootstrap.min.css +11 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/lumen/bootstrap.min.css +11 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/paper/bootstrap.min.css +11 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/readable/bootstrap.min.css +11 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/sandstone/bootstrap.min.css +11 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/simplex/bootstrap.min.css +11 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/slate/bootstrap.min.css +11 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/spacelab/bootstrap.min.css +11 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/superhero/bootstrap.min.css +11 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/united/bootstrap.min.css +11 -0
- masterpiece-0.0.0/docs/build/html/_static/bootswatch-3.4.1/yeti/bootstrap.min.css +11 -0
- masterpiece-0.0.0/docs/build/html/_static/doctools.js +156 -0
- masterpiece-0.0.0/docs/build/html/_static/documentation_options.js +13 -0
- masterpiece-0.0.0/docs/build/html/_static/file.png +0 -0
- masterpiece-0.0.0/docs/build/html/_static/graphviz.css +19 -0
- masterpiece-0.0.0/docs/build/html/_static/js/jquery-1.12.4.min.js +5 -0
- masterpiece-0.0.0/docs/build/html/_static/js/jquery-fix.js +2 -0
- masterpiece-0.0.0/docs/build/html/_static/language_data.js +199 -0
- masterpiece-0.0.0/docs/build/html/_static/masterpiece.css +64 -0
- masterpiece-0.0.0/docs/build/html/_static/masterpiece.png +0 -0
- masterpiece-0.0.0/docs/build/html/_static/minus.png +0 -0
- masterpiece-0.0.0/docs/build/html/_static/plus.png +0 -0
- masterpiece-0.0.0/docs/build/html/_static/pygments.css +75 -0
- masterpiece-0.0.0/docs/build/html/_static/searchtools.js +619 -0
- masterpiece-0.0.0/docs/build/html/_static/sphinx_highlight.js +154 -0
- masterpiece-0.0.0/docs/build/html/genindex.html +348 -0
- masterpiece-0.0.0/docs/build/html/index.html +220 -0
- masterpiece-0.0.0/docs/build/html/masterpiece/index.html +733 -0
- masterpiece-0.0.0/docs/build/html/objects.inv +0 -0
- masterpiece-0.0.0/docs/build/html/py-modindex.html +163 -0
- masterpiece-0.0.0/docs/build/html/search.html +160 -0
- masterpiece-0.0.0/docs/build/html/searchindex.js +1 -0
- masterpiece-0.0.0/docs/source/CHANGELOG.rst +16 -0
- masterpiece-0.0.0/docs/source/CONTRIBUTING.rst +45 -0
- masterpiece-0.0.0/docs/source/LICENSE.rst +22 -0
- masterpiece-0.0.0/docs/source/README.rst +84 -0
- masterpiece-0.0.0/pyproject.toml +59 -0
- masterpiece-0.0.0/setup.cfg +4 -0
- masterpiece-0.0.0/src/__init__.py +13 -0
- masterpiece-0.0.0/src/composite.py +66 -0
- masterpiece-0.0.0/src/masterpiece.egg-info/PKG-INFO +134 -0
- masterpiece-0.0.0/src/masterpiece.egg-info/SOURCES.txt +130 -0
- masterpiece-0.0.0/src/masterpiece.egg-info/dependency_links.txt +1 -0
- masterpiece-0.0.0/src/masterpiece.egg-info/requires.txt +8 -0
- masterpiece-0.0.0/src/masterpiece.egg-info/top_level.txt +3 -0
- masterpiece-0.0.0/src/masterpiece.py +493 -0
- masterpiece-0.0.0/tests/__init__.py +0 -0
- masterpiece-0.0.0/tests/__pycache__/__init__.cpython-312.pyc +0 -0
- masterpiece-0.0.0/tests/__pycache__/test_composite.cpython-312-pytest-8.2.2.pyc +0 -0
- masterpiece-0.0.0/tests/__pycache__/test_composite.cpython-312-pytest-8.3.2.pyc +0 -0
- masterpiece-0.0.0/tests/__pycache__/test_composite.cpython-312.pyc +0 -0
- masterpiece-0.0.0/tests/__pycache__/test_group.cpython-312-pytest-8.2.2.pyc +0 -0
- masterpiece-0.0.0/tests/__pycache__/test_group.cpython-312.pyc +0 -0
- masterpiece-0.0.0/tests/__pycache__/test_masterpiece.cpython-312-pytest-8.2.2.pyc +0 -0
- masterpiece-0.0.0/tests/__pycache__/test_masterpiece.cpython-312-pytest-8.3.2.pyc +0 -0
- masterpiece-0.0.0/tests/__pycache__/test_masterpiece.cpython-312.pyc +0 -0
- masterpiece-0.0.0/tests/test_composite.py +63 -0
- masterpiece-0.0.0/tests/test_masterpiece.py +29 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
include docs/source/README.rst
|
|
2
|
+
include docs/source/CHANGELOG.rst
|
|
3
|
+
include docs/source/LICENSE.rst
|
|
4
|
+
include docs/source/CONTRIBUTING.rst
|
|
5
|
+
|
|
6
|
+
recursive-include examples *
|
|
7
|
+
recursive-include tests *
|
|
8
|
+
recursive-include docs/build/html *
|
|
9
|
+
|
|
10
|
+
# files to be excluded
|
|
11
|
+
global-exclude *~ \#*
|
|
12
|
+
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: masterpiece
|
|
3
|
+
Version: 0.0.0
|
|
4
|
+
Summary: Masterpiece framework
|
|
5
|
+
Author-email: J Meskanen <juham.api@gmail.com>
|
|
6
|
+
Maintainer-email: "J. Meskanen" <juham.api@gmail.com>
|
|
7
|
+
License: MIT License
|
|
8
|
+
===========
|
|
9
|
+
|
|
10
|
+
Copyright (c) 2024, Juha Meskanen
|
|
11
|
+
|
|
12
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
13
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
14
|
+
in the Software without restriction, including without limitation the rights
|
|
15
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
16
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
17
|
+
furnished to do so, subject to the following conditions:
|
|
18
|
+
|
|
19
|
+
The above copyright notice and this permission notice shall be included in all
|
|
20
|
+
copies or substantial portions of the Software.
|
|
21
|
+
|
|
22
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
23
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
24
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
25
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
26
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
27
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
Project-URL: Homepage, https://meskanen.com
|
|
31
|
+
Project-URL: Bug Reports, https://meskanen.com
|
|
32
|
+
Project-URL: Funding, https://meskanen.com
|
|
33
|
+
Project-URL: Say Thanks!, http://meskanen.com
|
|
34
|
+
Project-URL: Source, https://meskanen.com
|
|
35
|
+
Keywords: object-oriented,plugin,framework
|
|
36
|
+
Classifier: Development Status :: 1 - Planning
|
|
37
|
+
Classifier: Intended Audience :: Developers
|
|
38
|
+
Classifier: Topic :: Software Development
|
|
39
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
40
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
41
|
+
Requires-Python: >=3.8
|
|
42
|
+
Description-Content-Type: text/markdown
|
|
43
|
+
Requires-Dist: paho-mqtt>=1
|
|
44
|
+
Requires-Dist: influxdb3-python>=0.3.0
|
|
45
|
+
Requires-Dist: requests>=2.31
|
|
46
|
+
Requires-Dist: pytz>=2024.1
|
|
47
|
+
Requires-Dist: importlib-metadata
|
|
48
|
+
Provides-Extra: dev
|
|
49
|
+
Requires-Dist: check-manifest; extra == "dev"
|
|
50
|
+
|
|
51
|
+
Welcome to MasterPiece Framework
|
|
52
|
+
================================
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
Project Status and Current State
|
|
56
|
+
--------------------------------
|
|
57
|
+
|
|
58
|
+
This is the initial commit of the project. At this stage, the framework is in its early development phase.
|
|
59
|
+
|
|
60
|
+
Here's what is currently available:
|
|
61
|
+
|
|
62
|
+
* Package Infrastructure: The basic Python package setup is in place, configured with pyproject.toml.
|
|
63
|
+
* Early Drafts: Initial versions of the two core base classes have been implemented 'MasterPiece' and 'Group'.
|
|
64
|
+
|
|
65
|
+
Insights and suggestions are invaluable as we continue to develop and refine the framework.
|
|
66
|
+
|
|
67
|
+
In this current state, you might call it merely a mission, rather than masterpiece, but I'm
|
|
68
|
+
working hard to turn it into a masterpiece!
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
Goals
|
|
73
|
+
-----
|
|
74
|
+
|
|
75
|
+
The primary goal of this framework is to provide a minimal yet robust set of general-purpose base classes designed
|
|
76
|
+
to streamline the development of new software in Python. The key objectives of this framework include:
|
|
77
|
+
|
|
78
|
+
* Robusness: Minimal yet robust API providing the developer with 100% control.
|
|
79
|
+
* First-Time Excellence: The aim is to build a robust and reliable framework that is correct and efficient from the start,
|
|
80
|
+
eliminating the need for disruptive changes or backward compatibility issues in future releases.
|
|
81
|
+
* Abstraction: Provide a layer of abstraction to shield the API from the impacts of external code, including
|
|
82
|
+
third-party libraries and APIs.
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
Design
|
|
87
|
+
------
|
|
88
|
+
|
|
89
|
+
The design patterns employed to achieve our goals include:
|
|
90
|
+
|
|
91
|
+
* Object-Oriented Paradigm: Employing object-oriented principles to promote code reuse, encapsulation, and modularity.
|
|
92
|
+
* Factory Method Pattern: Decoupling implementations from their interfaces to simplify object creation and enhance flexibility.
|
|
93
|
+
* Layered Design Pattern: Promoting separation of concerns and reusability by organizing code into distinct layers.
|
|
94
|
+
* Plugin API: Enabling extensibility and customization through a well-defined plugin interface for easy integration of additional features.
|
|
95
|
+
* Serialization: Facilitating seamless conversion between data formats and object representations.
|
|
96
|
+
* Easy Configuration: Simplifying setup and management through startup arguments and configuration files.
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
If you appreciate these design concepts, you've come to the right place!
|
|
100
|
+
|
|
101
|
+
A framework designed with these principles deserves more than just "objects" — let's call
|
|
102
|
+
them "masterpieces". This term reflects commitment to fine-grained modular design ("pieces") and
|
|
103
|
+
adds a touch of humor with "Master".
|
|
104
|
+
|
|
105
|
+
Just as all creatures on Earth share a common ancestor, all components in this framework trace their lineage
|
|
106
|
+
back to this foundational anchestor named "masterpiece" ... (okay, perhaps a bit dramatic).
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
Install
|
|
110
|
+
-------
|
|
111
|
+
|
|
112
|
+
1. To install:
|
|
113
|
+
|
|
114
|
+
`pip install masterpiece`.
|
|
115
|
+
|
|
116
|
+
This installs all the dependencies as well, I hope.
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
Developer Documentation
|
|
122
|
+
-----------------------
|
|
123
|
+
|
|
124
|
+
After several hours (okay, days), Sphinx finally generates something. It will require a
|
|
125
|
+
few more hours (okay, days) of effort to produce something really usable.
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
Special Thanks
|
|
130
|
+
--------------
|
|
131
|
+
|
|
132
|
+
My ability to translate my architecture ideas into Python is greatly due to the generous support of one
|
|
133
|
+
extraordinary gentleman: [Mahi.fi](https://mahi.fi). His support and encouragement have been
|
|
134
|
+
invaluable in bringing this project to life. Thank you!
|
|
File without changes
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
|
|
2
|
+
<!DOCTYPE html>
|
|
3
|
+
|
|
4
|
+
<html lang="en" data-content_root="./">
|
|
5
|
+
<head>
|
|
6
|
+
<meta charset="utf-8" />
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
8
|
+
|
|
9
|
+
<title>Changelog — masterpiece documentation</title>
|
|
10
|
+
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
|
11
|
+
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css?v=4468db6d" />
|
|
12
|
+
<link rel="stylesheet" type="text/css" href="_static/graphviz.css?v=fd3f3429" />
|
|
13
|
+
<link rel="stylesheet" type="text/css" href="_static/masterpiece.css?v=7a3aeb84" />
|
|
14
|
+
<script src="_static/documentation_options.js?v=5929fcd5"></script>
|
|
15
|
+
<script src="_static/doctools.js?v=9a2dae69"></script>
|
|
16
|
+
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
17
|
+
<link rel="index" title="Index" href="genindex.html" />
|
|
18
|
+
<link rel="search" title="Search" href="search.html" />
|
|
19
|
+
<link rel="next" title="MIT License" href="LICENSE.html" />
|
|
20
|
+
<link rel="prev" title="Welcome to MasterPiece Framework" href="README.html" />
|
|
21
|
+
<meta charset='utf-8'>
|
|
22
|
+
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
|
|
23
|
+
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
|
|
24
|
+
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
25
|
+
<script type="text/javascript" src="_static/js/jquery-1.12.4.min.js"></script>
|
|
26
|
+
<script type="text/javascript" src="_static/js/jquery-fix.js"></script>
|
|
27
|
+
<script type="text/javascript" src="_static/bootstrap-3.4.1/js/bootstrap.min.js"></script>
|
|
28
|
+
<script type="text/javascript" src="_static/bootstrap-sphinx.js"></script>
|
|
29
|
+
|
|
30
|
+
</head><body>
|
|
31
|
+
|
|
32
|
+
<div id="navbar" class="navbar navbar-default navbar-fixed-top">
|
|
33
|
+
<div class="container">
|
|
34
|
+
<div class="navbar-header">
|
|
35
|
+
<!-- .btn-navbar is used as the toggle for collapsed navbar content -->
|
|
36
|
+
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
|
|
37
|
+
<span class="icon-bar"></span>
|
|
38
|
+
<span class="icon-bar"></span>
|
|
39
|
+
<span class="icon-bar"></span>
|
|
40
|
+
</button>
|
|
41
|
+
<a class="navbar-brand" href="index.html">
|
|
42
|
+
masterpiece</a>
|
|
43
|
+
<span class="navbar-text navbar-version pull-left"><b></b></span>
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
<div class="collapse navbar-collapse nav-collapse">
|
|
47
|
+
<ul class="nav navbar-nav">
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
<li class="dropdown globaltoc-container">
|
|
51
|
+
<a role="button"
|
|
52
|
+
id="dLabelGlobalToc"
|
|
53
|
+
data-toggle="dropdown"
|
|
54
|
+
data-target="#"
|
|
55
|
+
href="index.html">Site <b class="caret"></b></a>
|
|
56
|
+
<ul class="dropdown-menu globaltoc"
|
|
57
|
+
role="menu"
|
|
58
|
+
aria-labelledby="dLabelGlobalToc"><p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
|
|
59
|
+
<ul class="current">
|
|
60
|
+
<li class="toctree-l1"><a class="reference internal" href="README.html">Welcome to MasterPiece Framework</a></li>
|
|
61
|
+
<li class="toctree-l1 current"><a class="current reference internal" href="#">Changelog</a></li>
|
|
62
|
+
<li class="toctree-l1"><a class="reference internal" href="LICENSE.html">MIT License</a></li>
|
|
63
|
+
<li class="toctree-l1"><a class="reference internal" href="CONTRIBUTING.html">Contributing</a></li>
|
|
64
|
+
<li class="toctree-l1"><a class="reference internal" href="TODO.html">TODOs for MasterPiece</a></li>
|
|
65
|
+
<li class="toctree-l1"><a class="reference internal" href="masterpiece/index.html">Project Overview</a></li>
|
|
66
|
+
</ul>
|
|
67
|
+
</ul>
|
|
68
|
+
</li>
|
|
69
|
+
|
|
70
|
+
<li class="dropdown">
|
|
71
|
+
<a role="button"
|
|
72
|
+
id="dLabelLocalToc"
|
|
73
|
+
data-toggle="dropdown"
|
|
74
|
+
data-target="#"
|
|
75
|
+
href="#">Page <b class="caret"></b></a>
|
|
76
|
+
<ul class="dropdown-menu localtoc"
|
|
77
|
+
role="menu"
|
|
78
|
+
aria-labelledby="dLabelLocalToc"><ul>
|
|
79
|
+
<li><a class="reference internal" href="#">Changelog</a><ul>
|
|
80
|
+
<li><a class="reference internal" href="#may-31-2024">[0.0.0] - May 31, 2024</a></li>
|
|
81
|
+
</ul>
|
|
82
|
+
</li>
|
|
83
|
+
</ul>
|
|
84
|
+
</ul>
|
|
85
|
+
</li>
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
<li>
|
|
92
|
+
<a href="README.html" title="Previous Chapter: Welcome to MasterPiece Framework"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">« Welcome to Ma...</span>
|
|
93
|
+
</a>
|
|
94
|
+
</li>
|
|
95
|
+
<li>
|
|
96
|
+
<a href="LICENSE.html" title="Next Chapter: MIT License"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">MIT License »</span>
|
|
97
|
+
</a>
|
|
98
|
+
</li>
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
<li class="hidden-sm">
|
|
105
|
+
<div id="sourcelink">
|
|
106
|
+
<a href="_sources/CHANGELOG.rst.txt"
|
|
107
|
+
rel="nofollow">Source</a>
|
|
108
|
+
</div></li>
|
|
109
|
+
|
|
110
|
+
</ul>
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
<form class="navbar-form navbar-right" action="search.html" method="get">
|
|
115
|
+
<div class="form-group">
|
|
116
|
+
<input type="text" name="q" class="form-control" placeholder="Search" />
|
|
117
|
+
</div>
|
|
118
|
+
<input type="hidden" name="check_keywords" value="yes" />
|
|
119
|
+
<input type="hidden" name="area" value="default" />
|
|
120
|
+
</form>
|
|
121
|
+
|
|
122
|
+
</div>
|
|
123
|
+
</div>
|
|
124
|
+
</div>
|
|
125
|
+
|
|
126
|
+
<div class="container">
|
|
127
|
+
<div class="row">
|
|
128
|
+
<div class="col-md-3">
|
|
129
|
+
<div id="sidebar" class="bs-sidenav" role="complementary"><ul>
|
|
130
|
+
<li><a class="reference internal" href="#">Changelog</a><ul>
|
|
131
|
+
<li><a class="reference internal" href="#may-31-2024">[0.0.0] - May 31, 2024</a></li>
|
|
132
|
+
</ul>
|
|
133
|
+
</li>
|
|
134
|
+
</ul>
|
|
135
|
+
|
|
136
|
+
<li>
|
|
137
|
+
<a href="README.html" title="Previous Chapter: Welcome to MasterPiece Framework"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">« Welcome to Ma...</span>
|
|
138
|
+
</a>
|
|
139
|
+
</li>
|
|
140
|
+
<li>
|
|
141
|
+
<a href="LICENSE.html" title="Next Chapter: MIT License"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">MIT License »</span>
|
|
142
|
+
</a>
|
|
143
|
+
</li>
|
|
144
|
+
<div id="sourcelink">
|
|
145
|
+
<a href="_sources/CHANGELOG.rst.txt"
|
|
146
|
+
rel="nofollow">Source</a>
|
|
147
|
+
</div>
|
|
148
|
+
<form action="search.html" method="get">
|
|
149
|
+
<div class="form-group">
|
|
150
|
+
<input type="text" name="q" class="form-control" placeholder="Search" />
|
|
151
|
+
</div>
|
|
152
|
+
<input type="hidden" name="check_keywords" value="yes" />
|
|
153
|
+
<input type="hidden" name="area" value="default" />
|
|
154
|
+
</form>
|
|
155
|
+
</div>
|
|
156
|
+
</div>
|
|
157
|
+
<div class="body col-md-9 content" role="main">
|
|
158
|
+
|
|
159
|
+
<section id="changelog">
|
|
160
|
+
<h1>Changelog<a class="headerlink" href="#changelog" title="Link to this heading">¶</a></h1>
|
|
161
|
+
<section id="may-31-2024">
|
|
162
|
+
<h2>[0.0.0] - May 31, 2024<a class="headerlink" href="#may-31-2024" title="Link to this heading">¶</a></h2>
|
|
163
|
+
<p>Initial release featuring:</p>
|
|
164
|
+
<ul class="simple">
|
|
165
|
+
<li><p>Initial version of the ‘MasterPiece’ class.</p></li>
|
|
166
|
+
<li><p>Some unconventional use of the Python programming language, I’m sure.</p></li>
|
|
167
|
+
<li><p>Python packaging installable via pip, based on <cite>pyproject.toml</cite></p></li>
|
|
168
|
+
<li><p>LICENSE, README, and a few other standard files in .rst format</p></li>
|
|
169
|
+
<li><p>A cool project name, ‘MasterPiece™’, with a note: M currently stands for mission rather than masterpiece</p></li>
|
|
170
|
+
<li><p>Developer documentations autogenerated with Sphinx toolset.</p></li>
|
|
171
|
+
</ul>
|
|
172
|
+
</section>
|
|
173
|
+
</section>
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
</div>
|
|
177
|
+
|
|
178
|
+
</div>
|
|
179
|
+
</div>
|
|
180
|
+
<footer class="footer">
|
|
181
|
+
<div class="container">
|
|
182
|
+
<p class="pull-right">
|
|
183
|
+
<a href="#">Back to top</a>
|
|
184
|
+
|
|
185
|
+
</p>
|
|
186
|
+
<p>
|
|
187
|
+
© Copyright 2024, juha meskanen.<br/>
|
|
188
|
+
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 7.3.7.<br/>
|
|
189
|
+
</p>
|
|
190
|
+
</div>
|
|
191
|
+
</footer>
|
|
192
|
+
</body>
|
|
193
|
+
</html>
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
|
|
2
|
+
<!DOCTYPE html>
|
|
3
|
+
|
|
4
|
+
<html lang="en" data-content_root="./">
|
|
5
|
+
<head>
|
|
6
|
+
<meta charset="utf-8" />
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
8
|
+
|
|
9
|
+
<title>Contributing — masterpiece documentation</title>
|
|
10
|
+
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
|
11
|
+
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css?v=4468db6d" />
|
|
12
|
+
<link rel="stylesheet" type="text/css" href="_static/graphviz.css?v=fd3f3429" />
|
|
13
|
+
<link rel="stylesheet" type="text/css" href="_static/masterpiece.css?v=7a3aeb84" />
|
|
14
|
+
<script src="_static/documentation_options.js?v=5929fcd5"></script>
|
|
15
|
+
<script src="_static/doctools.js?v=9a2dae69"></script>
|
|
16
|
+
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
17
|
+
<link rel="index" title="Index" href="genindex.html" />
|
|
18
|
+
<link rel="search" title="Search" href="search.html" />
|
|
19
|
+
<link rel="next" title="TODOs for MasterPiece" href="TODO.html" />
|
|
20
|
+
<link rel="prev" title="MIT License" href="LICENSE.html" />
|
|
21
|
+
<meta charset='utf-8'>
|
|
22
|
+
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
|
|
23
|
+
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
|
|
24
|
+
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
25
|
+
<script type="text/javascript" src="_static/js/jquery-1.12.4.min.js"></script>
|
|
26
|
+
<script type="text/javascript" src="_static/js/jquery-fix.js"></script>
|
|
27
|
+
<script type="text/javascript" src="_static/bootstrap-3.4.1/js/bootstrap.min.js"></script>
|
|
28
|
+
<script type="text/javascript" src="_static/bootstrap-sphinx.js"></script>
|
|
29
|
+
|
|
30
|
+
</head><body>
|
|
31
|
+
|
|
32
|
+
<div id="navbar" class="navbar navbar-default navbar-fixed-top">
|
|
33
|
+
<div class="container">
|
|
34
|
+
<div class="navbar-header">
|
|
35
|
+
<!-- .btn-navbar is used as the toggle for collapsed navbar content -->
|
|
36
|
+
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
|
|
37
|
+
<span class="icon-bar"></span>
|
|
38
|
+
<span class="icon-bar"></span>
|
|
39
|
+
<span class="icon-bar"></span>
|
|
40
|
+
</button>
|
|
41
|
+
<a class="navbar-brand" href="index.html">
|
|
42
|
+
masterpiece</a>
|
|
43
|
+
<span class="navbar-text navbar-version pull-left"><b></b></span>
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
<div class="collapse navbar-collapse nav-collapse">
|
|
47
|
+
<ul class="nav navbar-nav">
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
<li class="dropdown globaltoc-container">
|
|
51
|
+
<a role="button"
|
|
52
|
+
id="dLabelGlobalToc"
|
|
53
|
+
data-toggle="dropdown"
|
|
54
|
+
data-target="#"
|
|
55
|
+
href="index.html">Site <b class="caret"></b></a>
|
|
56
|
+
<ul class="dropdown-menu globaltoc"
|
|
57
|
+
role="menu"
|
|
58
|
+
aria-labelledby="dLabelGlobalToc"><p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
|
|
59
|
+
<ul class="current">
|
|
60
|
+
<li class="toctree-l1"><a class="reference internal" href="README.html">Welcome to MasterPiece Framework</a></li>
|
|
61
|
+
<li class="toctree-l1"><a class="reference internal" href="CHANGELOG.html">Changelog</a></li>
|
|
62
|
+
<li class="toctree-l1"><a class="reference internal" href="LICENSE.html">MIT License</a></li>
|
|
63
|
+
<li class="toctree-l1 current"><a class="current reference internal" href="#">Contributing</a></li>
|
|
64
|
+
<li class="toctree-l1"><a class="reference internal" href="TODO.html">TODOs for MasterPiece</a></li>
|
|
65
|
+
<li class="toctree-l1"><a class="reference internal" href="masterpiece/index.html">Project Overview</a></li>
|
|
66
|
+
</ul>
|
|
67
|
+
</ul>
|
|
68
|
+
</li>
|
|
69
|
+
|
|
70
|
+
<li class="dropdown">
|
|
71
|
+
<a role="button"
|
|
72
|
+
id="dLabelLocalToc"
|
|
73
|
+
data-toggle="dropdown"
|
|
74
|
+
data-target="#"
|
|
75
|
+
href="#">Page <b class="caret"></b></a>
|
|
76
|
+
<ul class="dropdown-menu localtoc"
|
|
77
|
+
role="menu"
|
|
78
|
+
aria-labelledby="dLabelLocalToc"><ul>
|
|
79
|
+
<li><a class="reference internal" href="#">Contributing</a><ul>
|
|
80
|
+
<li><a class="reference internal" href="#thank-you">Thank You!</a></li>
|
|
81
|
+
<li><a class="reference internal" href="#design-patterns">Design Patterns</a></li>
|
|
82
|
+
<li><a class="reference internal" href="#code-formatting">Code Formatting</a></li>
|
|
83
|
+
<li><a class="reference internal" href="#using-emacs-and-makefile">Using Emacs and Makefile</a></li>
|
|
84
|
+
<li><a class="reference internal" href="#more-stuff">More Stuff</a></li>
|
|
85
|
+
</ul>
|
|
86
|
+
</li>
|
|
87
|
+
</ul>
|
|
88
|
+
</ul>
|
|
89
|
+
</li>
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
<li>
|
|
96
|
+
<a href="LICENSE.html" title="Previous Chapter: MIT License"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">« MIT License</span>
|
|
97
|
+
</a>
|
|
98
|
+
</li>
|
|
99
|
+
<li>
|
|
100
|
+
<a href="TODO.html" title="Next Chapter: TODOs for MasterPiece"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">TODOs for MasterPiece »</span>
|
|
101
|
+
</a>
|
|
102
|
+
</li>
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
<li class="hidden-sm">
|
|
109
|
+
<div id="sourcelink">
|
|
110
|
+
<a href="_sources/CONTRIBUTING.rst.txt"
|
|
111
|
+
rel="nofollow">Source</a>
|
|
112
|
+
</div></li>
|
|
113
|
+
|
|
114
|
+
</ul>
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
<form class="navbar-form navbar-right" action="search.html" method="get">
|
|
119
|
+
<div class="form-group">
|
|
120
|
+
<input type="text" name="q" class="form-control" placeholder="Search" />
|
|
121
|
+
</div>
|
|
122
|
+
<input type="hidden" name="check_keywords" value="yes" />
|
|
123
|
+
<input type="hidden" name="area" value="default" />
|
|
124
|
+
</form>
|
|
125
|
+
|
|
126
|
+
</div>
|
|
127
|
+
</div>
|
|
128
|
+
</div>
|
|
129
|
+
|
|
130
|
+
<div class="container">
|
|
131
|
+
<div class="row">
|
|
132
|
+
<div class="col-md-3">
|
|
133
|
+
<div id="sidebar" class="bs-sidenav" role="complementary"><ul>
|
|
134
|
+
<li><a class="reference internal" href="#">Contributing</a><ul>
|
|
135
|
+
<li><a class="reference internal" href="#thank-you">Thank You!</a></li>
|
|
136
|
+
<li><a class="reference internal" href="#design-patterns">Design Patterns</a></li>
|
|
137
|
+
<li><a class="reference internal" href="#code-formatting">Code Formatting</a></li>
|
|
138
|
+
<li><a class="reference internal" href="#using-emacs-and-makefile">Using Emacs and Makefile</a></li>
|
|
139
|
+
<li><a class="reference internal" href="#more-stuff">More Stuff</a></li>
|
|
140
|
+
</ul>
|
|
141
|
+
</li>
|
|
142
|
+
</ul>
|
|
143
|
+
|
|
144
|
+
<li>
|
|
145
|
+
<a href="LICENSE.html" title="Previous Chapter: MIT License"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">« MIT License</span>
|
|
146
|
+
</a>
|
|
147
|
+
</li>
|
|
148
|
+
<li>
|
|
149
|
+
<a href="TODO.html" title="Next Chapter: TODOs for MasterPiece"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">TODOs for MasterPiece »</span>
|
|
150
|
+
</a>
|
|
151
|
+
</li>
|
|
152
|
+
<div id="sourcelink">
|
|
153
|
+
<a href="_sources/CONTRIBUTING.rst.txt"
|
|
154
|
+
rel="nofollow">Source</a>
|
|
155
|
+
</div>
|
|
156
|
+
<form action="search.html" method="get">
|
|
157
|
+
<div class="form-group">
|
|
158
|
+
<input type="text" name="q" class="form-control" placeholder="Search" />
|
|
159
|
+
</div>
|
|
160
|
+
<input type="hidden" name="check_keywords" value="yes" />
|
|
161
|
+
<input type="hidden" name="area" value="default" />
|
|
162
|
+
</form>
|
|
163
|
+
</div>
|
|
164
|
+
</div>
|
|
165
|
+
<div class="body col-md-9 content" role="main">
|
|
166
|
+
|
|
167
|
+
<section id="contributing">
|
|
168
|
+
<h1>Contributing<a class="headerlink" href="#contributing" title="Link to this heading">¶</a></h1>
|
|
169
|
+
<section id="thank-you">
|
|
170
|
+
<h2>Thank You!<a class="headerlink" href="#thank-you" title="Link to this heading">¶</a></h2>
|
|
171
|
+
<p>Thank you in advance for your forthcoming contributions, whether they are bug fixes,
|
|
172
|
+
documentation improvements, entirely new features, or simply feedback. Your efforts
|
|
173
|
+
will be highly appreciated and will help turn this project from its current mission
|
|
174
|
+
state into an actual masterpiece.</p>
|
|
175
|
+
</section>
|
|
176
|
+
<section id="design-patterns">
|
|
177
|
+
<h2>Design Patterns<a class="headerlink" href="#design-patterns" title="Link to this heading">¶</a></h2>
|
|
178
|
+
<p>Please read the developer documentation and understand the few design patterns before contributing.
|
|
179
|
+
This will help ensure that your contributions align with the project’s design and goals.
|
|
180
|
+
.. todo:: (okay, the documentation is currently lacking many essential chapters, add.)</p>
|
|
181
|
+
</section>
|
|
182
|
+
<section id="code-formatting">
|
|
183
|
+
<h2>Code Formatting<a class="headerlink" href="#code-formatting" title="Link to this heading">¶</a></h2>
|
|
184
|
+
<p>To help maintain consistent code formatting across different developers, we use ‘black’ python formatter, by Microsoft.</p>
|
|
185
|
+
<p>Strange, the formatter doesn’t seem to format that much, it doesn’t organize imports,
|
|
186
|
+
doesn’t adjust docstring lenghts
|
|
187
|
+
.. todo:: most likely I don’t know how to use it properly, read the docs.</p>
|
|
188
|
+
</section>
|
|
189
|
+
<section id="using-emacs-and-makefile">
|
|
190
|
+
<h2>Using Emacs and Makefile<a class="headerlink" href="#using-emacs-and-makefile" title="Link to this heading">¶</a></h2>
|
|
191
|
+
<p>Despite my attempts to fall in love with Eclipse, VSCode and other IDEs, I still find Emacs and Makefile the best
|
|
192
|
+
tools for many of my workflows.
|
|
193
|
+
So there is a Makefile in the root folder. For those old dogs who are like me</p>
|
|
194
|
+
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">make</span> <span class="n">help</span>
|
|
195
|
+
</pre></div>
|
|
196
|
+
</div>
|
|
197
|
+
</section>
|
|
198
|
+
<section id="more-stuff">
|
|
199
|
+
<h2>More Stuff<a class="headerlink" href="#more-stuff" title="Link to this heading">¶</a></h2>
|
|
200
|
+
<div class="admonition-todo admonition" id="id1">
|
|
201
|
+
<p class="admonition-title">Todo</p>
|
|
202
|
+
<p>add more stuff, a lot.</p>
|
|
203
|
+
</div>
|
|
204
|
+
</section>
|
|
205
|
+
</section>
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
</div>
|
|
209
|
+
|
|
210
|
+
</div>
|
|
211
|
+
</div>
|
|
212
|
+
<footer class="footer">
|
|
213
|
+
<div class="container">
|
|
214
|
+
<p class="pull-right">
|
|
215
|
+
<a href="#">Back to top</a>
|
|
216
|
+
|
|
217
|
+
</p>
|
|
218
|
+
<p>
|
|
219
|
+
© Copyright 2024, juha meskanen.<br/>
|
|
220
|
+
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 7.3.7.<br/>
|
|
221
|
+
</p>
|
|
222
|
+
</div>
|
|
223
|
+
</footer>
|
|
224
|
+
</body>
|
|
225
|
+
</html>
|