Skip to content
This repository was archived by the owner on Oct 24, 2025. It is now read-only.

Commit e23203a

Browse files
committed
Updated documentation.
1 parent ff8edea commit e23203a

File tree

15 files changed

+381
-95
lines changed

15 files changed

+381
-95
lines changed

doc/Dependencies.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Dependencies
2+
############
3+
4+
+------------------------+--------------------+-----------------------------------------------------------+---------------------------------------------------------+-----------------------------------------------------------------------+
5+
| Package | License | PyPI URL | Documentation | Source |
6+
+========================+====================+===========================================================+=========================================================+=======================================================================+
7+
| colorama | BSD-3-Clause | `colorama <https://pypi.org/project/colorama>`_ | | `tartley/colorama <https://github.com/tartley/colorama>`_ |
8+
+------------------------+--------------------+-----------------------------------------------------------+---------------------------------------------------------+-----------------------------------------------------------------------+
9+
| pyExceptions | Apache License 2.0 | `pyExceptions <https://pypi.org/project/pyExceptions>`_ | `pyExceptions <https://pyExceptions.readthedocs.io>`_ | `Paebbels/pyExceptions <https://github.com/Paebbels/pyExceptions>`_ |
10+
+------------------------+--------------------+-----------------------------------------------------------+---------------------------------------------------------+-----------------------------------------------------------------------+
11+
| pyMetaClasses | Apache License 2.0 | `pyMetaClasses <https://pypi.org/project/pyMetaClasses>`_ | `pyMetaClasses <https://pyMetaClasses.readthedocs.io>`_ | `Paebbels/pyMetaClasses <https://github.com/Paebbels/pyMetaClasses>`_ |
12+
+------------------------+--------------------+-----------------------------------------------------------+---------------------------------------------------------+-----------------------------------------------------------------------+

doc/ILineTerminal.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
ILineTerminal
2+
#############
3+
4+
.. autoclass:: pyTerminalUI.ILineTerminal
5+
:members:
6+
:private-members:

doc/Installation.rst

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Installation/Updates
2+
####################
3+
4+
Using PIP
5+
*********
6+
7+
Installation using PIP
8+
======================
9+
10+
.. code-block:: bash
11+
12+
pip3 install pyTerminalUI
13+
14+
15+
Updating using PIP
16+
==================
17+
18+
.. code-block:: bash
19+
20+
pip3 install -U pyTerminalUI

