This repository contains the local development scaffold for the TIL-26 task containers:
ae/ - autonomous exploration, with til_environment available through the til-26-ae submodule.asr/ - speech recognition.cv/ - object detection.nlp/ - RAG question answering.noise/ - adversarial noising for CV inputs.The source scaffold is mirrored from /Users/n00bcak/programming/til-26, excluding the dormant/private til-26-finals submodule.
Each task folder owns its own uv project and virtual environment. Do not create the venvs as part of repository setup; create them only when working in that task.
cd ae
uv python install 3.10
uv sync --locked --group dev
Repeat per task folder as needed. pyproject.toml is the source of truth for direct dependencies. requirements.txt is generated only for Docker installs.
Generate Docker requirements only on Linux:
scripts/sync-requirements
scripts/check-requirements
The sync command runs this in each task folder:
uv export --no-hashes --no-emit-project --no-dev -o requirements.txt
On macOS, scripts/check-requirements verifies structure and intentionally skips regeneration because Linux CI is the canonical export environment.
ML task Dockerfiles use nvcr.io/nvidia/pytorch:25.11-py3 and install with the container constraint file:
pip install --no-cache-dir -r requirements.txt -c /etc/pip/constraint.txt
Before adding ML dependencies, capture the actual container package truth:
scripts/capture-ngc-constraints
That records python -VV, pip freeze, and /etc/pip/constraint.txt under constraints/. Validate new ML dependencies inside the NGC base container before locking them.
Workbench builds use til build. Laptop builds should use local tags such as:
docker build -t til-local-ae:dev ae
Use TEAM_ID tags only for competition submissions.
Python
98.0%
Shell
1.8%
This repository contains the local development scaffold for the TIL-26 task containers:
ae/ - autonomous exploration, with til_environment available through the til-26-ae submodule.asr/ - speech recognition.cv/ - object detection.nlp/ - RAG question answering.noise/ - adversarial noising for CV inputs.The source scaffold is mirrored from /Users/n00bcak/programming/til-26, excluding the dormant/private til-26-finals submodule.
Each task folder owns its own uv project and virtual environment. Do not create the venvs as part of repository setup; create them only when working in that task.
cd ae
uv python install 3.10
uv sync --locked --group dev
Repeat per task folder as needed. pyproject.toml is the source of truth for direct dependencies. requirements.txt is generated only for Docker installs.
Generate Docker requirements only on Linux:
scripts/sync-requirements
scripts/check-requirements
The sync command runs this in each task folder:
uv export --no-hashes --no-emit-project --no-dev -o requirements.txt
On macOS, scripts/check-requirements verifies structure and intentionally skips regeneration because Linux CI is the canonical export environment.
ML task Dockerfiles use nvcr.io/nvidia/pytorch:25.11-py3 and install with the container constraint file:
pip install --no-cache-dir -r requirements.txt -c /etc/pip/constraint.txt
Before adding ML dependencies, capture the actual container package truth:
scripts/capture-ngc-constraints
That records python -VV, pip freeze, and /etc/pip/constraint.txt under constraints/. Validate new ML dependencies inside the NGC base container before locking them.
Workbench builds use til build. Laptop builds should use local tags such as:
docker build -t til-local-ae:dev ae
Use TEAM_ID tags only for competition submissions.
Python
98.0%
Shell
1.8%