A simple argparse wrapper.
Project description
Did you ever say “argh” trying to remember the details of optparse or argparse API? If yes, this package may be useful for you. It provides a very simple wrapper for argparse with support for hierarchical commands that can be bound to modules or classes. Argparse can do it; argh makes it easy.
In a nutshell
Here’s a list of features that argh adds to argparse:
mark a function as a CLI command and specify its arguments before the parser is instantiated;
nesed commands made easy: no messing with subparsers (though they are of course used under the hood);
infer agrument type from the default value;
infer command name from function name;
add an alias root command help for the --help argument;
enable passing unwrapped arguments to certain functions instead of a argparse.Namespace object.
Argh is fully compatible with argparse. You can mix argh-agnostic and argh-aware code. Just keep in mind that argh.dispatch does some extra work that a custom dispatcher may not do.
Installation
$ pip install argh
Example
A very simple application with one command:
@arg('text') # signature is same as ArgumentParser.add_argument def echo(args): print args.text parser = ArghParser() parser.add_commands([echo]) if __name__ == '__main__': parser.dispatch()
Documentation
See the complete documentation for details. If it’s not complete enough, feel free to ask your questions or submit bugs.
Licensing
Argh is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Argh is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with Argh. If not, see <http://gnu.org/licenses/>.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file argh-0.8.0.tar.gz
.
File metadata
- Download URL: argh-0.8.0.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c9c579440bdf0942428728631b8d821b6bcfbb9bdd7bde172d524d7f88be243 |
|
MD5 | e2733be992b788d57fa18795c9622d53 |
|
BLAKE2b-256 | dc7c4de4254f4b3e1972ea5775219ce052fd25261fb068628f46ffa5939897ba |