Yet another command line argument parser: bpaf 0.5.5

53 points manpacket

Hi, I want to share my command line argument parser library: https://crates.io/crates/bpaf

Bpaf is a lightweight command line parser with a API that supports both combinatoric and derive approaches and gives strictly typed results back. Fast compilation time, no external dependencies unless you opt-in into derive feature.

  • Help generation, usage line generation
  • Very small API - all you need to know is about 10 API names, total API size is about 25 or so names
  • arbitrarily nested commands
  • non-utf8 support for when needed
  • dynamic shell completion
  • Follows "parse, don't validate" approach for parsing
  • No unsafe code
  • Happy users and developers :)

From the last release I added dynamic shell completion, support for non-utf8 things in cases like -f=foo or --foo=bar

Since traditional question about CLI parsers is "why use that vs clap":

  • feature set should be about the same: bpaf doesn't support -fbar and colors. You should be able to achieve everything else except for exotic things like "a single flag followed by 4 values".
  • 5-7 times smaller API size, easy to find what you want, easy to master
  • 5-7 times faster compilation - great for CI and development
  • 5-7 times smaller overhead in binary files - great for shipping
  • dynamic shell completion - great for being user friendly