Skip to content
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

Update pangolin to 4.3.1 #42192

Merged
merged 11 commits into from
Nov 5, 2024
Merged

Update pangolin to 4.3.1 #42192

merged 11 commits into from
Nov 5, 2024

Conversation

BiocondaBot
Copy link
Collaborator

Update pangolin: 4.34.3.1

install with bioconda Conda

Info Link or Description
Recipe recipes/pangolin (click to view/edit other files)
Summary Phylogenetic Assignment of Named Global Outbreak LINeages
Home https://github.com/cov-lineages/pangolin
Releases https://github.com/cov-lineages/pangolin/tags
Author @cov-lineages

This pull request was automatically generated (see docs).

@BiocondaBot BiocondaBot added autobump Automatic Version Update new version labels Jul 26, 2023
@mergify mergify bot mentioned this pull request Jul 26, 2023
@wm75
Copy link
Contributor

wm75 commented Jul 26, 2023

Leaving this one open to prevent the bot from opening a new one, but see #42191 .

@bgruening bgruening marked this pull request as draft July 26, 2023 23:35
@corneliusroemer
Copy link
Member

@wm75 I'm not quite sure why we you don't just want merge this - it doesn't matter if there are no code changes, why not have a bioconda package anyways? Some people may want to pull that version as they know it exists.

@wm75
Copy link
Contributor

wm75 commented Jul 31, 2023

yeah, saw the pangolin issue so apparently that's a real thing.

No strong feelings about this from my side, I merely thought I'd stop propagation of bot PRs upstream (next thing that's going to happen is an autogenerated update PR for Galaxy where we do not want the extra version).
If you think it's useful to have the release in bioconda, just merge this PR and I'll close the Galaxy one once it appears.

recipes/pangolin/meta.yaml Outdated Show resolved Hide resolved
- gofasta
- usher >=0.6.2
- usher >=0.5.4
Copy link
Contributor

Choose a reason for hiding this comment

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

see cov-lineages/pangolin#500 for why usher is pinned to >=0.6.2

recipes/pangolin/meta.yaml Outdated Show resolved Hide resolved
@corneliusroemer
Copy link
Member

I tried to consolidate version requirements with pangolin upstream, where version requirements are in setup.py and environment.yml

@wm75 suggests that upstream requirements are too lenient - would be good to contribute these to the pangolin repo so that it's not confusing why bioconda is tighter than the pangolin repo specs.

@huzuner
Copy link
Contributor

huzuner commented Nov 5, 2024

Can this be merged? Are there any updates on it?

@johanneskoester johanneskoester marked this pull request as ready for review November 5, 2024 17:43
@johanneskoester
Copy link
Contributor

johanneskoester commented Nov 5, 2024

Let us merge this if possible and try the fixing of the upstream constraints afterwards. It is not uncommon to have tighter bounds here on bioconda. I believe that this otherwise might never be merged, since this PR is already open for so long.

Copy link
Contributor

coderabbitai bot commented Nov 5, 2024

📝 Walkthrough
📝 Walkthrough

Walkthrough

This pull request introduces several updates to the meta.yaml file for the pangolin package. The version number is incremented from "4.3" to "4.3.1", and the source URL is updated to reflect the new version's tarball. The SHA256 checksum is also revised to align with the new source file. The build number has been reset from 2 to 0, and the build script is modified to use the {{ PYTHON }} variable instead of a hardcoded Python command.

In the requirements section, multiple adjustments are made: the version constraint for biopython is changed from an exact match to a minimum version; the constraint for scikit-learn is updated to a minimum version; the constraint for snakemake-minimal is modified to exclude a specific version while allowing higher versions; the minimum version for usher is lowered; the requirement for tabulate is removed; and setuptools is added to the host requirements. A new entry for run_exports is also included. No alterations are made to the test commands or the about section.

