Skip to content

Commit d14550d

Browse files
chore(sdk): update python and dependencies
- bump min python to 3.10 - use python 3.10 for most jobs - adjust python version ci matrix from 3.10 to latest - bump dependency versions - regenerate lock files - adjust changelogs and versions - bump uv version - reformat after formatter update STACKITSDK-466
1 parent 815ef3e commit d14550d

1,920 files changed

Lines changed: 36580 additions & 34173 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/cd.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ jobs:
1818
- name: install uv & python
1919
uses: astral-sh/setup-uv@v7
2020
with:
21-
version: "0.10.4"
22-
python-version: "3.9"
21+
version: "0.11.28"
22+
python-version: "3.10"
2323
enable-cache: "false"
2424
- name: Push tag for each updated package
2525
env:

.github/workflows/ci.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ jobs:
88
strategy:
99
matrix:
1010
os: [ubuntu-latest, macos-latest]
11-
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
11+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"]
1212
runs-on: ${{ matrix.os }}
1313
steps:
1414
- name: Checkout
1515
uses: actions/checkout@v4
1616
- name: install uv and python
1717
uses: astral-sh/setup-uv@v7
1818
with:
19-
version: "0.10.4"
19+
version: "0.11.28"
2020
python-version: ${{ matrix.python-version }}
2121
- name: Install
2222
run: make install-dev

.github/workflows/dependency-checker.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ jobs:
1818
- name: install uv and python
1919
uses: astral-sh/setup-uv@v7
2020
with:
21-
version: "0.10.4"
22-
python-version: "3.9"
21+
version: "0.11.28"
22+
python-version: "3.10"
2323
- name: UV Python dependency updater
2424
env:
2525
GH_TOKEN: ${{ secrets.RENOVATE_TOKEN }}

CHANGELOG.md

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,204 @@
11
## Release (2026-MM-DD)
22

