A pure Fortran 2003+ library for building elegant command-line interfaces, inspired by Python's argparse.
FLAP is a Fortran command-line argument parser library that provides Python argparse-like functionality for Fortran applications. It allows developers to define, parse, and manage command-line arguments with support for various argument types, groups, subcommands, and automatic documentation generation. The library solves the problem of building user-friendly and feature-rich CLIs in Fortran, which traditionally lacked such tools.
Fortran developers building command-line applications, particularly in scientific computing, numerical analysis, or engineering simulations who need robust argument parsing.
Developers choose FLAP because it brings modern CLI capabilities to Fortran with a familiar API inspired by Python's argparse, supports multiple build systems and licenses, and automates documentation and help generation, saving development time.
Fortran command Line Arguments Parser for poor people
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports optional, required, boolean, positional, list-valued, and environment-variable-bound arguments, similar to Python's argparse, as detailed in the README's feature list.
Automatically generates help text, usage, man pages, bash completion, and Markdown documentation, reducing manual effort for CLI tools, as highlighted in the key features.
Offers GPL v3, BSD 2/3-Clause, or MIT licenses, allowing developers to choose based on project needs, which is explicitly stated in the Copyrights section.
Supports fpm, FoBiS, CMake, and Make, making integration easy into various Fortran project setups, as shown in the Install section.
Requires fetching and building dependencies like PENF and FACE, adding setup complexity compared to standalone libraries, as noted in the FoBiS installation steps.
Being specific to Fortran, it has a smaller community and fewer resources than parsers in popular languages, which can impact support and troubleshooting.
Designed for Fortran 2003+, so it may not be compatible with older Fortran codebases, limiting use in legacy systems without updates.