इस प्रोजेक्ट के बारे में

FLAP एक शुद्ध Fortran 2018 लाइब्रेरी है जिसे डेवलपर्स को सुंदर कमांड-लाइन इंटरफेस (CLI) बनाने में मदद करने के लिए डिज़ाइन किया गया है, जो Python के `argparse` से प्रेरणा लेता है। यह कमांड-लाइन तर्कों को पार्स करने और सत्यापित करने के लिए सुविधाओं का एक व्यापक सेट प्रदान करता है, जो इसे सरल स्क्रिप्ट और जटिल अनुप्रयोगों दोनों के लिए उपयुक्त बनाता है। **मुख्य विशेषताएँ** - **समृद्ध तर्क प्रकार**: विकल्प, स्थितीय तर्क, फ्लैग, `--x/--no-x` जोड़े, काउंटर, दोहराने योग्य विकल्प, सूचियाँ, और `KEY=VALUE` मानचित्रों का समर्थन करता है। - **सत्यापन**: आवश्यक विकल्प, विकल्प, संख्यात्मक सीमाएँ, पथ जाँच, परस्पर अनन्य सेट लागू करता है, और टाइपो के लिए "क्या आपका मतलब है" सुझाव प्रदान करता है। - **उप-कमांड**: अपने स्वयं के विकल्प, सहायता, उपनाम, और साझा विकल्प सेट के साथ git-शैली कमांड लागू करता है। - **कई मान स्रोत**: कमांड लाइन, पर्यावरण चर, INI कॉन्फ़िगरेशन फ़ाइलों से मान पढ़ता है, और प्रत्येक मान के स्रोत को ट्रैक करता है। - **उत्पन्न आउटपुट**: स्वचालित रूप से सहायता पाठ, मैन पेज, Markdown दस्तावेज़ीकरण, और bash, zsh, fish, और PowerShell के लिए शेल पूर्णता उत्पन्न करता है। - **argparse-प्रेरित API**: आधुनिक Fortran के भीतर एक परिचित Python-जैसा API प्रदान करता है। - **बहु-लाइसेंस**: GPL v3, BSD 2/3-Clause, या MIT के तहत उपलब्ध, जो ओपन-सोर्स और वाणिज्यिक दोनों परियोजनाओं में लचीला उपयोग की अनुमति देता है। - **कई बिल्ड सिस्टम**: विभिन्न परियोजना सेटअपों में आसान एकीकरण के लिए FoBiS, fpm, CMake, और GNU Make का समर्थन करता है। **त्वरित प्रारंभ** लाइब्रेरी एक सीधा API प्रदान करती है। एक न्यूनतम उदाहरण में `command_line_interface` ऑब्जेक्ट को आरंभ करना, `add` के साथ तर्क जोड़ना, `parse` के साथ कमांड लाइन को पार्स करना, और `get` के साथ मान प्राप्त करना शामिल है। लाइब्रेरी आवश्यकता पड़ने पर स्वचालित रूप से सहायता या त्रुटि संदेश प्रिंट करती है। **दस्तावेज़ीकरण और उदाहरण** पूर्ण दस्तावेज़ीकरण, जिसमें एक गाइड, API संदर्भ, और वास्तविक आउटपुट के साथ चलने योग्य उदाहरण शामिल हैं, [FLAP वेबसाइट](https://szaghi.github.io/FLAP/) पर उपलब्ध है। उदाहरण `docs/examples/src` में स्थित हैं। **स्थापना** FLAP को एक स्टैंडअलोन लाइब्रेरी या परियोजना निर्भरता के रूप में स्थापित किया जा सकता है। इसके लिए Fortran 2018 कंपाइलर की आवश्यकता होती है और इसे gfortran 13-16, nvfortran 26.5, और Intel ifx 2025.3 के साथ परीक्षण किया गया है। प्रत्येक बिल्ड सिस्टम के लिए स्थापना निर्देश README में प्रदान किए गए हैं। **लाइसेंस** यह परियोजना एक बहु-लाइसेंसिंग प्रणाली के तहत वितरित की गई है: FOSS परियोजनाओं के लिए GPL v3, और बंद-स्रोत/वाणिज्यिक उपयोग के लिए BSD 2/3-Clause या MIT। उपयोगकर्ता अपनी आवश्यकताओं के अनुरूप लाइसेंस चुन सकते हैं।