WIP
Currently in development.
Save time building command-line apps with LUPE
Install
$ pip install lupe
Features
- Parses arguments
- Converts flags snake_case for easier use
- Negates flags when using the
--no-prefix - Outputs version when
-v,--version - Outputs description and supplied help text when
-h,--help
Usage
On the command line:
$ python main.py dinner --mango --no-banana
On the app:
#!/usr/bin/python
import lupe
help = """
Usage foo [input]
Options
-h, --help Show this help message and exit
-v, --version Show version and exit
-m, --mangeo Include a mango
Examples
$ main.py dinner --mango --no-banana
"""
cli = lupe(help, {
'flags': {
'mango': {
'type': 'boolen',
'alias': 'm'
},
'banana': {
'type': 'boolen',
}
}
})
print(cli.flags)
# {'mango': True, 'banana': False}
print(cli.inputs)
# [dinner]
API
lupe(help_message, options?)
lupe(options)
Returns an object with:
inputs(Array) - Non-flag argumentsflags(Object) - Flags converted to snake_case excluding aliaseshelp(string) - The help text used with--helpshow_help([exit_code=2])(Function) - Show the help text and exit withexit_codeshow_version()(Function) - Show the version text and exit
help_message
Type: string
options
Type: object
Shortcut for the help option.
version
Type: string
Version of the command-line application.
flags
Type: object
Define argument flags.
The key is the flag name in snake_case and the value is an object with any of:
type: Type of value. (Possible values:stringbooleannumber)alias: Usually used to define a short flag alias.default: Default value when the flag is not specified.required: Determine if the flag is required. (Default: false)
Note that flags are always defined using a snake_case key (my_key), but will match arguments in kebab-case (--my-key).
Example:
flags = {
'unicorn': {
'type': 'string',
'alias': 'u',
'default': ['rainbow', 'cat'],
'required': True,
}
}
Credit
Based on meow from @sindresorhus
License
MIT © Abraham Hernandez
Metadata
Release files for lupe 0.1.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| lupe-0.1.12.tar.gz | 3.2 kB | Without provenance | Details for lupe-0.1.12.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| lupe-0.1.12-py3-none-any.whl | Python 3 | none | any | Details for lupe-0.1.12-py3-none-any.whl |
Total release size: 6.5 kB
Release files / lupe-0.1.12.tar.gz
| Download URL | lupe-0.1.12.tar.gz |
|---|---|
| Size | 3.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
251d0db692f8a18e5b3cfe1b1f27d9e5c950ebc018c4be17ef62557125bb6a58
|
|
BLAKE2b-256 checksum How to use checksums |
cb09b241bb5ad58094f4e2dcec9c60da4625c487334997ddad5f39fca6215657
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.7
|
Release files / lupe-0.1.12-py3-none-any.whl
| Download URL | lupe-0.1.12-py3-none-any.whl |
|---|---|
| Size | 3.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8a6161bef11a08b9ad76c1856d717bdf46fbb9a3847853b483500f83996c4efd
|
|
BLAKE2b-256 checksum How to use checksums |
125a47a90fa59eeefe65ff6ed1b88af0f0954041523aed470eff0863212769b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.7
|
Security for lupe 0.1.12
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.