-
-
Notifications
You must be signed in to change notification settings - Fork 809
fix(deps): relax tenacity requirement to support google-genai 1.21.1 #1625
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
Conversation
This change resolves the dependency conflict between instructor and google-genai by relaxing the tenacity requirement from >=9.0.0 to >=8.2.3, allowing both packages to be installed together. Bump version to 1.9.0 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Deploying with
|
Status | Name | Latest Commit | Preview URL | Updated (UTC) |
---|---|---|---|---|
✅ Deployment successful! View logs |
instructor | 85d84ad | Commit Preview URL | Jun 20 2025, 07:14 PM |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Caution
Changes requested ❌
Reviewed everything up to 9ede693 in 2 minutes and 36 seconds. Click for details.
- Reviewed
65
lines of code in2
files - Skipped
0
files when reviewing. - Skipped posting
7
draft comments. View those below. - Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. pyproject.toml:12
- Draft comment:
Ensure instructor’s usage of tenacity is fully compatible with versions >=8.2.3 now allowed. - Reason this comment was not posted:
Comment did not seem useful. Confidence is useful =0%
<= threshold85%
This comment is asking the author to ensure compatibility with a specific version of a library. It is not a specific code suggestion or a request for a test to be written. It also does not address any of the additional rules provided. Therefore, it should be removed.
2. pyproject.toml:27
- Draft comment:
Version bump to 1.9.0 is applied; ensure related documentation and upgrade notes are updated accordingly. - Reason this comment was not posted:
Comment was not on a location in the diff, so it can't be submitted as a review comment.
3. uv.lock:1676
- Draft comment:
Version update in uv.lock to 1.9.0 is in sync with pyproject.toml; verify consistency in downstream processes. - Reason this comment was not posted:
Comment did not seem useful. Confidence is useful =0%
<= threshold85%
This comment is about verifying consistency in downstream processes, which is not specific enough and asks the author to ensure something without providing a specific suggestion or question. It also relates to dependency changes, which are not to be commented on unless they are about documentation or tests.
4. uv.lock:1682
- Draft comment:
The addition of mkdocs and mkdocs-material as core dependencies here is unusual; if they’re only needed for docs generation, consider making them optional. - Reason this comment was not posted:
Marked as duplicate.
5. uv.lock:1931
- Draft comment:
Relaxed tenacity constraint to '>=8.2.3,<10.0.0'; double-check that all tenacity usage in instructor works with older versions. - Reason this comment was not posted:
Comment did not seem useful. Confidence is useful =0%
<= threshold85%
This comment is asking the PR author to double-check compatibility with older versions of a dependency, which violates the rule against asking the author to confirm or double-check things. It also relates to dependency changes, which we should not comment on unless we recognize the library and have specific knowledge about it.
6. uv.lock:1922
- Draft comment:
There are duplicate mkdocs constraints: one unconditional (>=1.6.1) and one conditional for docs extras (>=1.4.3,<2.0.0). Consider unifying these to avoid potential version conflicts. - Reason this comment was not posted:
Comment was not on a location in the diff, so it can't be submitted as a review comment.
7. uv.lock:1935
- Draft comment:
Duplicate mkdocs-material constraints detected: one set to '>=9.5.49' unconditionally and another for docs extras ('>=9.5.9,<10.0.0'). Consolidate these to ensure clear dependency resolution. - Reason this comment was not posted:
Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 0% vs. threshold = 85% The comment identifies a real issue with potentially conflicting dependency specifications. Having two different version constraints could lead to confusion or dependency resolution issues. The change is in the lock file and relates to dependency management. However, lock files are typically generated automatically and the actual fix would need to happen in the source requirements files. The comment might be addressing a symptom rather than the root cause - the actual fix would need to be made in pyproject.toml or requirements.txt, not the lock file directly. While the fix location might be elsewhere, identifying inconsistent dependency specifications is still valuable for maintaining clean dependency management. The comment should be deleted because it's commenting on a generated lock file rather than the source of the dependency specifications, and our rules specify not to comment on dependency-related issues.
Workflow ID: wflow_6Hu17rsMwnSLa8qm
You can customize by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.
pyproject.toml
Outdated
"pydantic-core<3.0.0,>=2.18.0", | ||
"jiter>=0.6.1,<0.11", | ||
"jinja2<4.0.0,>=3.1.4", | ||
"requests<3.0.0,>=2.32.3", | ||
"pre-commit>=4.2.0", | ||
"mkdocs>=1.6.1", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider moving mkdocs and mkdocs-material to an extras or dev-dependencies group if they are only used for documentation, to avoid unnecessary core dependency bloat.
- Remove mkdocs from main dependencies (already in docs group) - Add cairosvg and pillow to docs group from requirements-doc.txt - Create new examples group with dependencies from requirements-examples.txt - Keep consistent with existing dependency files
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Important
Looks good to me! 👍
Reviewed 85d84ad in 2 minutes and 7 seconds. Click for details.
- Reviewed
175
lines of code in2
files - Skipped
0
files when reviewing. - Skipped posting
9
draft comments. View those below. - Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. pyproject.toml:16
- Draft comment:
Removed mkdocs and mkdocs-material from the main dependencies. Ensure these documentation tools are now intentionally moved to the extras to avoid unnecessary installation for users. - Reason this comment was not posted:
Comment looked like it was already resolved.
2. pyproject.toml:126
- Draft comment:
Added cairosvg and pillow to the docs extra. Confirm these are required for the documentation build and that their version constraints meet your needs. - Reason this comment was not posted:
Comment did not seem useful. Confidence is useful =30%
<= threshold85%
The comment is asking the PR author to confirm the necessity of the added dependencies for the documentation build. This violates the rule against asking the author to confirm their intention or to ensure behavior is intended. However, it does touch on dependency changes, which are relevant if they affect documentation or tests. Since it mentions the docs extra, it could be relevant to documentation, but the comment is still asking for confirmation rather than making a specific suggestion or observation.
3. pyproject.toml:167
- Draft comment:
A new 'examples' extra group has been added with dependencies (cohere, datasets, pyright, ruff, trafilatura). Ensure that example usage is documented for users. - Reason this comment was not posted:
Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 0% vs. threshold = 85% Since this is a library project (instructor), having examples documented is important for users. However, the comment is asking to "ensure" something, which violates our rules about not asking for verification. Additionally, it's not clear if documentation is actually missing - the comment is speculative. The comment also doesn't point to specific documentation that needs to be updated. The comment raises a valid point about documentation, but it's phrased as a verification request rather than a specific issue. We might be missing existing documentation that already covers these examples. While documentation is important, this comment violates our rules by asking for verification without pointing to specific missing documentation. It's too speculative. The comment should be deleted because it asks for verification and is speculative rather than pointing to specific missing documentation.
4. uv.lock:1682
- Draft comment:
Removed mkdocs and mkdocs-material from the global dependencies in the lockfile. This aligns the lockfile with the updated pyproject.toml configuration. - Reason this comment was not posted:
Comment did not seem useful. Confidence is useful =0%
<= threshold85%
This comment is purely informative, explaining a change made to dependencies. It doesn't provide a suggestion or ask for a specific action, which violates the rules against purely informative comments.
5. uv.lock:1808
- Draft comment:
Added cairosvg and pillow in the docs extra within the lockfile. Verify that these version constraints match those in pyproject.toml. - Reason this comment was not posted:
Comment did not seem useful. Confidence is useful =0%
<= threshold85%
The comment is asking the author to verify version constraints, which is against the rules. It doesn't provide a specific suggestion or point out a specific issue with the code.
6. uv.lock:1817
- Draft comment:
The new examples extra group is now present in the lockfile. Ensure the examples dependencies are correctly documented for user guidance. - Reason this comment was not posted:
Comment did not seem useful. Confidence is useful =0%
<= threshold85%
This comment is asking the author to ensure that the examples dependencies are documented, which is related to documentation updates. However, it doesn't directly suggest a specific action or point out a specific issue with the code. It also doesn't align with the rules about documentation updates for library code changes, as it doesn't specify a change in the library code itself. Therefore, this comment is not approved.
7. uv.lock:3750
- Draft comment:
Bumped pyright from version 1.1.391 to 1.1.401. Verify that this update does not adversely affect any downstream integrations. - Reason this comment was not posted:
Comment was not on a location in the diff, so it can't be submitted as a review comment.
8. uv.lock:4273
- Draft comment:
Updated ruff from 0.8.4 to 0.11.13 with numerous wheel adjustments. Double-check that this major version bump is compatible with your linter configurations. - Reason this comment was not posted:
Comment was not on a location in the diff, so it can't be submitted as a review comment.
9. pyproject.toml:1
- Draft comment:
The PR title mentions relaxing the tenacity requirement, but no changes targeting tenacity are visible in this diff. Please ensure that the intended tenacity constraint relaxation is included if required. - Reason this comment was not posted:
Comment was not on a location in the diff, so it can't be submitted as a review comment.
Workflow ID: wflow_6ntfHLR3Wi4PGrLG
You can customize by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.
Summary
>=9.0.0
to>=8.2.3
to resolve dependency conflictProblem
The latest versions of instructor (1.8.3) and google-genai (1.21.1) have conflicting tenacity requirements:
tenacity>=8.2.3,<9.0.0
tenacity>=9.0.0,<10.0.0
These ranges are mutually exclusive, preventing users from installing both packages together.
Solution
By relaxing instructor's tenacity requirement to
>=8.2.3,<10.0.0
, we allow both packages to coexist while maintaining compatibility with the functionality instructor needs from tenacity.Test plan
uv pip install "instructor[google-genai]" google-genai==1.21.1
Fixes #1641
🤖 Generated with Claude Code
Important
Relaxed
tenacity
dependency to resolve conflict withgoogle-genai
and updated version to 1.9.0.tenacity
requirement inpyproject.toml
anduv.lock
from>=9.0.0
to>=8.2.3
to resolve conflict withgoogle-genai
1.21.1.cairosvg
andpillow
todocs
dependencies inpyproject.toml
anduv.lock
.examples
dependencies:cohere
,datasets
,pyright
,ruff
,trafilatura
inpyproject.toml
anduv.lock
.pyproject.toml
anduv.lock
.This description was created by
for 85d84ad. You can customize this summary. It will automatically update as commits are pushed.