CLI sub-command library
This is a tiny library to help you write CLI applications with many sub-commands.
pip install subc
Create your own command subclass for your application:
class MyCmd(subc.Command): pass
Then, write commands in your application which sub-class this:
class HelloWorld(MyCmd): name = 'hello-world' description = 'say hello' def run(self): print('hello world')
Finally, use your application-level subclass for creating the argument parser and running your application:
if __name__ == '__main__': MyCmd.main()
You may find yourself wanting to create intermediate subclasses for your application, in order to share common functionality. For example, you might create a class for all commands which handle a single file as an argument:
class FileCmd(MyCmd): def add_args(self, parser): parser.add_args('file', help='the single file')
You can do that, so long as your intermediate subclasses are not executable. For example, given the following class hierarchy:
MyCmd* |- FileCmd* | |- AppendLineCmd | |- RemoveLineCmd |- DoSomethingElseCmd
The non-leaf commands (marked with an asterisk) will not be included as executable commands. Only leaf classes will be executable.
subc is a very simple library. If you have other advanced uses, read the code.
This project is released under the Revised BSD license. See LICENSE.txt for details.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size subc-0.2.0-py2.py3-none-any.whl (2.9 kB)||File type Wheel||Python version py2.py3||Upload date||Hashes View|
|Filename, size subc-0.2.0.tar.gz (2.9 kB)||File type Source||Python version None||Upload date||Hashes View|