Skip to content

Pin support to Python <3.13#2640

Merged
paul-nechifor merged 5 commits into
mainfrom
sam/pin-python-version
Jun 29, 2026
Merged

Pin support to Python <3.13#2640
paul-nechifor merged 5 commits into
mainfrom
sam/pin-python-version

Conversation

@Dreamsorcerer

@Dreamsorcerer Dreamsorcerer commented Jun 27, 2026

Copy link
Copy Markdown
Collaborator

We can't actually support Python 3.13+ due to open3d and dimos-viewer.

@greptile-apps

greptile-apps Bot commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR closes the gap where dimos could be installed on Python 3.13+ despite open3d and dimos-viewer having no cp313 wheels, by tightening requires-python to >=3.10,<3.13 and regenerating the lock file accordingly.

  • pyproject.toml: requires-python changed from >=3.10 to >=3.10,<3.13; classifiers already only list 3.10–3.12, so they are consistent with the new bound.
  • uv.lock: Regenerated to remove Python 3.13 and 3.14 resolution markers, shrinking the file and eliminating now-irrelevant dependency variants.

Confidence Score: 5/5

Safe to merge — the change correctly prevents installation on Python 3.13+ where critical wheels are unavailable, and classifiers are already consistent with the new bound.

The only change is tightening requires-python from >=3.10 to >=3.10,<3.13 and regenerating the lock file. The classifiers in pyproject.toml already list only 3.10–3.12, so there is no inconsistency. The lock file diff is purely mechanical — removing 3.13/3.14 markers that are no longer relevant. No logic, no runtime code, and no API surfaces are touched.

No files require special attention.

Important Files Changed

Filename Overview
pyproject.toml Pins requires-python to >=3.10,<3.13; classifiers correctly list only 3.10–3.12. A leftover python_version < '3.13' marker on typing_extensions is now always true but harmless.
uv.lock Lock file regenerated to reflect the narrowed Python range; Python 3.13/3.14 resolution markers are correctly removed.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[User runs pip install dimos] --> B{Python version check}
    B -->|<3.10| C[❌ Blocked by requires-python]
    B -->|>=3.10, <3.13 / 3.10 / 3.11 / 3.12| D[✅ Allowed]
    B -->|>=3.13| E[❌ Blocked by requires-python <3.13]
    D --> F[open3d wheels available cp310 / cp311 / cp312]
    D --> G[dimos-viewer wheels available cp310 / cp311 / cp312]
    E -.->|Previously allowed but no cp313 wheels exist| H[💥 Would fail at dependency resolution]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[User runs pip install dimos] --> B{Python version check}
    B -->|<3.10| C[❌ Blocked by requires-python]
    B -->|>=3.10, <3.13 / 3.10 / 3.11 / 3.12| D[✅ Allowed]
    B -->|>=3.13| E[❌ Blocked by requires-python <3.13]
    D --> F[open3d wheels available cp310 / cp311 / cp312]
    D --> G[dimos-viewer wheels available cp310 / cp311 / cp312]
    E -.->|Previously allowed but no cp313 wheels exist| H[💥 Would fail at dependency resolution]
Loading

Reviews (3): Last reviewed commit: "Merge branch 'main' into sam/pin-python-..." | Re-trigger Greptile

Comment thread pyproject.toml Outdated
Comment thread .github/workflows/release.yml Outdated
@Dreamsorcerer Dreamsorcerer changed the title Pin support to Python <3.14 Pin support to Python <3.13 Jun 27, 2026
@codecov

codecov Bot commented Jun 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

@@            Coverage Diff             @@
##             main    #2640      +/-   ##
==========================================
- Coverage   71.10%   71.10%   -0.01%     
==========================================
  Files         897      897              
  Lines       80290    80290              
  Branches     7183     7183              
==========================================
- Hits        57089    57088       -1     
  Misses      21319    21319              
- Partials     1882     1883       +1     
Flag Coverage Δ
OS-ubuntu-24.04-arm 63.52% <ø> (+<0.01%) ⬆️
OS-ubuntu-latest 66.23% <ø> (-0.01%) ⬇️
Py-3.10 66.22% <ø> (ø)
Py-3.11 66.22% <ø> (-0.01%) ⬇️
Py-3.12 66.22% <ø> (-0.01%) ⬇️
Py-3.13 66.22% <ø> (+<0.01%) ⬆️
Py-3.14 66.24% <ø> (+0.01%) ⬆️
Py-3.14t 66.23% <ø> (+<0.01%) ⬆️
SelfHosted-Large 30.09% <ø> (ø)
SelfHosted-Linux 37.48% <ø> (+<0.01%) ⬆️
SelfHosted-macOS 36.31% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions github-actions Bot added the ready-to-merge Required CI checks have passed on this PR label Jun 27, 2026
paul-nechifor
paul-nechifor previously approved these changes Jun 29, 2026
@paul-nechifor paul-nechifor enabled auto-merge (squash) June 29, 2026 17:20
@github-actions github-actions Bot removed the ready-to-merge Required CI checks have passed on this PR label Jun 29, 2026
@paul-nechifor paul-nechifor merged commit c5408a2 into main Jun 29, 2026
28 checks passed
@paul-nechifor paul-nechifor deleted the sam/pin-python-version branch June 29, 2026 17:43
@github-actions

Copy link
Copy Markdown
Contributor

Backport failed for release/0.0.13, because it was unable to cherry-pick the commit(s).

Please cherry-pick the changes locally and resolve any conflicts.

git fetch origin release/0.0.13
git worktree add -d .worktree/backport/2640-to-release/0.0.13 origin/release/0.0.13
cd .worktree/backport/2640-to-release/0.0.13
git switch --create backport/2640-to-release/0.0.13
git cherry-pick -x c5408a258695bc0febdf24292778dc65d8b67618

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants