A C++ library for parsing command-line options and configuration files, part of the Boost C++ Libraries.
Boost.Program_options is a C++ library for parsing command-line arguments, configuration files, and environment variables. It provides a declarative way to define program options with automatic type conversion and validation, solving the problem of manual argument parsing in C++ applications.
C++ developers building command-line tools, daemons, or applications that require flexible configuration through multiple input sources.
Developers choose Boost.Program_options because it's part of the trusted Boost ecosystem, offers type-safe parsing that integrates naturally with C++ code, and provides a more robust alternative to low-level parsing functions like getopt_long.
Boost.org program_options module
Automatically converts string input to appropriate C++ types like int or bool, reducing manual parsing errors and ensuring data integrity, as highlighted in the type-safe value conversion feature.
Supports parsing from command-line arguments, INI-style configuration files, and environment variables, offering flexible input methods without custom code for each source.
Allows defining options with a fluent interface and validation rules, making code more readable and maintainable compared to imperative parsing logic.
Creates formatted help messages from option definitions, saving development time and ensuring consistency in user documentation, as mentioned in the key features.
Unlike header-only alternatives, it necessitates building and linking a library, adding complexity to the build process and increasing project overhead.
The README states it's 'essentially done' with no major new features expected, which may not suit projects needing active development or support for latest C++ standards.
Being part of the Boost ecosystem introduces a large dependency that can bloat projects, especially for simple use cases where lightweight libraries would suffice.
:computer: C++ Functional Terminal User Interface. :heart:
Lightweight C++ command line option parser
CLI11 is a command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface.
ImTui: Immediate Mode Text-based User Interface C++ Library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.