सामग्री पर जाएँ
DispatchAtlas
खोजें

इंस्टॉलेशन

DispatchAtlas के लिए Python 3.12 या नया संस्करण आवश्यक है, और यह पुनरुत्पाद्य स्थानीय विकास के लिए uv का उपयोग करता है।

एक-कमांड इंस्टॉल

इंस्टॉलर कमांड के लिए एक स्पष्ट DISPATCHATLAS_REF आवश्यक है, ताकि डाउनलोड की गई स्क्रिप्ट एक स्थिर स्रोत रिवीज़न पर पिन रहे। पूर्ण 40-वर्ण कमिट SHA सबसे मज़बूत पिन है — यह अपरिवर्तनीय होता है, एक सटीक ट्री को नामित करता है, और निर्माण द्वारा सत्यापित होता है — इसलिए जब भी इंस्टॉल किया गया रिवीज़न सत्यापन-योग्य होना ज़रूरी हो, तब इसे प्राथमिकता दें। एक रिलीज़ टैग भी स्वीकार्य है, लेकिन एक सुविधा पिन के रूप में: टैग हट सकता है, और इंस्टॉलर टैग के हस्ताक्षर को सत्यापित नहीं करता, इसलिए बिना निगरानी वाले इंस्टॉल के लिए SHA ही उपयुक्त पिन है। रिलीज़ वर्कफ़्लो द्वारा उत्सर्जित cosign हस्ताक्षर और बिल्ड प्रोवेनेंस प्रकाशित वितरण आर्टिफैक्ट्स को कवर करते हैं — यह इस स्रोत-से चेकआउट के बजाय उन एसेट्स को इंस्टॉल करने वालों के लिए एक अलग सत्यापन सतह है। स्क्रिप्ट डाउनलोड करें, उसकी समीक्षा करें, फिर उसे चलाएँ। हर ब्लॉक की अंतिम पाइप वाली कमांड एक-चरणीय विकल्प है: यह समीक्षा चरण के बिना स्ट्रीम चलाती है, इसलिए इसे केवल उस संदर्भ के लिए रखें जिसे आप पहले ही सत्यापित कर चुके हैं।

export DISPATCHATLAS_REF="<full-40-character-commit-sha>"   # a release tag also works
curl -fsSL -o install.sh "https://raw.githubusercontent.com/ahmed-g-gad/dispatchatlas/${DISPATCHATLAS_REF}/scripts/installer/install.sh"
sh install.sh   # run after reviewing install.sh
 
curl -fsSL "https://raw.githubusercontent.com/ahmed-g-gad/dispatchatlas/${DISPATCHATLAS_REF}/scripts/installer/install.sh" | sh   # one-shot alternative
$env:DISPATCHATLAS_REF = "<full-40-character-commit-sha>"   # a release tag also works
iwr -OutFile install.ps1 "https://raw.githubusercontent.com/ahmed-g-gad/dispatchatlas/$($env:DISPATCHATLAS_REF)/scripts/installer/install.ps1"
.\install.ps1   # run after reviewing install.ps1
 
irm "https://raw.githubusercontent.com/ahmed-g-gad/dispatchatlas/$($env:DISPATCHATLAS_REF)/scripts/installer/install.ps1" | iex   # one-shot alternative

इंस्टॉलर git और uv की उपस्थिति जाँचता है, चेकआउट को क्लोन या अपडेट करता है, और uv sync --all-extras --group dev चलाता है। जब आप केवल चेकआउट को साकार करना चाहें तो DISPATCHATLAS_SKIP_SYNC=1 सेट करें।

🧱 वर्कस्पेस इंस्टॉल

uv sync --all-extras --group dev

वर्कस्पेस रूट नेमस्पेस के साथ-साथ केंद्रित वितरण भी इंस्टॉल करता है:

वितरणइम्पोर्ट नेमस्पेस
dispatchatlasdispatchatlas
dispatchatlas-coredispatchatlas.core
dispatchatlas-benchdispatchatlas.bench
dispatchatlas-solvedispatchatlas.solve
dispatchatlas-labdispatchatlas.lab
dispatchatlas-analyticadispatchatlas.analytica

सत्यापन

uv run python -c "import dispatchatlas, dispatchatlas.core"
uv run dispatchatlas --help
uv run pytest
npm --prefix site run build
npm --prefix site run check

वैकल्पिक भारी सॉल्वर इंटीग्रेशन extras के पीछे रहते हैं। जब ये बैकएंड अनुपस्थित हों, तब भी आधार वर्कस्पेस इम्पोर्ट में हल्का बना रहता है।

⚙️ कॉन्फ़िगरेशन

वेरिएबलडिफ़ॉल्टउद्देश्य
DISPATCHATLAS_HOMEPOSIX पर $HOME/.local/share/dispatchatlas, Windows पर %LOCALAPPDATA%\DispatchAtlasइंस्टॉल किए गए चेकआउट का पथ।
DISPATCHATLAS_REPO_URLhttps://github.com/ahmed-g-gad/dispatchatlas.gitइंस्टॉलर द्वारा उपयोग किया जाने वाला Git रिमोट।
DISPATCHATLAS_REFआवश्यकइंस्टॉल या अपडेट करने के लिए रिलीज़ टैग या पूर्ण 40-वर्ण कमिट SHA।
DISPATCHATLAS_SKIP_SYNC0चेकआउट के बाद निर्भरता समन्वयन छोड़ने के लिए 1 सेट करें।

🔄 अपडेट

जब तक आप अप्लाई फ़्लैग न दें, अपडेट स्क्रिप्ट केवल-पठन हैं। किसी अपडेट की जाँच या उसे लागू करने से पहले DISPATCHATLAS_REF को एक रिलीज़ टैग या पूर्ण 40-वर्ण कमिट SHA पर सेट करें; इंस्टॉल के समय की तरह, SHA अपरिवर्तनीय, निर्माण-द्वारा-सत्यापित पिन है, जबकि टैग एक हट सकने वाला सुविधा पिन है जिसे अपडेटर हस्ताक्षर द्वारा सत्यापित नहीं करता:

$env:DISPATCHATLAS_REF = "<release-tag>"
.\scripts\installer\update.ps1
.\scripts\installer\update.ps1 -Apply
export DISPATCHATLAS_REF="<release-tag>"
scripts/installer/update.sh
scripts/installer/update.sh --apply

🗑️ अनइंस्टॉल

अनइंस्टॉल स्क्रिप्ट हटाने से पहले पुष्टि करती हैं, असुरक्षित लक्ष्यों को अस्वीकार करती हैं, और डिफ़ॉल्ट रूप से चेकआउट को टाइमस्टैम्प वाले बैकअप में स्थानांतरित करती हैं:

.\scripts\installer\uninstall.ps1 -Yes
scripts/installer/uninstall.sh --yes

-Permanent या --permanent का उपयोग केवल तब करें जब बैकअप पथ की आवश्यकता न हो।