À propos du projet
FLAP est une bibliothèque Fortran 2018 pure conçue pour aider les développeurs à créer des interfaces en ligne de commande (CLI) élégantes, en s'inspirant d'`argparse` de Python. Elle offre un ensemble complet de fonctionnalités pour analyser et valider les arguments de ligne de commande, ce qui la rend adaptée aussi bien aux scripts simples qu'aux applications complexes.
**Fonctionnalités clés**
- **Types d'arguments riches** : prend en charge les options, les arguments positionnels, les indicateurs, les paires `--x/--no-x`, les compteurs, les options répétables, les listes et les tables `KEY=VALUE`.
- **Validation** : impose les options requises, les choix, les plages numériques, les vérifications de chemins, les ensembles mutuellement exclusifs, et propose des suggestions « vouliez-vous dire » pour les fautes de frappe.
- **Sous-commandes** : met en œuvre des commandes de style git avec leurs propres options, aide, alias et ensembles d'options partagés.
- **Sources de valeurs multiples** : lit les valeurs depuis la ligne de commande, les variables d'environnement, les fichiers de configuration INI, et suit la source de chaque valeur.
- **Sorties générées** : génère automatiquement le texte d'aide, les pages de manuel, la documentation Markdown et les complétions de shell pour bash, zsh, fish et PowerShell.
- **API inspirée d'argparse** : fournit une API familière de type Python dans le Fortran moderne.
- **Multi-licence** : disponible sous GPL v3, BSD 2/3-Clause ou MIT, permettant une utilisation flexible dans les projets open source et commerciaux.
- **Systèmes de compilation multiples** : prend en charge FoBiS, fpm, CMake et GNU Make pour une intégration facile dans diverses configurations de projet.
**Démarrage rapide**
La bibliothèque offre une API simple. Un exemple minimal consiste à initialiser un objet `command_line_interface`, à ajouter des arguments avec `add`, à analyser la ligne de commande avec `parse` et à récupérer les valeurs avec `get`. La bibliothèque affiche automatiquement l'aide ou les messages d'erreur lorsque nécessaire.
**Documentation et exemples**
La documentation complète, comprenant un guide, une référence d'API et des exemples exécutables avec leur sortie réelle, est disponible sur le [site web de FLAP](https://szaghi.github.io/FLAP/). Les exemples se trouvent dans `docs/examples/src`.
**Installation**
FLAP peut être installé comme bibliothèque autonome ou comme dépendance de projet. Il nécessite un compilateur Fortran 2018 et a été testé avec gfortran 13-16, nvfortran 26.5 et Intel ifx 2025.3. Les instructions d'installation pour chaque système de compilation sont fournies dans le README.
**Licence**
Ce projet est distribué sous un système de multi-licence : GPL v3 pour les projets FOSS, et BSD 2/3-Clause ou MIT pour un usage closed-source/commercial. Les utilisateurs peuvent choisir la licence qui correspond le mieux à leurs besoins.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.