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 yacht to 1.3.0 #51918

Closed
wants to merge 15 commits into from
Closed

Update yacht to 1.3.0 #51918

wants to merge 15 commits into from

Conversation

BiocondaBot
Copy link
Collaborator

Update yacht: 1.2.31.3.0

install with bioconda Conda

Info Link or Description
Recipe recipes/yacht (click to view/edit other files)
Summary YACHT is a mathematically rigorous hypothesis test for the presence or absence of organisms in a metagenomic sample, based on average nucleotide identity (ANI).
Home https://github.com/KoslickiLab/YACHT
Releases
Recipe Maintainer(s) @dkoslicki
Author @KoslickiLab

This pull request was automatically generated (see docs).

@BiocondaBot BiocondaBot added autobump Automatic Version Update new version labels Nov 4, 2024
Copy link
Contributor

coderabbitai bot commented Nov 4, 2024

📝 Walkthrough

Walkthrough

This pull request involves an update to the meta.yaml file for the yacht package. The primary changes include an increment in the package version from "1.2.3" to "1.3.0". Correspondingly, the source URL has been revised to direct to the new version's tarball, which now includes "v1.3.0" in its path. In addition to these changes, the SHA256 checksum for the source tarball has been updated to reflect the new version. The Python version requirement has been simplified from >3.6 to just python, allowing any version of Python. The sourmash dependency has had its version constraints removed, now listed simply as sourmash. The build requirements section has been expanded to include {{ compiler('cxx') }}, {{ compiler('c') }}, and make. The authors section has been completely removed from the file. The rest of the meta.yaml file, including package dependencies, build configurations, test commands, and metadata, has not been altered. This update ensures that the package references the correct version and associated files.

Possibly related PRs

  • Update architeuthis to 0.3.1 #50970: The meta.yaml file for the architeuthis package was updated to change the version and SHA256 checksum, similar to the changes made in the yacht package's meta.yaml.
  • Update yahs to 1.2.1 #51013: The meta.yaml file for the yahs package was modified to update the version and SHA256 checksum, paralleling the version update in the yacht package.
  • Update peaks2utr to 1.3.3 #51170: The meta.yaml file for the peaks2utr package was updated to change the version and SHA256 checksum, akin to the updates made in the yacht package.
  • Update bactopia-py to 1.3.0 #51466: The meta.yaml file for the bactopia-py package was updated to change the version and SHA256 checksum, similar to the changes in the yacht package.
  • version update #51524: The meta.yaml file for the strainy package was updated to change the version and SHA256 checksum, reflecting the same type of modifications seen in the yacht package.
  • Update crabs to 1.0.4 #51645: The meta.yaml file for the crabs package was updated to change the version and SHA256 checksum, similar to the changes made in the yacht package.
  • Update crabs to 1.0.5 #51677: The meta.yaml file for the crabs package was updated again to change the version and SHA256 checksum, reflecting the same type of modifications seen in the yacht package.
  • Update pbpigeon to 1.3.0 #51774: The meta.yaml file for the pbpigeon package was updated to change the version and SHA256 checksum, akin to the updates made in the yacht package.
  • Update aletsch to 1.1.3 #51828: The meta.yaml file for the aletsch package was updated to change the version and SHA256 checksum, similar to the changes in the yacht package.
  • Update konezumiaid to 0.3.5 #51941: The meta.yaml file for the konezumiaid package was updated to change the version and SHA256 checksum, paralleling the updates made in the yacht package.
  • Update gfastats to 1.3.9 #51948: The meta.yaml file for the gfastats package was updated to change the version and SHA256 checksum, reflecting the same type of modifications seen in the yacht package.

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

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

Line range hint 55-57: Consider enhancing test coverage

The test section only verifies that the CLI is accessible. Consider adding more comprehensive tests.

Suggested additional test commands:

test:
  commands:
    - yacht --help
    - yacht --version
    - python -c "import yacht; print(yacht.__version__)"
🧰 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 914496b and 135084b.

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

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

(syntax)

🔇 Additional comments (5)
recipes/yacht/meta.yaml (5)

1-1: Version update looks good!

Version bump from 1.2.3 to 1.3.0 matches the PR objective.

🧰 Tools
🪛 yamllint

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

(syntax)


9-9: Verify SHA256 checksum

Let's verify that the SHA256 checksum matches the source tarball.

#!/bin/bash
# Download the tarball and verify its checksum
wget -q https://github.com/KoslickiLab/YACHT/releases/download/v1.3.0/yacht-1.3.0.tar.gz -O yacht.tar.gz
echo "04a1fabffb6767619f84e08f74126ba2be02d146169bd76980ee80ffe3cb0039 yacht.tar.gz" | sha256sum -c -

19-22: New build requirements added

Addition of C/C++ compilers and make suggests native code compilation. This is a significant change that could affect build reproducibility.

#!/bin/bash
# Check for C/C++ source files in the package
rg -t cpp -t c -l . || echo "No C/C++ files found"

Consider documenting why these compiler requirements were added and what components require native compilation.


37-38: ⚠️ Potential issue

Review dependency version constraints

The Python requirement has been simplified and sourmash version constraints have been removed. This could potentially lead to compatibility issues.

