Skip to content

Commit ac2b513

Browse files
authored
chore: support Python 3.13 (#245)
Signed-off-by: Kevin Neal <Kevin_Neal@intuit.com>
1 parent 59a58e0 commit ac2b513

7 files changed

Lines changed: 219 additions & 205 deletions

File tree

.github/workflows/run-tests.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.9", "3.10", "3.11", "3.12"]
16+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
1717

1818
steps:
1919
- uses: actions/checkout@v3

poetry.lock

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

pyproject.toml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,21 @@ classifiers = [
1616
"Programming Language :: Python :: 3.9",
1717
"Programming Language :: Python :: 3.10",
1818
"Programming Language :: Python :: 3.11",
19-
"Programming Language :: Python :: 3.12"
19+
"Programming Language :: Python :: 3.12",
20+
"Programming Language :: Python :: 3.13"
2021
]
2122
repository = "https://github.com/numaproj/numaflow-python"
2223

2324
[tool.poetry.dependencies]
24-
python = ">=3.9, <3.13"
25+
python = ">=3.9, <3.14"
2526
grpcio = "^1.48.1"
2627
grpcio-tools = "^1.48.1"
2728
google-cloud = "^0.34.0"
2829
google-api-core = "^2.11.0"
2930
grpcio-status = "^1.48.1"
30-
protobuf = ">=3.20,<6.0"
31+
protobuf = ">=3.20,<7.0"
3132
aiorun = "^2023.7"
32-
uvloop = "^0.19.0"
33+
uvloop = "^0.21.0"
3334
psutil = "^6.0.0"
3435

3536
[tool.poetry.group.dev]

tests/map/test_multiproc_mapper.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,10 @@ def test_map_forward_message(self):
136136

137137
self.assertTrue(responses[0].handshake.sot)
138138

139+
result_ids = {f"test-id-{id}" for id in range(1, 4)}
139140
idx = 1
140141
while idx < len(responses):
141-
_id = "test-id-" + str(idx)
142-
self.assertEqual(_id, responses[idx].id)
142+
result_ids.remove(responses[idx].id)
143143
self.assertEqual(
144144
bytes(
145145
"payload:test_mock_message "
@@ -150,6 +150,7 @@ def test_map_forward_message(self):
150150
)
151151
self.assertEqual(1, len(responses[idx].results))
152152
idx += 1
153+
self.assertEqual(len(result_ids), 0)
153154
self.assertEqual(code, StatusCode.OK)
154155

155156
def test_invalid_input(self):

tests/map/test_sync_mapper.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,10 +130,10 @@ def test_map_forward_message(self):
130130

131131
self.assertTrue(responses[0].handshake.sot)
132132

133+
result_ids = {f"test-id-{id}" for id in range(1, 4)}
133134
idx = 1
134135
while idx < len(responses):
135-
_id = "test-id-" + str(idx)
136-
self.assertEqual(_id, responses[idx].id)
136+
result_ids.remove(responses[idx].id)
137137
self.assertEqual(
138138
bytes(
139139
"payload:test_mock_message "
@@ -144,6 +144,7 @@ def test_map_forward_message(self):
144144
)
145145
self.assertEqual(1, len(responses[idx].results))
146146
idx += 1
147+
self.assertEqual(len(result_ids), 0)
147148
self.assertEqual(code, StatusCode.OK)
148149

149150
def test_invalid_input(self):

tests/sourcetransform/test_multiproc.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,10 +162,10 @@ def test_mapt_assign_new_event_time(self):
162162

163163
self.assertTrue(responses[0].handshake.sot)
164164

165+
result_ids = {f"test-id-{id}" for id in range(1, 4)}
165166
idx = 1
166167
while idx < len(responses):
167-
_id = "test-id-" + str(idx)
168-
self.assertEqual(_id, responses[idx].id)
168+
result_ids.remove(responses[idx].id)
169169
self.assertEqual(
170170
bytes(
171171
"payload:test_mock_message " "event_time:2022-09-12 16:00:00 ",
@@ -175,6 +175,7 @@ def test_mapt_assign_new_event_time(self):
175175
)
176176
self.assertEqual(1, len(responses[idx].results))
177177
idx += 1
178+
self.assertEqual(len(result_ids), 0)
178179

179180
# Verify new event time gets assigned.
180181
updated_event_time_timestamp = _timestamp_pb2.Timestamp()

tests/sourcetransform/test_sync_server.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,10 +153,10 @@ def test_mapt_assign_new_event_time(self):
153153

154154
self.assertTrue(responses[0].handshake.sot)
155155

156+
result_ids = {f"test-id-{id}" for id in range(1, 4)}
156157
idx = 1
157158
while idx < len(responses):
158-
_id = "test-id-" + str(idx)
159-
self.assertEqual(_id, responses[idx].id)
159+
result_ids.remove(responses[idx].id)
160160
self.assertEqual(
161161
bytes(
162162
"payload:test_mock_message " "event_time:2022-09-12 16:00:00 ",
@@ -166,6 +166,7 @@ def test_mapt_assign_new_event_time(self):
166166
)
167167
self.assertEqual(1, len(responses[idx].results))
168168
idx += 1
169+
self.assertEqual(len(result_ids), 0)
169170

170171
# Verify new event time gets assigned.
171172
updated_event_time_timestamp = _timestamp_pb2.Timestamp()

0 commit comments

Comments
 (0)