Skip to content

Commit bfd6fd3

Browse files
authored
Fix OpenTelemetry dependency conflicts with autogen-core (#638)
## Problem Users attempting to use `agentops` alongside `autogen-core==0.4.0` encounter dependency resolution errors due to conflicting OpenTelemetry version requirements. This occurs because: - `agentops` supports Python ≥3.9 and uses OpenTelemetry 1.22.0 - `autogen-core==0.4.0` requires Python ≥3.10 and needs OpenTelemetry ≥1.27.0 ## Solution Added version-specific OpenTelemetry constraints in `pyproject.toml` to handle both scenarios: - For Python 3.9: Pin OpenTelemetry packages to 1.22.0 (maintaining original behavior) - For Python ≥3.10: Allow OpenTelemetry ≥1.27.0 (compatible with autogen-core) This ensures: 1. Python 3.9 users get our tested OpenTelemetry versions 2. Python ≥3.10 users can use `agentops` alongside `autogen-core` without conflicts ## Testing Verified dependency resolution works in both scenarios: - Python 3.9: Successfully installs with OpenTelemetry 1.22.0 - Python 3.10 + autogen-core: Successfully upgrades to OpenTelemetry 1.27.0 No changes to core functionality or API.
1 parent a80d68c commit bfd6fd3

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

pyproject.toml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,12 @@ dependencies = [
3131
"psutil>=5.9.8,<6.1.0",
3232
"termcolor>=2.3.0,<2.5.0",
3333
"PyYAML>=5.3,<7.0",
34-
"opentelemetry-api>=1.22.0,<2.0.0",
35-
"opentelemetry-sdk>=1.22.0,<2.0.0",
36-
"opentelemetry-exporter-otlp-proto-http>=1.22.0,<2.0.0",
34+
"opentelemetry-api==1.22.0; python_version<'3.10'",
35+
"opentelemetry-api>=1.27.0; python_version>='3.10'",
36+
"opentelemetry-sdk==1.22.0; python_version<'3.10'",
37+
"opentelemetry-sdk>=1.27.0; python_version>='3.10'",
38+
"opentelemetry-exporter-otlp-proto-http==1.22.0; python_version<'3.10'",
39+
"opentelemetry-exporter-otlp-proto-http>=1.27.0; python_version>='3.10'",
3740
]
3841

3942
[dependency-groups]
@@ -78,7 +81,15 @@ compile-bytecode = true # Enable bytecode compilation for better performance
7881
default-groups = ["test", "dev"] # Default groups to install for development
7982
constraint-dependencies = [
8083
"pydantic>=2.8.0; python_version>='3.13'", # Ensure Python 3.13 compatibility
81-
"typing-extensions; python_version>='3.13'" # Required for Pydantic with Python 3.13
84+
"typing-extensions; python_version>='3.13'", # Required for Pydantic with Python 3.13
85+
# For Python 3.9, use original OpenTelemetry versions
86+
"opentelemetry-api==1.22.0; python_version<'3.10'",
87+
"opentelemetry-sdk==1.22.0; python_version<'3.10'",
88+
"opentelemetry-exporter-otlp-proto-http==1.22.0; python_version<'3.10'",
89+
# For Python ≥3.10 (where autogen-core might be present), use newer versions
90+
"opentelemetry-api>=1.27.0; python_version>='3.10'",
91+
"opentelemetry-sdk>=1.27.0; python_version>='3.10'",
92+
"opentelemetry-exporter-otlp-proto-http>=1.27.0; python_version>='3.10'"
8293
]
8394

8495
[tool.autopep8]

0 commit comments

Comments
 (0)