cmd2 2.5.11__py3-none-any.whl → 2.6.1__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 +11 -22
- cmd2/ansi.py +78 -91
- cmd2/argparse_completer.py +109 -132
- cmd2/argparse_custom.py +199 -217
- cmd2/clipboard.py +2 -6
- cmd2/cmd2.py +483 -551
- cmd2/command_definition.py +34 -44
- cmd2/constants.py +1 -3
- cmd2/decorators.py +47 -58
- cmd2/exceptions.py +23 -46
- cmd2/history.py +29 -43
- cmd2/parsing.py +59 -84
- cmd2/plugin.py +6 -10
- cmd2/py_bridge.py +20 -26
- cmd2/rl_utils.py +45 -69
- cmd2/table_creator.py +83 -106
- cmd2/transcript.py +55 -59
- cmd2/utils.py +173 -199
- {cmd2-2.5.11.dist-info → cmd2-2.6.1.dist-info}/METADATA +34 -17
- cmd2-2.6.1.dist-info/RECORD +24 -0
- {cmd2-2.5.11.dist-info → cmd2-2.6.1.dist-info}/WHEEL +1 -1
- cmd2-2.5.11.dist-info/RECORD +0 -24
- {cmd2-2.5.11.dist-info → cmd2-2.6.1.dist-info/licenses}/LICENSE +0 -0
- {cmd2-2.5.11.dist-info → cmd2-2.6.1.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: cmd2
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.6.1
|
4
4
|
Summary: cmd2 - quickly build feature-rich and user-friendly interactive command line applications in Python
|
5
5
|
Author: cmd2 Contributors
|
6
6
|
License: The MIT License (MIT)
|
@@ -33,20 +33,21 @@ Classifier: Intended Audience :: Developers
|
|
33
33
|
Classifier: Intended Audience :: System Administrators
|
34
34
|
Classifier: License :: OSI Approved :: MIT License
|
35
35
|
Classifier: Programming Language :: Python :: 3 :: Only
|
36
|
-
Classifier: Programming Language :: Python :: 3.8
|
37
36
|
Classifier: Programming Language :: Python :: 3.9
|
38
37
|
Classifier: Programming Language :: Python :: 3.10
|
39
38
|
Classifier: Programming Language :: Python :: 3.11
|
40
39
|
Classifier: Programming Language :: Python :: 3.12
|
41
40
|
Classifier: Programming Language :: Python :: 3.13
|
41
|
+
Classifier: Programming Language :: Python :: 3.14
|
42
42
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
43
|
-
Requires-Python: >=3.
|
43
|
+
Requires-Python: >=3.9
|
44
44
|
Description-Content-Type: text/markdown
|
45
45
|
License-File: LICENSE
|
46
46
|
Requires-Dist: gnureadline>=8; platform_system == "Darwin"
|
47
47
|
Requires-Dist: pyperclip>=1.8
|
48
48
|
Requires-Dist: pyreadline3>=3.4; platform_system == "Windows"
|
49
49
|
Requires-Dist: wcwidth>=0.2.10
|
50
|
+
Dynamic: license-file
|
50
51
|
|
51
52
|
<h1 align="center">cmd2 : immersive interactive command line applications</h1>
|
52
53
|
|
@@ -80,14 +81,21 @@ when using cmd.
|
|
80
81
|

|
81
82
|
|
82
83
|
When creating solutions developers have no shortage of tools to create rich and smart user interfaces.
|
83
|
-
System administrators have long been duct taping together brittle workflows based on a menagerie of simple command line
|
84
|
+
System administrators have long been duct taping together brittle workflows based on a menagerie of simple command line
|
85
|
+
tools created by strangers on github and the guy down the hall.
|
84
86
|
Unfortunately, when CLIs become significantly complex the ease of command discoverability tends to fade quickly.
|
85
|
-
On the other hand, Web and traditional desktop GUIs are first in class when it comes to easily discovering
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
87
|
+
On the other hand, Web and traditional desktop GUIs are first in class when it comes to easily discovering
|
88
|
+
functionality.
|
89
|
+
The price we pay for beautifully colored displays is complexity required to aggregate disperate applications into larger
|
90
|
+
systems.
|
91
|
+
`cmd2` fills the niche between high [ease of command discovery](https://clig.dev/#ease-of-discovery) applications and
|
92
|
+
smart workflow automation systems.
|
93
|
+
|
94
|
+
The `cmd2` framework provides a great mixture of both worlds. Application designers can easily create complex
|
95
|
+
applications and rely on the cmd2 library to offer effortless user facing help and extensive tab completion.
|
96
|
+
When users become comfortable with functionality, cmd2 turns into a feature rich library enabling a smooth transition to
|
97
|
+
full automation. If designed with enough forethought, a well implemented cmd2 application can serve as a boutique
|
98
|
+
workflow tool. `cmd2` pulls off this flexibility based on two pillars of philosophy:
|
91
99
|
|
92
100
|
- Tab Completion
|
93
101
|
- Automation Transition
|
@@ -96,7 +104,8 @@ When users become comfortable with functionality, cmd2 turns into a feature rich
|
|
96
104
|
|
97
105
|
<a href="https://imgflip.com/i/63h03x"><img src="https://i.imgflip.com/63h03x.jpg" title="made at imgflip.com" width="70%" height="%70"/></a>
|
98
106
|
|
99
|
-
Deep extensive tab completion and help text generation based on the argparse library create the first pillar of 'ease of
|
107
|
+
Deep extensive tab completion and help text generation based on the argparse library create the first pillar of 'ease of
|
108
|
+
command discovery'. The following is a list of features in this category.
|
100
109
|
|
101
110
|
- Great tab completion of commands, subcommands, file system paths, and shell commands.
|
102
111
|
- Custom tab completion for user designed commands via simple function overloading.
|
@@ -107,7 +116,8 @@ Deep extensive tab completion and help text generation based on the argparse lib
|
|
107
116
|
|
108
117
|
<a href="https://imgflip.com/i/66t0y0"><img src="https://i.imgflip.com/66t0y0.jpg" title="made at imgflip.com" width="70%" height="70%"/></a>
|
109
118
|
|
110
|
-
cmd2 creates the second pillar of 'ease of transition to automation' through alias/macro creation, command line argument
|
119
|
+
cmd2 creates the second pillar of 'ease of transition to automation' through alias/macro creation, command line argument
|
120
|
+
parsing and execution of cmd2 scripting.
|
111
121
|
|
112
122
|
- Flexible alias and macro creation for quick abstraction of commands.
|
113
123
|
- Text file scripting of your application with `run_script` (`@`) and `_relative_run_script` (`@@`)
|
@@ -122,7 +132,7 @@ On all operating systems, the latest stable version of `cmd2` can be installed u
|
|
122
132
|
pip install -U cmd2
|
123
133
|
```
|
124
134
|
|
125
|
-
cmd2 works with Python 3.
|
135
|
+
cmd2 works with Python 3.9+ on Windows, macOS, and Linux. It is pure Python code with few 3rd-party dependencies.
|
126
136
|
|
127
137
|
For information on other installation options, see
|
128
138
|
[Installation Instructions](https://cmd2.readthedocs.io/en/latest/overview/installation.html) in the cmd2
|
@@ -144,7 +154,8 @@ The best way to learn the cmd2 api is to delve into the example applications loc
|
|
144
154
|
- [example code](https://github.com/python-cmd2/talks/tree/master/PyOhio_2019/examples)
|
145
155
|
- [Cookiecutter](https://github.com/cookiecutter/cookiecutter) Templates from community
|
146
156
|
- Basic cookiecutter template for cmd2 application : https://github.com/jayrod/cookiecutter-python-cmd2
|
147
|
-
- Advanced cookiecutter template with external plugin
|
157
|
+
- Advanced cookiecutter template with external plugin
|
158
|
+
support : https://github.com/jayrod/cookiecutter-python-cmd2-ext-plug
|
148
159
|
- [cmd2 example applications](https://github.com/python-cmd2/cmd2/tree/master/examples)
|
149
160
|
- Basic cmd2 examples to demonstrate how to use various features
|
150
161
|
- [Advanced Examples](https://github.com/jayrod/cmd2-example-apps)
|
@@ -161,11 +172,14 @@ import cmd2
|
|
161
172
|
class FirstApp(cmd2.Cmd):
|
162
173
|
"""A simple cmd2 application."""
|
163
174
|
|
164
|
-
|
175
|
+
|
176
|
+
def do_hello_world(self, _: cmd2.Statement):
|
165
177
|
self.poutput('Hello World')
|
166
178
|
|
179
|
+
|
167
180
|
if __name__ == '__main__':
|
168
181
|
import sys
|
182
|
+
|
169
183
|
c = FirstApp()
|
170
184
|
sys.exit(c.cmdloop())
|
171
185
|
|
@@ -173,7 +187,10 @@ if __name__ == '__main__':
|
|
173
187
|
|
174
188
|
## Found a bug?
|
175
189
|
|
176
|
-
If you think you've found a bug, please first read through the
|
190
|
+
If you think you've found a bug, please first read through the
|
191
|
+
open [Issues](https://github.com/python-cmd2/cmd2/issues). If you're confident it's a new bug, go ahead and create a new
|
192
|
+
GitHub issue. Be sure to include as much information as possible so we can reproduce the bug. At a minimum, please state
|
193
|
+
the following:
|
177
194
|
|
178
195
|
- `cmd2` version
|
179
196
|
- Python version
|
@@ -0,0 +1,24 @@
|
|
1
|
+
cmd2/__init__.py,sha256=xRXcr4HzJrZbouMEP8AkWwxjW1lqXYLFG0SlWiw5_9g,2502
|
2
|
+
cmd2/ansi.py,sha256=XwBvFnB51LYYjIpfEge6mcr5X63dUxiV0aJlOOJ_2tQ,31965
|
3
|
+
cmd2/argparse_completer.py,sha256=F_5hiX9fYpEhV42mz7v7qeS7KuInAS6xU6KekLxYzsQ,35863
|
4
|
+
cmd2/argparse_custom.py,sha256=Q7N-2TSctfjn3TEZezQNaT5y0w8sdGpmUA5_DCPa_Pk,59131
|
5
|
+
cmd2/clipboard.py,sha256=HLZWY-W3mkpF_OqQet-F8pS3rlXpiE5vxUyPV_yHvIU,507
|
6
|
+
cmd2/cmd2.py,sha256=y2gqtQaHG4Oy5MB1VTCX6Tlgvji6NGuypS9x2dPFrUI,261541
|
7
|
+
cmd2/command_definition.py,sha256=_wF39nig5MP0grSOZ1hFehP5fCGusUNHMn9PIs6pmcU,7648
|
8
|
+
cmd2/constants.py,sha256=duEqGhhvdUV7AYxE8VGZ4wyFBcN2y2bLPd5iefW4tSU,1943
|
9
|
+
cmd2/decorators.py,sha256=9Jiml8HGc-UyUtWTns3TwW8ZHte4NchfGgHe-_1CcDM,20075
|
10
|
+
cmd2/exceptions.py,sha256=fYciAnLCpvPYkXCtmADhxtcvjbxVagRjhp41eYwAQo8,3444
|
11
|
+
cmd2/history.py,sha256=elJPuvV7BnUEgpWnixNyl2yGtR6sz3nwvpyFwaeFqRA,14800
|
12
|
+
cmd2/parsing.py,sha256=BsyQTTkuEg4FiQP9o2O28KjXodFgXkXmvk_VkAe-Ryw,28057
|
13
|
+
cmd2/plugin.py,sha256=wGLe4nFiNi1zueoSXWXPc62nqNi6CnQlxefldPH-is4,793
|
14
|
+
cmd2/py.typed,sha256=qrkHrYJvGoZpU2BpVLNxJB44LlhqVSKyYOwD_L_1m3s,10
|
15
|
+
cmd2/py_bridge.py,sha256=TKl2d7sgptDdccuO1PWG8m83Nww2bGCzsY4_wqjKTjg,4935
|
16
|
+
cmd2/rl_utils.py,sha256=sWapqwDR_GvOgy5NJ7c-i6nUU4dqpKpGQ8-Olwi3tuU,11335
|
17
|
+
cmd2/table_creator.py,sha256=nF3VEgGHvfhHBh_yoMAiV1WaDdR8hIareIAogzIPq5M,47177
|
18
|
+
cmd2/transcript.py,sha256=Ws0lW_oBFxCQCKSwvnDUS1x3ya163YXnV-O5aTU0z7k,9207
|
19
|
+
cmd2/utils.py,sha256=NqDIkY4LiAlnv_Un7MFHxszoH2KgEWQ7NJOwQurIn_E,50698
|
20
|
+
cmd2-2.6.1.dist-info/licenses/LICENSE,sha256=QXrW0Z0merk9mncyUkn-sgRxhT8_o1dL5HEaBNH47Q4,1099
|
21
|
+
cmd2-2.6.1.dist-info/METADATA,sha256=JNWrp7MjHaU-kJjMoklgq_EyEHbkSd4QscQs5x3YswA,17133
|
22
|
+
cmd2-2.6.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
23
|
+
cmd2-2.6.1.dist-info/top_level.txt,sha256=gJbOJmyrARwLhm5diXAtzlNQdxbDZ8iRJ8HJi65_5hg,5
|
24
|
+
cmd2-2.6.1.dist-info/RECORD,,
|
cmd2-2.5.11.dist-info/RECORD
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
cmd2/__init__.py,sha256=C6IHJ_uHgkqejuRwA10IK0-OzPxHKyZbPn82nMUwn-A,2602
|
2
|
-
cmd2/ansi.py,sha256=nKpnciNvebb9FG0VLfs4yRfq9H49DI27flLoRBMscSo,32036
|
3
|
-
cmd2/argparse_completer.py,sha256=M2D1dnc-2SfjzPUUXpBUcD3EJpT34qSsk9ekQtQFOXs,36505
|
4
|
-
cmd2/argparse_custom.py,sha256=DqRehL5bEiz5FAQAa1aG2mj3vs91pgeYEtADo_NiEgE,57642
|
5
|
-
cmd2/clipboard.py,sha256=7EISono76d7djj17hbvR9cCTB7jVGSBkUjgVQiMyUjE,549
|
6
|
-
cmd2/cmd2.py,sha256=VWc-AN_3EYucH5WxrQZpJXxZmQNY25ORnueDhzGosVE,261112
|
7
|
-
cmd2/command_definition.py,sha256=g0BWrzQSOrWwvO1BbH5I8yNKNnvYLlXqL9ooKbDaUNY,7655
|
8
|
-
cmd2/constants.py,sha256=DioxETv-_HzcMUnjuPyz7Cqw4YEt_MTrzOMotiHj-Jo,1981
|
9
|
-
cmd2/decorators.py,sha256=agpCAUqeOhT0PFvYSJ7FNPcccZQntZLw2KAmLAF2AEY,20261
|
10
|
-
cmd2/exceptions.py,sha256=DwX7rQmon4eRyX1ZK4yne4lObdPO1j5Agg3Bav6pXwU,3600
|
11
|
-
cmd2/history.py,sha256=4iFi0Bny1CTjMx0ByQplrElvlZcus3lUgj2IyBfvAf0,14988
|
12
|
-
cmd2/parsing.py,sha256=uVWU_-WEZ_aow5IX9ktbVSE2WB_N86dY0D-GK8kzOhw,28297
|
13
|
-
cmd2/plugin.py,sha256=CCzzuHeBQbxH7YuG3UCdQ0uArnKYbodjhj-sYCbXSa0,814
|
14
|
-
cmd2/py.typed,sha256=qrkHrYJvGoZpU2BpVLNxJB44LlhqVSKyYOwD_L_1m3s,10
|
15
|
-
cmd2/py_bridge.py,sha256=DJCa7ff-XLwcz7Ij47nrwxgDDVUIVS5bRReLmayok1Q,5016
|
16
|
-
cmd2/rl_utils.py,sha256=HVPdNjuYyU67-XerPUJArmzhohzI1ABrZhU9cLc-EIs,11538
|
17
|
-
cmd2/table_creator.py,sha256=D9HgHaCu66ueCQRI7YIrdCX2g7Ow9hYN3Dj8gRJhXxs,47544
|
18
|
-
cmd2/transcript.py,sha256=I0sD38RbG79Qz9GXIlfh1pHSNmWBTY2SLZAKEdSLWI4,9182
|
19
|
-
cmd2/utils.py,sha256=50iSIHSenAmpBTefE0_32wT0CM9U5GdT5q4aX8mtzjM,49367
|
20
|
-
cmd2-2.5.11.dist-info/LICENSE,sha256=QXrW0Z0merk9mncyUkn-sgRxhT8_o1dL5HEaBNH47Q4,1099
|
21
|
-
cmd2-2.5.11.dist-info/METADATA,sha256=dFx3EkVpspFerByettckgZ_kv7PrvPnNovy6NMy6OIc,17104
|
22
|
-
cmd2-2.5.11.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
23
|
-
cmd2-2.5.11.dist-info/top_level.txt,sha256=gJbOJmyrARwLhm5diXAtzlNQdxbDZ8iRJ8HJi65_5hg,5
|
24
|
-
cmd2-2.5.11.dist-info/RECORD,,
|
File without changes
|
File without changes
|