-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Liana+ to biocodna #51736
Add Liana+ to biocodna #51736
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Outside diff range and nitpick comments (1)
recipes/liana/meta.yaml (1)
18-18
: Remove trailing whitespace.Line 18 contains trailing spaces.
- +🧰 Tools
🪛 yamllint
[error] 18-18: trailing spaces
(trailing-spaces)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
- recipes/liana/meta.yaml (1 hunks)
🧰 Additional context used
🪛 yamllint
recipes/liana/meta.yaml
[error] 18-18: trailing spaces
(trailing-spaces)
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
🔇 Additional comments (6)
recipes/liana/meta.yaml (6)
1-6
: LGTM! Package metadata is well-structured.The package name and version are properly defined using Jinja2 variables, following Conda packaging best practices.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
12-17
: LGTM! Build configuration follows best practices.The build settings are well-configured:
- Correctly marked as architecture-independent
- Uses run_exports for dependency version locking as recommended
- Appropriate use of --no-deps and --no-build-isolation
62-64
: LGTM! Maintainer information is correct.The maintainer information matches the PR submitter and follows the expected format.
19-46
:⚠️ Potential issueReview dependency specifications.
A few concerns with the requirements:
pre-commit
appears in bothrun
andrun_constrained
sections with the same version constraintcorneto 0.9.1-alpha.5
is an alpha version, which might be unstable#!/bin/bash # Description: Check if pre-commit is commonly duplicated in other recipes # Expected: Should find few or no other recipes with duplicate pre-commit entries rg -l 'pre-commit' recipes/*/meta.yaml | while read -r file; do echo "=== $file ===" grep -A 20 'requirements:' "$file" | grep -B 20 'test:' | grep 'pre-commit' doneConsider these fixes:
- Remove the duplicate
pre-commit
entry from eitherrun
orrun_constrained
- Consider waiting for a stable release of
corneto
or document the risks of using an alpha version
56-60
: Verify license file existence.The about section looks good, but let's verify the LICENSE file exists in the source distribution.
8-10
: Verify the source tarball integrity.The URL structure is correct for PyPI packages. Let's verify the SHA256 checksum.
Co-authored-by: Björn Grüning <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Outside diff range and nitpick comments (1)
recipes/liana/meta.yaml (1)
18-18
: Remove trailing spaces.Line 18 contains trailing whitespace.
- +🧰 Tools
🪛 yamllint
[error] 18-18: trailing spaces
(trailing-spaces)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
- recipes/liana/meta.yaml (1 hunks)
🧰 Additional context used
🪛 yamllint
recipes/liana/meta.yaml
[error] 18-18: trailing spaces
(trailing-spaces)
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
🔇 Additional comments (6)
recipes/liana/meta.yaml (6)
1-6
: LGTM! Package metadata is well-structured.The package name and version are properly defined using Jinja2 variables, following Conda packaging best practices.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
12-17
: LGTM! Build configuration follows best practices.The build settings are well-configured:
- Correctly marked as platform-independent
- Includes run_exports for proper version pinning
- Uses appropriate pip installation flags
48-54
: Enhance test coverage as previously suggested.The previous review comment about adding version check and basic functionality test is still valid.
56-64
: LGTM! Package metadata is complete.The about section provides all necessary information including homepage, summary, and license details. The maintainer information is properly specified.
34-46
: Review version constraints in run_constrained section.Several dependencies use '*' as version specifier (cell2cell, muon, mofax), which might lead to compatibility issues. Consider adding version constraints based on known working versions.
#!/bin/bash # Description: Check if these packages have stable versions that could be used rg -A 5 "cell2cell|muon|mofax" --type yaml # Look for usage patterns in other recipes
8-10
: Verify PyPI package integrity.The source URL and checksum format are correct, but let's verify the SHA256 checksum matches the PyPI package.
@BiocondaBot please fetch artifacts |
Package(s) built are ready for inspection:
|
There was a problem hiding this 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
🧹 Outside diff range and nitpick comments (1)
recipes/liana/meta.yaml (1)
18-18
: Remove trailing whitespace.Line 18 contains trailing spaces.
- +🧰 Tools
🪛 yamllint
[error] 18-18: trailing spaces
(trailing-spaces)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
- recipes/liana/meta.yaml (1 hunks)
🧰 Additional context used
🪛 yamllint
recipes/liana/meta.yaml
[error] 18-18: trailing spaces
(trailing-spaces)
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
🔇 Additional comments (6)
recipes/liana/meta.yaml (6)
1-6
: LGTM! Package metadata is well-structured.The package name and version are correctly defined using Jinja2 templating.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
12-17
: LGTM! Build configuration follows best practices.The build configuration correctly specifies:
- Platform independence with
noarch: python
- Proper pip installation command
- Dependency pinning with
run_exports
54-58
: LGTM! Package information is complete.All required metadata fields are present and properly formatted.
60-62
: LGTM! Maintainer information is correctly specified.
8-10
: Verify package source integrity.The source URL and checksum need verification.
#!/bin/bash # Description: Verify the package URL and checksum # Test: Check if the URL is accessible and the checksum matches curl -sI "https://pypi.org/packages/source/l/liana/liana-1.4.0.tar.gz" | head -n 1 curl -sL "https://pypi.org/packages/source/l/liana/liana-1.4.0.tar.gz" | sha256sum
37-39
: 🛠️ Refactor suggestionConsider pinning dependency versions.
Using wildcards (*) for dependencies
cell2cell
,muon
, andmofax
may lead to reproducibility issues. Consider specifying version constraints.
📝 Walkthrough📝 Walkthrough📝 WalkthroughWalkthroughThe pull request introduces a new Possibly related PRs
Suggested labels
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this 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
🧹 Outside diff range and nitpick comments (1)
recipes/liana/meta.yaml (1)
18-18
: Remove trailing whitespace.
There's unnecessary trailing whitespace on this line.
-
+
🧰 Tools
🪛 yamllint
[error] 18-18: trailing spaces
(trailing-spaces)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
- recipes/liana/meta.yaml (1 hunks)
🧰 Additional context used
🪛 yamllint
recipes/liana/meta.yaml
[error] 18-18: trailing spaces
(trailing-spaces)
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
🔇 Additional comments (4)
recipes/liana/meta.yaml (4)
1-10
: LGTM! Package metadata and source configuration look good.
The package version, name, and source URL are correctly configured following PyPI's standard format.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
12-17
: LGTM! Build configuration follows best practices.
The build configuration correctly:
- Uses noarch for Python packages
- Implements run_exports for dependency management
- Sets appropriate version pinning strategy
54-62
: LGTM! Package metadata is complete and well-formatted.
The about section includes all required fields and follows Conda packaging guidelines:
- Valid homepage URL
- Clear package summary
- Proper license specification with license file reference
- Maintainer information is correctly set
19-44
: Verify dependency compatibility.
The dependencies look comprehensive, but let's verify the version constraints are compatible with the latest releases.
There was a problem hiding this 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
🧹 Outside diff range and nitpick comments (1)
recipes/liana/meta.yaml (1)
18-18
: Remove trailing whitespace.
-
+
🧰 Tools
🪛 yamllint
[error] 18-18: trailing spaces
(trailing-spaces)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
- recipes/liana/meta.yaml (1 hunks)
🧰 Additional context used
🪛 yamllint
recipes/liana/meta.yaml
[error] 18-18: trailing spaces
(trailing-spaces)
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
🔇 Additional comments (7)
recipes/liana/meta.yaml (7)
1-6
: LGTM! Package metadata follows best practices.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
8-10
: LGTM! Source configuration is properly defined.
12-17
: LGTM! Build configuration is well structured.
The use of run_exports
with proper version pinning will help maintain compatibility with downstream recipes.
19-44
: LGTM! Dependencies are well defined with appropriate version constraints.
46-52
: Consider enhancing test coverage as previously suggested.
54-58
: LGTM! Package metadata is complete and follows standards.
60-62
: LGTM! Maintainer information is properly configured.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Outside diff range and nitpick comments (1)
recipes/liana/meta.yaml (1)
12-18
: Fix trailing whitespace on line 18.
The build configuration is correct, but there's a trailing whitespace that should be removed.
run_exports:
- {{ pin_subpackage("liana", max_pin="x.x.x") }}
-
+
🧰 Tools
🪛 yamllint
[error] 18-18: trailing spaces
(trailing-spaces)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
- recipes/liana/meta.yaml (1 hunks)
🧰 Additional context used
🪛 yamllint
recipes/liana/meta.yaml
[error] 18-18: trailing spaces
(trailing-spaces)
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
🔇 Additional comments (5)
recipes/liana/meta.yaml (5)
1-6
: LGTM! Package metadata is well-structured.
The package name and version are properly templated using Jinja2, following Conda packaging best practices.
🧰 Tools
🪛 yamllint
[error] 1-1: syntax error: found character '%' that cannot start any token
(syntax)
46-52
: LGTM with previous test coverage suggestions.
The basic test configuration is valid, though consider implementing the previously suggested enhancements.
54-58
: LGTM! About section is complete and accurate.
All required fields are present and properly formatted.
60-62
: LGTM! Maintainer information is properly specified.
8-10
: Verify package source availability.
The URL and checksum look correct, but let's verify the package's availability.
recipes/liana/meta.yaml
Outdated
host: | ||
- python >=3.8 | ||
- poetry-core >=1.0.0 | ||
- pip | ||
run: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add Python version upper bound in host requirements.
The host section should match the Python version constraints from the run section.
host:
- - python >=3.8
+ - python >=3.8,<3.12
- poetry-core >=1.0.0
- pip
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
host: | |
- python >=3.8 | |
- poetry-core >=1.0.0 | |
- pip | |
run: | |
host: | |
- python >=3.8,<3.12 | |
- poetry-core >=1.0.0 | |
- pip | |
run: |
recipes/liana/meta.yaml
Outdated
- python >=3.8 | ||
- anndata >=0.7.4 | ||
- mudata | ||
- scanpy >=1.8.0 | ||
- numba >=0.54.0 | ||
- plotnine >=0.10.0 | ||
- tqdm >=4.0.0,<5.0.0 | ||
- docrep >=0.3.1 | ||
- pre-commit >=3.0.0 | ||
- omnipath >=1.0.6 | ||
- decoupler >=1.4.0 | ||
- pydeseq2 >=0.3.5 | ||
- cell2cell | ||
- muon | ||
- mofax | ||
- mofapy2 >=0.7.0 | ||
- corneto | ||
- cvxpy >=1.4,<2 | ||
- cylp | ||
- requests >=2.25.1,<3.0.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codebase verification
Based on the PyPI version information gathered, I can now generate the final response:
Add version constraints for dependencies to ensure compatibility
Add the following version constraints based on current stable releases:
- mudata >=0.3.1
- cell2cell >=0.7.4
- muon >=0.1.6
- mofax >=0.3.7
- corneto >=1.0.0a0
This ensures reproducible builds while allowing for compatible updates. Note that corneto is still in alpha, so you may want to pin its exact version to avoid potential breaking changes.
🔗 Analysis chain
Consider adding version constraints for dependencies.
Several dependencies lack version constraints which could lead to compatibility issues:
- mudata
- cell2cell
- muon
- mofax
- corneto
Consider adding version constraints to ensure reproducible builds.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check latest versions of dependencies without constraints
for pkg in mudata cell2cell muon mofax corneto; do
echo "Checking $pkg..."
curl -s https://pypi.org/pypi/$pkg/json | jq -r '.info.version'
done
Length of output: 844
@bgruening Thanks a lot for your help! |
This PR adds Liana+ tool to bioconda
Please read the guidelines for Bioconda recipes before opening a pull request (PR).
General instructions
@BiocondaBot please add label
command.@bioconda/core
in a comment.Instructions for avoiding API, ABI, and CLI breakage issues
Conda is able to record and lock (a.k.a. pin) dependency versions used at build time of other recipes.
This way, one can avoid that expectations of a downstream recipe with regards to API, ABI, or CLI are violated by later changes in the recipe.
If not already present in the meta.yaml, make sure to specify
run_exports
(see here for the rationale and comprehensive explanation).Add a
run_exports
section like this:with
...
being one of:{{ pin_subpackage("myrecipe", max_pin="x") }}
{{ pin_subpackage("myrecipe", max_pin="x.x") }}
{{ pin_subpackage("myrecipe", max_pin="x.x") }}
(in such a case, please add a note that shortly mentions your evidence for that){{ pin_subpackage("myrecipe", max_pin="x.x.x") }}
(in such a case, please add a note that shortly mentions your evidence for that){{ pin_subpackage("myrecipe", max_pin=None) }}
while replacing
"myrecipe"
with eithername
if aname|lower
variable is defined in your recipe or with the lowercase name of the package in quotes.Bot commands for PR management
Please use the following BiocondaBot commands:
Everyone has access to the following BiocondaBot commands, which can be given in a comment:
@BiocondaBot please update
@BiocondaBot please add label
please review & merge
label.@BiocondaBot please fetch artifacts
You can use this to test packages locally.
Note that the
@BiocondaBot please merge
command is now depreciated. Please just squash and merge instead.Also, the bot watches for comments from non-members that include
@bioconda/<team>
and will automatically re-post them to notify the addressed<team>
.