Skip to content

fix(devcontainers): build with Python 3.13 while dependencies are unavailable - #7916

Merged
rapids-bot[bot] merged 1 commit into
NVIDIA:release/26.04from
gforsyth:fix_devcontainers_py313
Mar 19, 2026
Merged

fix(devcontainers): build with Python 3.13 while dependencies are unavailable#7916
rapids-bot[bot] merged 1 commit into
NVIDIA:release/26.04from
gforsyth:fix_devcontainers_py313

Conversation

@gforsyth

Copy link
Copy Markdown
Contributor

We bumped the default devcontainer Python version to 3.14 in rapidsai/devcontainers#677 but some repos (like cuml) have optional dependencies without Python 3.14 support.

We need to override the Python version temporarily until those deps catch up.

I'll also open a tracking issue so we remember to undo this.

@gforsyth
gforsyth requested a review from a team as a code owner March 19, 2026 18:17
@gforsyth gforsyth added improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Mar 19, 2026
@gforsyth
gforsyth requested a review from AyodeAwe March 19, 2026 18:17
@coderabbitai

coderabbitai Bot commented Mar 19, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 3295a14d-91de-4893-bc6f-b66a2773d960

📥 Commits

Reviewing files that changed from the base of the PR and between b027fff and 19d8a1f.

📒 Files selected for processing (4)
  • .devcontainer/cuda12.9-conda/devcontainer.json
  • .devcontainer/cuda12.9-pip/devcontainer.json
  • .devcontainer/cuda13.1-conda/devcontainer.json
  • .devcontainer/cuda13.1-pip/devcontainer.json

📝 Walkthrough

Summary by CodeRabbit

  • Chores
    • Standardized Python version to 3.13 across all development container configurations.

Walkthrough

Added containerEnv configuration entries to four devcontainer JSON files, explicitly setting the PYTHON_VERSION environment variable to 3.13 across CUDA 12.9 and 13.1 conda and pip-based development containers.

Changes

Cohort / File(s) Summary
Devcontainer Python Version Override
.devcontainer/cuda12.9-conda/devcontainer.json, .devcontainer/cuda12.9-pip/devcontainer.json, .devcontainer/cuda13.1-conda/devcontainer.json, .devcontainer/cuda13.1-pip/devcontainer.json
Added containerEnv property setting PYTHON_VERSION to 3.13 in all four devcontainer configurations. The pip-based variants include a TODO comment noting this is a temporary override pending Python 3.14 dependency support.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: adding Python 3.13 configuration to devcontainers as a temporary fix for dependency compatibility issues.
Description check ✅ Passed The description clearly explains the context (Python 3.14 bump), the problem (missing dependency support), and the solution (temporary Python 3.13 override).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
📝 Coding Plan
  • Generate coding plan for human review comments

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

CodeRabbit can enforce grammar and style rules using `languagetool`.

Configure the reviews.tools.languagetool setting to enable/disable rules and categories. Refer to the LanguageTool Community to learn more.

"nofile=500000"
],
"hostRequirements": {"gpu": "optional"},
// TODO: remove the PYTHON_VERSION override when all of cuml's dependencies have Python 3.14 support

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JavaScript comments technically aren't valid in JSON files but sometimes parsers are relaxed and won't complain...

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Who needs comments? (Everyone).

I had forgotten this -- hopefully devcontainer parsing is more relaxed

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This actually did come back to bite me. :( I do some parsing of the devcontainer files with jq and this broke it. I'm working around it with a sed command to remove comments in my tooling... but we should probably remove it.

@gforsyth gforsyth mentioned this pull request Mar 19, 2026
2 tasks
@gforsyth

Copy link
Copy Markdown
Contributor Author

/merge

@rapids-bot
rapids-bot Bot merged commit fb288ca into NVIDIA:release/26.04 Mar 19, 2026
58 checks passed
@gforsyth
gforsyth deleted the fix_devcontainers_py313 branch March 19, 2026 19:03
gforsyth added a commit to gforsyth/cuml that referenced this pull request Mar 20, 2026
…vailable (NVIDIA#7916)

We bumped the default devcontainer Python version to 3.14 in rapidsai/devcontainers#677 but some repos (like `cuml`) have optional dependencies without Python 3.14 support. 

We need to override the Python version temporarily until those deps catch up.

I'll also open a tracking issue so we remember to undo this.

Authors:
  - Gil Forsyth (https://github.com/gforsyth)

Approvers:
  - Bradley Dice (https://github.com/bdice)

URL: NVIDIA#7916
bdice added a commit to bdice/cccl that referenced this pull request Apr 1, 2026
cuml has optional dependencies without Python 3.14 support.
Pin PYTHON_VERSION=3.13 for the 'rmm ucxx raft cuvs cuml' RAPIDS
CI job until those dependencies catch up.

See NVIDIA/cuml#7916 for context.
bdice added a commit to bdice/cccl that referenced this pull request Apr 1, 2026
cuml has optional dependencies without Python 3.14 support.
Pin PYTHON_VERSION=3.13 for the 'rmm ucxx raft cuvs cuml' RAPIDS
CI job until those dependencies catch up.

See NVIDIA/cuml#7916 for context.
bdice added a commit to NVIDIA/cccl that referenced this pull request Apr 2, 2026
* Pin Python 3.13 for RAPIDS cuml CI job

cuml has optional dependencies without Python 3.14 support.
Pin PYTHON_VERSION=3.13 for the 'rmm ucxx raft cuvs cuml' RAPIDS
CI job until those dependencies catch up.

See NVIDIA/cuml#7916 for context.

* Fix rapids-build-utils pinning
rapids-bot Bot pushed a commit that referenced this pull request Apr 7, 2026
Followup to #7916 to remove the commend. Technically not valid javascript -- while github and devcontainers don't seem to mind, it does break other tooling that relies on `jq` being able to parse the devcontainer config files

Authors:
  - Gil Forsyth (https://github.com/gforsyth)

Approvers:
  - Jim Crist-Harif (https://github.com/jcrist)
  - James Lamb (https://github.com/jameslamb)

URL: #7952
gonidelis pushed a commit to gonidelis/cccl that referenced this pull request Apr 8, 2026
* Pin Python 3.13 for RAPIDS cuml CI job

cuml has optional dependencies without Python 3.14 support.
Pin PYTHON_VERSION=3.13 for the 'rmm ucxx raft cuvs cuml' RAPIDS
CI job until those dependencies catch up.

See NVIDIA/cuml#7916 for context.

* Fix rapids-build-utils pinning
jainishmehta pushed a commit to jainishmehta/cccl that referenced this pull request Apr 19, 2026
* Pin Python 3.13 for RAPIDS cuml CI job

cuml has optional dependencies without Python 3.14 support.
Pin PYTHON_VERSION=3.13 for the 'rmm ucxx raft cuvs cuml' RAPIDS
CI job until those dependencies catch up.

See NVIDIA/cuml#7916 for context.

* Fix rapids-build-utils pinning
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improvement / enhancement to an existing function non-breaking Non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants