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

feat: Update dependencies to latest versions #1010

Closed
wants to merge 3 commits into from

Conversation

bgruening
Copy link
Member

No description provided.

@@ -7,21 +7,21 @@ conda-forge-pinning=2024.06.01.05.54.15

# basics
python=3.10.*
Copy link
Member Author

Choose a reason for hiding this comment

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

I'm too afraid to bump python to 3.12 ... but if someone says its a good idea, please let me know!

mamba=1.5.*
boa=0.17.*
#boa=0.17.*
Copy link
Member Author

Choose a reason for hiding this comment

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

Are we using this one? This one is currently blocked by conda-forge/boa-feedstock#85

Copy link
Contributor

Choose a reason for hiding this comment

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

Looks like the boa imports were all removed in #980

Copy link
Member Author

Choose a reason for hiding this comment

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

Suggested change
#boa=0.17.*

@bioconda bioconda deleted a comment from coderabbitai bot Oct 18, 2024
Copy link

coderabbitai bot commented Oct 20, 2024

Walkthrough

The pull request introduces several changes across multiple files. In the GitHub Actions workflow file .github/workflows/GithubActionTests.yml, the GITHUB_TOKEN environment variable has been added to the Run tests steps for both the test-linux and test-macosx jobs. This addition enables the jobs to access GitHub API functionalities during test execution, particularly when determining whether to run tests based on file modifications.

In the bioconda_utils/bioconda_utils-requirements.txt file, various dependencies have been updated to newer versions, including conda, conda-build, conda-index, conda-package-streaming, pyaml, networkx, aiofiles, aioftp, and cachetools. The boa dependency has been commented out, indicating its removal from the requirements.

The versioneer.py file has undergone modifications to improve configuration parsing and error management. The deprecated SafeConfigParser has been replaced with ConfigParser, and the readfp() method has been updated to read_file(). Enhanced error handling has been implemented to manage specific exceptions related to configuration file reading. Overall, these changes focus on enhancing the functionality and reliability of the respective components.


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

@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

Files that changed from the base of the PR and between 099e804 and 6263253.

📒 Files selected for processing (3)
  • .github/workflows/GithubActionTests.yml (2 hunks)
  • bioconda_utils/bioconda_utils-requirements.txt (2 hunks)
  • versioneer.py (1 hunks)
🧰 Additional context used
🪛 LanguageTool
bioconda_utils/bioconda_utils-requirements.txt

[uncategorized] ~17-~17: Interjections are usually punctuated.
Context: ...reaming=0.11.* mamba=1.5.* #boa=0.17.* argh=0.31.* # CLI colorlog...

(INTERJECTIONS_PUNCTUATION)

🔇 Additional comments (13)
bioconda_utils/bioconda_utils-requirements.txt (7)

10-10: LGTM: conda and conda-build version updates

The updates to conda (24.9.) and conda-build (24.9.) are minor version increments. These updates likely include bug fixes and improvements while maintaining compatibility. Keeping these versions in sync is a good practice.

Also applies to: 12-12


24-24: LGTM: networkx version update

The networkx version has been updated from 3.3.* to 3.4.. This minor version update is consistent with the comment indicating that networkx>3.3 requires python>=3.10, which aligns with the python version specified in this file (python=3.10.). This update is appropriate and maintains compatibility.


47-47: LGTM: aioftp version update

The aioftp version has been updated from 0.22.* to 0.23.*. This minor version update likely includes improvements and bug fixes. The change appears to be appropriate and should maintain compatibility with the project's requirements.


23-23: Consider deprecation: pyaml version update

The pyaml version has been updated from 24.04.* to 24.09.*. This minor version update is likely beneficial. However, the comment suggests that pyaml might be deprecated in the future. It may be worth considering if this dependency is still necessary or if there are plans to replace it.

Please run the following script to check for any deprecation notices or alternatives:

#!/bin/bash
# Description: Check for deprecation notices or alternatives for pyaml

# Test: Search for deprecation notices or alternatives
gh search issues "pyaml deprecation" --repo yaml/pyyaml
gh search issues "pyaml alternative" --repo yaml/pyyaml

49-49: Review dependency necessity: cachetools version update

The cachetools version has been updated from 5.3.* to 5.5.*. This minor version update likely includes improvements and bug fixes. However, the comment "(NEEDED?)" raises a question about the necessity of this dependency. While the update itself is fine, it might be worth reviewing whether this dependency is still required for the project.

Please run the following script to check for the usage of cachetools in the project:


13-13: Verify compatibility: conda-index version update

The conda-index version has been updated from 0.4.* to 0.5.*. This minor version increment may introduce new features or significant changes. While this update is likely beneficial, it's important to ensure compatibility with the project's requirements and other dependencies.

Please run the following script to check for any potential compatibility issues:

✅ Verification successful

@@ -43,10 +43,10 @@ aiohttp=3.9.* # HTTP lib
aiohttp-jinja2 # jinja2 renderer for aiohttp.web
aiohttp-session #
aiohttp-security #
aiofiles=23.* # async open
aioftp=0.22.* # FTP lib
aiofiles=24.* # async open
Copy link

Choose a reason for hiding this comment

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

💡 Codebase verification

aiofiles updated to version 24.1.0 with Potential Breaking Changes

The aiofiles dependency has been updated from version 23.* to 24.1.0. This major version update includes the following changes that may impact the project's compatibility:

  • Dropped Python 3.7 Support: Ensure that the project is using Python 3.8 or higher. If your project still relies on Python 3.7, you will need to upgrade the Python version or revert aiofiles to version 23.2.1.
  • Updated Async Idioms: The removal of types.coroutine and making AiofilesContextManager awaitable may require refactoring your asynchronous code to align with the new patterns introduced in this version.

Please review your project's Python version and asynchronous I/O implementations to ensure compatibility with aiofiles 24.1.0.

🔗 Analysis chain

Review changelog: aiofiles major version update

The aiofiles version has been updated from 23.* to 24.*. This major version update may include significant changes or potential breaking changes. While keeping dependencies up-to-date is important, it's crucial to review the changelog for any breaking changes that might affect the project's async I/O operations.

Please run the following script to review the changelog and check for any breaking changes:


Action Required: Verify aiofiles 24. Release Details*

The previous attempt to verify the aiofiles 24.* release targeted the wrong repository and did not provide the necessary information. Please run the following script to accurately review the aiofiles changelog and check for any breaking changes:


Action Required: Verify the Existence of aiofiles 24. Release*

The previous script incorrectly targeted the 'conda/conda-package-streaming' repository and failed to find the aiofiles 24.* release. Please run the following script to list all releases in the 'Tinche/aiofiles' repository and identify the correct release tag:


Action Required: Review aiofiles 24.1.0 Changelog for Breaking Changes

The aiofiles has been updated to version 24.1.0. To ensure compatibility and identify any potential breaking changes introduced in this major version update, please run the following script to review the changelog:


Action Required: Review aiofiles v24.1.0 Changelog for Breaking Changes

The aiofiles has been updated to version 24.1.0. To ensure compatibility and identify any potential breaking changes introduced in this major version update, please run the following script to review the changelog:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Review changelog and check for breaking changes in aiofiles 24.*

# Test: Search for breaking changes
gh search issues "aiofiles 24 breaking change" --repo Tinche/aiofiles

# Display changelog
echo "Please review the following changelog:"
gh release view --repo Tinche/aiofiles 24.0.0

Length of output: 269


Script:

#!/bin/bash
# Description: Review changelog and check for breaking changes in aiofiles 24.*

# Search for breaking changes in issues
gh search issues "aiofiles 24 breaking change" --repo Tinche/aiofiles

# Display changelog for version 24.0.0
echo "Please review the following changelog:"
gh release view --repo Tinche/aiofiles 24.0.0

Length of output: 224


Script:

#!/bin/bash
# Description: List all releases in the Tinche/aiofiles repository to verify aiofiles 24.* release

# List all releases
gh release list --repo Tinche/aiofiles

# Optionally, search for releases matching 24.*
gh release list --repo Tinche/aiofiles | grep '^v?24\.' 

Length of output: 215


Script:

#!/bin/bash
# Description: Fetch and review the changelog for aiofiles 24.1.0 to identify breaking changes

# Display changelog for version 24.1.0
echo "Fetching changelog for aiofiles v24.1.0..."
gh release view --repo Tinche/aiofiles 24.1.0

Length of output: 160


Script:

#!/bin/bash
# Description: Fetch and review the changelog for aiofiles v24.1.0 to identify breaking changes

# Display changelog for version v24.1.0
echo "Fetching changelog for aiofiles v24.1.0..."
gh release view --repo Tinche/aiofiles v24.1.0

Length of output: 956

Comment on lines 340 to +344
# the top of versioneer.py for instructions on writing your setup.cfg .
setup_cfg = os.path.join(root, "setup.cfg")
parser = configparser.SafeConfigParser()
parser = configparser.ConfigParser()
with open(setup_cfg, "r") as f:
parser.readfp(f)
parser.read_file(f)
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Consider updating error handling for better robustness

While the changes to use ConfigParser and read_file are excellent, it might be beneficial to update the error handling in this function. Consider catching specific exceptions that might be raised by the new methods, such as configparser.Error or its subclasses, to provide more precise error messages and improve the overall robustness of the function.

Here's a suggested improvement:

try:
    parser = configparser.ConfigParser()
    with open(setup_cfg, "r") as f:
        parser.read_file(f)
except configparser.Error as e:
    print(f"Error parsing {setup_cfg}: {e}", file=sys.stderr)
    return 1
except IOError as e:
    print(f"Error reading {setup_cfg}: {e}", file=sys.stderr)
    return 1

@bgruening bgruening closed this Oct 21, 2024
@bgruening bgruening deleted the update_deps_2024-10 branch October 21, 2024 22:16
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