betterargs
A tool to create a command-line interface for your app using python
Installation
- Requirements
- python3.10
- pip3
pip install betterargs
Releases
Packaging and releases are handled in the packaging branch.
MAIN BRANCH IS RESERVED FOR MAINTAINING CODE ONLY!!!
Usage
-
Create a command string in YAML format in a:
- YAML file
- Python dictionary
- Python string
-
Convert the yaml file to command line namespace using appropriate function
1. Using a YAML file
# Create command tree in a yaml file
git:
args:
path:
atype: flag
help: Path of the repo
subparsers:
parsers:
clone:
args:
quiet-clone:
atype: flag
help: Operate quietly. Progress is not reported to the standard error stream.
no-checkout:
help: No checkout of HEAD is performed after the clone is complete
init:
args:
quiet-init:
atype: flag
help: Operate quietly. Progress is not reported to the standard error stream.
# Import betterargs
import betterargs
# Create command line namespace and get arguments
command_tree_PATH = 'command_tree.yaml'
args = betterargs.format_path_tree(command_tree_PATH)
2. Using Python Dictionary in YAML Format
# Import betterargs
import betterargs
# Define command tree in a dictionary in YAML format
command_tree_DICT = {
"git": {
"args": {
"path": {
"atype": "flag",
"help": "Path of the repo",
},
},
"subparsers": {
"parsers": {
"clone": {
"args": {
"quiet-clone": {
"atype": "flag",
"help": "Operate quietly. Progress is not reported to the standard error stream.",
},
"no-checkout": {
"help": "No checkout of HEAD is performed after the clone is complete"
},
},
},
"init": {
"args": {
"quiet-init": {
"atype": "flag",
"help": "Operate quietly. Progress is not reported to the standard error stream.",
},
},
},
},
},
},
}
# Create command line namespace and get arguments
args = betterargs.format_dict_tree(command_tree_DICT)
3. Using string in YAML Format
# Import betterargs
import betterargs
# Define command tree in a string in YAML format
command_tree_STR = """
git:
args:
path:
atype: flag
help: Path of the repo
subparsers:
parsers:
clone:
args:
quiet-clone:
atype: flag
help: Operate quietly. Progress is not reported to the standard error stream.
no-checkout:
help: No checkout of HEAD is performed after the clone is complete
init:
args:
quiet-init:
atype: flag
help: Operate quietly. Progress is not reported to the standard error stream.
"""
# Create command line namespace and get arguments
args = betterargs.format_str_tree(command_tree_STR)
Contributors
- Author: Daniel Muringe
Contribution
You are more than welcome to contribute 😊
Process
It's simple!!!
-
Fork the github repo
-
Clone the github repo
git clone https://github.com/danielmuringe/betterargs
-
Make your modifications in the dev branch
-
Merge into main branch respecting the .gitignore of the main branch. KEEP IT CLEAN PLEASE !!!
-
Create pull request
-
Wait for confirmation
Rules
-
Active changes must take place in the dev branch. Active changes include:
-
Changes to betterargs module
-
Modification of development notes betterargs module
-
Changes to the project tests
-
-
Tests must be put in the testing directory of dev branch
-
All packaging must be done in the packaging branch
Other rules will be added at my discretion
Tests
- Tests can be found in the testing directory of dev branch
Documentation
Coming Soon 😊
Release files for betterargs 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| betterargs-0.0.3.tar.gz | 4.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| betterargs-0.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.0 kB
Release files / betterargs-0.0.3.tar.gz
| Download URL | betterargs-0.0.3.tar.gz |
|---|---|
| Size | 4.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7c3e900b1313dd2bffd33e5b4ff34e5db37590138a243fd7f091a93707a9304a
|
|
BLAKE2b-256 checksum How to use checksums |
41e0b1f11eafb7bc9f5f69c3b9a859034cd64bad19a33ee9f36b12a5f39bb0a6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.12
|
Release files / betterargs-0.0.3-py3-none-any.whl
| Download URL | betterargs-0.0.3-py3-none-any.whl |
|---|---|
| Size | 4.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7f5c80a2f646c692fa86a33b78d2dfc4cb716a377664857ace1f27c8af19f8e8
|
|
BLAKE2b-256 checksum How to use checksums |
1e31291daf32192a2902e2afc156e9358aef7e7e3ffa307ee96965205a32fd87
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.12
|