Skip to content

Commit a6d58c1

Browse files
committed
more lint
1 parent 1544468 commit a6d58c1

File tree

2 files changed

+105
-98
lines changed

2 files changed

+105
-98
lines changed

scripts/get_upstream_versions.py

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,52 @@
11
#!/usr/bin/env python3
22

3-
import requests
43
import os
5-
import sys
64
import re
5+
import sys
6+
7+
import requests
8+
79

810
def get_latest_otel_versions():
911
"""Get latest OpenTelemetry versions from GitHub releases."""
1012
try:
1113
# Query GitHub API for latest release
1214
response = requests.get(
13-
'https://api.github.com/repos/open-telemetry/opentelemetry-python/releases/latest',
14-
timeout=30
15+
"https://api.github.com/repos/open-telemetry/opentelemetry-python/releases/latest", timeout=30
1516
)
1617
response.raise_for_status()
17-
18+
1819
release_data = response.json()
19-
release_title = release_data['name']
20-
20+
release_title = release_data["name"]
21+
2122
# Parse "Version 1.37.0/0.58b0" format
22-
match = re.search(r'Version\s+(\d+\.\d+\.\d+)/(\d+\.\d+b\d+)', release_title)
23+
match = re.search(r"Version\s+(\d+\.\d+\.\d+)/(\d+\.\d+b\d+)", release_title)
2324
if not match:
2425
print(f"Could not parse release title: {release_title}")
2526
sys.exit(1)
26-
27+
2728
otel_python_version = match.group(1)
2829
otel_contrib_version = match.group(2)
29-
30+
3031
return otel_python_version, otel_contrib_version
31-
32+
3233
except requests.RequestException as request_error:
3334
print(f"Error getting OpenTelemetry versions: {request_error}")
3435
sys.exit(1)
3536

37+
3638
def main():
3739
otel_python_version, otel_contrib_version = get_latest_otel_versions()
38-
39-
print(f'OTEL_PYTHON_VERSION={otel_python_version}')
40-
print(f'OTEL_CONTRIB_VERSION={otel_contrib_version}')
41-
40+
41+
print(f"OTEL_PYTHON_VERSION={otel_python_version}")
42+
print(f"OTEL_CONTRIB_VERSION={otel_contrib_version}")
43+
4244
# Write to GitHub output if in CI
43-
if 'GITHUB_OUTPUT' in os.environ:
44-
with open(os.environ['GITHUB_OUTPUT'], 'a', encoding='utf-8') as output_file:
45-
output_file.write(f'otel_python_version={otel_python_version}\n')
46-
output_file.write(f'otel_contrib_version={otel_contrib_version}\n')
45+
if "GITHUB_OUTPUT" in os.environ:
46+
with open(os.environ["GITHUB_OUTPUT"], "a", encoding="utf-8") as output_file:
47+
output_file.write(f"otel_python_version={otel_python_version}\n")
48+
output_file.write(f"otel_contrib_version={otel_contrib_version}\n")
49+
4750

48-
if __name__ == '__main__':
51+
if __name__ == "__main__":
4952
main()

scripts/update_dependencies.py

Lines changed: 82 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -1,122 +1,125 @@
11
#!/usr/bin/env python3
22

3-
import sys
43
import os
54
import re
5+
import sys
6+
67
import requests
78

89
# Dependencies that use the first version number (opentelemetry-python)
910
PYTHON_CORE_DEPS = [
10-
'opentelemetry-api',
11-
'opentelemetry-sdk',
12-
'opentelemetry-exporter-otlp',
13-
'opentelemetry-exporter-otlp-proto-grpc',
14-
'opentelemetry-exporter-otlp-proto-http',
15-
'opentelemetry-propagator-b3',
16-
'opentelemetry-propagator-jaeger',
17-
'opentelemetry-exporter-otlp-proto-common',
11+
"opentelemetry-api",
12+
"opentelemetry-sdk",
13+
"opentelemetry-exporter-otlp",
14+
"opentelemetry-exporter-otlp-proto-grpc",
15+
"opentelemetry-exporter-otlp-proto-http",
16+
"opentelemetry-propagator-b3",
17+
"opentelemetry-propagator-jaeger",
18+
"opentelemetry-exporter-otlp-proto-common",
1819
]
1920

