Saltar al contenido
DispatchAtlas
Buscar

Instalación

DispatchAtlas requiere Python 3.12 o más reciente y utiliza uv para un desarrollo local reproducible.

Instalación en un solo comando

Los comandos del instalador requieren un DISPATCHATLAS_REF explícito para que el script descargado quede fijado a una revisión de fuente estable. Un SHA de commit completo de 40 caracteres es el anclaje más fuerte —es inmutable, nombra un único árbol exacto y se verifica por construcción—, así que prefiérelo siempre que la revisión instalada deba ser verificable. También se acepta una etiqueta de versión, pero como anclaje de conveniencia: una etiqueta puede moverse y el instalador no verifica la firma de una etiqueta, así que el SHA es el anclaje que conviene usar para una instalación desatendida. Las firmas cosign y la procedencia de compilación que emite el flujo de trabajo de publicación cubren los artefactos de distribución publicados —una superficie de verificación aparte para quienes instalen esos activos en lugar de este checkout desde la fuente. Descarga el script, revísalo y luego ejecútalo. El comando final con tubería de cada bloque es la alternativa en un solo paso: ejecuta el flujo sin el paso de revisión, así que resérvalo para una referencia que ya hayas 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

El instalador comprueba que git y uv estén presentes, clona o actualiza el checkout y ejecuta uv sync --all-extras --group dev. Define DISPATCHATLAS_SKIP_SYNC=1 cuando solo quieras materializar el checkout.

🧱 Instalación del espacio de trabajo

uv sync --all-extras --group dev

El espacio de trabajo instala el espacio de nombres raíz más las distribuciones específicas:

DistribuciónEspacio de nombres de importación
dispatchatlasdispatchatlas
dispatchatlas-coredispatchatlas.core
dispatchatlas-benchdispatchatlas.bench
dispatchatlas-solvedispatchatlas.solve
dispatchatlas-labdispatchatlas.lab
dispatchatlas-analyticadispatchatlas.analytica

Verificación

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

Las integraciones de solvers pesados opcionales permanecen detrás de extras. El espacio de trabajo base se mantiene ligero en importaciones cuando esos backends están ausentes.

⚙️ Configuración

VariableValor por defectoPropósito
DISPATCHATLAS_HOME$HOME/.local/share/dispatchatlas en POSIX, %LOCALAPPDATA%\DispatchAtlas en WindowsRuta del checkout instalado.
DISPATCHATLAS_REPO_URLhttps://github.com/ahmed-g-gad/dispatchatlas.gitRemoto de Git que usa el instalador.
DISPATCHATLAS_REFrequeridoEtiqueta de versión o SHA de commit completo de 40 caracteres a instalar o actualizar.
DISPATCHATLAS_SKIP_SYNC0Define 1 para omitir la sincronización de dependencias tras el checkout.

🔄 Actualización

Los scripts de actualización son de solo lectura salvo que pases el indicador de aplicación. Define DISPATCHATLAS_REF con una etiqueta de versión o un SHA de commit completo de 40 caracteres antes de comprobar o aplicar una actualización; como en la instalación, un SHA es el anclaje inmutable y verificado por construcción, mientras que una etiqueta es un anclaje de conveniencia móvil que el actualizador no verifica por firma:

$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

🗑️ Desinstalación

Los scripts de desinstalación piden confirmación antes de eliminar, rechazan objetivos inseguros y mueven el checkout a una copia de seguridad con marca de tiempo por defecto:

.\scripts\installer\uninstall.ps1 -Yes
scripts/installer/uninstall.sh --yes

Usa -Permanent o --permanent solo cuando no necesites la ruta de copia de seguridad.