Skip to content

Conversation

bosper351
Copy link
Contributor

@bosper351 bosper351 commented Sep 9, 2025

For the current use of uv, it's not necessary to constrain the package version to ^0.5.0. The commands used in PyAirbyte: uv venv and uv pip install are working as well up to the current version (0.8.15) and are not likely to change up to 0.9.0.

I'm trying to use PyAirbyte with Prefect and Prefect requires 'uv>=0.6.0'. With this constraint it's impossible to have both packages installed at the same time.

Summary by CodeRabbit

  • Chores
    • Updated dependency constraints for uv to allow versions 0.5.x through 0.8.x (>=0.5.0,<0.9.0), expanding the supported range beyond only 0.5.x. This broadens compatibility with environments using newer uv releases and reduces potential version pinning friction during installation, without altering application behavior or introducing user-facing changes.

For the current use of `uv`, it's not necessary to constrain the package version to ^0.5.0. The commands used in PyAirbyte: `uv venv` and `uv pip install` are working as well up to the current version (0.8.15) and are not likely to change up to 0.9.0.

I'm trying to use PyAirbyte with Prefect and Prefect [requires](https://github.com/PrefectHQ/prefect/blob/main/pyproject.toml#L84) 'uv>=0.6.0'. With this constraint it's impossible to have both packages installed at the same time.
Copy link
Contributor

coderabbitai bot commented Sep 9, 2025

📝 Walkthrough

Walkthrough

Updated the uv dependency constraint in pyproject.toml from ^0.5.0 to >=0.5.0,<0.9.0 under [tool.poetry.dependencies]. No other files or changes.

Changes

Cohort / File(s) Summary
Dependency constraint update
pyproject.toml
Broadened uv version range from ^0.5.0 to >=0.5.0,<0.9.0 in [tool.poetry.dependencies].

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Would you like to add a brief note in the changelog documenting the widened uv compatibility range, wdyt?

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.

Pre-merge checks (3 passed)

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed The description clearly explains why the uv version constraint is being relaxed, outlines the commands used and their compatibility up to version 0.8.15, and articulates the conflict with Prefect’s requirements.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
Title Check ✅ Passed The title uses the conventional “chore(deps)” prefix and clearly states that the uv dependency constraint is being relaxed to improve compatibility with other tools. It focuses on the main change in the changeset without listing specific files or extraneous details, making it concise and clear. This phrasing helps teammates scanning the history immediately grasp the purpose of the pull request.
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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

🧹 Nitpick comments (1)
pyproject.toml (1)

56-56: Optional: align lower bound to Prefect and add a tiny CI matrix to guard future bumps.

  • If Prefect truly requires uv>=0.6.0, do we want to tighten our floor to 0.6.0 to reflect that reality, or keep 0.5.0 for broader compatibility, wdyt?
  • Consider a smoke job that installs with uv at {latest 0.5.x, latest 0.8.x} and exercises the two commands. This will catch regressions early.

If you prefer the stricter floor, here’s the minimal diff:

-uv = ">=0.5.0,<0.9.0"
+uv = ">=0.6.0,<0.9.0"

Also, after merging, shall we refresh the lockfile to capture the widened range?

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 43e5af7 and ebd1b28.

⛔ Files ignored due to path filters (1)
  • poetry.lock is excluded by !**/*.lock
📒 Files selected for processing (1)
  • pyproject.toml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Pytest (No Creds)
  • GitHub Check: Pytest (Fast)
🔇 Additional comments (2)
pyproject.toml (2)

56-56: Loosened uv range unblocks Prefect while keeping a safety ceiling — LGTM.

Allowing uv >=0.5.0,<0.9.0 matches the stated CLI-only usage and should resolve the Prefect co-install conflict without overexposing to potential 0.9+ breaking changes, wdyt?


56-56: UV CLI usage verified
Only uv venv (airbyte/validate.py) and uv pip install (airbyte/validate.py & airbyte/_executors/python.py) calls exist—no other uv subcommands detected.

@bosper351 bosper351 changed the title Relax uv version requirement feat(requirements) Relax uv version requirement Sep 9, 2025
@bosper351 bosper351 changed the title feat(requirements) Relax uv version requirement feat(requirements): Relax uv version requirement Sep 9, 2025
Copy link
Contributor

@aaronsteers aaronsteers left a comment

Choose a reason for hiding this comment

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

@bosper351 - This looks great. Thanks for contributing. 🙏

@aaronsteers
Copy link
Contributor

aaronsteers commented Sep 9, 2025

/test-pr

Failed due to GH rate limits. (Retried below.)

@aaronsteers aaronsteers closed this Sep 9, 2025
@aaronsteers aaronsteers reopened this Sep 9, 2025
Copy link

github-actions bot commented Sep 9, 2025

👋 Greetings, Airbyte Team Member!

Here are some helpful tips and reminders for your convenience.

Testing This PyAirbyte Version

You can test this version of PyAirbyte using the following:

# Run PyAirbyte CLI from this branch:
uvx --from 'git+https://github.com/airbytehq/PyAirbyte.git@relax-uv-requirement' pyairbyte --help

# Install PyAirbyte from this branch for development:
pip install 'git+https://github.com/airbytehq/PyAirbyte.git@relax-uv-requirement'

Helpful Resources

PR Slash Commands

Airbyte Maintainers can execute the following slash commands on your PR:

  • /fix-pr - Fixes most formatting and linting issues
  • /poetry-lock - Updates poetry.lock file
  • /test-pr - Runs tests with the updated PyAirbyte

Community Support

Questions? Join the #pyairbyte channel in our Slack workspace.

📝 Edit this welcome message.

@aaronsteers aaronsteers enabled auto-merge (squash) September 9, 2025 16:57
@aaronsteers aaronsteers disabled auto-merge September 9, 2025 16:58
@aaronsteers aaronsteers changed the title feat(requirements): Relax uv version requirement chore(deps): Relax uv version requirement Sep 9, 2025
@aaronsteers aaronsteers changed the title chore(deps): Relax uv version requirement chore(deps): Relax uv version requirement for broader compatibility with other tools Sep 9, 2025
@aaronsteers aaronsteers enabled auto-merge (squash) September 9, 2025 16:58
@aaronsteers
Copy link
Contributor

aaronsteers commented Sep 9, 2025

/test-pr

PR test job started... Check job output.

❌ Tests failed.

@aaronsteers aaronsteers disabled auto-merge September 9, 2025 18:38
@aaronsteers aaronsteers merged commit 3e88df5 into airbytehq:main Sep 9, 2025
28 of 30 checks passed
@aaronsteers
Copy link
Contributor

@bosper351 - This is merged! Thanks again! Release should happen shortly, but I can't give a firm ETA because there are several unreleased updates pending right now on main. I plan to do a full manual test script before the release goes out. I'll post into our Slack channel, and you can also subscribe to this repo's "Releases" notifications to make sure you are notified.

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.

2 participants