Перейти к содержимому
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_HOME$HOME/.local/share/dispatchatlas в POSIX, %LOCALAPPDATA%\DispatchAtlas в WindowsПуть установленной рабочей копии.
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 только тогда, когда путь резервной копии не нужен.