This commit addresses issue #4201 where crewAI's overly restrictive
dependency constraints (using ~= operator) caused conflicts when
installing alongside packages like opik.
Changes:
- Changed dependency constraints from ~= (compatible release) to >=
(minimum version) for core dependencies in crewai and crewai-tools
- Key dependencies loosened: openai, pydantic, pydantic-settings,
opentelemetry-*, and others
- Added tests to verify dependency constraints remain flexible
The ~= operator was too restrictive as it only allows patch version
updates (e.g., openai~=1.83.0 means >=1.83.0,<1.84.0). This caused
dependency resolution failures when other packages needed different
versions of shared dependencies.
Fixes#4201
Co-Authored-By: João <joao@crewai.com>