cmd2 2.6.2__py3-none-any.whl → 3.0.0b1__py3-none-any.whl
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.
- cmd2/__init__.py +41 -38
- cmd2/argparse_completer.py +80 -81
- cmd2/argparse_custom.py +359 -151
- cmd2/clipboard.py +1 -1
- cmd2/cmd2.py +1272 -845
- cmd2/colors.py +270 -0
- cmd2/command_definition.py +13 -5
- cmd2/constants.py +0 -6
- cmd2/decorators.py +41 -104
- cmd2/exceptions.py +1 -1
- cmd2/history.py +7 -11
- cmd2/parsing.py +12 -17
- cmd2/plugin.py +1 -2
- cmd2/py_bridge.py +15 -10
- cmd2/rich_utils.py +451 -0
- cmd2/rl_utils.py +12 -8
- cmd2/string_utils.py +166 -0
- cmd2/styles.py +72 -0
- cmd2/terminal_utils.py +144 -0
- cmd2/transcript.py +7 -9
- cmd2/utils.py +88 -508
- {cmd2-2.6.2.dist-info → cmd2-3.0.0b1.dist-info}/METADATA +23 -44
- cmd2-3.0.0b1.dist-info/RECORD +27 -0
- cmd2/ansi.py +0 -1093
- cmd2/table_creator.py +0 -1122
- cmd2-2.6.2.dist-info/RECORD +0 -24
- {cmd2-2.6.2.dist-info → cmd2-3.0.0b1.dist-info}/WHEEL +0 -0
- {cmd2-2.6.2.dist-info → cmd2-3.0.0b1.dist-info}/licenses/LICENSE +0 -0
- {cmd2-2.6.2.dist-info → cmd2-3.0.0b1.dist-info}/top_level.txt +0 -0
@@ -1,39 +1,16 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: cmd2
|
3
|
-
Version:
|
3
|
+
Version: 3.0.0b1
|
4
4
|
Summary: cmd2 - quickly build feature-rich and user-friendly interactive command line applications in Python
|
5
5
|
Author: cmd2 Contributors
|
6
|
-
License:
|
7
|
-
|
8
|
-
Copyright (c) 2008-2025 Catherine Devlin and others
|
9
|
-
|
10
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
11
|
-
of this software and associated documentation files (the "Software"), to deal
|
12
|
-
in the Software without restriction, including without limitation the rights
|
13
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
14
|
-
copies of the Software, and to permit persons to whom the Software is
|
15
|
-
furnished to do so, subject to the following conditions:
|
16
|
-
|
17
|
-
The above copyright notice and this permission notice shall be included in
|
18
|
-
all copies or substantial portions of the Software.
|
19
|
-
|
20
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
21
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
22
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
23
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
24
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
25
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
26
|
-
THE SOFTWARE.
|
27
|
-
|
6
|
+
License-Expression: MIT
|
28
7
|
Keywords: CLI,cmd,command,interactive,prompt,Python
|
29
8
|
Classifier: Development Status :: 5 - Production/Stable
|
30
9
|
Classifier: Environment :: Console
|
31
10
|
Classifier: Operating System :: OS Independent
|
32
11
|
Classifier: Intended Audience :: Developers
|
33
12
|
Classifier: Intended Audience :: System Administrators
|
34
|
-
Classifier: License :: OSI Approved :: MIT License
|
35
13
|
Classifier: Programming Language :: Python :: 3 :: Only
|
36
|
-
Classifier: Programming Language :: Python :: 3.9
|
37
14
|
Classifier: Programming Language :: Python :: 3.10
|
38
15
|
Classifier: Programming Language :: Python :: 3.11
|
39
16
|
Classifier: Programming Language :: Python :: 3.12
|
@@ -41,20 +18,22 @@ Classifier: Programming Language :: Python :: 3.13
|
|
41
18
|
Classifier: Programming Language :: Python :: 3.14
|
42
19
|
Classifier: Programming Language :: Python :: Free Threading :: 3 - Stable
|
43
20
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
44
|
-
Requires-Python: >=3.
|
21
|
+
Requires-Python: >=3.10
|
45
22
|
Description-Content-Type: text/markdown
|
46
23
|
License-File: LICENSE
|
24
|
+
Requires-Dist: backports.strenum; python_version == "3.10"
|
47
25
|
Requires-Dist: gnureadline>=8; platform_system == "Darwin"
|
48
26
|
Requires-Dist: pyperclip>=1.8
|
49
27
|
Requires-Dist: pyreadline3>=3.4; platform_system == "Windows"
|
50
|
-
Requires-Dist:
|
28
|
+
Requires-Dist: rich>=14.1.0
|
29
|
+
Requires-Dist: rich-argparse>=1.7.1
|
51
30
|
Dynamic: license-file
|
52
31
|
|
53
32
|
<h1 align="center">cmd2 : immersive interactive command line applications</h1>
|
54
33
|
|
55
34
|
[](https://pypi.python.org/pypi/cmd2/)
|
56
35
|
[](https://github.com/python-cmd2/cmd2/actions?query=workflow%3ACI)
|
57
|
-
[](https://codecov.io/gh/python-cmd2/cmd2)
|
58
37
|
[](http://cmd2.readthedocs.io/en/latest/?badge=latest)
|
59
38
|
<a href="https://discord.gg/RpVG6tk"><img src="https://img.shields.io/badge/chat-on%20discord-7289da.svg" alt="Chat"></a>
|
60
39
|
|
@@ -68,7 +47,7 @@ Dynamic: license-file
|
|
68
47
|
<a href="#projects-using-cmd2">Projects using cmd2</a> •
|
69
48
|
</p>
|
70
49
|
|
71
|
-
[](https://youtu.be/DDU_JH6cFsA)
|
72
51
|
|
73
52
|
cmd2 is a tool for building interactive command line applications in Python. Its goal is to make it
|
74
53
|
quick and easy for developers to build feature-rich and user-friendly interactive command line
|
@@ -77,9 +56,13 @@ applications. It provides a simple API which is an extension of Python's built-i
|
|
77
56
|
of cmd to make your life easier and eliminates much of the boilerplate code which would be necessary
|
78
57
|
when using cmd.
|
79
58
|
|
59
|
+
> :warning: **cmd2 is now "feature complete" for the `2.x` branch and is actively working on the
|
60
|
+
> 3.0.0 release on the `main` branch. New features will only be addressed in 3.x moving forwards. If
|
61
|
+
> need be, we will still fix bugs in 2.x.**
|
62
|
+
|
80
63
|
## The developers toolbox
|
81
64
|
|
82
|
-

|
83
66
|
|
84
67
|
When creating solutions developers have no shortage of tools to create rich and smart user
|
85
68
|
interfaces. System administrators have long been duct taping together brittle workflows based on a
|
@@ -87,7 +70,7 @@ menagerie of simple command line tools created by strangers on github and the gu
|
|
87
70
|
Unfortunately, when CLIs become significantly complex the ease of command discoverability tends to
|
88
71
|
fade quickly. On the other hand, Web and traditional desktop GUIs are first in class when it comes
|
89
72
|
to easily discovering functionality. The price we pay for beautifully colored displays is complexity
|
90
|
-
required to aggregate
|
73
|
+
required to aggregate disparate applications into larger systems. `cmd2` fills the niche between
|
91
74
|
high [ease of command discovery](https://clig.dev/#ease-of-discovery) applications and smart
|
92
75
|
workflow automation systems.
|
93
76
|
|
@@ -135,7 +118,7 @@ On all operating systems, the latest stable version of `cmd2` can be installed u
|
|
135
118
|
pip install -U cmd2
|
136
119
|
```
|
137
120
|
|
138
|
-
cmd2 works with Python 3.
|
121
|
+
cmd2 works with Python 3.10+ on Windows, macOS, and Linux. It is pure Python code with few 3rd-party
|
139
122
|
dependencies. It works with both conventional CPython and free-threaded variants.
|
140
123
|
|
141
124
|
For information on other installation options, see
|
@@ -153,20 +136,16 @@ examples.
|
|
153
136
|
|
154
137
|
## Tutorials
|
155
138
|
|
156
|
-
-
|
157
|
-
-
|
158
|
-
|
159
|
-
-
|
139
|
+
- [cmd2 example applications](https://github.com/python-cmd2/cmd2/tree/main/examples)
|
140
|
+
- Basic cmd2 examples to demonstrate how to use various features
|
141
|
+
- [Advanced Examples](https://github.com/jayrod/cmd2-example-apps)
|
142
|
+
- More complex examples that demonstrate more featuers about how to put together a complete
|
143
|
+
application
|
160
144
|
- [Cookiecutter](https://github.com/cookiecutter/cookiecutter) Templates from community
|
161
145
|
- Basic cookiecutter template for cmd2 application :
|
162
146
|
https://github.com/jayrod/cookiecutter-python-cmd2
|
163
147
|
- Advanced cookiecutter template with external plugin support :
|
164
148
|
https://github.com/jayrod/cookiecutter-python-cmd2-ext-plug
|
165
|
-
- [cmd2 example applications](https://github.com/python-cmd2/cmd2/tree/master/examples)
|
166
|
-
- Basic cmd2 examples to demonstrate how to use various features
|
167
|
-
- [Advanced Examples](https://github.com/jayrod/cmd2-example-apps)
|
168
|
-
- More complex examples that demonstrate more featuers about how to put together a complete
|
169
|
-
application
|
170
149
|
|
171
150
|
## Hello World
|
172
151
|
|
@@ -179,9 +158,8 @@ import cmd2
|
|
179
158
|
class FirstApp(cmd2.Cmd):
|
180
159
|
"""A simple cmd2 application."""
|
181
160
|
|
182
|
-
|
183
|
-
|
184
|
-
self.poutput('Hello World')
|
161
|
+
def do_hello_world(self, _: cmd2.Statement):
|
162
|
+
self.poutput('Hello World')
|
185
163
|
|
186
164
|
|
187
165
|
if __name__ == '__main__':
|
@@ -223,6 +201,7 @@ reproduce the bug. At a minimum, please state the following:
|
|
223
201
|
| [tomcatmanager](https://github.com/tomcatmanager/tomcatmanager) | A command line tool and python library for managing a tomcat server | [tomcatmanager](https://github.com/tomcatmanager) |
|
224
202
|
| [Falcon Toolkit](https://github.com/CrowdStrike/Falcon-Toolkit) | Unleash the power of the CrowdStrike Falcon Platform at the CLI | [CrowdStrike](https://github.com/CrowdStrike) |
|
225
203
|
| [EXPLIoT](https://gitlab.com/expliot_framework/expliot) | Internet of Things Security Testing and Exploitation framework | [expliot_framework](https://gitlab.com/expliot_framework/) |
|
204
|
+
| [Pobshell](https://github.com/pdalloz/pobshell) | A Bash‑like shell for live Python objects: `cd`, `ls`, `cat`, `find` and _CLI piping_ for object code, str values & more | [Peter Dalloz](https://www.linkedin.com/in/pdalloz) |
|
226
205
|
|
227
206
|
Possibly defunct but still good examples
|
228
207
|
|
@@ -0,0 +1,27 @@
|
|
1
|
+
cmd2/__init__.py,sha256=JG-jiy2MMArRTujSiU8usvQpdgQbl3KLTim4tU5SCJw,2278
|
2
|
+
cmd2/argparse_completer.py,sha256=QaOXP-SfHwmoieNJf5kjZAy0osP3KPeOOx7aYKYthwc,35681
|
3
|
+
cmd2/argparse_custom.py,sha256=k6l6KUGK8GujvFIXEqLvYiRYWpM491zufDODfXThEoc,67239
|
4
|
+
cmd2/clipboard.py,sha256=5PSKTe3uDe2pFFEDUEMMwAmzcyPkbXXz14SOQxFFncg,515
|
5
|
+
cmd2/cmd2.py,sha256=kpmLwgRrZXUDLnFTnvlaAO80Zqh9YFqyf9wWFf9dVww,271802
|
6
|
+
cmd2/colors.py,sha256=gLAU8gjhPwZud9MNVk53RGE9ZSdwspLnye_kReeZKjc,7848
|
7
|
+
cmd2/command_definition.py,sha256=4FQgivn-9aZegU5tbUl6XsK_G_gZTMfsbGDortz-Ir8,7992
|
8
|
+
cmd2/constants.py,sha256=yDcaeEG4Y2DHmLwUpV-_lEiHkiYUZEuyf9mpDdAzmkg,1773
|
9
|
+
cmd2/decorators.py,sha256=_xxagAxlcUROLZowqjW5RYP935uNMEJyr2h8FkWalGw,17356
|
10
|
+
cmd2/exceptions.py,sha256=J8Ck0dhusB2cfVksRLkM4WVgBTGQnPdEcU26RfBjjRw,3440
|
11
|
+
cmd2/history.py,sha256=QNg5QOe3854hFsu9qw7QlqtnTQvmtXojOWgMZlg6JoQ,14755
|
12
|
+
cmd2/parsing.py,sha256=G3Ox876rLY4rZ089GjnMlDDbHN_R_g9bemTQ_ONB4Hg,27994
|
13
|
+
cmd2/plugin.py,sha256=sju631SN_ldjDFJT5ppmK65btq120r9xuhTpCRCbCCA,762
|
14
|
+
cmd2/py.typed,sha256=qrkHrYJvGoZpU2BpVLNxJB44LlhqVSKyYOwD_L_1m3s,10
|
15
|
+
cmd2/py_bridge.py,sha256=dpafsQ2fhhDv-PXu1ZOaiLW4ficD0IsZm-y2nGGfdrU,5191
|
16
|
+
cmd2/rich_utils.py,sha256=hYD5Cpl1fAYeau3l8NuJIO9SGiC44Ew9vTKHret6QMo,16364
|
17
|
+
cmd2/rl_utils.py,sha256=tlDsH5QnN5xlkJT62Q4ZSOHvccXtt1Nm6kcWJQh6cUc,11315
|
18
|
+
cmd2/string_utils.py,sha256=7F8ORonOc2xS0ZC56hjhQcnZhonE3lDFdQxij6v54dA,4430
|
19
|
+
cmd2/styles.py,sha256=kuekxVEr0kOrDNJJbVFqOl96YqX8M6lheKBCBS1nGSU,2945
|
20
|
+
cmd2/terminal_utils.py,sha256=AOk1VjOAzxn7jou2wbALeD6FRIRlKgkQ0VCzIEY51DA,6052
|
21
|
+
cmd2/transcript.py,sha256=aD5J7UcU82XNo_nJ6wr98t97OkhOsR04VZwbwb1lJLs,9224
|
22
|
+
cmd2/utils.py,sha256=4jlhcHfgr8yoymP2hRPeCr7_1J37vI4MIIBkszyPK6M,32292
|
23
|
+
cmd2-3.0.0b1.dist-info/licenses/LICENSE,sha256=9qPeHY4u2fkSz0JQGT-P4T3QqTWTqnQJ_8LkZUhSdFY,1099
|
24
|
+
cmd2-3.0.0b1.dist-info/METADATA,sha256=l0NJwAie8NqBSLDlHG0kxTNxS4sT7Z8fZTB6qFCKDro,16271
|
25
|
+
cmd2-3.0.0b1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
26
|
+
cmd2-3.0.0b1.dist-info/top_level.txt,sha256=gJbOJmyrARwLhm5diXAtzlNQdxbDZ8iRJ8HJi65_5hg,5
|
27
|
+
cmd2-3.0.0b1.dist-info/RECORD,,
|