2021
# Dependencies that use the second version number (opentelemetry-python-contrib)
2122
CONTRIB_DEPS = [
22-
'opentelemetry-distro',
23-
'opentelemetry-processor-baggage',
24-
'opentelemetry-propagator-ot-trace',
25-
'opentelemetry-instrumentation',
26-
'opentelemetry-instrumentation-aws-lambda',
27-
'opentelemetry-instrumentation-aio-pika',
28-
'opentelemetry-instrumentation-aiohttp-client',
29-
'opentelemetry-instrumentation-aiopg',
30-
'opentelemetry-instrumentation-asgi',
31-
'opentelemetry-instrumentation-asyncpg',
32-
'opentelemetry-instrumentation-boto',
33-
'opentelemetry-instrumentation-boto3sqs',
34-
'opentelemetry-instrumentation-botocore',
35-
'opentelemetry-instrumentation-celery',
36-
'opentelemetry-instrumentation-confluent-kafka',
37-
'opentelemetry-instrumentation-dbapi',
38-
'opentelemetry-instrumentation-django',
39-
'opentelemetry-instrumentation-elasticsearch',
40-
'opentelemetry-instrumentation-falcon',
41-
'opentelemetry-instrumentation-fastapi',
42-
'opentelemetry-instrumentation-flask',
43-
'opentelemetry-instrumentation-grpc',
44-
'opentelemetry-instrumentation-httpx',
45-
'opentelemetry-instrumentation-jinja2',
46-
'opentelemetry-instrumentation-kafka-python',
47-
'opentelemetry-instrumentation-logging',
48-
'opentelemetry-instrumentation-mysql',
49-
'opentelemetry-instrumentation-mysqlclient',
50-
'opentelemetry-instrumentation-pika',
51-
'opentelemetry-instrumentation-psycopg2',
52-
'opentelemetry-instrumentation-pymemcache',
53-
'opentelemetry-instrumentation-pymongo',
54-
'opentelemetry-instrumentation-pymysql',
55-
'opentelemetry-instrumentation-pyramid',
56-
'opentelemetry-instrumentation-redis',
57-
'opentelemetry-instrumentation-remoulade',
58-
'opentelemetry-instrumentation-requests',
59-
'opentelemetry-instrumentation-sqlalchemy',
60-
'opentelemetry-instrumentation-sqlite3',
61-
'opentelemetry-instrumentation-starlette',
62-
'opentelemetry-instrumentation-system-metrics',
63-
'opentelemetry-instrumentation-tornado',
64-
'opentelemetry-instrumentation-tortoiseorm',
65-
'opentelemetry-instrumentation-urllib',
66-
'opentelemetry-instrumentation-urllib3',
67-
'opentelemetry-instrumentation-wsgi',
68-
'opentelemetry-instrumentation-cassandra',
23+
"opentelemetry-distro",
24+
"opentelemetry-processor-baggage",
25+
"opentelemetry-propagator-ot-trace",
26+
"opentelemetry-instrumentation",
27+
"opentelemetry-instrumentation-aws-lambda",
28+
"opentelemetry-instrumentation-aio-pika",
29+
"opentelemetry-instrumentation-aiohttp-client",
30+
"opentelemetry-instrumentation-aiopg",
31+
"opentelemetry-instrumentation-asgi",
32+
"opentelemetry-instrumentation-asyncpg",
33+
"opentelemetry-instrumentation-boto",
34+
"opentelemetry-instrumentation-boto3sqs",
35+
"opentelemetry-instrumentation-botocore",
36+
"opentelemetry-instrumentation-celery",
37+
"opentelemetry-instrumentation-confluent-kafka",
38+
"opentelemetry-instrumentation-dbapi",
39+
"opentelemetry-instrumentation-django",
40+
"opentelemetry-instrumentation-elasticsearch",
41+
"opentelemetry-instrumentation-falcon",
42+
"opentelemetry-instrumentation-fastapi",
43+
"opentelemetry-instrumentation-flask",
44+
"opentelemetry-instrumentation-grpc",
45+
"opentelemetry-instrumentation-httpx",
46+
"opentelemetry-instrumentation-jinja2",
47+
"opentelemetry-instrumentation-kafka-python",
48+
"opentelemetry-instrumentation-logging",
49+
"opentelemetry-instrumentation-mysql",
50+
"opentelemetry-instrumentation-mysqlclient",
51+
"opentelemetry-instrumentation-pika",
52+
"opentelemetry-instrumentation-psycopg2",
53+
"opentelemetry-instrumentation-pymemcache",
54+
"opentelemetry-instrumentation-pymongo",
55+
"opentelemetry-instrumentation-pymysql",
56+
"opentelemetry-instrumentation-pyramid",
57+
"opentelemetry-instrumentation-redis",
58+
"opentelemetry-instrumentation-remoulade",
59+
"opentelemetry-instrumentation-requests",
60+
"opentelemetry-instrumentation-sqlalchemy",
61+
"opentelemetry-instrumentation-sqlite3",
62+
"opentelemetry-instrumentation-starlette",
63+
"opentelemetry-instrumentation-system-metrics",
64+
"opentelemetry-instrumentation-tornado",
65+
"opentelemetry-instrumentation-tortoiseorm",
66+
"opentelemetry-instrumentation-urllib",
67+
"opentelemetry-instrumentation-urllib3",
68+
"opentelemetry-instrumentation-wsgi",
69+
"opentelemetry-instrumentation-cassandra",
6970
]
7071

