Skip to content

Fix flatdict version pin to allow 4.1.0+ (main)#5182

Merged
AntoineRichard merged 2 commits into
mainfrom
fix/flatdict-version-main
Apr 8, 2026
Merged

Fix flatdict version pin to allow 4.1.0+ (main)#5182
AntoineRichard merged 2 commits into
mainfrom
fix/flatdict-version-main

Conversation

@kellyguo11

Copy link
Copy Markdown
Contributor

Description

Relaxes the flatdict version pin from ==4.0.0 to >=4.0.0 in source/isaaclab/setup.py.

Motivation

flatdict==4.0.0 (and 4.0.1) are source distributions (.tar.gz) that require pkg_resources during the build step. On modern Python (3.10+) with newer pip/setuptools, the build isolation environment often lacks pkg_resources, causing installation to fail with:

ModuleNotFoundError: No module named 'pkg_resources'
ERROR: Failed to build 'flatdict' when getting requirements to build wheel

flatdict 4.1.0 ships as a pre-built wheel (.whl) and installs cleanly without any build step.

Changes

  • source/isaaclab/setup.py: Changed flatdict==4.0.0flatdict>=4.0.0

Verification

The FlatDict API used in isaaclab (FlatDict(dict, delimiter='.') in simulation_context.py and test_simulation_render_config.py) is fully compatible across 4.0.0 → 4.1.0. Tested both the constructor and nested dict flattening.

Fixes #4576

flatdict==4.0.0 (and 4.0.1) are source distributions that require
pkg_resources during the build step. On modern Python (3.10+) with
newer pip/setuptools, the build isolation environment often lacks
pkg_resources, causing installation to fail with:

  ModuleNotFoundError: No module named 'pkg_resources'

flatdict 4.1.0 ships as a wheel and installs without build issues.
The FlatDict API used in isaaclab (FlatDict constructor with delimiter)
is fully compatible across 4.0.0 → 4.1.0.

Fixes #4576
@github-actions github-actions Bot added bug Something isn't working isaac-lab Related to Isaac Lab team labels Apr 6, 2026
@greptile-apps

greptile-apps Bot commented Apr 6, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR relaxes the flatdict version pin from ==4.0.0 to >=4.0.0 to unblock installations on modern Python 3.10+ where the source distributions for 4.0.0/4.0.1 fail to build due to a missing pkg_resources dependency. The change is safe — the only flatdict API used in the codebase (FlatDict(dict, delimiter='.') in simulation_context.py) is stable across all affected versions.

Confidence Score: 5/5

Safe to merge — single-line dependency relaxation with a valid motivation and no breaking API impact.

The only finding is a minor P2 suggestion to tighten the lower bound to >=4.1.0 for precision. All P2 findings, and this does not block merging.

No files require special attention.

Important Files Changed

Filename Overview
source/isaaclab/setup.py Relaxes flatdict pin from ==4.0.0 to >=4.0.0 to allow the pre-built wheel (4.1.0+) that avoids pkg_resources build failures on modern Python

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[pip install isaaclab] --> B{Resolve flatdict}
    B -->|old pin ==4.0.0| C[flatdict 4.0.0\nsource dist .tar.gz]
    B -->|new pin >=4.0.0\npip picks latest| D[flatdict 4.1.0+\npre-built wheel .whl]
    C --> E[Build step required]
    E --> F[pkg_resources missing]
    F --> G[ModuleNotFoundError\nInstallation fails]
    D --> H[No build step needed]
    H --> I[Installs cleanly]
Loading

Reviews (1): Last reviewed commit: "fix: relax flatdict version pin to >=4.0..." | Re-trigger Greptile

Comment thread source/isaaclab/setup.py Outdated
@github-actions

github-actions Bot commented Apr 7, 2026

Copy link
Copy Markdown

Test Results Summary

3 690 tests   3 162 ✅  2h 35m 6s ⏱️
  119 suites    528 💤
    1 files        0 ❌

Results for commit 1eeb2a8.

♻️ This comment has been updated with latest results.

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Signed-off-by: Antoine RICHARD <antoiner@nvidia.com>
@AntoineRichard AntoineRichard merged commit 8cf5f19 into main Apr 8, 2026
11 checks passed
@AntoineRichard AntoineRichard deleted the fix/flatdict-version-main branch April 8, 2026 09:01
kellyguo11 added a commit that referenced this pull request May 28, 2026
# Description

Merge changes from main branch:

- #4875 - Adds Isaac-Stack-Cube-Franka-IK-Rel-v0 task variants
- #4909 - Updates minor RSL-RL configclass docstring
- #4934 - Updates Newton docs on main for 3.0 beta changes
- #5182 - Fix flatdict version pin to allow 4.1.0+
- #5195 - Add NCCL troubleshooting notes
- #5406 - Updates doc building job on main to match develop
- #5311 - Update skrl integration for version 2.0.0
- #5482 - Adds nightly-changelog.yml on main
- #5527 - Use isaaclab-bot GitHub App token for nightly changelog push
- #5537 - Address deprecation warnings in nightly changelog workflow
- #5746 - Fix .dockerignore for _isaac_sim symlink
- #5745 - Parameterize nightly compile over configurable branches
- #5546 - Fix swapped preserve_order docstrings
- #5817 - Update skrl agent configurations in the Isaac Lab template
kellyguo11 added a commit to kellyguo11/IsaacLab-public that referenced this pull request May 28, 2026
# Description

Merge changes from main branch:

- isaac-sim#4875 - Adds Isaac-Stack-Cube-Franka-IK-Rel-v0 task variants
- isaac-sim#4909 - Updates minor RSL-RL configclass docstring
- isaac-sim#4934 - Updates Newton docs on main for 3.0 beta changes
- isaac-sim#5182 - Fix flatdict version pin to allow 4.1.0+
- isaac-sim#5195 - Add NCCL troubleshooting notes
- isaac-sim#5406 - Updates doc building job on main to match develop
- isaac-sim#5311 - Update skrl integration for version 2.0.0
- isaac-sim#5482 - Adds nightly-changelog.yml on main
- isaac-sim#5527 - Use isaaclab-bot GitHub App token for nightly changelog push
- isaac-sim#5537 - Address deprecation warnings in nightly changelog workflow
- isaac-sim#5746 - Fix .dockerignore for _isaac_sim symlink
- isaac-sim#5745 - Parameterize nightly compile over configurable branches
- isaac-sim#5546 - Fix swapped preserve_order docstrings
- isaac-sim#5817 - Update skrl agent configurations in the Isaac Lab template
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug Report] ModuleNotFoundError: No module named 'isaaclab'

2 participants