Instalação
O DispatchAtlas requer Python 3.12 ou mais recente e usa o uv para um
desenvolvimento local reprodutível.
⚡ Instalação em um único comando
Os comandos do instalador exigem um DISPATCHATLAS_REF explícito para que o
script baixado fique fixado em uma revisão de fonte estável. Um SHA de commit
completo de 40 caracteres é a fixação mais forte — ele é imutável, nomeia uma
árvore exata e é verificado por construção — então prefira-o sempre que a
revisão instalada precisar ser verificável. Uma tag de versão também é aceita,
mas como uma fixação de conveniência: uma tag pode se mover, e o instalador não
verifica a assinatura de uma tag, então um SHA é a fixação a usar em uma
instalação não supervisionada. As assinaturas cosign e a proveniência de build
emitidas pelo fluxo de trabalho de versão cobrem os artefatos de distribuição
publicados — uma superfície de verificação separada para quem instala esses
ativos em vez deste checkout a partir da fonte. Baixe o script, revise-o e então
execute-o. O comando final com pipe em cada bloco é a alternativa em uma única
etapa: ele executa o fluxo sem a etapa de revisão, então reserve-o para uma
referência que você já tenha verificado.
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 alternativeO instalador verifica se git e uv estão presentes, clona ou atualiza o
checkout e executa uv sync --all-extras --group dev. Defina
DISPATCHATLAS_SKIP_SYNC=1 quando quiser apenas materializar o checkout.
🧱 Instalação do workspace
uv sync --all-extras --group devO workspace instala o namespace raiz mais as distribuições específicas:
| Distribuição | Namespace de importação |
|---|---|
dispatchatlas | dispatchatlas |
dispatchatlas-core | dispatchatlas.core |
dispatchatlas-bench | dispatchatlas.bench |
dispatchatlas-solve | dispatchatlas.solve |
dispatchatlas-lab | dispatchatlas.lab |
dispatchatlas-analytica | dispatchatlas.analytica |
✅ Verificação
uv run python -c "import dispatchatlas, dispatchatlas.core"
uv run dispatchatlas --help
uv run pytest
npm --prefix site run build
npm --prefix site run checkAs integrações opcionais de solvers pesados permanecem atrás de extras. O workspace base permanece leve em importações quando esses backends estão ausentes.
⚙️ Configuração
| Variável | Valor padrão | Finalidade |
|---|---|---|
DISPATCHATLAS_HOME | $HOME/.local/share/dispatchatlas em POSIX, %LOCALAPPDATA%\DispatchAtlas no Windows | Caminho do checkout instalado. |
DISPATCHATLAS_REPO_URL | https://github.com/ahmed-g-gad/dispatchatlas.git | Remoto Git usado pelo instalador. |
DISPATCHATLAS_REF | obrigatório | Tag de versão ou SHA de commit completo de 40 caracteres a instalar ou atualizar. |
DISPATCHATLAS_SKIP_SYNC | 0 | Defina 1 para pular a sincronização de dependências após o checkout. |
🔄 Atualização
Os scripts de atualização são somente leitura, a menos que você passe o sinal de
aplicação. Defina DISPATCHATLAS_REF com uma tag de versão ou um SHA de commit
completo de 40 caracteres antes de verificar ou aplicar uma atualização; como na
instalação, um SHA é a fixação imutável e verificada por construção, enquanto
uma tag é uma fixação de conveniência móvel que o atualizador não verifica por
assinatura:
$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🗑️ Desinstalação
Os scripts de desinstalação confirmam antes de remover, recusam alvos inseguros e movem o checkout para um backup com carimbo de data/hora por padrão:
.\scripts\installer\uninstall.ps1 -Yesscripts/installer/uninstall.sh --yesUse -Permanent ou --permanent apenas quando o caminho de backup não for
necessário.