Skip to content

📋 Dependencies & Software Bill of Materials

A complete, auditor-ready manifest of every software component inside the VEOX Enclave container. This page is auto-verified against the production Docker image and is current as of March 2026.


Executive Summary

Category Details
Container Runtime Docker (OCI-compatible)
Base Image (Build) cgr.dev/chainguard/python:latest-dev — hardened, CVE-free, Sigstore-signed
Base Image (Runtime) python:3.11-slim-bookworm (Debian 12)
Python Version 3.14.3 (conda-forge, via Pixi package manager)
Package Manager Pixi (conda-forge + PyPI resolver with lockfile)
Total Python Packages 80
OS Packages PostgreSQL 15, tini, TeX Live, OpenSSL 3.6.1
Network Requirements None at runtime — fully air-gapped after image pull

Container Stack

Operating System & System Packages

Component Version Source Purpose
Debian GNU/Linux 12 (Bookworm) Official Docker Hub Runtime OS
Linux Kernel (host) 6.8.0-90-generic Ubuntu Host kernel
PostgreSQL 15.16 (Debian 15.16-0+deb12u1) apt Embedded task queue / scheduler state
tini 0.19.0 apt PID 1 init — proper signal handling + zombie reaping
OpenSSL 3.6.1 (27 Jan 2026) conda-forge TLS and cryptographic operations
pdfTeX (TeX Live) 3.141592653-2.6-1.40.24 (TeX Live 2022) apt PaperKit PDF generation
curl System default apt Health checks
wget System default apt Pixi binary download (build only)

TeX Live Packages (PDF Generation)

PDFs are built inside the enclave via the PaperKit API (POST /jobs/{id}/build_paper, GET /jobs/{id}/paper_pdf). No LaTeX is required on the client.

Package Purpose
texlive-latex-extra Extended LaTeX macro packages
texlive-fonts-recommended Standard font families
texlive-science Scientific document formatting
texlive-pictures TikZ/PGF graphics
lmodern Latin Modern font family

Python Dependencies — Full Manifest

All packages below are resolved via Pixi with a lockfile (pixi.lock) ensuring reproducible builds. Versions are verified against the production container.

Core ML / Data Science

Package Version License Purpose
numpy 2.4.2 BSD-3-Clause Array computation foundation
scipy 1.17.1 BSD-3-Clause Scientific computing, optimization
pandas 3.0.1 BSD-3-Clause Tabular data processing
scikit-learn 1.8.0 BSD-3-Clause Machine learning algorithms, pipelines, metrics
xgboost 3.2.0 Apache-2.0 Gradient boosted trees
lightgbm 4.6.0 MIT Gradient boosted trees (alternate)
torch (PyTorch CPU) 2.10.0 BSD-3-Clause Deep learning framework (CPU-only build)
joblib 1.5.3 BSD-3-Clause Parallel execution / model serialization
threadpoolctl 3.6.0 BSD-3-Clause Thread pool management for BLAS/LAPACK

Web Framework & API

Package Version License Purpose
fastapi 0.135.1 MIT Async REST API framework
uvicorn 0.41.0 BSD-3-Clause ASGI server (HTTP + WebSocket)
uvloop 0.22.1 MIT / Apache-2.0 High-performance event loop for uvicorn
starlette 0.52.1 BSD-3-Clause ASGI toolkit (FastAPI dependency)
pydantic 2.12.5 MIT Data validation and serialization
pydantic_core 2.41.5 MIT Rust-accelerated Pydantic core
pydantic-extra-types 2.11.0 MIT Additional Pydantic type validators
pydantic-settings 2.13.1 MIT Configuration from environment
python-multipart 0.0.22 Apache-2.0 File upload parsing
httpx 0.28.1 BSD-3-Clause HTTP client (used by SDK tests)
httpcore 1.0.9 BSD-3-Clause HTTP transport backend for httpx
h11 0.16.0 MIT HTTP/1.1 protocol implementation
h2 4.3.0 MIT HTTP/2 protocol implementation
websockets 16.0 BSD-3-Clause WebSocket protocol support

Cryptography & Security

Package Version License Purpose
cryptography 46.0.5 Apache-2.0 / BSD-3-Clause AES-GCM, ChaCha20-Poly1305 encryption
cffi 2.0.0 MIT C Foreign Function Interface (crypto backend)
pycparser 2.22 BSD-3-Clause C parser for cffi
certifi 2026.2.25 MPL-2.0 Mozilla CA certificate bundle

Database

Package Version License Purpose
psycopg2-binary 2.9.11 LGPL-3.0 PostgreSQL Python adapter

Visualization & Reporting

Package Version License Purpose
matplotlib 3.10.8 PSF Chart and figure generation for PaperKit
Pygments 2.19.2 BSD-2-Clause Syntax highlighting for generated reports
Pillow 12.1.1 HPND Image processing
contourpy 1.3.3 BSD-3-Clause Contour plot algorithms (matplotlib dep)
cycler 0.12.1 BSD-3-Clause Style cycler for matplotlib
fonttools 4.62.0 MIT Font file handling
kiwisolver 1.5.0 BSD-3-Clause Constraint solver for layout

Templates & Configuration

