Skip to content

Fix load_example_data for non-editable installs by bundling datasets/ into the wheel - #467

Merged
Zethson merged 1 commit into
mainfrom
fix-datasets-path-in-wheel
Sep 7, 2026
Merged

Zethson merged 1 commit into
mainfrom
fix-datasets-path-in-wheel

Conversation

@Zethson

@Zethson Zethson commented Sep 7, 2026 •

Copy link
Copy Markdown
Member

Closes #464, closes #465, closes #466. load_example_data() located the bundled example data via Path(pydeseq2.__file__).parents[2], which only resolves to the repo root for an editable, src-layout checkout — a normally installed (non-editable) wheel has no such parent, which is why the scverse integration-testing CI hit FileNotFoundError. Now datasets/ is force-included into the wheel next to the package, and load_example_data() prefers that package-adjacent copy, falling back to the repo-root-relative path for editable checkouts.

@codecov-commenter

codecov-commenter commented Sep 7, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.05%. Comparing base (b99742e) to head (f9ebb78).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #467      +/-   ##
==========================================
+ Coverage   85.87%   86.05%   +0.17%     
==========================================
  Files          15       15              
  Lines        1274     1276       +2     
==========================================
+ Hits         1094     1098       +4     
+ Misses        180      178       -2     
Files with missing lines Coverage Δ
src/pydeseq2/datasets.py 88.88% <100.00%> (+0.88%) ⬆️

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

…itable installs

load_example_data() located the bundled example data via
Path(pydeseq2.__file__).parents[2], which only resolves to the repo root for
an editable, src-layout checkout. A regularly installed (non-editable) wheel
has no such parent directory, so the scverse integration-testing CI, which
installs PyDESeq2 as a normal dependency, hit a FileNotFoundError (#464-466).

Now the datasets/ directory is force-included into the wheel next to the
package, and load_example_data() prefers that package-adjacent copy, falling
back to the repo-root-relative path for editable checkouts.
@Zethson
Zethson force-pushed the fix-datasets-path-in-wheel branch from e81c3d5 to f9ebb78 Compare September 7, 2026 15:40
@Zethson
Zethson merged commit 95ace12 into main Sep 7, 2026
7 checks passed
@Zethson
Zethson deleted the fix-datasets-path-in-wheel branch September 7, 2026 15:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants