Skip to content

Commit 7d4e035

Browse files
Chore: upgrading community driver versions and add python 3.12 and 3.13 support (#1052)
Co-authored-by: Dhanushkumar Jv <kumardhanush509@gmail.com>
1 parent 2df8d33 commit 7d4e035

20 files changed

+211
-239
lines changed

.github/workflows/integration_tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
strategy:
1818
fail-fast: false
1919
matrix:
20-
python-version: [ "3.8", "3.11" ]
20+
python-version: [ "3.11", "3.12", "3.13" ]
2121
environment: [ "mysql", "pg" ]
2222

2323
steps:
@@ -71,7 +71,7 @@ jobs:
7171
strategy:
7272
fail-fast: false
7373
matrix:
74-
python-version: [ "3.8", "3.11" ]
74+
python-version: [ "3.11", "3.12", "3.13" ]
7575
environment: ["mysql", "pg"]
7676

7777
steps:

.github/workflows/integration_tests_codebuild.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
strategy:
1414
fail-fast: false
1515
matrix:
16-
python-version: [ "3.8", "3.11" ]
16+
python-version: [ "3.11", "3.12", "3.13" ]
1717
environment: [ "mysql", "pg" ]
1818

1919
runs-on: ubuntu-latest

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
runs-on: ubuntu-latest
3333
strategy:
3434
matrix:
35-
python-version: ["3.8", "3.9", "3.10", "3.11"]
35+
python-version: ["3.10", "3.11", "3.12", "3.13"]
3636
poetry-version: ["1.8.2"]
3737

3838
steps:

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ For all other questions, please use [GitHub discussions](https://github.com/awsl
205205

206206
1. Set up your environment by following the directions in the [Development Guide](./docs/development-guide/DevelopmentGuide.md).
207207
2. To contribute, first make a fork of this project.
208-
3. Make any changes on your fork. Make sure you are aware of the requirements for the project (e.g. do not require Python 3.7 if we are supporting Python 3.8 - 3.11 (inclusive)).
208+
3. Make any changes on your fork. Make sure you are aware of the requirements for the project (e.g. do not require Python 3.7 if we are supporting Python 3.10 - 3.13 (inclusive)).
209209
4. Create a pull request from your fork.
210210
5. Pull requests need to be approved and merged by maintainers into the main branch. <br />
211211

docs/GettingStarted.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
Before using the AWS Advanced Python Driver, you must install:
66

7-
- Python 3.8 - 3.11 (inclusive).
7+
- Python 3.10 - 3.13 (inclusive).
88
- The AWS Advanced Python Driver.
99
- Your choice of underlying Python driver.
1010
- To use the wrapper with Aurora with PostgreSQL compatibility, install [Psycopg](https://github.com/psycopg/psycopg).

docs/development-guide/DevelopmentGuide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Development Guide
22

33
### Setup
4-
Make sure you have Python 3.8 - 3.11 (inclusive) installed, along with your choice of underlying Python driver (see [minimum requirements](../GettingStarted.md#minimum-requirements)).
4+
Make sure you have Python 3.10 - 3.13 (inclusive) installed, along with your choice of underlying Python driver (see [minimum requirements](../GettingStarted.md#minimum-requirements)).
55

66
Clone the AWS Advanced Python Driver repository:
77

poetry.lock

Lines changed: 102 additions & 175 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@ classifiers = [
1616
"Programming Language :: Python",
1717
"Programming Language :: Python :: 3",
1818
"Programming Language :: Python :: 3 :: Only",
19-
"Programming Language :: Python :: 3.8",
20-
"Programming Language :: Python :: 3.9",
2119
"Programming Language :: Python :: 3.10",
2220
"Programming Language :: Python :: 3.11",
21+
"Programming Language :: Python :: 3.12",
22+
"Programming Language :: Python :: 3.13",
2323
]
2424

2525
[tool.poetry.dependencies]
26-
python = "^3.8.1"
26+
python = "^3.10.0"
2727
resourcebundle = "2.1.0"
2828
boto3 = "^1.34.111"
2929
toml = "^0.10.2"
@@ -40,9 +40,9 @@ flake8-type-checking = "^2.9.0"
4040
isort = "^5.13.2"
4141
pep8-naming = "^0.14.1"
4242
SQLAlchemy = "^2.0.30"
43-
psycopg = "^3.1.19"
44-
psycopg-binary = "^3.1.19"
45-
mysql-connector-python = "9.0.0"
43+
psycopg = "^3.3.1"
44+
psycopg-binary = "^3.3.1"
45+
mysql-connector-python = "^9.5.0"
4646

4747
[tool.poetry.group.test.dependencies]
4848
boto3 = "^1.34.111"
@@ -57,9 +57,9 @@ pytest-html-merger = ">=0.0.10,<0.1.1"
5757
toxiproxy-python = "^0.1.1"
5858
parameterized = "^0.9.0"
5959
tabulate = "^0.9.0"
60-
psycopg = "^3.1.19"
61-
psycopg-binary = "^3.1.19"
62-
mysql-connector-python = "9.0.0"
60+
psycopg = "^3.3.1"
61+
psycopg-binary = "^3.3.1"
62+
mysql-connector-python = "^9.5.0"
6363
opentelemetry-exporter-otlp = "^1.22.0"
6464
opentelemetry-exporter-otlp-proto-grpc = "^1.22.0"
6565
opentelemetry-sdk-extension-aws = "^2.0.1"

tests/integration/container/utils/target_python_version.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,5 @@
1717

1818
class TargetPythonVersion(Enum):
1919
PYTHON_3_11 = "PYTHON_3_11"
20-
PYTHON_3_8 = "PYTHON_3_8"
20+
PYTHON_3_12 = "PYTHON_3_12"
21+
PYTHON_3_13 = "PYTHON_3_13"

tests/integration/host/build.gradle.kts

Lines changed: 45 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ tasks.register<Test>("test-python-3.11-mysql") {
6868
filter.includeTestsMatching("integration.host.TestRunner.runTests")
6969
doFirst {
7070
systemProperty("exclude-performance", "true")
71-
systemProperty("exclude-python-38", "true")
71+
systemProperty("exclude-python-3-12", "true")
72+
systemProperty("exclude-python-3-13", "true")
7273
systemProperty("exclude-multi-az-cluster", "true")
7374
systemProperty("exclude-multi-az-instance", "true")
7475
systemProperty("exclude-bg", "true")
@@ -79,28 +80,47 @@ tasks.register<Test>("test-python-3.11-mysql") {
7980
}
8081
}
8182

82-
tasks.register<Test>("test-python-3.8-mysql") {
83+
tasks.register<Test>("test-python-3.11-pg") {
8384
group = "verification"
8485
filter.includeTestsMatching("integration.host.TestRunner.runTests")
8586
doFirst {
8687
systemProperty("exclude-performance", "true")
87-
systemProperty("exclude-python-311", "true")
88+
systemProperty("exclude-python-3-12", "true")
89+
systemProperty("exclude-python-3-13", "true")
8890
systemProperty("exclude-multi-az-cluster", "true")
8991
systemProperty("exclude-multi-az-instance", "true")
9092
systemProperty("exclude-bg", "true")
93+
systemProperty("exclude-mysql-driver", "true")
94+
systemProperty("exclude-mysql-engine", "true")
95+
systemProperty("exclude-mariadb-driver", "true")
96+
systemProperty("exclude-mariadb-engine", "true")
97+
}
98+
}
99+
100+
tasks.register<Test>("test-python-3.12-mysql") {
101+
group = "verification"
102+
filter.includeTestsMatching("integration.host.TestRunner.runTests")
103+
doFirst {
104+
systemProperty("exclude-performance", "true")
105+
systemProperty("exclude-python-3-11", "true")
106+
systemProperty("exclude-python-3-13", "true")
107+
systemProperty("exclude-multi-az-cluster", "true")
108+
systemProperty("exclude-multi-az-instance", "true")
91109
systemProperty("exclude-traces-telemetry", "true")
92110
systemProperty("exclude-metrics-telemetry", "true")
111+
systemProperty("exclude-bg", "true")
93112
systemProperty("exclude-pg-driver", "true")
94113
systemProperty("exclude-pg-engine", "true")
95114
}
96115
}
97116

98-
tasks.register<Test>("test-python-3.11-pg") {
117+
tasks.register<Test>("test-python-3.12-pg") {
99118
group = "verification"
100119
filter.includeTestsMatching("integration.host.TestRunner.runTests")
101120
doFirst {
102121
systemProperty("exclude-performance", "true")
103-
systemProperty("exclude-python-38", "true")
122+
systemProperty("exclude-python-3-11", "true")
123+
systemProperty("exclude-python-3-13", "true")
104124
systemProperty("exclude-multi-az-cluster", "true")
105125
systemProperty("exclude-multi-az-instance", "true")
106126
systemProperty("exclude-bg", "true")
@@ -111,12 +131,30 @@ tasks.register<Test>("test-python-3.11-pg") {
111131
}
112132
}
113133

114-
tasks.register<Test>("test-python-3.8-pg") {
134+
tasks.register<Test>("test-python-3.13-mysql") {
135+
group = "verification"
136+
filter.includeTestsMatching("integration.host.TestRunner.runTests")
137+
doFirst {
138+
systemProperty("exclude-performance", "true")
139+
systemProperty("exclude-python-3-11", "true")
140+
systemProperty("exclude-python-3-12", "true")
141+
systemProperty("exclude-multi-az-cluster", "true")
142+
systemProperty("exclude-multi-az-instance", "true")
143+
systemProperty("exclude-bg", "true")
144+
systemProperty("exclude-traces-telemetry", "true")
145+
systemProperty("exclude-metrics-telemetry", "true")
146+
systemProperty("exclude-pg-driver", "true")
147+
systemProperty("exclude-pg-engine", "true")
148+
}
149+
}
150+
151+
tasks.register<Test>("test-python-3.13-pg") {
115152
group = "verification"
116153
filter.includeTestsMatching("integration.host.TestRunner.runTests")
117154
doFirst {
118155
systemProperty("exclude-performance", "true")
119-
systemProperty("exclude-python-311", "true")
156+
systemProperty("exclude-python-3-11", "true")
157+
systemProperty("exclude-python-3-12", "true")
120158
systemProperty("exclude-multi-az-cluster", "true")
121159
systemProperty("exclude-multi-az-instance", "true")
122160
systemProperty("exclude-bg", "true")
@@ -136,7 +174,6 @@ tasks.register<Test>("test-docker") {
136174
systemProperty("exclude-multi-az-instance", "true")
137175
systemProperty("exclude-bg", "true")
138176
systemProperty("exclude-performance", "true")
139-
systemProperty("exclude-python-38", "true")
140177
}
141178
}
142179

@@ -149,7 +186,6 @@ tasks.register<Test>("test-aurora") {
149186
systemProperty("exclude-multi-az-instance", "true")
150187
systemProperty("exclude-bg", "true")
151188
systemProperty("exclude-performance", "true")
152-
systemProperty("exclude-python-38", "true")
153189
}
154190
}
155191

@@ -190,7 +226,6 @@ tasks.register<Test>("test-multi-az") {
190226
systemProperty("exclude-docker", "true")
191227
systemProperty("exclude-performance", "true")
192228
systemProperty("exclude-aurora", "true")
193-
systemProperty("exclude-python-38", "true")
194229
systemProperty("exclude-bg", "true")
195230
}
196231
}
@@ -276,7 +311,6 @@ tasks.register<Test>("test-bgd-mysql-instance") {
276311
systemProperty("exclude-performance", "true")
277312
systemProperty("exclude-pg-driver", "true")
278313
systemProperty("exclude-pg-engine", "true")
279-
systemProperty("exclude-python-38", "true")
280314
systemProperty("exclude-aurora", "true")
281315
systemProperty("exclude-failover", "true")
282316
systemProperty("exclude-secrets-manager", "true")
@@ -296,7 +330,6 @@ tasks.register<Test>("test-bgd-mysql-aurora") {
296330
systemProperty("exclude-performance", "true")
297331
systemProperty("exclude-pg-driver", "true")
298332
systemProperty("exclude-pg-engine", "true")
299-
systemProperty("exclude-python-38", "true")
300333
systemProperty("exclude-multi-az-instance", "true")
301334
systemProperty("exclude-failover", "true")
302335
systemProperty("exclude-secrets-manager", "true")
@@ -317,7 +350,6 @@ tasks.register<Test>("test-bgd-pg-instance") {
317350
systemProperty("exclude-performance", "true")
318351
systemProperty("exclude-mysql-driver", "true")
319352
systemProperty("exclude-mysql-engine", "true")
320-
systemProperty("exclude-python-38", "true")
321353
systemProperty("exclude-aurora", "true")
322354
systemProperty("exclude-failover", "true")
323355
systemProperty("exclude-secrets-manager", "true")
@@ -337,7 +369,6 @@ tasks.register<Test>("test-bgd-pg-aurora") {
337369
systemProperty("exclude-performance", "true")
338370
systemProperty("exclude-mysql-driver", "true")
339371
systemProperty("exclude-mysql-engine", "true")
340-
systemProperty("exclude-python-38", "true")
341372
systemProperty("exclude-multi-az-instance", "true")
342373
systemProperty("exclude-failover", "true")
343374
systemProperty("exclude-secrets-manager", "true")
@@ -357,7 +388,6 @@ tasks.register<Test>("debug-all-environments") {
357388
filter.includeTestsMatching("integration.host.TestRunner.debugTests")
358389
doFirst {
359390
systemProperty("exclude-performance", "true")
360-
systemProperty("exclude-python-38", "true")
361391
systemProperty("exclude-bg", "true")
362392
}
363393
}
@@ -371,7 +401,6 @@ tasks.register<Test>("debug-docker") {
371401
systemProperty("exclude-multi-az-instance", "true")
372402
systemProperty("exclude-bg", "true")
373403
systemProperty("exclude-performance", "true")
374-
systemProperty("exclude-python-38", "true")
375404
}
376405
}
377406

@@ -384,7 +413,6 @@ tasks.register<Test>("debug-aurora") {
384413
systemProperty("exclude-multi-az-instance", "true")
385414
systemProperty("exclude-bg", "true")
386415
systemProperty("exclude-performance", "true")
387-
systemProperty("exclude-python-38", "true")
388416
}
389417
}
390418

@@ -470,7 +498,6 @@ tasks.register<Test>("debug-multi-az") {
470498
systemProperty("exclude-docker", "true")
471499
systemProperty("exclude-aurora", "true")
472500
systemProperty("exclude-performance", "true")
473-
systemProperty("exclude-python-38", "true")
474501
systemProperty("exclude-bg", "true")
475502
}
476503
}
@@ -509,7 +536,6 @@ tasks.register<Test>("debug-bgd-pg-aurora") {
509536
systemProperty("exclude-performance", "true")
510537
systemProperty("exclude-mysql-driver", "true")
511538
systemProperty("exclude-mysql-engine", "true")
512-
systemProperty("exclude-python-38", "true")
513539
systemProperty("exclude-multi-az-instance", "true")
514540
systemProperty("exclude-failover", "true")
515541
systemProperty("exclude-secrets-manager", "true")
@@ -529,7 +555,6 @@ tasks.register<Test>("debug-bgd-mysql-aurora") {
529555
systemProperty("exclude-performance", "true")
530556
systemProperty("exclude-pg-driver", "true")
531557
systemProperty("exclude-pg-engine", "true")
532-
systemProperty("exclude-python-38", "true")
533558
systemProperty("exclude-multi-az-instance", "true")
534559
systemProperty("exclude-failover", "true")
535560
systemProperty("exclude-secrets-manager", "true")
@@ -549,7 +574,6 @@ tasks.register<Test>("debug-bgd-mysql-instance") {
549574
systemProperty("exclude-performance", "true")
550575
systemProperty("exclude-pg-driver", "true")
551576
systemProperty("exclude-pg-engine", "true")
552-
systemProperty("exclude-python-38", "true")
553577
systemProperty("exclude-aurora", "true")
554578
systemProperty("exclude-failover", "true")
555579
systemProperty("exclude-secrets-manager", "true")
@@ -569,7 +593,6 @@ tasks.register<Test>("debug-bgd-pg-instance") {
569593
systemProperty("exclude-performance", "true")
570594
systemProperty("exclude-mysql-driver", "true")
571595
systemProperty("exclude-mysql-engine", "true")
572-
systemProperty("exclude-python-38", "true")
573596
systemProperty("exclude-aurora", "true")
574597
systemProperty("exclude-failover", "true")
575598
systemProperty("exclude-secrets-manager", "true")

0 commit comments

Comments
 (0)