7172
# AWS-specific packages with independent versioning
7273
AWS_DEPS = [
73-
'opentelemetry-sdk-extension-aws',
74-
'opentelemetry-propagator-aws-xray',
74+
"opentelemetry-sdk-extension-aws",
75+
"opentelemetry-propagator-aws-xray",
7576
]
7677

78+
7779
def get_latest_version(package_name):
7880
"""Get the latest version of a package from PyPI."""
7981
try:
80-
response = requests.get(f'https://pypi.org/pypi/{package_name}/json', timeout=30)
82+
response = requests.get(f"https://pypi.org/pypi/{package_name}/json", timeout=30)
8183
response.raise_for_status()
8284
data = response.json()
83-
return data['info']['version']
85+
return data["info"]["version"]
8486
except requests.RequestException as request_error:
8587
print(f"Warning: Could not get latest version for {package_name}: {request_error}")
8688
return None
8789

90+
8891
def main():
89-
otel_python_version = os.environ.get('OTEL_PYTHON_VERSION')
90-
otel_contrib_version = os.environ.get('OTEL_CONTRIB_VERSION')
91-
92+
otel_python_version = os.environ.get("OTEL_PYTHON_VERSION")
93+
otel_contrib_version = os.environ.get("OTEL_CONTRIB_VERSION")
94+
9295
if not otel_python_version or not otel_contrib_version:
9396
print("Error: OTEL_PYTHON_VERSION and OTEL_CONTRIB_VERSION environment variables required")
9497
sys.exit(1)
95-
96-
pyproject_path = 'aws-opentelemetry-distro/pyproject.toml'
97-
98+
99+
pyproject_path = "aws-opentelemetry-distro/pyproject.toml"
100+
98101
try:
99-
with open(pyproject_path, 'r', encoding='utf-8') as input_file:
102+
with open(pyproject_path, "r", encoding="utf-8") as input_file:
100103
content = input_file.read()
101-
104+
102105
updated = False
103-
106+
104107
# Update opentelemetry-python dependencies
105108
for dep in PYTHON_CORE_DEPS:
106109
pattern = rf'"{re.escape(dep)} == [^"]*"'
107110
replacement = f'"{dep} == {otel_python_version}"'
108111
if re.search(pattern, content):
109112
content = re.sub(pattern, replacement, content)
110113
updated = True
111-
112-
# Update opentelemetry-python-contrib dependencies
114+
115+
# Update opentelemetry-python-contrib dependencies
113116
for dep in CONTRIB_DEPS:
114117
pattern = rf'"{re.escape(dep)} == [^"]*"'
115118
replacement = f'"{dep} == {otel_contrib_version}"'
116119
if re.search(pattern, content):
117120
content = re.sub(pattern, replacement, content)
118121
updated = True
119-
122+
120123
# Update dependencies with independent versioning
121124
for dep in AWS_DEPS:
122125
latest_version = get_latest_version(dep)
@@ -127,17 +130,18 @@ def main():
127130
content = re.sub(pattern, replacement, content)
128131
updated = True
129132
print(f"Updated {dep} to {latest_version}")
130-
133+
131134
if updated:
132-
with open(pyproject_path, 'w', encoding='utf-8') as output_file:
135+
with open(pyproject_path, "w", encoding="utf-8") as output_file:
133136
output_file.write(content)
134-
print(f'Dependencies updated to Python {otel_python_version} / Contrib {otel_contrib_version}')
137+
print(f"Dependencies updated to Python {otel_python_version} / Contrib {otel_contrib_version}")
135138
else:
136-
print('No OpenTelemetry dependencies found to update')
137-
139+
print("No OpenTelemetry dependencies found to update")
140+
138141
except (OSError, IOError) as file_error:
139142
print(f"Error updating dependencies: {file_error}")
140143
sys.exit(1)
141144

142-
if __name__ == '__main__':
145+
146+
if __name__ == "__main__":
143147
main()

0 commit comments

Comments
 (0)