설치
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워크스페이스는 루트 네임스페이스와 함께 목적별 배포판을 설치합니다.
| 배포판 | 임포트 네임스페이스 |
|---|---|
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를 사용하세요.