Chore(deps): Update psycopg to ^3.1.19 for macOS <14 compatibility#538
Conversation
^3.1.19 for macOS <14 compatibilitypsycopg to ^3.1.19 for macOS <14 compatibility
📝 Walkthrough📝 WalkthroughWalkthroughThe pull request modifies the Changes
Possibly related PRs
📜 Recent review detailsConfiguration used: CodeRabbit UI ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
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
🧹 Outside diff range and nitpick comments (1)
pyproject.toml (1)
30-30: Consider adding platform-specific testsSince this change is platform-specific, would it be helpful to add some basic connection tests that run on both Ubuntu and macOS? This could help catch any platform-specific issues early. I can help draft these tests if you'd like! 🤔
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
pyproject.toml(1 hunks)
🔇 Additional comments (1)
pyproject.toml (1)
30-30: Verify compatibility with other database dependencies
I see we're downgrading psycopg to support older macOS versions. Since the project uses multiple database-related packages (psycopg2-binary, duckdb, snowflake), should we verify that this version works well with them? wdyt?
Consider adding a comment in pyproject.toml explaining the version constraint:
-psycopg = {extras = ["binary", "pool"], version = "^3.1.19"}
+# Pinned to 3.1.19 for macOS <14 compatibility. Later versions don't support older macOS.
+psycopg = {extras = ["binary", "pool"], version = "^3.1.19"}✅ Verification successful
Looks like the psycopg downgrade should be safe to proceed
Based on the codebase analysis, psycopg is only used in test fixtures for basic database connectivity (connect and OperationalError). No version-specific features are being used that would be affected by the downgrade from 3.2.2 to 3.1.19. The change should work fine with other database dependencies as they're used independently.
Maybe we could still add that comment about macOS compatibility to help future maintainers? wdyt?
-psycopg = {extras = ["binary", "pool"], version = "^3.1.19"}
+# Pinned to 3.1.19 for macOS <14 compatibility
+psycopg = {extras = ["binary", "pool"], version = "^3.1.19"}🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if there are any known compatibility issues between psycopg 3.1.19 and other database packages
# Search for imports of multiple database packages together
rg -l "import psycopg" | xargs rg "import (psycopg2|snowflake|duckdb)"
# Look for any existing version constraints or compatibility notes
rg -i "psycopg.*version|compatibility" README.md docs/
Length of output: 129
Script:
#!/bin/bash
# Let's try a different approach to check database-related imports and usage
# Search for psycopg imports and their context
rg "import psycopg" -B2 -A2
# Search for database-related code patterns
ast-grep --pattern 'import psycopg'
# Check if there are any version-specific features being used
rg "psycopg\." -A2
# Look for any database connection or configuration files
fd -e py -e yaml -e ini -e conf | grep -i "db\|database"
Length of output: 801
|
Niyas Hameed (@niyasrad) - I'm inclined to merge this. For posterity, do you have any external docs or links that document the compatibility issue, aka dropping of support for older Mac OS versions? |
Aaron ("AJ") Steers (@aaronsteers) - Yes! I will attach the docs, and the corresponding snippet with a screenshot. |
|
Perfect, thanks! |
|
/poetry-lock
|
Resolving dependencies... changes

Psycopg Binary Installation Docs

Description
This PR modifies the psycopg dependency version in pyproject.toml to
^3.1.19to ensure compatibility with macOS systems running versions prior to 14.0.On Ubuntu systems, the previously specified version
^3.2.2continues to function as expected.However, for macOS versions earlier than 14.0, the
^3.1.19version is the most compatible distribution, as later versions of psycopg (e.g., 3.2.2) are not supported.Discussion/ More Info: https://airbytehq.slack.com/archives/C06FZ238P8W/p1731733870085899
Summary by CodeRabbit
Summary by CodeRabbit
psycopglibrary dependency from^3.2.2to^3.1.19.