Skip to content

Conversation

@strixy16
Copy link
Collaborator

@strixy16 strixy16 commented Nov 6, 2025

Summary by CodeRabbit

  • Chores
    • Updated radiomics package dependency source to use the official upstream repository, ensuring access to the latest package updates.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 6, 2025

Walkthrough

The PR modifies pyproject.toml to switch the pyradiomics dependency source from the packaged pyradiomics-bhklab version to the original repository via git source, configured under Pixi's dependency management system. The pandas dependency spacing is adjusted with no functional change.

Changes

Cohort / File(s) Summary
Dependency Configuration Update
pyproject.toml
Commented out pyradiomics-bhklab>=3.1.4,<4 from [project] dependencies and added pyradiomics = { git = "https://github.com/AIM-Harvard/pyradiomics.git" } under [tool.pixi.pypi-dependencies]. Adjusted spacing around pandas dependency.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

  • Single file modified with straightforward dependency configuration changes
  • Clear swap between two dependency sources with no complex logic

Possibly related PRs

  • feat: Use Pixi, pyradiomics fork #40: Directly related—modifies the same pyradiomics dependency declaration by commenting out pyradiomics-bhklab and adding a git-based pyradiomics entry under Pixi dependencies.

Poem

🐰 The dependency tree did shift and sway,
From packaged fork to source code's way,
Git branches now our guide shall be,
A hopping change, pure and free! 🌿

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and concisely describes the main change: replacing the bhklab-forked pyradiomics dependency with the main pyradiomics package installed from GitHub.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch try-git-radiomics-install

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
pyproject.toml (2)

14-14: Remove or document the commented-out dependency.

Leaving the old dependency commented out is ambiguous—it's unclear whether this is temporary, a fallback reference, or an oversight. Either remove the line completely or add a comment explaining why it's retained (e.g., "# Replaced by git dependency on line 45").

-  # "pyradiomics-bhklab>=3.1.4,<4",

45-45: Specify a git revision to ensure reproducible builds.

The git dependency lacks a rev, branch, or tag, so it will always fetch from the default branch (likely main). This creates non-reproducible builds: different users or CI runs at different times could install different versions.

Pixi supports specifying rev, branch, or tag for git dependencies, so consider pinning to a specific revision:

-pyradiomics = { git = "https://github.com/AIM-Harvard/pyradiomics.git" }
+pyradiomics = { git = "https://github.com/AIM-Harvard/pyradiomics.git", rev = "main" }

Or replace rev = "main" with a specific tag (e.g., tag = "v3.1.0") or commit hash to pin the exact version.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d7fe02e and 3ad929f.

⛔ Files ignored due to path filters (1)
  • pixi.lock is excluded by !**/*.lock
📒 Files selected for processing (1)
  • pyproject.toml (2 hunks)
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2024-12-13T15:12:37.077Z
Learnt from: jjjermiah
Repo: bhklab/readii PR: 83
File: src/readii/io/loaders/images.py:4-6
Timestamp: 2024-12-13T15:12:37.077Z
Learning: The project requires Python 3.10+.

Applied to files:

  • pyproject.toml
📚 Learning: 2024-12-11T21:53:05.073Z
Learnt from: jjjermiah
Repo: bhklab/readii PR: 74
File: src/readii/negative_controls_refactor/abstract_classes.py:113-119
Timestamp: 2024-12-11T21:53:05.073Z
Learning: The 'readii' project only supports Python 3.10 and above.

Applied to files:

  • pyproject.toml
📚 Learning: 2024-12-13T16:20:45.016Z
Learnt from: jjjermiah
Repo: bhklab/readii PR: 84
File: src/readii/io/utils/pattern_resolver.py:5-6
Timestamp: 2024-12-13T16:20:45.016Z
Learning: Dependencies on `med-imagetools` in `readii` are acceptable, as the package is intended to work off of `med-imagetools`.

Applied to files:

  • pyproject.toml
🔇 Additional comments (1)
pyproject.toml (1)

43-45: Verify that pyradiomics will be installed for standard pip-based setups.

The new dependency is only declared in [tool.pixi.pypi-dependencies], not in [project.dependencies. This means standard pip install readii installations may not resolve pyradiomics. If Pixi is the primary (or only) package manager for this project, this is fine. Otherwise, consider whether pyradiomics should also be added to [project.dependencies] (or whether the git URL should be specified using a PEP 508 direct reference in the standard dependencies section).

Verification checklist:

  • Is this project distributed and installed exclusively via Pixi, or do users also use pip?
  • Should pyradiomics be added to [project.dependencies] as a fallback for pip-based installs?
  • Can you confirm that the main pyradiomics repository (AIM-Harvard fork) maintains API compatibility with the previous bhklab fork?

@codecov
Copy link

codecov bot commented Nov 6, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 75.74%. Comparing base (69a3993) to head (3ad929f).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #138   +/-   ##
=======================================
  Coverage   75.74%   75.74%           
=======================================
  Files          41       41           
  Lines        2020     2020           
=======================================
  Hits         1530     1530           
  Misses        490      490           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

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

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.

2 participants