network-docopt

Network Docopt


License
MIT
Install
pip install network-docopt==0.1.10

Documentation

network-docopt

NetworkDocopt is a command line argument parser for networking focused applications. This was heavily inspired by the docopt module at http://docopt.org/ (no code from docopt was used however). The key differences are:

  • Support for partial command line options. If your program foo has a "foo show summary" option you can also enter "foo sh sum"
  • Support for integration into bash's auto-complete mechanism

Example

  • See network-docopt-example for an example of how to use this module
  • For bash <tab> auto-completion and bash <tab><tab> "show me available options" you must create a small bash script in /usr/share/bash-completion/completions/ like so:
  • cp completions/network-docopt-example /usr/share/bash-completion/completions/

This bash script will call network-docopt-example with 'options' as the last argument. For instance if you type "network-docopt-example show ip " the bash script will call "network-docopt-example show ip options" which will return "route" and "interface". This tells bash what the next options are.

Contributing

  1. Fork it.
  2. Create your feature branch (git checkout -b my-new-feature).
  3. Commit your changes (git commit -am 'Add some feature').
  4. Push to the branch (git push origin my-new-feature).
  5. Create new Pull Request.

License and Authors

Original Author:: Daniel Walton

Copyright:: 2015 Cumulus Networks Inc.

Cumulus icon

Cumulus icon

Version History

  • 0.1.11: Bug fixes. fix setup.py. builds data files incorrectly
  • 0.1.10: Bugfixes. Fix setup.py after adding gitversion support. one can build debs now
  • 0.1.9: Add gitversion support
  • 0.1.8: Initial commit to pypi

Cumulus Linux

Cumulus Linux is a software distribution that runs on top of industry standard networking hardware. It enables the latest Linux applications and automation tools on networking gear while delivering new levels of innovation and flexibility to the data center.

For further details please see: cumulusnetworks.com

This project is licensed under MIT