Skip to content

Remove sim from base install#1878

Open
Dreamsorcerer wants to merge 1 commit intodevfrom
sam/remove-sim
Open

Remove sim from base install#1878
Dreamsorcerer wants to merge 1 commit intodevfrom
sam/remove-sim

Conversation

@Dreamsorcerer
Copy link
Copy Markdown
Collaborator

Problem

If users just want to run pre-made software on robots, they do need the sim. This costs around 550MB to download.

Solution

Remove sim from base install.

Breaking Changes

Users wanting the sim will need to use dimos[sim] now.

@Dreamsorcerer Dreamsorcerer changed the base branch from main to dev April 17, 2026 15:34
@Dreamsorcerer Dreamsorcerer marked this pull request as ready for review April 17, 2026 15:54
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Apr 17, 2026

Greptile Summary

This PR removes mujoco, playground, and pygame (≈550 MB) from the base optional-dependency group so that users who only want to run software on physical robots don't pay the sim download cost. The sim extra already exists and remains unchanged; users who want simulation must now install dimos[sim] explicitly.

  • docs/requirements.md line 53 still describes base as including sim — the description table should be updated to reflect the new composition.

Confidence Score: 5/5

Safe to merge — the only remaining finding is a one-line stale description in the docs table, which does not affect runtime behaviour.

The change is minimal (one line removed from base, lockfile regenerated) and straightforward. The sim extra is preserved and working; existing install commands like dimos[base,unitree,sim] in the README and platform docs are already correct. The single P2 finding (stale docs table row) is cosmetic and doesn't block merge.

docs/requirements.md line 53 — the base row still lists sim

Important Files Changed

Filename Overview
pyproject.toml Removes sim from the base optional-dependency group, making MuJoCo simulation deps (mujoco, playground, pygame) opt-in via dimos[sim]
uv.lock Lockfile updated to reflect the removal of sim packages from the base resolution; sim packages remain present under the sim extra

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["pip install dimos"] --> B["core deps\n(lcm, numpy, opencv, rerun, ...)"]
    C["dimos[base]"] --> D["agents + web + perception + visualization"]
    D -.->|"before this PR"| E["sim\n(mujoco, playground, pygame)"]
    D --x|"after this PR"| E
    F["dimos[sim]"] --> E
    G["dimos[base,unitree,sim]"] --> D
    G --> E
    G --> H["unitree-webrtc-connect"]
Loading

Comments Outside Diff (1)

  1. docs/requirements.md, line 53 (link)

    P2 Stale base description in docs

    The table entry still says base is "Kitchen sink (agents + web + perception + viz + sim)" but sim was removed from base by this PR. Users reading the docs table will get a misleading picture of what dimos[base] installs.

Reviews (1): Last reviewed commit: "Remove sim from base" | Re-trigger Greptile

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.

1 participant