Pular para o conteúdo
DispatchAtlas
Buscar

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 alternative

O 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 dev

O workspace instala o namespace raiz mais as distribuições específicas:

DistribuiçãoNamespace de importação
dispatchatlasdispatchatlas
dispatchatlas-coredispatchatlas.core
dispatchatlas-benchdispatchatlas.bench
dispatchatlas-solvedispatchatlas.solve
dispatchatlas-labdispatchatlas.lab
dispatchatlas-analyticadispatchatlas.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 check

As 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ávelValor padrãoFinalidade
DISPATCHATLAS_HOME$HOME/.local/share/dispatchatlas em POSIX, %LOCALAPPDATA%\DispatchAtlas no WindowsCaminho do checkout instalado.
DISPATCHATLAS_REPO_URLhttps://github.com/ahmed-g-gad/dispatchatlas.gitRemoto Git usado pelo instalador.
DISPATCHATLAS_REFobrigatórioTag de versão ou SHA de commit completo de 40 caracteres a instalar ou atualizar.
DISPATCHATLAS_SKIP_SYNC0Defina 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 -Apply
export 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 -Yes
scripts/installer/uninstall.sh --yes

Use -Permanent ou --permanent apenas quando o caminho de backup não for necessário.