Lewati ke konten
DispatchAtlas
Cari

Instalasi

DispatchAtlas menargetkan Python 3.12 atau lebih baru dan menggunakan uv untuk pengembangan lokal yang dapat direproduksi.

Instalasi Sekali Jalan

Perintah pemasang memerlukan DISPATCHATLAS_REF eksplisit agar skrip yang diunduh terikat pada revisi sumber yang stabil. SHA commit lengkap 40 karakter adalah pengikatan terkuat — bersifat tetap, menunjuk tepat satu pohon, dan terverifikasi secara konstruksi — jadi utamakan SHA setiap kali revisi terpasang harus dapat diverifikasi. Tag rilis juga diterima, tetapi sebagai pengikatan kemudahan: tag dapat berpindah, dan pemasang tidak memverifikasi tanda tangan sebuah tag, jadi SHA adalah pengikatan yang harus digunakan untuk instalasi tanpa pengawasan. Tanda tangan cosign dan provenans build yang dihasilkan alur kerja rilis mencakup artefak distribusi yang diterbitkan — permukaan verifikasi terpisah bagi siapa pun yang memasang aset tersebut alih-alih checkout dari sumber ini. Unduh skripnya, tinjau, lalu jalankan. Perintah terakhir dengan pipa pada setiap blok adalah alternatif sekali jalan: perintah itu menjalankan aliran tanpa langkah peninjauan, jadi gunakan hanya untuk referensi yang sudah Anda verifikasi.

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

Pemasang memeriksa keberadaan git dan uv, mengkloning atau memperbarui checkout, lalu menjalankan uv sync --all-extras --group dev. Setel DISPATCHATLAS_SKIP_SYNC=1 bila Anda hanya ingin memwujudkan checkout.

🧱 Instalasi Workspace

uv sync --all-extras --group dev

Workspace memasang namespace akar beserta distribusi yang terfokus:

DistribusiNamespace impor
dispatchatlasdispatchatlas
dispatchatlas-coredispatchatlas.core
dispatchatlas-benchdispatchatlas.bench
dispatchatlas-solvedispatchatlas.solve
dispatchatlas-labdispatchatlas.lab
dispatchatlas-analyticadispatchatlas.analytica

Verifikasi

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

Integrasi solver berat opsional tetap berada di balik extras. Workspace dasar tetap ringan dalam impor ketika backend tersebut tidak ada.

⚙️ Konfigurasi

VariabelNilai bawaanTujuan
DISPATCHATLAS_HOME$HOME/.local/share/dispatchatlas pada POSIX, %LOCALAPPDATA%\DispatchAtlas pada WindowsJalur checkout yang terpasang.
DISPATCHATLAS_REPO_URLhttps://github.com/ahmed-g-gad/dispatchatlas.gitRemote Git yang digunakan pemasang.
DISPATCHATLAS_REFwajibTag rilis atau SHA commit lengkap 40 karakter untuk dipasang atau diperbarui.
DISPATCHATLAS_SKIP_SYNC0Setel 1 untuk melewati sinkronisasi dependensi setelah checkout.

🔄 Pembaruan

Skrip pembaruan bersifat baca-saja kecuali Anda memberikan flag penerapan. Setel DISPATCHATLAS_REF ke tag rilis atau SHA commit lengkap 40 karakter sebelum memeriksa atau menerapkan pembaruan; seperti saat pemasangan, SHA adalah pengikatan yang tetap dan terverifikasi secara konstruksi, sedangkan tag adalah pengikatan kemudahan yang berpindah dan tidak diverifikasi oleh pembaru melalui tanda tangan:

$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

🗑️ Pencopotan

Skrip pencopotan meminta konfirmasi sebelum menghapus, menolak target yang tidak aman, dan secara bawaan memindahkan checkout ke cadangan bertanda waktu:

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

Gunakan -Permanent atau --permanent hanya bila jalur cadangan tidak diperlukan.