3+
- `core`:
4+
- [v0.3.0](core/CHANGELOG.md#v030)
5+
- **Chore:** Bump minimum Python version to 3.10
6+
- **Chore:** Update dependencies
7+
- `alb`
8+
- [v0.11.0](services/alb/CHANGELOG.md#v0110)
9+
- **Chore:** Bump minimum Python version to 3.10
10+
- **Chore:** Update dependencies
11+
- `auditlog`
12+
- [v0.3.0](services/auditlog/CHANGELOG.md#v030)
13+
- **Chore:** Bump minimum Python version to 3.10
14+
- **Chore:** Update dependencies
15+
- `authorization`
16+
- [v0.9.0](services/authorization/CHANGELOG.md#v090)
17+
- **Chore:** Bump minimum Python version to 3.10
18+
- **Chore:** Update dependencies
19+
- `cdn`
20+
- [v2.7.0](services/cdn/CHANGELOG.md#v270)
21+
- **Chore:** Bump minimum Python version to 3.10
22+
- **Chore:** Update dependencies
23+
- `certificates`
24+
- [v1.7.0](services/certificates/CHANGELOG.md#v170)
25+
- **Chore:** Bump minimum Python version to 3.10
26+
- **Chore:** Update dependencies
27+
- `cost`
28+
- [v0.3.0](services/cost/CHANGELOG.md#v030)
29+
- **Chore:** Bump minimum Python version to 3.10
30+
- **Chore:** Update dependencies
31+
- `dns`
32+
- [v0.7.0](services/dns/CHANGELOG.md#v070)
33+
- **Chore:** Bump minimum Python version to 3.10
34+
- **Chore:** Update dependencies
35+
- `edge`
36+
- [v0.6.0](services/edge/CHANGELOG.md#v060)
37+
- **Chore:** Bump minimum Python version to 3.10
38+
- **Chore:** Update dependencies
39+
- `git`
40+
- [v0.10.0](services/git/CHANGELOG.md#v0100)
41+
- **Chore:** Bump minimum Python version to 3.10
42+
- **Chore:** Update dependencies
43+
- `iaas`
44+
- [v1.5.0](services/iaas/CHANGELOG.md#v150)
45+
- **Chore:** Bump minimum Python version to 3.10
46+
- **Chore:** Update dependencies
47+
- `intake`
48+
- [v0.7.0](services/intake/CHANGELOG.md#v070)
49+
- **Chore:** Bump minimum Python version to 3.10
50+
- **Chore:** Update dependencies
51+
- `kms`
52+
- [v0.11.0](services/kms/CHANGELOG.md#0110)
53+
- **Chore:** Bump minimum Python version to 3.10
54+
- **Chore:** Update dependencies
55+
- `lbapplication`
56+
- [v0.5.0](services/lbapplication/CHANGELOG.md#v050)
57+
- **Chore:** Bump minimum Python version to 3.10
58+
- **Chore:** Update dependencies
59+
- `loadbalancer`
60+
- [v0.11.0](services/loadbalancer/CHANGELOG.md#v0110)
61+
- **Chore:** Bump minimum Python version to 3.10
62+
- **Chore:** Update dependencies
363
- `logme`:
64+
- [v1.1.0](services/logme/CHANGELOG.md#v110)
65+
- **Chore:** Bump minimum Python version to 3.10
66+
- **Chore:** Update dependencies
467
- [v1.0.0](services/logme/CHANGELOG.md#v100)
568
- **Breaking Change:** The region is no longer specified within the client configuration. Instead, the region must be passed as a parameter to any region-specific request.
669
- **Deprecation:** `fluentd_tls`, `fluentd_tls_ciphers`, `fluentd_tls_max_version`, `fluentd_tls_min_version`, `fluentd_tls_version`, `opensearch_tls_ciphers`, `opensearch_tls_protocols` from `InstanceParameters` model are deprecated and will be removed 2026-12-12.
770
- **Feature:** Added optional `CreateCredentialsPayload`.
71+
- `logs`
72+
- [v0.4.0](services/logs/CHANGELOG.md#v040)
73+
- **Chore:** Bump minimum Python version to 3.10
74+
- **Chore:** Update dependencies
875
- `mariadb`:
76+
- [v1.1.0](services/mariadb/CHANGELOG.md#v110)
77+
- **Chore:** Bump minimum Python version to 3.10
78+
- **Chore:** Update dependencies
979
- [v1.0.0](services/mariadb/CHANGELOG.md#v100)
1080
- **Breaking Change:** The region is no longer specified within the client configuration. Instead, the region must be passed as a parameter to any region-specific request.
1181
- **Feature:** Added optional `CreateCredentialsPayload`.
1282
- `modelexperiements`
83+
- [v0.2.0](services/modelexperiments/CHANGELOG.md#v020)
84+
- **Chore:** Bump minimum Python version to 3.10
85+
- **Chore:** Update dependencies
1386
- [v0.1.0](services/modelexperiments/CHANGELOG.md#v010)
1487
- **New**: API for STACKIT modelexperiments
88+
- `modelserving`
89+
- [v0.4.0](services/modelserving/CHANGELOG.md#040)
90+
- **Chore:** Bump minimum Python version to 3.10
91+
- **Chore:** Update dependencies
1592
- `mongodbflex`:
93+
- [v1.5.0](services/mongodbflex/CHANGELOG.md#v1.5.0)
94+
- **Chore:** Bump minimum Python version to 3.10
95+
- **Chore:** Update dependencies
1696
- [v1.4.0](services/mongodbflex/CHANGELOG.md#v140)
1797
- **Breaking change:** Introduce validators for `name`, `database` and `username`
98+
- `objectstorage`
99+
- [v1.5.0](services/objectstorage/CHANGELOG.md#mdv150)
100+
- **Chore:** Bump minimum Python version to 3.10
101+
- **Chore:** Update dependencies
102+
- `observability`
103+
- [v0.16.0](services/observability/CHANGELOG.md#v0160)
104+
- **Chore:** Bump minimum Python version to 3.10
105+
- **Chore:** Update dependencies
18106
- `opensearch`:
107+
- [v1.1.0](services/opensearch/CHANGELOG.md#v110)
108+
- **Chore:** Bump minimum Python version to 3.10
109+
- **Chore:** Update dependencies
19110
- [v1.0.0](services/opensearch/CHANGELOG.md#v100)
20111
- **Breaking Change:** The region is no longer specified within the client configuration. Instead, the region must be passed as a parameter to any region-specific request.
21112
- **Deprecation:** `tls_ciphers`, `tls_protocols` from `InstanceParameters` model are deprecated and will be removed 2026-12-12.
22113
- **Feature:** Added optional `CreateCredentialsPayload`.
114+
- `postgresflex`
115+
- [v1.4.0](services/postgresflex/CHANGELOG.md#v140)
116+
- **Chore:** Bump minimum Python version to 3.10
117+
- **Chore:** Update dependencies
23118
- `rabbitmq`:
119+
- [v1.1.0](services/rabbitmq/CHANGELOG.md#v110)
120+
- **Chore:** Bump minimum Python version to 3.10
121+
- **Chore:** Update dependencies
24122
- [v1.0.0](services/rabbitmq/CHANGELOG.md#v100)
25123
- **Breaking Change:** The region is no longer specified within the client configuration. Instead, the region must be passed as a parameter to any region-specific request.
26124
- **Deprecation:** `roles`, `tls_ciphers`, `tls_protocols` from `InstanceParameters` model are deprecated and will be removed 2026-12-11.
27125
- **Feature:** Added optional `CreateCredentialsPayload`.
28126
- `redis`:
127+
- [v1.1.0](services/rabbitmq/CHANGELOG.md#v110)
128+
- **Chore:** Bump minimum Python version to 3.10
129+
- **Chore:** Update dependencies
29130
- [v1.0.0](services/redis/CHANGELOG.md#v100)
30131
- **Breaking Change:** The region is no longer specified within the client configuration. Instead, the region must be passed as a parameter to any region-specific request.
31132
- **Deprecation:** `tls_ciphers`, `tls_ciphersuites`, `tls_protocols` from `InstanceParameters` model are deprecated and will be removed 2026-12-10.
32133
- **Feature:** Added optional `CreateCredentialsPayload`.
134+
- `resourcemanager`
135+
- [v0.9.0](services/resourcemanager/CHANGELOG.md#090)
136+
- **Chore:** Bump minimum Python version to 3.10
137+
- **Chore:** Update dependencies
138+
- `runcommand`
139+
- [v1.3.0](services/runcommand/CHANGELOG.md#v130)
140+
- **Chore:** Bump minimum Python version to 3.10
141+
- **Chore:** Update dependencies
142+
- `scf`
143+
- [v0.6.0](services/scf/CHANGELOG.md#v060)
144+
- **Chore:** Bump minimum Python version to 3.10
145+
- **Chore:** Update dependencies
146+
- `secretsmanager`
147+
- [v0.6.0](services/secretsmanager/CHANGELOG.md060)
148+
- **Chore:** Bump minimum Python version to 3.10
149+
- **Chore:** Update dependencies
150+
- `serverbackup`
151+
- [v1.3.0](services/serverbackup/CHANGELOG.md#v130)
152+
- **Chore:** Bump minimum Python version to 3.10
153+
- **Chore:** Update dependencies
154+
- `serverupdate`
155+
- [v1.3.0](services/serverupdate/CHANGELOG.md#v130)
156+
- **Chore:** Bump minimum Python version to 3.10
157+
- **Chore:** Update dependencies
158+
- `serviceaccount`
159+
- [v0.10.0](services/serviceaccount/CHANGELOG.md#v0100)
160+
- **Chore:** Bump minimum Python version to 3.10
161+
- **Chore:** Update dependencies
162+
- `serviceenablement`
163+
- [v1.3.0](services/serviceenablement/CHANGELOG.md#v130)
164+
- **Chore:** Bump minimum Python version to 3.10
165+
- **Chore:** Update dependencies
166+
- `sfs`
167+
- [v0.8.0](services/sfs/CHANGELOG.md#v080)
168+
- **Chore:** Bump minimum Python version to 3.10
169+
- **Chore:** Update dependencies
33170
- `ske`:
171+
- [v1.13.0](services/ske/CHANGELOG.md#v1130)
172+
- **Chore:** Bump minimum Python version to 3.10
173+
- **Chore:** Update dependencies
34174
- [v1.12.0](services/ske/CHANGELOG.md#v1120)
35175
- **Improvement:** Add regex validation of `name` attribute in model class `Cluster`
36176
- **Feature:** New model class `Audit`
37177
- **Feature:** Add optional attribute `audit` (type `Audit`) to model class `Cluster`
178+
- `sqlserverflex`
179+
- [v1.3.0](services/sqlserverflex/CHANGELOG.md#v130)
180+
- **Chore:** Bump minimum Python version to 3.10
181+
- **Chore:** Update dependencies
182+
- `stackitmarketplace`
183+
- [v1.17.0](services/stackitmarketplace/CHANGELOG.md#v1170)
184+
- **Chore:** Bump minimum Python version to 3.10
185+
- **Chore:** Update dependencies
38186
- `telemetrylink`:
187+
- [v0.3.0](services/telemetrylink/CHANGELOG.md#v030)
188+
- **Chore:** Bump minimum Python version to 3.10
189+
- **Chore:** Update dependencies
39190
- [v0.2.0](services/telemetrylink/CHANGELOG.md#v020)
40191
- **New:** v1 API version for STACKIT Telemetry Link
41192
- `telemetryrouter`:
193+
- [v0.4.0](services/telemetryrouter/CHANGELOG.md#v040)
194+
- **Chore:** Bump minimum Python version to 3.10
195+
- **Chore:** Update dependencies
42196
- [v0.3.0](services/telemetryrouter/CHANGELOG.md#v030)
43197
- **New:** v1 API version for STACKIT Telemetry Router
198+
- `vpn`
199+
- [v0.6.0](services/vpn/CHANGELOG.md#v060)
200+
- **Chore:** Bump minimum Python version to 3.10
201+
- **Chore:** Update dependencies
44202

45203
## Release (2026-13-05)
46204
- `auditlog`:

core/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## v0.3.0
2+
- **Chore:** Bump minimum Python version to 3.10
3+
- **Chore:** Update dependencies
4+
15
## v0.2.0 (2025-06-12)
26
- **Feature:** Allow setting custom token endpoint url in configuration
37

core/pyproject.toml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,26 @@
11
[project]
22
name = "stackit-core"
3-
version = "v0.2.0"
3+
version = "v0.3.0"
44
description = "Core functionality for the STACKIT SDK for Python"
55
authors = [{ name = "STACKIT Developer Tools", email = "developer-tools@stackit.cloud" }]
6-
requires-python = ">=3.9,<4.0"
6+
requires-python = ">=3.10,<4.0"
77
readme = "README.md"
88
classifiers = [
99
"Programming Language :: Python :: 3",
1010
"License :: OSI Approved :: Apache Software License",
1111
"Operating System :: OS Independent",
12-
"Programming Language :: Python :: 3.9",
1312
"Programming Language :: Python :: 3.10",
1413
"Programming Language :: Python :: 3.11",
1514
"Programming Language :: Python :: 3.12",
1615
"Programming Language :: Python :: 3.13",
1716
"Programming Language :: Python :: 3.14",
1817
]
1918
dependencies = [
20-
"pyjwt>=2.9.0",
19+
"pyjwt>=2.13.0",
2120
"pydantic>=2.9.2",
22-
"urllib3>=2.2.3",
23-
"cryptography>=43.0.1",
24-
"requests>=2.32.3",
21+
"urllib3>=2.7.0",
22+
"cryptography>=46.0.5",
23+
"requests>=2.33.0",
2524
]
2625

2726
[project.urls]
@@ -30,8 +29,8 @@ Issues = "https://github.com/stackitcloud/stackit-sdk-python/issues"
3029

3130
[dependency-groups]
3231
dev = [
33-
"black>=24.8.0",
34-
"pytest>=8.3.3",
32+
"black>=26.3.1",
33+
"pytest>=9.1.1",
3534
"flake8>=5.0.3 ; python_full_version < '3.12'",
3635
"flake8>=6.0.1 ; python_full_version >= '3.12'",
3736
"flake8-black>=0.3.6",
@@ -108,7 +107,8 @@ statistics = true
108107
show-source = false
109108
max-line-length = 120
110109
# E203,W503 and E704 are incompatible with the formatter black
111-
ignore = ["E203", "W503", "E704"]
110+
# fixing B042 in upstream exceptions.mustache would be a breaking change
111+
ignore = ["E203", "W503", "E704", "B042"]
112112
inline-quotes = '"'
113113
docstring-quotes = '"""'
114114
multiline-quotes = '"""'

core/tests/core/test_auth.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
from stackit.core.authorization import Authorization
1414
from stackit.core.configuration import Configuration
1515

16-
1716
DEFAULT_EMAIL = "email"
1817
DEFAULT_PRIVATE_KEY_PATH = "/path/to/private.key"
1918
DEFAULT_SERVICE_ACCOUNT_TOKEN = "token"
@@ -272,9 +271,11 @@ def test_token_refresh_fails_after_retries(self, service_account_key_file_json):
272271
def set_initial_token(auth):
273272
auth.initial_token = "test-initial-token"
274273

275-
with patch.object(KeyAuth, "_KeyAuth__create_initial_token", new=set_initial_token), patch.object(
276-
KeyAuth, "_KeyAuth__start_token_refresh_task", return_value=None
277-
), patch("requests.post") as mock_post:
274+
with (
275+
patch.object(KeyAuth, "_KeyAuth__create_initial_token", new=set_initial_token),
276+
patch.object(KeyAuth, "_KeyAuth__start_token_refresh_task", return_value=None),
277+
patch("requests.post") as mock_post,
278+
):
278279
init_response = Mock()
279280
init_response.raise_for_status.return_value = None
280281
init_response.json.return_value = {

core/tests/core/test_config.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
from stackit.core.configuration import Configuration
44

5-
65
SERVICE_ACCOUNT_EMAIL = "test@example.org"
76
SERVICE_ACCOUNT_TOKEN = "token"
87
SERVICE_ACCOUNT_KEY_PATH = "/path/to/account/key"

0 commit comments

Comments
 (0)