Skip to content

Conversation

@jeff-hykin
Copy link
Member

test on an Arm system with:

uv pip install "dimos @ git+https://github.com/dimensionalOS/dimos.git@jeff/arm_support"
dimos --replay run unitree-go2

Just uses the stop-gap pypi package published at: https://github.com/jeff-hykin/open3d_jetson
Which is just pre-build wheel files for arm based on the open3d repo

@greptile-apps
Copy link

greptile-apps bot commented Feb 10, 2026

Greptile Overview

Greptile Summary

This PR adds ARM (aarch64) Linux support by introducing the open3d-unofficial-arm package alongside the existing open3d dependency. It also includes a temporary workaround in spec.py to fix CI by hardcoding the list of LangChain providers instead of importing them dynamically.

Key changes:

  • Added conditional open3d-unofficial-arm dependency for aarch64 Linux systems
  • Modified platform markers to route ARM systems to the unofficial package
  • Replaced dynamic _SUPPORTED_PROVIDERS import with hardcoded list (temporary fix marked with FIXME)
  • Updated lockfile with ARM-specific wheels

Issues identified:

  • The OR logic in the open3d platform marker (line 55) will cause both packages to be installed on Linux x86_64, which needs to be corrected to use AND logic or negation

Confidence Score: 3/5

  • This PR has a critical logic error in platform markers that will cause installation issues on Linux x86_64
  • The platform marker logic error will cause both open3d and potentially conflicting behavior on non-ARM Linux systems. The spec.py change is a temporary workaround that's appropriately marked with FIXME. Once the marker logic is fixed, this should be safe to merge.
  • Pay close attention to pyproject.toml line 55 and 300 - the platform marker logic needs correction before merge

Important Files Changed

Filename Overview
pyproject.toml Added platform-specific open3d dependencies for ARM support using environment markers, but OR logic may install both packages on Linux x86_64
dimos/agents/spec.py Replaced dynamic _SUPPORTED_PROVIDERS import with hardcoded list as temporary fix for CI, marked with FIXME comment

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

2 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

@greptile-apps
Copy link

greptile-apps bot commented Feb 10, 2026

Additional Comments (1)

uv.lock
bitsandbytes markers removed

This lock change removes the sys_platform != 'darwin' and sys_platform != 'win32' markers for bitsandbytes deps, so the lock now claims packaging/torch (and the numpy pins) unconditionally. Since the only wheel listed here is manylinux...aarch64, resolution/install on macOS/Windows is likely to break or at least become inconsistent with the previous intent. If this PR’s goal is ARM support, the platform markers should remain so non-Linux platforms don’t try to resolve/install bitsandbytes from this entry.

@Kaweees
Copy link
Member

Kaweees commented Feb 12, 2026

@greptile

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

3 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

"opencv-python",
"open3d",
"open3d-unofficial-arm; platform_machine == 'aarch64' and platform_system == 'Linux'",
"open3d>=0.18.0; platform_machine != 'aarch64' or platform_system != 'Linux'",
Copy link

Choose a reason for hiding this comment

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

OR logic will install open3d on Linux x86_64 since platform_system != 'Linux' evaluates to False but platform_machine != 'aarch64' evaluates to True, making the overall condition True.

Suggested change
"open3d>=0.18.0; platform_machine != 'aarch64' or platform_system != 'Linux'",
"open3d>=0.18.0; platform_machine != 'aarch64' or platform_system != 'Linux'",

Should use AND to exclude only Linux aarch64:

Suggested change
"open3d>=0.18.0; platform_machine != 'aarch64' or platform_system != 'Linux'",
"open3d>=0.18.0; not (platform_machine == 'aarch64' and platform_system == 'Linux')",

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