doc/License.rst

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
.. Note:: This is a local copy of the `Apache License Version 2.0 <http://www.apache.org/licenses/LICENSE-2.0>`_.
2+
3+
Apache License 2.0
4+
##################
5+
6+
Version 2.0, January 2004
7+
8+
**TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION**
9+
10+
11+
1. Definitions.
12+
===============
13+
**"License"** shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
14+
15+
**"Licensor"** shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
16+
17+
**"Legal Entity"** shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that
18+
entity. For the purposes of this definition, **"control"** means (i) the power, direct or indirect, to cause the direction or management of such entity, whether
19+
by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
20+
21+
**"You"** (or **"Your"**) shall mean an individual or Legal Entity exercising permissions granted by this License.
22+
23+
**"Source"** form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and
24+
configuration files.
25+
26+
**"Object"** form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object
27+
code, generated documentation, and conversions to other media types.
28+
29+
**"Work"** shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is
30+
included in or attached to the work (an example is provided in the Appendix below).
31+
32+
**"Derivative Works"** shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions,
33+
annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works
34+
shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
35+
36+
**"Contribution"** shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative
37+
Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to
38+
submit on behalf of the copyright owner. For the purposes of this definition, **"submitted"** means any form of electronic, verbal, or written communication
39+
sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue
40+
tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is
41+
conspicuously marked or otherwise designated in writing by the copyright owner as **"Not a Contribution."**
42+
43+
**"Contributor"** shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently
44+
incorporated within the Work.
45+
46+
2. Grant of Copyright License.
47+
==============================
48+
Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
49+
irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such
50+
Derivative Works in Source or Object form.
51+
52+
3. Grant of Patent License.
53+
===========================
54+
Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
55+
irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such
56+
license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of
57+
their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim
58+
or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then
59+
any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
60+
61+
4. Redistribution.
62+
==================
63+
You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form,
64+
provided that You meet the following conditions:
65+
66+
* You must give any other recipients of the Work or Derivative Works a copy of this License; and
67+
* You must cause any modified files to carry prominent notices stating that You changed the files; and
68+
* You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source
69+
form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
70+
* If the Work includes a **"NOTICE"** text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the
71+
attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the
72+
following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the
73+
Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE
74+
file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute,
75+
alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
76+
77+
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or
78+
distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise
79+
complies with the conditions stated in this License.
80+
81+
5. Submission of Contributions.
82+
===============================
83+
Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and
84+
conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any
85+
separate license agreement you may have executed with Licensor regarding such Contributions.
86+
87+
6. Trademarks.
88+
==============
89+
This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable
90+
and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
91+
92+
7. Disclaimer of Warranty.
93+
==========================
94+
Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS,
95+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT,
96+
MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and
97+
assume any risks associated with Your exercise of permissions under this License.
98+
99+
8. Limitation of Liability.
100+
===========================
101+
In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate
102+
and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or
103+
consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages
104+
for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been
105+
advised of the possibility of such damages.
106+
107+
9. Accepting Warranty or Additional Liability.
108+
==============================================
109+
While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other
110+
liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole
111+
responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability
112+
incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
113+
114+
----------------------------------------------------------------------------------------------------------------------------------------------------------------
115+
116+
**Appendix: How to apply the Apache License to your work**
117+
118+
To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying
119+
information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or
120+
class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
121+
122+
.. code-block:: none
123+
124+
Copyright [yyyy] [name of copyright owner]
125+
126+
Licensed under the Apache License, Version 2.0 (the "License");
127+
you may not use this file except in compliance with the License.
128+
You may obtain a copy of the License at
129+
130+
http://www.apache.org/licenses/LICENSE-2.0
131+
132+
Unless required by applicable law or agreed to in writing, software
133+
distributed under the License is distributed on an "AS IS" BASIS,
134+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
135+
See the License for the specific language governing permissions and
136+
limitations under the License.

doc/Line.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Line
2+
####
3+
4+
``Line`` represents a single line in a line-based terminal application. If a
5+
line is visible, depends on the :class:`~pyTerminalUI.Severity`-level of a
6+
``Line`` object.
7+
8+
.. autoclass:: pyTerminalUI.Line
9+
:members:
10+
:private-members:

doc/LineTerminal.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
LineTerminal
2+
############
3+
4+
.. inheritance-diagram:: pyTerminalUI.LineTerminal
5+
:parts: 1
6+
7+
.. autoclass:: pyTerminalUI.LineTerminal
8+
:show-inheritance:
9+
:members:
10+
:private-members:

doc/Severity.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Severity
2+
########
3+
4+
.. autoclass:: pyTerminalUI.Severity
5+
:members:
6+
:private-members:

doc/Terminal.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Terminal
2+
********
3+
4+
.. autoclass:: pyTerminalUI.Terminal
5+
:members:
6+
:private-members:

doc/conf.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
author = 'Patrick Lehmann'
2727

2828
# The full version, including alpha/beta/rc tags
29-
release = 'v1.1'
29+
release = 'v1.2'
3030

3131

3232
# -- General configuration ---------------------------------------------------
@@ -86,10 +86,19 @@
8686
# Sphinx.Ext.InterSphinx
8787
# ==============================================================================
8888
intersphinx_mapping = {
89-
'python': ('https://docs.python.org/3', None),
89+
'python': ('https://docs.python.org/3', None),
90+
'pyExceptions': ('http://pyExceptions.readthedocs.io/en/latest', None),
91+
'pyMetaClasses': ('http://pyMetaClasses.readthedocs.io/en/latest', None),
9092
}
9193