Package Version License Purpose
Jinja2 3.1.6 BSD-3-Clause Template engine for PaperKit LaTeX
MarkupSafe 3.0.3 BSD-3-Clause Safe string marking for Jinja2
PyYAML 6.0.3 MIT YAML parsing for algorithm configs

System Monitoring

Package Version License Purpose
psutil 7.2.2 BSD-3-Clause CPU, memory, disk, and network monitoring

CLI & Developer Tools

Package Version License Purpose
typer 0.24.0 MIT CLI framework for FastAPI CLI
rich 14.3.3 MIT Rich terminal formatting
rich-toolkit 0.19.7 MIT Rich extensions
click 8.3.1 BSD-3-Clause CLI argument parsing
shellingham 1.5.4 ISC Shell detection
markdown-it-py 4.0.0 MIT Markdown parsing
mdurl 0.1.2 MIT URL parsing for markdown-it

Core Python Libraries

Package Version License Purpose
typing_extensions 4.15.0 PSF Backported type hints
typing-inspection 0.4.2 MIT Runtime type inspection
annotated-types 0.7.0 MIT Type metadata (Pydantic dep)
annotated-doc 0.0.4 MIT Annotated types documentation
anyio 4.12.1 MIT Async compatibility layer
sniffio 1.3.1 MIT / Apache-2.0 Async library detection
exceptiongroup 1.3.1 MIT Exception group backport
six 1.17.0 MIT Python 2/3 compatibility
python-dateutil 2.9.0.post0 Apache-2.0 Date parsing
python-dotenv 1.2.2 BSD-3-Clause .env file loading
idna 3.11 BSD-3-Clause International domain name support
dnspython 2.8.0 ISC DNS toolkit

Numeric & Symbolic

Package Version License Purpose
sympy 1.14.0 BSD-3-Clause Symbolic mathematics (PyTorch dep)
mpmath 1.3.0 BSD-3-Clause Arbitrary precision math
gmpy2 2.2.1 LGPL-3.0 GMP bindings for fast number theory
networkx 3.6.1 BSD-3-Clause Graph algorithms (PyTorch dep)
optree 0.19.0 Apache-2.0 Pytree operations (PyTorch dep)

Build & Packaging

Package Version License Purpose
setuptools 82.0.0 MIT Package building
pip 26.0.1 MIT Package installation
packaging 26.0 Apache-2.0 / BSD-2-Clause Version parsing
tomli 2.4.0 MIT TOML file parsing
filelock 3.25.0 Unlicense File-based locking
fsspec 2026.2.0 BSD-3-Clause Filesystem abstraction
pybind11 3.0.1 BSD-3-Clause C++ bindings (dep of compiled libs)
pyparsing 3.3.2 MIT Text parsing (matplotlib dep)

HTTP Protocol

Package Version License Purpose
hpack 4.1.0 MIT HTTP/2 HPACK header compression
hyperframe 6.1.0 MIT HTTP/2 framing layer
httptools 0.7.1 MIT HTTP parsing (uvicorn accelerator)
watchfiles 1.1.1 MIT File watcher (uvicorn dev reload)
email-validator 2.3.0 CC-BY-SA-4.0 Email validation (Pydantic dep)

Internal

Package Version License Purpose
veox_enclave 0.1.0 Proprietary VEOX internal API package

Network Requirements

Air-Gapped Runtime

The VEOX Enclave requires zero network access at runtime. All dependencies are pre-packaged inside the Docker image. The container can run in fully air-gapped environments.

Phase Network Required? Details
Image pull Yes (one-time) Pull from ECR or load from .tar.gz
Container runtime No Fully self-contained
Worker processes Blocked Network namespace isolation at kernel level
API access Localhost only Default bind 0.0.0.0:8090 (configurable)

Ports

Port Protocol Service Configurable
8090 HTTP + WebSocket API Server + Command Center AEGIS_API_PORT
8080 HTTP Documentation Server VEOX_DOCS_PORT

SageMaker / Cloud Deployment Considerations

For deployments within managed ML environments (e.g., AWS SageMaker, Azure ML, GCP Vertex AI):

Consideration Requirement
Instance type CPU-only (no GPU required). Recommended: ml.m5.xlarge (4 vCPU, 16 GB) or larger
Docker support Must support custom Docker images with OCI-compatible runtime
Persistent storage Optional: mount a volume at /app/scheduler_state for PostgreSQL WAL persistence across restarts
Network policy The container makes zero outbound connections. Inbound: port 8090 for API
IAM/Security No AWS API calls. No S3 access. No secrets manager integration required
Health check Built-in: GET http://localhost:8090/health (30s interval, 5s timeout)
Start time ~15 seconds from container start to API ready
Memory Minimum 4 GB. Recommended 8-16 GB for large dataset processing

Version Verification

To independently verify all versions from a running container:

# Python packages
docker exec veox-enclave python -c "
import importlib.metadata
for d in sorted(importlib.metadata.distributions(), key=lambda d: d.metadata['Name'].lower()):
    print(f\"{d.metadata['Name']}=={d.metadata['Version']}\")
"

# System packages
docker exec veox-enclave bash -c "
echo 'OS:'; cat /etc/os-release | head -2
echo 'PostgreSQL:'; postgres --version
echo 'OpenSSL:'; openssl version
echo 'Python:'; python --version
echo 'tini:'; tini --version
"

Last verified: March 11, 2026 against veox-enclave-server:latest