Skip to content

Conversation

@mschilli87
Copy link
Collaborator

PR Checklist

  • Referenced issue is linked
  • If you've fixed a bug or added code that should be tested, add tests!
  • Documentation in docs is updated

Description of changes

The da_nhoods function of pertpy's milo implementation defaults to solver=edger which in turn requires rpy2 (and the edgeR R package) as a dependency not listed so far in pyproject.toml.

Technical details

This commit addresses this by adding the [milo] target with that optional dependency.

Additional context

fixes issue #873

The `da_nhoods` function of `pertpy`'s `milo` implementation defaults to
`solver=edger` which in turn requires `rpy2` (and the `edgeR` R package)
as a dependency not listed so far in `pyproject.toml`.

This commit addresses this by adding the `[milo]` target with that
optional dependency.

---
fixes issue #873
@codecov-commenter
Copy link

codecov-commenter commented Nov 3, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 72.01%. Comparing base (12897e1) to head (2656296).
⚠️ Report is 12 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #874      +/-   ##
==========================================
- Coverage   73.54%   72.01%   -1.54%     
==========================================
  Files          48       48              
  Lines        5613     5613              
==========================================
- Hits         4128     4042      -86     
- Misses       1485     1571      +86     
Files with missing lines Coverage Δ
pertpy/tools/_milo.py 63.39% <ø> (-17.27%) ⬇️

... and 6 files with indirect coverage changes

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

@Zethson
Copy link
Member

Zethson commented Nov 9, 2025

I'll have a look at this next week, sorry.

@mschilli87
Copy link
Collaborator Author

No worries. This is hardly a priority. 😉

@Zethson
Copy link
Member

Zethson commented Dec 2, 2025

Eieiei this PR is still open. I'll finalize and merge this in about 10 days. Sorry!

@mschilli87
Copy link
Collaborator Author

Like I said: No rush. This is more to make it easier for people new to pertpy that install via pip/conda and then try running the milo example.

Signed-off-by: Lukas Heumos <lukas.heumos@posteo.net>
@Zethson
Copy link
Member

Zethson commented Dec 5, 2025

8bc7e4e

like this or?

@mschilli87
Copy link
Collaborator Author

LGTM but two test are failing. The first one looks like an unrelated network/upstream related issue. The second one concerns milo. Maybe an API change?

@Zethson
Copy link
Member

Zethson commented Dec 5, 2025

I'm looking into it. I changed the default from pydeseq2 but we're passing 'edger' explicitly as solver there. I'll figure it out and merge then.

Signed-off-by: Lukas Heumos <lukas.heumos@posteo.net>
@Zethson Zethson merged commit 543b37c into scverse:main Dec 5, 2025
18 checks passed
@Zethson Zethson changed the title add (optional) rpy2 dependency for milo add milo-edger extra Dec 5, 2025
@mschilli87 mschilli87 deleted the issue873 branch December 15, 2025 08:15
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.

3 participants