प्लेटफ़ॉर्म
Apothem के लिए समर्थित ऑपरेटिंग सिस्टम, शेल, और इंस्टॉलर स्क्रिप्ट, साथ ही स्व-निहित रनटाइम के लिए सिस्टम Python पूर्वापेक्षा।
Apothem दो इंस्टॉलर स्क्रिप्ट भेजता है जो, मिलकर, आधुनिक
डेवलपर डेस्कटॉप और सर्वर मैट्रिक्स को कवर करती हैं। कोई प्लेटफ़ॉर्म-विशिष्ट बिल्ड नहीं है:
इंजन एक स्व-निहित रनटाइम है
जो वेंडर की गई निर्भरताओं के साथ अपने स्रोत वृक्ष से चलता है, इसलिए प्लेटफ़ॉर्म
समर्थन ठीक उन होस्टों का समुच्चय है जहाँ दोनों इंस्टॉलरों में से एक उस वृक्ष को
रख सकता है और चला सकता है। अन्य इंस्टॉल पथ मैट्रिक्स को
और चौड़ा करते हैं: टूल-नेटिव प्लगइन और एक्सटेंशन वहाँ चलते हैं जहाँ उनका होस्ट टूल
चलता है, और npx रूप (npx @ahmed-g-gad/apothem) Node.js 18+ वाले किसी भी OS पर
चलता है।
ऑपरेटिंग सिस्टम और शेल मैट्रिक्स
| OS परिवार | समर्थित शेल | इंस्टॉलर स्क्रिप्ट |
|---|---|---|
| macOS | POSIX bash (सिस्टम bash या एक नया उपयोगकर्ता-इंस्टॉल किया हुआ bash) | install.sh |
| Linux | POSIX bash | install.sh |
| Windows Subsystem for Linux (WSL2) | POSIX bash | install.sh |
| BSD (FreeBSD, OpenBSD, NetBSD) | POSIX bash | install.sh |
| Termux (Android) | POSIX bash | install.sh |
| ChromeOS Linux container (Crostini) | POSIX bash | install.sh |
| Windows | Windows PowerShell 5.1+ | install.ps1 |
| PowerShell 7+ वाला कोई भी प्लेटफ़ॉर्म | PowerShell 7+ (आर-पार-प्लेटफ़ॉर्म) | install.ps1 |
दोनों स्क्रिप्ट एक-दूसरे के कार्यात्मक समतुल्य हैं। install.sh को एक
POSIX bash की आवश्यकता है। install.ps1 को Windows PowerShell 5.1 या बाद के, या
उस किसी भी प्लेटफ़ॉर्म पर PowerShell 7+ की आवश्यकता है जिसे PowerShell 7 स्वयं समर्थन करता है — जिसमें
macOS और Linux शामिल हैं, जहाँ यह install.sh का एक विकल्प है।
एक पूर्वापेक्षा: एक सिस्टम Python
Apothem कोई Python पैकेज इंस्टॉल नहीं करता। इंजन इम्पोर्ट एक ऐसे
इंटरप्रेटर के विरुद्ध चलते हैं जो आपके पास पहले से है, जिसमें बंडल किया गया स्रोत
PYTHONPATH के आगे जोड़ा जाता है। प्रत्येक इंस्टॉलर कुछ और करने से पहले इस पूर्वापेक्षा
की जाँच करता है:
- CPython 3.10 या नया। इंस्टॉलर
python3,python, और संस्करण-वाले नाम (python3.14से नीचेpython3.10तक) की जाँच करता है, उस पहले को स्वीकार करता है जो संस्करण ≥ 3.10 की रिपोर्ट करता है। Windows पर यह Microsoft Store लॉन्चर शिम को अस्वीकार करता है और बंडल किया गयाfind-pythonलोकेटर वही निम्नतल लागू करता है। - रनटाइम लाइब्रेरियाँ इम्पोर्ट-योग्य। इंजन सिस्टम इंटरप्रेटर से
clickऔरrichइम्पोर्ट करता है; इसकी बाकी थर्ड-पार्टी निर्भरताएँ सोर्स ट्री में ही शामिल (vendored) हैं। इंस्टॉलर जाँचता है कि दोनों इम्पोर्ट-योग्य हैं, किसी भी गायब को बताता है, और गायब पूर्व-आवश्यकताओं को आपके लिए इंस्टॉल करने की पेशकश करता है — आपकी पुष्टि के साथ, या--yes/APOTHEM_AUTO_INSTALL_DEPS=1के साथ स्वतः। gitकी आवश्यकता केवल नेटवर्क इंस्टॉल के लिए है (स्क्रिप्ट स्रोत वृक्ष को क्लोन करती है)। एक चेकआउट से स्थानीय इंस्टॉल कोgitकी आवश्यकता नहीं है।
यदि इंटरप्रेटर, लाइब्रेरियाँ, या git अनुपस्थित हों, तो इंस्टॉलर अनुमान लगाने या आपके
पर्यावरण को बदलने के बजाय ठीक यह नाम लेते हुए कि क्या प्रदान करना है, एक निदान के साथ
बाहर निकल जाता है।
एक प्लेटफ़ॉर्म कैसे समर्थित होता है
एक प्लेटफ़ॉर्म तब समर्थित होता है जब दोनों सत्य हों:
- दोनों इंस्टॉलरों में से एक उस पर चलता हो — अर्थात् होस्ट के पास एक POSIX
bash(install.sh) या एक समर्थित PowerShell (install.ps1) हो। clickऔरrichइम्पोर्ट-योग्य के साथ एक CPython 3.10+ इंटरप्रेटर उस पर चलता हो।
कोई संकलित घटक, कोई नेटिव एक्सटेंशन, और कोई प्रति-प्लेटफ़ॉर्म बाइनरी नहीं है। वही स्रोत वृक्ष हर जगह चलता है जहाँ इंटरप्रेटर चलता है, इसलिए ऊपर का मैट्रिक्स समर्थन का पूर्ण, सटीक कथन है — इससे अधिक कुछ भी दावा नहीं किया जाता।
अनुशंसित अगला चरण
अपने प्लेटफ़ॉर्म के लिए इंस्टॉलर चलाएँ — एक POSIX शेल पर curl -fsSL https://apothem.ahmedgad.com/install.sh | bash, या PowerShell पर irm https://apothem.ahmedgad.com/install.ps1 | iex — यह पुष्टि करने के बाद कि आपके PATH पर एक CPython 3.10+ इंटरप्रेटर है।