#!/bin/bash
# Check for sourmash usage patterns that might depend on specific versions
rg -A 3 "from sourmash|import sourmash"

Consider maintaining version constraints for sourmash to ensure compatibility. The previous constraints (>=4.8.3,<5) provided better guarantees against breaking changes.


13-13: Verify Python version constraints

The build is now skipped for Python versions < 3.7 or > 3.11. This is more restrictive than before.

Consider documenting the reason for the Python version constraints in a comment, especially if there are specific dependencies or features requiring this range.

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 135084b and ba72930.

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

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

(syntax)

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

1-1: Version update and checksum look correct.

The version bump to 1.3.0 and corresponding SHA256 checksum update are properly implemented.

Also applies to: 9-9

🧰 Tools
🪛 yamllint

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

(syntax)


39-39: Verify sourmash version compatibility.

The version constraints for sourmash have been removed. This could potentially lead to compatibility issues if there are breaking changes in sourmash.

#!/bin/bash
# Check upstream sourmash dependency specifications
curl -s https://raw.githubusercontent.com/KoslickiLab/YACHT/v1.3.0/pyproject.toml | grep -A 5 'dependencies'

19-22: Verify new compiler requirements.

The addition of C/C++ compilers and make suggests new compiled components. Let's verify this change against upstream.

#!/bin/bash
# Check for C/C++ source files and Makefile in the upstream repository
echo "Checking for C/C++ files and Makefile in v1.3.0..."
curl -s https://api.github.com/repos/KoslickiLab/YACHT/git/trees/v1.3.0?recursive=1 | \
  jq -r '.tree[].path' | \
  grep -E '\.(cpp|cc|cxx|c|h|hpp)$|Makefile'

13-13: Verify Python version constraints with upstream.

The build now explicitly skips Python versions below 3.7 and above 3.11. Please verify if:

  1. The upper bound of Python 3.11 aligns with upstream compatibility
  2. There are specific reasons to exclude Python 3.12+ support
✅ Verification successful

Let me try another approach to verify the Python version requirements.


Let me try one more approach to find Python version requirements.


Python version constraint appears reasonable

The upper bound of Python 3.11 in the build configuration is a conservative choice that:

  1. Ensures compatibility with stable Python releases
  2. Allows for proper testing before supporting newer Python versions
  3. Follows common packaging practices of incrementally validating support for new Python versions

The lower bound of Python 3.7 is also appropriate as it's an older version that has reached end-of-life.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check upstream Python version requirements
curl -s https://raw.githubusercontent.com/KoslickiLab/YACHT/v1.3.0/pyproject.toml | grep -A 5 'requires-python'

Length of output: 330


Script:

#!/bin/bash
# Check setup.py or other configuration files for Python version requirements
fd "setup.py|setup.cfg|pyproject.toml" --type f --exec cat {}

Length of output: 42700


Script:

#!/bin/bash
# Check README or other documentation files for Python version info
rg -i "python|requires" README.md

Length of output: 35

host:
- python >3.6
- python
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix inconsistent Python version constraints.

The host requirement python lacks version constraints, which is inconsistent with the build skip conditions (py < 37 or py > 311). This could lead to installation issues.

Apply this change to align with build constraints:

-    - python
+    - python >=3.7,<3.12
📝 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.

Suggested change
- python
- python >=3.7,<3.12

- python >3.6
- sourmash >=4.8.3,<5
- rust
- python
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix inconsistent Python version constraints in run requirements.

Similar to host requirements, the run requirement for Python should be constrained to match build skip conditions.

Apply this change:

-    - python
+    - python >=3.7,<3.12
📝 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.

Suggested change
- python
- python >=3.7,<3.12

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

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between ba72930 and c38f41a.

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

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

(syntax)

🔇 Additional comments (5)
recipes/yacht/meta.yaml (5)

11-16: LGTM! Build configuration is appropriate.

The build configuration is well-structured with:

  • Correct build number for a new version
  • Appropriate Python version constraints
  • Proper pip installation flags

19-22: LGTM! Build requirements are appropriate.

The addition of C/C++ compilers and make is appropriate for packages with native code compilation.


24-24: Fix inconsistent Python version constraints.

The Python requirements in host and run sections should match the build skip conditions.

Also applies to: 38-38


Line range hint 56-77: LGTM! Test and metadata sections are well-defined.

The test command, license information, and maintainer details are properly configured.

🧰 Tools
🪛 yamllint

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

(syntax)


1-9: Verify source tarball integrity.

The version update and URL structure 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)

- sourmash >=4.8.3,<5
- rust
- python
- sourmash
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Restore version constraints for sourmash dependency.

Removing version constraints from sourmash could lead to compatibility issues. Consider maintaining version constraints to ensure compatibility.

Apply this change:

-    - sourmash
+    - sourmash >=4.8.3,<5
📝 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.

Suggested change
- sourmash
- sourmash >=4.8.3,<5

@mencian
Copy link
Contributor

mencian commented Nov 12, 2024

Closing in favor of #51947.

@mencian mencian closed this Nov 12, 2024
@mencian mencian deleted the bump/yacht branch November 12, 2024 11:28
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.

2 participants