Skip to content

Commit d0e763d

Browse files
eugene-lumigoEugene Orlovsky
and
Eugene Orlovsky
authored
TRAC-1-Support-python-3.12-in-python-otel-distro (#873)
adding python support 3.12 --------- Co-authored-by: Eugene Orlovsky <[email protected]>
1 parent 07edd2a commit d0e763d

File tree

22 files changed

+1320
-69
lines changed

22 files changed

+1320
-69
lines changed

.github/workflows/push-actions.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
strategy:
3535
fail-fast: false # Prevent a single failure in the matrix from stopping all other jobs
3636
matrix:
37-
python-version: [ '3.8', '3.9', '3.10', '3.11' ]
37+
python-version: [ '3.8', '3.9', '3.10', '3.11', '3.12' ]
3838
integration-test-family: ${{ fromJson(needs.list-instrumentations.outputs.integration-tests) }}
3939
name: ${{ matrix.python-version }} ${{ matrix.integration-test-family }}
4040
steps:
@@ -52,7 +52,7 @@ jobs:
5252
strategy:
5353
fail-fast: false # Prevent a single failure in the matrix from stopping all other jobs
5454
matrix:
55-
python-version: [ '3.8', '3.9', '3.10', '3.11' ]
55+
python-version: [ '3.8', '3.9', '3.10', '3.11', '3.12' ]
5656
name: Component Test for Python ${{ matrix.python-version }}
5757
steps:
5858
- uses: actions/checkout@v3

.github/workflows/version-testing.yml

+6-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
strategy:
1111
matrix:
1212
# If this key gets renamed, noxfile.py needs to be updated accordingly
13-
python-version: [ '3.8', '3.9', '3.10', '3.11' ]
13+
python-version: [ '3.8', '3.9', '3.10', '3.11', '3.12' ]
1414
name: test-untested-versions
1515
steps:
1616
- uses: actions/checkout@v3
@@ -62,6 +62,11 @@ jobs:
6262
with:
6363
name: '3.11'
6464
path: versions_artifacts/3.11
65+
- uses: actions/download-artifact@v3
66+
continue-on-error: true
67+
with:
68+
name: '3.12'
69+
path: versions_artifacts/3.12
6570
- run: python3 -m pip install -r requirements.txt
6671
- run: python3 -m scripts.gather_version_artifacts
6772
- run: git --no-pager diff

README.md

+58-58
Original file line numberDiff line numberDiff line change
@@ -225,64 +225,64 @@ For users on Python 3.7, we recommend upgrading to a newer version of Python to
225225

226226
## Supported packages
227227

228-
| Instrumentation | Package | Supported Versions | | | |
229-
| --- | --- | :---: | :---: | :---: | :---: |
230-
| | | 3.8 | 3.9 | 3.10 | 3.11 |
231-
| botocore | [boto3](https://pypi.org/project/boto3) | 1.17.22~1.35.15|1.17.22~1.35.15|1.17.22~1.35.15|1.17.22~1.35.15|
232-
| django | [django](https://pypi.org/project/django) | 3.2.1~3.2.25|3.2.1~3.2.25|3.2.1~3.2.25|3.2.1~3.2.25|
233-
| | | 4.0.1~4.2.16| 4.0.1~4.2.16| 4.0.1~4.2.16| 4.0.1~4.2.16|
234-
| | | 3.2| 3.2| 5.0.1~5.1.1| 5.0.1~5.1.1|
235-
| | | 4.0| 4.0| 3.2| 3.2|
236-
| | | 4.0.a1| 4.0.a1| 4.0| 4.0|
237-
| | | 4.0.b1| 4.0.b1| 4.0.a1| 4.0.a1|
238-
| | | 4.0.rc1| 4.0.rc1| 4.0.b1| 4.0.b1|
239-
| | | 4.1| 4.1| 4.0.rc1| 4.0.rc1|
240-
| | | 4.1.a1| 4.1.a1| 4.1| 4.1|
241-
| | | 4.1.b1| 4.1.b1| 4.1.a1| 4.1.a1|
242-
| | | 4.1.rc1| 4.1.rc1| 4.1.b1| 4.1.b1|
243-
| | | 4.1rc1| 4.1rc1| 4.1.rc1| 4.1.rc1|
244-
| | | 4.2| 4.2| 4.1rc1| 4.1rc1|
245-
| | | 4.2.a1| 4.2.a1| 4.2| 4.2|
246-
| | | 4.2.b1| 4.2.b1| 4.2.a1| 4.2.a1|
247-
| | | 4.2.rc1| 4.2.rc1| 4.2.b1| 4.2.b1|
248-
| | | 4.2rc1| 4.2rc1| 4.2.rc1| 4.2.rc1|
249-
| | | | | 4.2rc1| 4.2rc1|
250-
| | | | | 5.0| 5.0|
251-
| | | | | 5.0rc1| 5.0rc1|
252-
| | | | | 5.1| 5.1|
253-
| | | | | 5.1rc1| 5.1rc1|
254-
| fastapi | [fastapi](https://pypi.org/project/fastapi) | 0.56.1~0.100.0|0.56.1~0.100.0|0.56.1~0.100.0|0.56.1~0.100.0|
255-
| | | 0.100.0b2~0.114.0| 0.100.0b2~0.114.0| 0.100.0b2~0.114.0| 0.100.0b2~0.114.0|
256-
| | [uvicorn](https://pypi.org/project/uvicorn) | 0.11.3~0.22.0|0.11.3~0.22.0|0.11.3~0.22.0|0.12.0~0.22.0|
257-
| | | 0.24.0~0.30.6| 0.24.0~0.30.6| 0.24.0~0.30.6| 0.24.0~0.30.6|
258-
| flask | [flask](https://pypi.org/project/flask) | 2.0.0~2.2.5|2.0.0~2.2.5|2.0.0~2.2.5|2.0.0~2.2.5|
259-
| grpcio | [grpcio](https://pypi.org/project/grpcio) | 1.45.0~1.66.1|1.45.0~1.66.1|1.45.0~1.66.1|1.49.0~1.66.1|
260-
| kafka_python | [kafka_python](https://pypi.org/project/kafka_python) | 2.0.0~2.0.2|2.0.0~2.0.2|2.0.0~2.0.2|2.0.0~2.0.2|
261-
| pika | [pika](https://pypi.org/project/pika) | 1.0.0|1.0.0|1.0.0|1.0.0|
262-
| | | 1.0.1~1.3.0| 1.0.1~1.3.0| 1.0.1~1.3.0| 1.0.1~1.3.0|
263-
| | | 1.3.0rc5~1.3.2| 1.3.0rc5~1.3.2| 1.3.0rc5~1.3.2| 1.3.0rc5~1.3.2|
264-
| psycopg | [psycopg](https://pypi.org/project/psycopg) | 3.1.1~3.2.1|3.1.1~3.2.1|3.1.1~3.2.1|3.1.1~3.2.1|
265-
| | | 3.1| 3.1| 3.1| 3.1|
266-
| | [psycopg-binary](https://pypi.org/project/psycopg-binary) | 3.1.1~3.2.1|3.1.1~3.2.1|3.1.1~3.2.1|3.1.4~3.2.1|
267-
| | | 3.1| 3.1| 3.1| |
268-
| psycopg2 | [psycopg2](https://pypi.org/project/psycopg2) | 2.8.1~2.9.9|2.8.1~2.9.9|2.8.1~2.8.6|2.9.5~2.9.9|
269-
| | | 2.8| 2.8| 2.9.5~2.9.9| |
270-
| | | 2.9| 2.9| 2.8| |
271-
| | [psycopg2-binary](https://pypi.org/project/psycopg2-binary) | 2.8.1~2.9.9|2.8.1~2.9.9|2.8.1~2.8.6|2.9.5~2.9.9|
272-
| | | 2.8| 2.8| 2.9.5~2.9.9| |
273-
| | | 2.9| 2.9| 2.8| |
274-
| pymongo | [pymongo](https://pypi.org/project/pymongo) | 3.1.1~3.3.1|3.1.1~3.3.1|3.1.1~3.3.1|3.1.1~3.3.1|
275-
| | | 3.5.0~3.13.0| 3.5.0~3.13.0| 3.5.0~3.13.0| 3.5.0~3.13.0|
276-
| | | 4.0.1~4.8.0b0| 4.0.1~4.8.0b0| 4.0.1~4.8.0b0| 4.0.1~4.8.0b0|
277-
| | | 3.1| 3.1| 3.1| 3.1|
278-
| | | 3.2| 3.2| 3.2| 3.2|
279-
| | | 4.0| 4.0| 4.0| 4.0|
280-
| pymysql | [pymysql](https://pypi.org/project/pymysql) | 0.9.0~0.10.1|0.9.0~0.10.1|0.9.0~0.10.1|0.9.0~0.10.1|
281-
| | | 1.0.0~1.0.3| 1.0.0~1.0.3| 1.0.0~1.0.3| 1.0.0~1.0.3|
282-
| | | 1.1.0~1.1.1| 1.1.0~1.1.1| 1.1.0~1.1.1| 1.1.0~1.1.1|
283-
| redis | [redis](https://pypi.org/project/redis) | 4.1.1~4.2.0|4.1.1~4.2.0|4.1.1~4.2.0|4.1.1~4.2.0|
284-
| | | 4.2.1~4.6.0| 4.2.1~4.6.0| 4.2.1~4.6.0| 4.2.1~4.6.0|
285-
| | | 5.0.0~5.1.0b7| 5.0.0~5.1.0b7| 5.0.0~5.1.0b7| 5.0.0~5.1.0b7|
228+
| Instrumentation | Package | Supported Versions | | | | |
229+
| --- | --- | :---: | :---: | :---: | :---: | :---: |
230+
| | | 3.8 | 3.9 | 3.10 | 3.11 | 3.12 |
231+
| botocore | [boto3](https://pypi.org/project/boto3) | 1.17.22~1.35.15|1.17.22~1.35.15|1.17.22~1.35.15|1.17.22~1.35.15|1.21.46~1.34.144|
232+
| django | [django](https://pypi.org/project/django) | 3.2.1~3.2.25|3.2.1~3.2.25|3.2.1~3.2.25|3.2.1~3.2.25|3.2.1~3.2.25|
233+
| | | 4.0.1~4.2.16| 4.0.1~4.2.16| 4.0.1~4.2.16| 4.0.1~4.2.16| 4.0.1~4.2.14|
234+
| | | 3.2| 3.2| 5.0.1~5.1.1| 5.0.1~5.1.1| 5.0.1~5.1.1|
235+
| | | 4.0| 4.0| 3.2| 3.2| 3.2|
236+
| | | 4.0.a1| 4.0.a1| 4.0| 4.0| 4.0|
237+
| | | 4.0.b1| 4.0.b1| 4.0.a1| 4.0.a1| 4.0.a1|
238+
| | | 4.0.rc1| 4.0.rc1| 4.0.b1| 4.0.b1| 4.0.b1|
239+
| | | 4.1| 4.1| 4.0.rc1| 4.0.rc1| 4.0.rc1|
240+
| | | 4.1.a1| 4.1.a1| 4.1| 4.1| 4.1|
241+
| | | 4.1.b1| 4.1.b1| 4.1.a1| 4.1.a1| 4.1.a1|
242+
| | | 4.1.rc1| 4.1.rc1| 4.1.b1| 4.1.b1| 4.1.b1|
243+
| | | 4.1rc1| 4.1rc1| 4.1.rc1| 4.1.rc1| 4.1.rc1|
244+
| | | 4.2| 4.2| 4.1rc1| 4.1rc1| 4.1rc1|
245+
| | | 4.2.a1| 4.2.a1| 4.2| 4.2| 4.2|
246+
| | | 4.2.b1| 4.2.b1| 4.2.a1| 4.2.a1| 4.2.a1|
247+
| | | 4.2.rc1| 4.2.rc1| 4.2.b1| 4.2.b1| 4.2.b1|
248+
| | | 4.2rc1| 4.2rc1| 4.2.rc1| 4.2.rc1| 4.2.rc1|
249+
| | | | | 4.2rc1| 4.2rc1| 4.2rc1|
250+
| | | | | 5.0| 5.0| 5.0|
251+
| | | | | 5.0rc1| 5.0rc1| 5.0rc1|
252+
| | | | | 5.1| 5.1| |
253+
| | | | | 5.1rc1| 5.1rc1| |
254+
| fastapi | [fastapi](https://pypi.org/project/fastapi) | 0.56.1~0.100.0|0.56.1~0.100.0|0.56.1~0.100.0|0.56.1~0.100.0|0.56.1~0.100.0|
255+
| | | 0.100.0b2~0.114.0| 0.100.0b2~0.114.0| 0.100.0b2~0.114.0| 0.100.0b2~0.114.0| 0.100.0b2~0.111.0.dev1|
256+
| | [uvicorn](https://pypi.org/project/uvicorn) | 0.11.3~0.22.0|0.11.3~0.22.0|0.11.3~0.22.0|0.12.0~0.22.0|0.12.0~0.22.0|
257+
| | | 0.24.0~0.30.6| 0.24.0~0.30.6| 0.24.0~0.30.6| 0.24.0~0.30.6| 0.24.0~0.30.1|
258+
| flask | [flask](https://pypi.org/project/flask) | 2.0.0~2.2.5|2.0.0~2.2.5|2.0.0~2.2.5|2.0.0~2.2.5|2.0.0~2.2.5|
259+
| grpcio | [grpcio](https://pypi.org/project/grpcio) | 1.45.0~1.66.1|1.45.0~1.66.1|1.45.0~1.66.1|1.49.0~1.66.1|1.59.0~1.65.0rc2|
260+
| kafka_python | [kafka_python](https://pypi.org/project/kafka_python) | 2.0.0~2.0.2|2.0.0~2.0.2|2.0.0~2.0.2|2.0.0~2.0.2| |
261+
| pika | [pika](https://pypi.org/project/pika) | 1.0.0|1.0.0|1.0.0|1.0.0|1.0.0|
262+
| | | 1.0.1~1.3.0| 1.0.1~1.3.0| 1.0.1~1.3.0| 1.0.1~1.3.0| 1.0.1~1.3.0|
263+
| | | 1.3.0rc5~1.3.2| 1.3.0rc5~1.3.2| 1.3.0rc5~1.3.2| 1.3.0rc5~1.3.2| 1.3.0rc5~1.3.2|
264+
| psycopg | [psycopg-binary](https://pypi.org/project/psycopg-binary) | 3.1.1~3.2.1|3.1.1~3.2.1|3.1.1~3.2.1|3.1.4~3.2.1|3.1.4~3.2.1|
265+
| | | 3.1| 3.1| 3.1| | |
266+
| | [psycopg](https://pypi.org/project/psycopg) | 3.1.1~3.2.1|3.1.1~3.2.1|3.1.1~3.2.1|3.1.1~3.2.1|3.1.1~3.2.1|
267+
| | | 3.1| 3.1| 3.1| 3.1| 3.1|
268+
| psycopg2 | [psycopg2-binary](https://pypi.org/project/psycopg2-binary) | 2.8.1~2.9.9|2.8.1~2.9.9|2.8.1~2.8.6|2.9.5~2.9.9|2.9.5~2.9.9|
269+
| | | 2.8| 2.8| 2.9.5~2.9.9| | |
270+
| | | 2.9| 2.9| 2.8| | |
271+
| | [psycopg2](https://pypi.org/project/psycopg2) | 2.8.1~2.9.9|2.8.1~2.9.9|2.8.1~2.8.6|2.9.5~2.9.9|2.9.5~2.9.9|
272+
| | | 2.8| 2.8| 2.9.5~2.9.9| | |
273+
| | | 2.9| 2.9| 2.8| | |
274+
| pymongo | [pymongo](https://pypi.org/project/pymongo) | 3.1.1~3.3.1|3.1.1~3.3.1|3.1.1~3.3.1|3.1.1~3.3.1|3.1.1~3.3.1|
275+
| | | 3.5.0~3.13.0| 3.5.0~3.13.0| 3.5.0~3.13.0| 3.5.0~3.13.0| 3.5.0~3.13.0|
276+
| | | 4.0.1~4.8.0b0| 4.0.1~4.8.0b0| 4.0.1~4.8.0b0| 4.0.1~4.8.0b0| 4.0.1~4.8.0b0|
277+
| | | 3.1| 3.1| 3.1| 3.1| 3.1|
278+
| | | 3.2| 3.2| 3.2| 3.2| 3.2|
279+
| | | 4.0| 4.0| 4.0| 4.0| 4.0|
280+
| pymysql | [pymysql](https://pypi.org/project/pymysql) | 0.9.0~0.10.1|0.9.0~0.10.1|0.9.0~0.10.1|0.9.0~0.10.1|0.9.0~0.10.1|
281+
| | | 1.0.0~1.0.3| 1.0.0~1.0.3| 1.0.0~1.0.3| 1.0.0~1.0.3| 1.0.0~1.0.3|
282+
| | | 1.1.0~1.1.1| 1.1.0~1.1.1| 1.1.0~1.1.1| 1.1.0~1.1.1| 1.1.0~1.1.1|
283+
| redis | [redis](https://pypi.org/project/redis) | 4.1.1~4.2.0|4.1.1~4.2.0|4.1.1~4.2.0|4.1.1~4.2.0|4.1.1~4.2.0|
284+
| | | 4.2.1~4.6.0| 4.2.1~4.6.0| 4.2.1~4.6.0| 4.2.1~4.6.0| 4.2.1~4.6.0|
285+
| | | 5.0.0~5.1.0b7| 5.0.0~5.1.0b7| 5.0.0~5.1.0b7| 5.0.0~5.1.0b7| 5.0.0~5.1.0b7|
286286

287287
## Automated dependency reporting
288288

scripts/init_tested_versions.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env bash
22

33
PACKAGE_NAME="$1"
4-
SUPPORTED_VERSIONS=(3.8 3.9 3.10 3.11)
4+
SUPPORTED_VERSIONS=(3.8 3.9 3.10 3.11 3.12)
55

66
if [ -z "$PACKAGE_NAME" ]; then
77
echo "Usage: $0 <PACKAGE_NAME>"

src/lumigo_opentelemetry/__init__.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,11 @@ def init() -> Dict[str, Any]:
8181

8282
try:
8383
python_version = sys.version_info
84-
# Check if the major version is 3 and the minor version is between 8 and 11
85-
if python_version.major != 3 or not (8 <= python_version.minor <= 11):
84+
# Check if the major version is 3 and the minor version is between 8 and 12
85+
if python_version.major != 3 or not (8 <= python_version.minor <= 12):
8686
logger.warning(
8787
f"Unsupported Python version {python_version.major}.{python_version.minor}; "
88-
"only Python 3.8 to 3.11 are supported."
88+
"only Python 3.8 to 3.12 are supported."
8989
)
9090
return {}
9191

0 commit comments

Comments
 (0)