9294

95+
# ==============================================================================
96+
# Sphinx.Ext.AutoDoc
97+
# ==============================================================================
98+
# see: https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html#configuration
99+
autodoc_member_order = "bysource" # alphabetical, groupwise, bysource
100+
101+
93102
# ==============================================================================
94103
# Sphinx.Ext.ExtLinks
95104
# ==============================================================================

doc/index.rst

Lines changed: 65 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,72 @@
1+
.. code-block::
2+
3+
_____ _ _ _ _ ___
4+
_ __ _ |_ _|__ _ __ _ __ ___ (_)_ __ __ _| | | | |_ _|
5+
| '_ \| | | || |/ _ \ '__| '_ ` _ \| | '_ \ / _` | | | | || |
6+
| |_) | |_| || | __/ | | | | | | | | | | | (_| | | |_| || |
7+
| .__/ \__, ||_|\___|_| |_| |_| |_|_|_| |_|\__,_|_|\___/|___|
8+
|_| |___/
9+
110
pyTerminalUI Documentation
211
##########################
312

413
A set of helpers to implement a text user interface (TUI) in a terminal.
514

15+
Introduction
16+
************
17+
18+
This package offers a :py:class:`pyTerminalUI.LineTerminal` implementation,
19+
derived from a basic :py:class:`pyTerminalUI.Terminal` class. It eases the
20+
creation of simple terminal/console applications. It includes colored outputs
21+
based on
622

7-
Installation/Updates
23+
List of meta classes
824
********************
925

10-
Installation using PIP
11-
======================
26+
* :py:class:`pyTerminalUI.Terminal`
27+
* :py:class:`pyTerminalUI.LineTerminal`
1228

13-
.. code-block:: bash
1429

15-
pip3 install pyTerminalUI
30+
Example
31+
*******
1632

33+
.. code-block:: Python
1734
18-
Updating using PIP
19-
==================
35+
from pyTerminalUI import LineTerminal
2036
21-
.. code-block:: bash
37+
class Application(LineTerminal):
38+
def __init__(self):
39+
super().__init__(verbose=True, debug=True, quiet=False)
2240
23-
pip3 install -U pyTerminalUI
41+
def run(self):
42+
self.WriteQuiet("This is a quiet message.")
43+
self.WriteNormal("This is a normal message.")
44+
self.WriteInfo("This is a info message.")
45+
self.WriteDebug("This is a debug message.")
46+
self.WriteWarning("This is a warning message.")
47+
self.WriteError("This is an error message.")
48+
self.WriteFatal("This is a fatal message.")
2449
25-
Dependencies
50+
# entry point
51+
if __name__ == "__main__":
52+
Application.versionCheck((3,6,0))
53+
app = Application()
54+
app.run()
55+
app.exit()
56+
57+
58+
59+
Contributors
2660
************
2761

28-
* pyMetaClasses
62+
* `Patrick Lehmann <https://github.com/Paebbels>`_ (Maintainer)
63+
64+
65+
License
66+
*******
67+
68+
This library is licensed under **Apache License 2.0**.
69+
2970

3071
------------------------------------
3172

@@ -35,22 +76,31 @@ Dependencies
3576

3677
This document was generated on |docdate|.
3778

38-
.. #
39-
toctree::
40-
:caption: Domain Specific Paths
79+
.. toctree::
80+
:caption: Overview
4181
:hidden:
4282

83+
Installation
84+
Dependencies
85+
4386

4487
.. toctree::
4588
:caption: pyTerminalUI Classes
4689
:hidden:
4790

48-
pyTerminalUI
91+
Terminal
92+
Severity
93+
Line
94+
ILineTerminal
95+
LineTerminal
4996

5097

5198
.. toctree::
5299
:caption: Appendix
53100
:hidden:
54101

102+
License
55103
genindex
104+
105+
.. #
56106
py-modindex

0 commit comments

Comments
 (0)