This is documentation refering to this Repository
cli_framework
A Framework to make it easier for myself to develop small cli apps
Install
This project can be installed using pip:
pip3 install CLI-csdummi
An example implementation
To implement your own CLI app with this library you have to import the class CLI like this:
from CLI.CLI import CLI
Then you define a class that inherits
from CLI and define __init__ like this:
class App(CLI):
def __init__(self):
super().__init__('app.json','add','remove','list')
The __init__ Function from CLI takes one positional
argument file or in this case 'app.json'.
This is the file where the variable self.state
is loaded from and saved to before and after execution.
You can thus modify self.state like any dict and
then it will be saved afterwards.
The other arguments are the names of methods
you want to be accessed from the command-line.
These names must be members of the class App in this case.
This means you now have to implement these functions:
def add(self,args):
name = args[0]
balance = args[1]
self.state[name] = balance
def remove(self,args):
name = args[0]
del self.state[name]
def list(self,*args):
for i in self.state.keys():
print("Name: {}\nBalance: {}".format(i,self.state[i]))
As you can see the names of the methods and the arguments in
__init__.
You can now use your CLI App like this:
$ python3 App.py add <name> <balance>
$ python3 App.py remove <name>
$ python3 App.py list
$ python3 App.py help
$ python3 App.py
You can execute these commands right now,
all code here was written in the file App.py in this Repository.
help == ''
If there is no command, the help function, that was inherited from CLI
is executed, it prints the docstring of self: self.__doc__.
If you want usage information for your CLI App to appear,
you just write the usage or help into the docstring like this:
class App(CLI):
"""
Usage:
add <name> <balance>\t:Add new user
remove <name>\t:Remove user
list:\tList all current users
help:\tDisplay this help
"""
...
Then you can use execute the CLI with this:
if __name__ == '__main__':
app = App() # Create Instance of CLI App
app.run() # Execute Commandline Parsing
I hope this helped you and you can implement your own CL Apps or interfaces soon.
Metadata
Release files for CLI-csdummi 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| CLI-csdummi-1.0.1.tar.gz | 2.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| CLI_csdummi-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.6 kB
Release files / CLI-csdummi-1.0.1.tar.gz
| Download URL | CLI-csdummi-1.0.1.tar.gz |
|---|---|
| Size | 2.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d16496dc3c96d0a3477d548fb41c0da661cfa551794cbd5bdbaf28852dff9302
|
|
BLAKE2b-256 checksum How to use checksums |
b49fd931e0aec3c3c27c81803b86b07b397aea9d2e01b657d476794dc6be993d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.5.3
|
Release files / CLI_csdummi-1.0.1-py3-none-any.whl
| Download URL | CLI_csdummi-1.0.1-py3-none-any.whl |
|---|---|
| Size | 15.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9fbf9976cc8e0bf0aeac9718e33c19c09c33d701d88db8569c713ee6656d824c
|
|
BLAKE2b-256 checksum How to use checksums |
e38adb3ec3e96378bbbbf80a492105ac5c826c721fda05d6b1ee980e956654ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.5.3
|