fix: loosen dependency constraints to fix OPIK integration conflict #4202
+4,767
−4,489
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR addresses issue #4201 where crewAI's overly restrictive dependency constraints (using
~=operator) caused conflicts when installing alongside packages like opik for monitoring.The
~=operator (compatible release) was too restrictive as it only allows patch version updates. For example,openai~=1.83.0means>=1.83.0,<1.84.0, which conflicts with other packages that need different openai versions.Changes:
~=to>=for core dependencies in bothcrewaiandcrewai-tools<3.0.0) for pydantic and pydantic-settings to prevent major version breakslancedbentry in crewai-toolsReview & Testing Checklist for Human
opentelemetry-api1.34.0→1.30.0,chromadb1.1.0→1.0.0,python-dotenv1.1.1→1.0.0). Confirm the codebase doesn't rely on features from the newer versions.pip install crewai opik~=1.83.0to>=1.13.3. Test that crewai works correctly with both older and newer openai versions.Recommended test plan:
Notes
reimport that could be cleaned upFixes #4201