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

Spack एक बहु-प्लेटफ़ॉर्म पैकेज मैनेजर है जो सॉफ़्टवेयर के कई संस्करणों और कॉन्फ़िगरेशन को बनाता और इंस्टॉल करता है। यह Linux, macOS, Windows और कई सुपरकंप्यूटरों पर काम करता है। Spack गैर-विनाशकारी है: किसी पैकेज का नया संस्करण इंस्टॉल करने से मौजूदा इंस्टॉलेशन टूटते नहीं हैं, इसलिए एक ही पैकेज के कई कॉन्फ़िगरेशन सह-अस्तित्व में रह सकते हैं। Spack एक सरल "spec" सिंटैक्स प्रदान करता है जो उपयोगकर्ताओं को संस्करण और कॉन्फ़िगरेशन विकल्प निर्दिष्ट करने की अनुमति देता है। पैकेज फ़ाइलें शुद्ध Python में लिखी जाती हैं, और specs पैकेज लेखकों को एक ही पैकेज के कई अलग-अलग बिल्ड के लिए एक ही स्क्रिप्ट लिखने की अनुमति देते हैं। Spack के साथ, आप अपने सॉफ़्टवेयर को *सभी* तरीकों से बना सकते हैं जो आप चाहते हैं। उदाहरणों और मुख्य बिंदुओं के लिए [Feature Overview](https://spack.readthedocs.io/en/latest/features.html) देखें। ## इंस्टॉलेशन Spack इंस्टॉल करने के लिए, पहले सुनिश्चित करें कि आपके पास Python और Git है। फिर: ```bash git clone --depth=2 https://github.com/spack/spack.git ``` ```bash # bash/zsh/sh के लिए . spack/share/spack/setup-env.sh # tcsh/csh के लिए source spack/share/spack/setup-env.csh # fish के लिए . spack/share/spack/setup-env.fish ``` ```bash # अब आप एक पैकेज इंस्टॉल करने के लिए तैयार हैं! spack install zlib-ng ``` ## दस्तावेज़ीकरण [**पूर्ण दस्तावेज़ीकरण**](https://spack.readthedocs.io/) उपलब्ध है, या `spack help` या `spack help --all` चलाएँ। Spack सिंटैक्स की चीट शीट के लिए, `spack help --spec` चलाएँ। ## ट्यूटोरियल हम एक [**हैंड्स-ऑन ट्यूटोरियल**](https://spack-tutorial.readthedocs.io/) बनाए रखते हैं। यह बुनियादी से उन्नत उपयोग, पैकेजिंग, डेवलपर सुविधाओं और बड़े HPC डिप्लॉयमेंट को कवर करता है। आप Docker कंटेनर का उपयोग करके अपने लैपटॉप पर सभी अभ्यास कर सकते हैं। अपने संगठन में उपयोगकर्ताओं को Spack के बारे में सिखाने के लिए इन सामग्रियों का उपयोग करने के लिए स्वतंत्र महसूस करें। ## समुदाय Spack एक ओपन सोर्स प्रोजेक्ट है। प्रश्न, चर्चा और योगदान का स्वागत है। योगदान नए पैकेज से लेकर बगफिक्स, दस्तावेज़ीकरण, या यहां तक कि नई मुख्य सुविधाओं तक कुछ भी हो सकता है। संसाधन: * **Slack वर्कस्पेस**: [spackpm.slack.com](https://spackpm.slack.com)। निमंत्रण पाने के लिए, [slack.spack.io](https://slack.spack.io) पर जाएँ। * **Matrix स्पेस**: [#spack-space:matrix.org](https://matrix.to/#/#spack-space:matrix.org): [Slack से जुड़ा](https://github.com/matrix-org/matrix-appservice-slack#matrix-appservice-slack)। * [**Github Discussions**](https://github.com/spack/spack/discussions): प्रश्नोत्तर और चर्चाओं के लिए। घोषणाओं के लिए पिन की गई चर्चाओं पर ध्यान दें। * **X**: [@spackpm](https://twitter.com/spackpm)। हमें `@mention` करना सुनिश्चित करें! * **मेलिंग सूची**: [groups.google.com/d/forum/spack](https://groups.google.com/d/forum/spack): केवल घोषणाओं के लिए। चर्चाओं के लिए कृपया अन्य स्थानों का उपयोग करें। ## योगदान Spack में योगदान करना अपेक्षाकृत आसान है। बस हमें एक [पुल रिक्वेस्ट](https://help.github.com/articles/using-pull-requests/) भेजें। अधिकांश योगदानकर्ता Spack के सामुदायिक पैकेज रेसिपी में योगदान करना चाहेंगे। ऐसा करने के लिए, आपको **[spack-packages रिपॉजिटरी](https://github.com/spack/spack-packages)** पर जाना चाहिए। यदि आप Spack में ही योगदान करना चाहते हैं, तो आप [spack रिपॉजिटरी](https://github.com/spack/spack) (यह रिपॉजिटरी) में पुल रिक्वेस्ट सबमिट कर सकते हैं। आपका PR निम्नलिखित करना चाहिए: 1. `develop` को गंतव्य शाखा बनाएं; 2. Spack के यूनिट टेस्ट, दस्तावेज़ीकरण टेस्ट और पैकेज बिल्ड टेस्ट पास करें; 3. [PEP 8](https://www.python.org/dev/peps/pep-0008/) अनुरूप हो; 4. सभी कमिट्स को `git commit --signoff` के साथ साइन ऑफ करें। साइनऑफ का मतलब है कि आप [Developer Certificate of Origin](https://developercertificate.org) से सहमत हैं। ध्यान दें कि यह [कमिट्स पर हस्ताक्षर करने](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits) से अलग है, जो आप कर सकते हैं, लेकिन यह आवश्यक नहीं है। हम इन दिशानिर्देशों को अपनी निरंतर एकीकरण (CI) प्रक्रिया के साथ लागू करते हैं। स्थानीय रूप से टेस्ट चलाने के लिए, और git के लिए उपयोगी टिप्स के लिए, हमारा [योगदान गाइड](https://spack.readthedocs.io/en/latest/contribution_guide.html) देखें। ## रिलीज़ बहु-उपयोगकर्ता साइट डिप्लॉयमेंट या अन्य उपयोग मामलों के लिए जिन्हें बहुत स्थिर सॉफ़्टवेयर इंस्टॉलेशन की आवश्यकता होती है, हम Spack के [स्थिर रिलीज़](https://github.com/spack/spack/releases) का उपयोग करने की सलाह देते हैं। प्रत्येक Spack रिलीज़ श्रृंखला की एक संबंधित शाखा भी होती है, जैसे `releases/v0.14` में Spack के `0.14.x` संस्करण हैं, और `releases/v0.13` में `0.13.x` संस्करण हैं। हम इन शाखाओं में महत्वपूर्ण बग फिक्स बैकपोर्ट करते हैं, लेकिन हम पैकेज संस्करणों को आगे नहीं बढ़ाते हैं या अन्य परिवर्तन नहीं करते हैं जो रिलीज़ शाखा के भीतर Spack के निर्भरता को कंक्रीटाइज़ करने के तरीके को बदल देंगे। इसलिए, आप अपने Spack डिप्लॉयमेंट को रिलीज़ शाखा पर आधारित कर सकते हैं और फिक्स पाने के लिए `git pull` कर सकते हैं, बिना `develop` के साथ आने वाले पैकेज चर्न के। नवीनतम रिलीज़ हमेशा `releases/latest` टैग के साथ उपलब्ध है। अधिक विवरण के लिए [रिलीज़ पर दस्तावेज़](https://spack.readthedocs.io/en/latest/developer_guide.html#releases) देखें। ## आचार संहिता कृपया ध्यान दें कि Spack के पास एक [**आचार संहिता**](.github/CODE_OF_CONDUCT.md) है। Spack समुदाय में भाग लेकर, आप इसके नियमों का पालन करने के लिए सहमत हैं। ## लेखक Spack के [योगदानकर्ताओं](https://github.com/spack/spack/graphs/contributors) को बहुत धन्यवाद। Spack को Todd Gamblin, tgamblin@llnl.gov द्वारा बनाया गया था। ### Spack का उल्लेख करना यदि आप किसी प्रकाशन में Spack का संदर्भ दे रहे हैं, तो कृपया निम्नलिखित पेपर का उल्लेख करें: * Todd Gamblin, Matthew P. LeGendre, Michael R. Collette, Gregory L. Lee, Adam Moody, Bronis R. de Supinski, और W. Scott Futral। [**The Spack Package Manager: Bringing Order to HPC Software Chaos**](https://www.computer.org/csdl/proceedings/sc/2015/3723/00/2807623.pdf)। *Supercomputing 2015 (SC'15)*, Austin, Texas, November 15-20 2015 में। LLNL-CONF-669890। GitHub पर, आप "Cite this repository" बटन के माध्यम से इस उद्धरण को APA या BibTeX प्रारूप में कॉपी कर सकते हैं। या, कच्चे BibTeX के लिए `CITATION.cff` में टिप्पणियाँ देखें। ## लाइसेंस Spack को MIT लाइसेंस और Apache License (Version 2.0) दोनों की शर्तों के तहत वितरित किया जाता है। उपयोगकर्ता अपने विकल्प पर कोई भी लाइसेंस चुन सकते हैं। सभी नए योगदान MIT और Apache-2.0 दोनों लाइसेंसों के तहत किए जाने चाहिए। विवरण के लिए [LICENSE-MIT](https://github.com/spack/spack/blob/develop/LICENSE-MIT), [LICENSE-APACHE](https://github.com/spack/spack/blob/develop/LICENSE-APACHE), [COPYRIGHT](https://github.com/spack/spack/blob/develop/COPYRIGHT), और [NOTICE](https://github.com/spack/spack/blob/develop/NOTICE) देखें। SPDX-License-Identifier: (Apache-2.0 OR MIT) LLNL-CODE-811652