Skip to content

Commit d9d2dfe

Browse files
committed
update independent dependency versions
1 parent feb2005 commit d9d2dfe

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

scripts/update_dependencies.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import sys
44
import os
55
import re
6+
import requests
67

78
# Dependencies that use the first version number (opentelemetry-python)
89
PYTHON_CORE_DEPS = [
@@ -67,6 +68,23 @@
6768
'opentelemetry-instrumentation-cassandra',
6869
]
6970

71+
# AWS-specific packages with independent versioning
72+
AWS_DEPS = [
73+
'opentelemetry-sdk-extension-aws',
74+
'opentelemetry-propagator-aws-xray',
75+
]
76+
77+
def get_latest_version(package_name):
78+
"""Get the latest version of a package from PyPI."""
79+
try:
80+
response = requests.get(f'https://pypi.org/pypi/{package_name}/json')
81+
response.raise_for_status()
82+
data = response.json()
83+
return data['info']['version']
84+
except Exception as e:
85+
print(f"Warning: Could not get latest version for {package_name}: {e}")
86+
return None
87+
7088
def main():
7189
otel_python_version = os.environ.get('OTEL_PYTHON_VERSION')
7290
otel_contrib_version = os.environ.get('OTEL_CONTRIB_VERSION')
@@ -99,6 +117,17 @@ def main():
99117
content = re.sub(pattern, replacement, content)
100118
updated = True
101119

120+
# Update AWS dependencies with their latest versions
121+
for dep in AWS_DEPS:
122+
latest_version = get_latest_version(dep)
123+
if latest_version:
124+
pattern = rf'"{re.escape(dep)} == [^"]*"'
125+
replacement = f'"{dep} == {latest_version}"'
126+
if re.search(pattern, content):
127+
content = re.sub(pattern, replacement, content)
128+
updated = True
129+
print(f"Updated {dep} to {latest_version}")
130+
102131
if updated:
103132
with open(pyproject_path, 'w') as f:
104133
f.write(content)

0 commit comments

Comments
 (0)