[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#949186: ITP: python3-clap -- command line arguments parser



Package: wnpp
Severity: wishlist
Owner: "Paulo Henrique de Lima Santana (phls)" <phls@debian.org>

* Package name    : python3-clap
  Version         : 0.14.0
  Upstream Author : Marek Marecki <marekjm@ozro.pw>
* URL             : https://github.com/marekjm/clap
* License         : GPL-3+
  Programming Lang: Python
  Description     : command line arguments parser

 CLAP aims at being powerful and advanced command line interface library for
 Python 3 language. Having built-in support for modes, optional and obligatory
 options, options with arguments (with type-checking with arbitrary types) it
 enables programmers to create rich command line interfaces for Python 3
 programs.
 .
 Features:
   * Support for single-level and nested modes (with per-mode and global
     options).
   * Support for grouped short options (ls -lhR).
   * Support for long options with or without equal-sign-connected arguments
     (--log=./file.log and --log ./file.log are both correct).
   * Support for option aliases (short/long names).
   * Support for typed arguments (str, int, float built-in and other arbitrary
     types via callbacks).
   * Built-in type checking of option arguments.
   * Support for multiple arguments for options (e.g. --point 0 0).
   * Checking for missing arguments with options which require them.
   * Checking for conflicting options (eg. --quiet must not come with option
     --verbose).
   * Support for options that MUST be passed to the program.
   * Support for options required by other options (e.g. --key requires
     --value).
   * Support for options wanted by other options (e.g. --which wants --this or
     --that or both).
   * Good set of exceptions with detailed error messages.
   * Ability to load interface from JSON descriptions.
   * Automatic generation of help screens (for your-tool help command) with
     per-mode, per-option, and per-operand descriptions, usage examples,
     and more.
   * Support for shortcuts for command names (shortest-unique name is
     sufficient for CLAP to resolve the command, it is not necessary to
     write full names).
 .
 CLAP is not the most easy to use command line arguments parser for Python,
 but that it is one of the most powerful (if not the most powerful) framework
 for writing command line interfaces. With excellent support for modes,
 options, and operands, automatic input verification, and help screen
 generation you get a big return on your investment.


Reply to: