fix(ibis): move duckdb and opendal to main-dependency#1037
fix(ibis): move duckdb and opendal to main-dependency#1037goldmedal merged 1 commit intoCanner:mainfrom
Conversation
WalkthroughThe pull request modifies the Changes
Poem
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.
Actionable comments posted: 0
🧹 Nitpick comments (1)
ibis-server/pyproject.toml (1)
35-35: Consider pinning the OpenDAL version.Using
>=0.45could lead to unexpected behavior if major versions introduce breaking changes. Consider pinning to a specific version or using a more restrictive version constraint (e.g.,>=0.45,<1.0).
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
ibis-server/poetry.lockis excluded by!**/*.lock
📒 Files selected for processing (1)
ibis-server/pyproject.toml(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: ci
🔇 Additional comments (2)
ibis-server/pyproject.toml (2)
34-35: Verify security advisories for production dependencies.Since these dependencies are being moved to production, we should verify there are no known vulnerabilities in the specified versions.
✅ Verification successful
✅ No security vulnerabilities found for duckdb and opendal
Both dependencies have been verified against the GitHub Security Advisory Database and no known vulnerabilities were found for the specified versions.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check for security advisories for both packages gh api graphql -f query=' { securityVulnerabilities(first: 5, ecosystem: PIP, package: "duckdb") { nodes { advisory { summary severity publishedAt } vulnerableVersionRange firstPatchedVersion { identifier } } } }' gh api graphql -f query=' { securityVulnerabilities(first: 5, ecosystem: PIP, package: "opendal") { nodes { advisory { summary severity publishedAt } vulnerableVersionRange firstPatchedVersion { identifier } } } }'Length of output: 679
34-35: Verify production usage of these dependencies.Before moving these to production dependencies, we should verify they are actually used in production code and not just in tests.
✅ Verification successful
Dependencies are correctly placed as production dependencies
Both DuckDB and OpenDAL are actively used in production code:
- DuckDB is used for database operations in
object_storage.py,connector.py, and as a data source inrewriter.py- OpenDAL is used for filesystem operations in
object_storage.py🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Search for DuckDB usage in production code (excluding tests) echo "Checking DuckDB usage in production code:" rg -l "(?i)duckdb" --type py | grep -v "test_" || true echo -e "\nChecking OpenDAL usage in production code:" rg -l "(?i)opendal" --type py | grep -v "test_" || true # Search for specific imports echo -e "\nChecking for specific imports:" ast-grep --pattern 'import duckdb' || true ast-grep --pattern 'from duckdb import $_' || true ast-grep --pattern 'import opendal' || true ast-grep --pattern 'from opendal import $_' || trueLength of output: 888
Script:
#!/bin/bash # Check DuckDB usage context echo "DuckDB usage in object_storage.py:" rg "duckdb" ibis-server/app/model/metadata/object_storage.py -B 2 -A 2 echo -e "\nDuckDB usage in connector.py:" rg "duckdb" ibis-server/app/model/connector.py -B 2 -A 2 echo -e "\nDuckDB usage in rewriter.py:" rg "duckdb" ibis-server/app/mdl/rewriter.py -B 2 -A 2 echo -e "\nOpenDAL usage in object_storage.py:" rg "opendal" ibis-server/app/model/metadata/object_storage.py -B 2 -A 2Length of output: 1930
Description
We put duckdb and opendal in the dev dependency but it should be used in the production.
Summary by CodeRabbit
duckdbto version1.1.3opendalto version>=0.45