Effortless argument parsing
defopt allows you to effortlessly call Python functions from the command line.
- Allow functions to be called identically from code or the command line
- Reward you for documenting your functions
- Produce informative command line help messages
- Save you from writing and maintaining argument parsing code ever again
defopt will not:
- Modify your functions in any way
- Allow you to build complex command line tools (try docopt or click)
Once you have written and documented your main function (currently you must use Sphinx-style docstrings), simply decorate it with @defopt.main, then call defopt.run() to see the magic happen.
import defopt @defopt.main def main(greeting, count=1): """Display a friendly greeting. :param str greeting: Greeting to display :param int count: Number of times to display the greeting """ for _ in range(count): print(greeting) if __name__ == '__main__': defopt.run()
This function can now be called identically from Python and the command line.
>>> from test import main >>> main('hello!', count=2) hello! hello!
$ python test.py hello! --count 2 hello! hello!
For source code, examples, questions, feature requests and bug reports, visit the GitHub repository.
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size & hash SHA256 hash help||File type||Python version||Upload date|
|defopt-0.2.0-py3-none-any.whl (6.4 kB) Copy SHA256 hash SHA256||Wheel||3.5|
|defopt-0.2.0.zip (20.7 kB) Copy SHA256 hash SHA256||Source||None|