インストール
DispatchAtlas は Python 3.12 以降を対象とし、再現性のあるローカル開発のために
uv を使用します。
⚡ ワンショットインストール
インストールコマンドには明示的な DISPATCHATLAS_REF が必要です。これにより、
ダウンロードしたスクリプトが安定したソースリビジョンに固定されます。完全な 40 文字の
コミット SHA が最も強力な固定手段です。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ワークスペースはルート名前空間に加えて、目的別のディストリビューションを インストールします。
| ディストリビューション | インポート名前空間 |
|---|---|
dispatchatlas | dispatchatlas |
dispatchatlas-core | dispatchatlas.core |
dispatchatlas-bench | dispatchatlas.bench |
dispatchatlas-solve | dispatchatlas.solve |
dispatchatlas-lab | dispatchatlas.lab |
dispatchatlas-analytica | dispatchatlas.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 | POSIX では $HOME/.local/share/dispatchatlas、Windows では %LOCALAPPDATA%\DispatchAtlas | インストールされたチェックアウトのパス。 |
DISPATCHATLAS_REPO_URL | https://github.com/ahmed-g-gad/dispatchatlas.git | インストーラーが使用する Git リモート。 |
DISPATCHATLAS_REF | 必須 | インストールまたは更新するリリースタグ、または完全な 40 文字のコミット SHA。 |
DISPATCHATLAS_SKIP_SYNC | 0 | チェックアウト後に依存関係の同期を省略するには 1 を設定します。 |
🔄 更新
更新スクリプトは、適用フラグを渡さない限り読み取り専用です。更新を確認または適用する
前に、DISPATCHATLAS_REF をリリースタグまたは完全な 40 文字のコミット SHA に
設定してください。インストール時と同様に、SHA は不変で構成上検証される固定手段である
のに対し、タグは移動する可能性があり、更新スクリプトが署名によって検証しない、利便性の
ための固定手段です:
$env:DISPATCHATLAS_REF = "<release-tag>"
.\scripts\installer\update.ps1
.\scripts\installer\update.ps1 -Applyexport DISPATCHATLAS_REF="<release-tag>"
scripts/installer/update.sh
scripts/installer/update.sh --apply🗑️ アンインストール
アンインストールスクリプトは削除前に確認し、安全でない対象を拒否し、既定では チェックアウトをタイムスタンプ付きのバックアップへ移動します。
.\scripts\installer\uninstall.ps1 -Yesscripts/installer/uninstall.sh --yesバックアップパスが不要な場合にのみ -Permanent または --permanent を使用して
ください。