[Tiny] Add primary/main/core/std (whatever you want to call it) extras group for tutorial#978
[Tiny] Add primary/main/core/std (whatever you want to call it) extras group for tutorial#978spomichter merged 11 commits intodevfrom
Conversation
Greptile OverviewGreptile SummaryThis PR introduces a new Key ChangesDependency Management:
Bug Fixes:
Code Hygiene:
Architecture ImpactThe Confidence Score: 4/5
Important Files ChangedFile Analysis
Sequence DiagramsequenceDiagram
participant User
participant PyProject as pyproject.toml
participant MujocoConn as MujocoConnection
participant Image as Image.from_numpy
participant MujocoPlayground as mujoco_playground
Note over User,PyProject: Dependency Management Changes
User->>PyProject: Install dimos
PyProject-->>User: Now includes rerun-sdk in base dependencies
Note over User,PyProject: New 'main' extras group
User->>PyProject: Install dimos[main]
PyProject-->>User: Installs agents, web, perception, visualization
User->>PyProject: Install dimos[unitree]
PyProject-->>User: Now uses dimos[main] (cleaner dependency chain)
Note over MujocoConn,MujocoPlayground: MuJoCo Initialization
MujocoConn->>MujocoPlayground: Import mujoco_playground._src.mjx_env
MujocoPlayground->>MujocoPlayground: ensure_menagerie_exists()
Note right of MujocoPlayground: Prevents timeout in subprocess
Note over MujocoConn,Image: Video Frame Handling
MujocoConn->>MujocoConn: get_video_frame()
MujocoConn->>Image: from_numpy(frame, format=ImageFormat.RGB)
Note right of Image: Explicitly specifies RGB format<br/>MuJoCo returns RGB, not BGR
Image-->>MujocoConn: Correctly formatted Image
|
pyproject.toml
Outdated
| ] | ||
|
|
||
| main = [ | ||
| "dimos[agents,web,perception,visualization]", |
There was a problem hiding this comment.
Redundant. You just added rerun to base dependencies so why would you also import visualization. and why is visualization extra even there
There was a problem hiding this comment.
presumably rerun is going to be taken out of the required depnendcies soon (when that happens this change will be necessary). Also if someone adds something extra to visualization they might not know to add visulization here.
e.g. this line is just "if visulization has any deps, install them with 'base'"
pyproject.toml
Outdated
| ] | ||
|
|
||
| main = [ | ||
| "dimos[agents,web,perception,visualization]", |
@spomichter
coreis aready used bydimos.coreand these main/std/whatever deps are completely different than the deps that are required fromdimos.core(which only needslcmin principle), I would guess that lesh has some objections to this group being named "core"Other than "not core" I don't care what the name is, but it probably will be locked in for a very long time
other changes:
dimos.corepython code needs to be edited to make rerun truly optional. Right now absolutely nothing can run with dimos without rerun installed (even if its never used)