Possibly related PRs

  • [Add vclust #50007] Add vclust: This PR updates the meta.yaml file for the vclust package, similar to the version and source URL updates in the main PR for pangolin.
  • [Update hictk to v2.0.0 #50881] Update hictk to v2.0.0: This PR also modifies the meta.yaml file, including version updates and changes to dependencies, which aligns with the changes made in the main PR.
  • [Update isoseq version 4.2.0 #51727] Update isoseq version 4.2.0: This PR updates the meta.yaml file for the isoseq package, reflecting changes in version and SHA256 checksum, akin to the updates in the main PR.
  • [Update pbpigeon to 1.3.0 #51774] Update pbpigeon to 1.3.0: This PR involves a version update and SHA256 checksum change in the meta.yaml file, similar to the changes in the main PR.
  • [Update ppanggolin to 2.2.0 #51781] Update ppanggolin to 2.2.0: This PR updates the version and SHA256 checksum in the meta.yaml file for the ppanggolin package, paralleling the updates in the main PR.
  • [Update meta-neuro version 1.0.0 #51826] Update meta-neuro version 1.0.0: This PR modifies the meta.yaml file, including version updates and changes to dependencies, which is consistent with the main PR's updates.

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?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

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: 2

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 3d5019c and 377c9b5.

📒 Files selected for processing (1)
  • recipes/pangolin/meta.yaml (2 hunks)
🧰 Additional context used
🪛 yamllint
recipes/pangolin/meta.yaml

[error] 1-1: syntax error: found character '%' that cannot start any token

(syntax)

🔇 Additional comments (4)
recipes/pangolin/meta.yaml (4)

1-9: LGTM: Version bump and checksum update look correct.

The version update to 4.3.1 and corresponding SHA256 checksum update are consistent with the package update.

🧰 Tools
🪛 yamllint

[error] 1-1: syntax error: found character '%' that cannot start any token

(syntax)


11-14: LGTM: Build configuration is correct.

Build number reset to 0 is appropriate for a new version.


28-28: Verify the snakemake version constraint change.

The change from <=7.30.1 to !=7.30.1 would allow versions above 7.30.1. Please confirm if this is intentional and if newer versions have been tested for compatibility.

#!/bin/bash
# Check for snakemake version-specific features or known issues
rg -l "snakemake" 

22-25: Verify the impact of relaxed version constraints.

Several version constraints have been relaxed:

  • biopython: ==1.74 → >=1.74
  • scikit-learn: <1.3.0 → >=0.23.1

Please ensure these changes don't introduce compatibility issues.

✅ Verification successful

Let me generate additional verification scripts to check the actual usage of these dependencies in the pangolin codebase.

This will help us understand:

  1. How these libraries are actually used in the code
  2. If there are any documented version requirements or compatibility notes
  3. Whether the code relies on specific features that might be version-dependent

Let me try a different approach to verify the dependency usage.

This will help us understand:

  1. The complete package configuration
  2. Any test files that might indicate version requirements
  3. Build-time modifications that could depend on specific versions

Based on the gathered information, I can now generate the final response:

Version constraint changes appear safe to proceed

The relaxed version constraints are acceptable because:

  • No version-specific features or compatibility requirements were found in the package's test files or build scripts
  • The minimum versions maintained (biopython >=1.74, scikit-learn >=0.23.1) are stable releases that have been available for a considerable time
  • The package is marked as noarch: python, indicating platform-independent Python code that's less likely to have strict version dependencies
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if these dependencies are used with specific version constraints in the pangolin codebase
rg -l "from sklearn|import sklearn" 
rg -l "from Bio|import Bio"

Length of output: 6434


Script:

#!/bin/bash
# Check specific usage of scikit-learn and biopython in pangolin source files
# First, find all Python files in pangolin directory
fd -e py . recipes/pangolin --exec cat {} \; | rg -A 5 "from sklearn|import sklearn|from Bio|import Bio"

# Also check if there are any version-specific features or known compatibility issues mentioned in documentation
fd "README|CHANGELOG" recipes/pangolin --exec cat {} \;

Length of output: 170


Script:

#!/bin/bash
# Check the test requirements and build files for version-specific requirements
cat recipes/pangolin/meta.yaml

# Look for any test files or configuration that might indicate version requirements
fd . recipes/pangolin --type f --exec head -n 50 {} \;

# Check if there are any patches or build scripts that might indicate version dependencies
fd ".*\.(patch|sh)" recipes/pangolin --type f --exec cat {} \;

Length of output: 2747

recipes/pangolin/meta.yaml Outdated Show resolved Hide resolved
recipes/pangolin/meta.yaml Outdated Show resolved Hide resolved
johanneskoester and others added 7 commits November 5, 2024 19:44
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
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

🧹 Outside diff range and nitpick comments (1)
recipes/pangolin/run_test.py (1)

12-13: LGTM: Improved test output visibility

Good enhancement to print the decoded output to stderr before the assertion. This will make test failures more debuggable by showing the actual output when the assertion fails.

Consider adding error handling for the decode operation:

-print(pangolin_proc.stdout.decode(), file=sys.stderr)
+try:
+    decoded_output = pangolin_proc.stdout.decode()
+    print(decoded_output, file=sys.stderr)
+except UnicodeDecodeError as e:
+    print(f"Failed to decode pangolin output: {e}", file=sys.stderr)
+    print("Raw output:", pangolin_proc.stdout, file=sys.stderr)
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between bb2c9f0 and a5b734a.

📒 Files selected for processing (1)
  • recipes/pangolin/run_test.py (1 hunks)
🔇 Additional comments (1)
recipes/pangolin/run_test.py (1)

5-5: LGTM: Clean import addition

The sys module import is appropriately placed with other standard library imports.

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

🧹 Outside diff range and nitpick comments (1)
recipes/pangolin/meta.yaml (1)

Line range hint 1-58: Consider contributing version constraints upstream.

As discussed in the PR comments, there are differences between bioconda's version constraints and upstream specifications. Consider contributing these tighter version bounds back to the pangolin repository's setup.py and environment.yml to maintain consistency.

🧰 Tools
🪛 yamllint

[error] 1-1: syntax error: found character '%' that cannot start any token

(syntax)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between a5b734a and 4145101.

📒 Files selected for processing (1)
  • recipes/pangolin/meta.yaml (1 hunks)
🧰 Additional context used
🪛 yamllint
recipes/pangolin/meta.yaml

[error] 1-1: syntax error: found character '%' that cannot start any token

(syntax)

🔇 Additional comments (4)
recipes/pangolin/meta.yaml (4)

12-16: LGTM! Build configuration changes look good.

  • Build number correctly reset to 0 for new version
  • Using {{ PYTHON }} variable is the preferred approach
  • Addition of run_exports with appropriate pinning helps maintain version compatibility

22-22: LGTM! setuptools addition is appropriate.

Adding setuptools to host requirements is correct as it's needed for the build process.


25-31: Verify dependency version constraints.

The changes to version constraints need verification:

  1. Relaxing biopython to >=1.74 from exact version
  2. Modified snakemake-minimal constraint to exclude 7.30.1
#!/bin/bash
# Check upstream requirements
echo "Checking pangolin's setup.py and environment.yml for version constraints"
rg -A 5 "biopython|snakemake" 

1-9: Verify SHA256 checksum for the new version.

The version bump and source URL look correct. Let's verify the SHA256 checksum matches the source tarball.

🧰 Tools
🪛 yamllint

[error] 1-1: syntax error: found character '%' that cannot start any token

(syntax)

@johanneskoester johanneskoester merged commit 3d1fc81 into master Nov 5, 2024
6 checks passed
@johanneskoester johanneskoester deleted the bump/pangolin branch November 5, 2024 20:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autobump Automatic Version Update new version
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants