Update Dependencies
Overview
Update dependency constraints for the numerai-predict Python container environments. Make the smallest version changes that satisfy the request and keep generated lock and requirements files in sync with each edited py3.* directory.
Workflow
Identify scope.
Determine the package, target version or constraint, and affected Python versions. If the user does not name specific versions, inspect all
py3.*directories and update every supported environment where the package exists.Edit
pyproject.toml.Update the dependency entry in each affected version directory. Use different constraints per Python version only when package compatibility requires it.
Regenerate generated files.
Run from each edited
py3.*directory:poetry lock poetry export -f requirements.txt --without-hashes --output requirements.txt sed -i '' 's/; .*$//g' requirements.txtOn Linux, use:
sed -i 's/; .*$//g' requirements.txtValidate.
For a single-version dependency change, run:
make build_3_XX make test_3_XXFor cross-version changes, run:
make build make test
Guidelines
- Keep dependency constraints consistent across Python versions where compatibility allows.
- Do not update unrelated packages unless Poetry resolution requires it.
- Treat ML framework updates as high risk; check release compatibility for Python, NumPy, CUDA-related packages, and transitive compiled dependencies.
- If resolution fails, report the specific conflicting package and the compatible alternatives instead of making broad speculative changes.
Verification Checklist
- Every edited
py3.*directory has updatedpyproject.toml,poetry.lock, andrequirements.txt. - No unrelated version directories were changed.
- Version constraints are as consistent as package compatibility allows.
- The matching build and test targets pass.