arkindex-base-worker 0.3.7rc2__py3-none-any.whl → 0.3.7rc4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {arkindex_base_worker-0.3.7rc2.dist-info → arkindex_base_worker-0.3.7rc4.dist-info}/METADATA +1 -1
- arkindex_base_worker-0.3.7rc4.dist-info/RECORD +41 -0
- arkindex_worker/image.py +26 -19
- arkindex_worker/models.py +2 -2
- arkindex_worker/utils.py +4 -3
- arkindex_worker/worker/__init__.py +9 -6
- arkindex_worker/worker/base.py +12 -4
- arkindex_worker/worker/dataset.py +14 -8
- arkindex_worker/worker/element.py +1 -0
- arkindex_worker/worker/metadata.py +1 -1
- arkindex_worker/worker/training.py +4 -0
- arkindex_worker/worker/version.py +1 -0
- tests/test_dataset_worker.py +59 -105
- tests/test_elements_worker/test_classifications.py +235 -406
- tests/test_elements_worker/test_dataset.py +97 -103
- tests/test_elements_worker/test_elements.py +26 -14
- tests/test_elements_worker/test_transcriptions.py +15 -8
- tests/test_elements_worker/test_worker.py +9 -4
- tests/test_image.py +37 -0
- arkindex_base_worker-0.3.7rc2.dist-info/RECORD +0 -41
- {arkindex_base_worker-0.3.7rc2.dist-info → arkindex_base_worker-0.3.7rc4.dist-info}/LICENSE +0 -0
- {arkindex_base_worker-0.3.7rc2.dist-info → arkindex_base_worker-0.3.7rc4.dist-info}/WHEEL +0 -0
- {arkindex_base_worker-0.3.7rc2.dist-info → arkindex_base_worker-0.3.7rc4.dist-info}/top_level.txt +0 -0
|
@@ -139,12 +139,26 @@ def test_list_dataset_elements_wrong_param_dataset(mock_dataset_worker, payload,
|
|
|
139
139
|
mock_dataset_worker.list_dataset_elements(**payload)
|
|
140
140
|
|
|
141
141
|
|
|
142
|
+
@pytest.mark.parametrize(
|
|
143
|
+
"sets",
|
|
144
|
+
[
|
|
145
|
+
["set_1"],
|
|
146
|
+
["set_1", "set_2", "set_3"],
|
|
147
|
+
["set_1", "set_2", "set_3", "set_4"],
|
|
148
|
+
],
|
|
149
|
+
)
|
|
142
150
|
def test_list_dataset_elements_api_error(
|
|
143
|
-
responses, mock_dataset_worker, default_dataset
|
|
151
|
+
responses, mock_dataset_worker, sets, default_dataset
|
|
144
152
|
):
|
|
153
|
+
default_dataset.selected_sets = sets
|
|
154
|
+
query_params = (
|
|
155
|
+
"?with_count=true"
|
|
156
|
+
if sets == default_dataset.sets
|
|
157
|
+
else "?set=set_1&with_count=true"
|
|
158
|
+
)
|
|
145
159
|
responses.add(
|
|
146
160
|
responses.GET,
|
|
147
|
-
f"http://testserver/api/v1/datasets/{default_dataset.id}/elements/",
|
|
161
|
+
f"http://testserver/api/v1/datasets/{default_dataset.id}/elements/{query_params}",
|
|
148
162
|
status=500,
|
|
149
163
|
)
|
|
150
164
|
|
|
@@ -160,122 +174,107 @@ def test_list_dataset_elements_api_error(
|
|
|
160
174
|
# The API call is retried 5 times
|
|
161
175
|
(
|
|
162
176
|
"GET",
|
|
163
|
-
f"http://testserver/api/v1/datasets/{default_dataset.id}/elements
|
|
177
|
+
f"http://testserver/api/v1/datasets/{default_dataset.id}/elements/{query_params}",
|
|
164
178
|
),
|
|
165
179
|
(
|
|
166
180
|
"GET",
|
|
167
|
-
f"http://testserver/api/v1/datasets/{default_dataset.id}/elements
|
|
181
|
+
f"http://testserver/api/v1/datasets/{default_dataset.id}/elements/{query_params}",
|
|
168
182
|
),
|
|
169
183
|
(
|
|
170
184
|
"GET",
|
|
171
|
-
f"http://testserver/api/v1/datasets/{default_dataset.id}/elements
|
|
185
|
+
f"http://testserver/api/v1/datasets/{default_dataset.id}/elements/{query_params}",
|
|
172
186
|
),
|
|
173
187
|
(
|
|
174
188
|
"GET",
|
|
175
|
-
f"http://testserver/api/v1/datasets/{default_dataset.id}/elements
|
|
189
|
+
f"http://testserver/api/v1/datasets/{default_dataset.id}/elements/{query_params}",
|
|
176
190
|
),
|
|
177
191
|
(
|
|
178
192
|
"GET",
|
|
179
|
-
f"http://testserver/api/v1/datasets/{default_dataset.id}/elements
|
|
193
|
+
f"http://testserver/api/v1/datasets/{default_dataset.id}/elements/{query_params}",
|
|
180
194
|
),
|
|
181
195
|
]
|
|
182
196
|
|
|
183
197
|
|
|
198
|
+
@pytest.mark.parametrize(
|
|
199
|
+
"sets",
|
|
200
|
+
[
|
|
201
|
+
["set_1"],
|
|
202
|
+
["set_1", "set_2", "set_3"],
|
|
203
|
+
["set_1", "set_2", "set_3", "set_4"],
|
|
204
|
+
],
|
|
205
|
+
)
|
|
184
206
|
def test_list_dataset_elements(
|
|
185
207
|
responses,
|
|
186
208
|
mock_dataset_worker,
|
|
209
|
+
sets,
|
|
187
210
|
default_dataset,
|
|
188
211
|
):
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
"
|
|
197
|
-
"
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
"
|
|
224
|
-
"
|
|
225
|
-
"
|
|
226
|
-
"corpus": {},
|
|
227
|
-
"thumbnail_url": None,
|
|
228
|
-
"zone": {},
|
|
229
|
-
"best_classes": None,
|
|
230
|
-
"has_children": None,
|
|
231
|
-
"worker_version_id": None,
|
|
232
|
-
"worker_run_id": None,
|
|
233
|
-
},
|
|
234
|
-
},
|
|
235
|
-
{
|
|
236
|
-
"set": "set_3",
|
|
237
|
-
"element": {
|
|
238
|
-
"id": "3333",
|
|
239
|
-
"type": "page",
|
|
240
|
-
"name": "Test 4",
|
|
241
|
-
"corpus": {},
|
|
242
|
-
"thumbnail_url": None,
|
|
243
|
-
"zone": {},
|
|
244
|
-
"best_classes": None,
|
|
245
|
-
"has_children": None,
|
|
246
|
-
"worker_version_id": None,
|
|
247
|
-
"worker_run_id": None,
|
|
212
|
+
default_dataset.selected_sets = sets
|
|
213
|
+
|
|
214
|
+
dataset_elements = []
|
|
215
|
+
for split in default_dataset.sets:
|
|
216
|
+
index = split[-1]
|
|
217
|
+
dataset_elements.append(
|
|
218
|
+
{
|
|
219
|
+
"set": split,
|
|
220
|
+
"element": {
|
|
221
|
+
"id": str(index) * 4,
|
|
222
|
+
"type": "page",
|
|
223
|
+
"name": f"Test {index}",
|
|
224
|
+
"corpus": {},
|
|
225
|
+
"thumbnail_url": None,
|
|
226
|
+
"zone": {},
|
|
227
|
+
"best_classes": None,
|
|
228
|
+
"has_children": None,
|
|
229
|
+
"worker_version_id": None,
|
|
230
|
+
"worker_run_id": None,
|
|
231
|
+
},
|
|
232
|
+
}
|
|
233
|
+
)
|
|
234
|
+
if split == "set_1":
|
|
235
|
+
dataset_elements.append({**dataset_elements[-1]})
|
|
236
|
+
dataset_elements[-1]["element"]["name"] = f"Test {index} (bis)"
|
|
237
|
+
|
|
238
|
+
# All sets are selected, we call the unfiltered endpoint once
|
|
239
|
+
if default_dataset.sets == default_dataset.selected_sets:
|
|
240
|
+
expected_results = dataset_elements
|
|
241
|
+
responses.add(
|
|
242
|
+
responses.GET,
|
|
243
|
+
f"http://testserver/api/v1/datasets/{default_dataset.id}/elements/?with_count=true",
|
|
244
|
+
status=200,
|
|
245
|
+
json={
|
|
246
|
+
"count": len(expected_results),
|
|
247
|
+
"next": None,
|
|
248
|
+
"results": expected_results,
|
|
248
249
|
},
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
}
|
|
276
|
-
]
|
|
277
|
-
},
|
|
278
|
-
)
|
|
250
|
+
)
|
|
251
|
+
expected_calls = [
|
|
252
|
+
f"http://testserver/api/v1/datasets/{default_dataset.id}/elements/?with_count=true"
|
|
253
|
+
]
|
|
254
|
+
|
|
255
|
+
# Not all sets are selected, we call the filtered endpoint multiple times, once per set
|
|
256
|
+
else:
|
|
257
|
+
expected_results, expected_calls = [], []
|
|
258
|
+
for selected_set in default_dataset.selected_sets:
|
|
259
|
+
partial_results = [
|
|
260
|
+
element
|
|
261
|
+
for element in dataset_elements
|
|
262
|
+
if element["set"] == selected_set
|
|
263
|
+
]
|
|
264
|
+
expected_results += partial_results
|
|
265
|
+
responses.add(
|
|
266
|
+
responses.GET,
|
|
267
|
+
f"http://testserver/api/v1/datasets/{default_dataset.id}/elements/?set={selected_set}&with_count=true",
|
|
268
|
+
status=200,
|
|
269
|
+
json={
|
|
270
|
+
"count": len(partial_results),
|
|
271
|
+
"next": None,
|
|
272
|
+
"results": partial_results,
|
|
273
|
+
},
|
|
274
|
+
)
|
|
275
|
+
expected_calls += [
|
|
276
|
+
f"http://testserver/api/v1/datasets/{default_dataset.id}/elements/?set={selected_set}&with_count=true"
|
|
277
|
+
]
|
|
279
278
|
|
|
280
279
|
for idx, element in enumerate(
|
|
281
280
|
mock_dataset_worker.list_dataset_elements(dataset=default_dataset)
|
|
@@ -285,15 +284,10 @@ def test_list_dataset_elements(
|
|
|
285
284
|
expected_results[idx]["element"],
|
|
286
285
|
)
|
|
287
286
|
|
|
288
|
-
assert len(responses.calls) == len(BASE_API_CALLS) +
|
|
287
|
+
assert len(responses.calls) == len(BASE_API_CALLS) + len(expected_calls)
|
|
289
288
|
assert [
|
|
290
289
|
(call.request.method, call.request.url) for call in responses.calls
|
|
291
|
-
] == BASE_API_CALLS + [
|
|
292
|
-
(
|
|
293
|
-
"GET",
|
|
294
|
-
f"http://testserver/api/v1/datasets/{default_dataset.id}/elements/?with_count=true",
|
|
295
|
-
),
|
|
296
|
-
]
|
|
290
|
+
] == BASE_API_CALLS + [("GET", expected_call) for expected_call in expected_calls]
|
|
297
291
|
|
|
298
292
|
|
|
299
293
|
@pytest.mark.parametrize(
|
|
@@ -1797,9 +1797,12 @@ def test_list_element_children_wrong_worker_version(
|
|
|
1797
1797
|
elt = Element({"id": "12341234-1234-1234-1234-123412341234"})
|
|
1798
1798
|
|
|
1799
1799
|
# WARNING: pytest.deprecated_call must be placed BEFORE pytest.raises, otherwise `match` argument won't be checked
|
|
1800
|
-
with
|
|
1801
|
-
|
|
1802
|
-
|
|
1800
|
+
with (
|
|
1801
|
+
pytest.deprecated_call(
|
|
1802
|
+
match=f"`{param}` usage is deprecated. Consider using `{alternative}` instead."
|
|
1803
|
+
),
|
|
1804
|
+
pytest.raises(AssertionError, match=f"{param} should be of type str or bool"),
|
|
1805
|
+
):
|
|
1803
1806
|
mock_elements_worker.list_element_children(
|
|
1804
1807
|
element=elt,
|
|
1805
1808
|
**{param: value},
|
|
@@ -1838,10 +1841,13 @@ def test_list_element_children_wrong_bool_worker_version(
|
|
|
1838
1841
|
elt = Element({"id": "12341234-1234-1234-1234-123412341234"})
|
|
1839
1842
|
|
|
1840
1843
|
# WARNING: pytest.deprecated_call must be placed BEFORE pytest.raises, otherwise `match` argument won't be checked
|
|
1841
|
-
with
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1844
|
+
with (
|
|
1845
|
+
pytest.deprecated_call(
|
|
1846
|
+
match=f"`{param}` usage is deprecated. Consider using `{alternative}` instead."
|
|
1847
|
+
),
|
|
1848
|
+
pytest.raises(
|
|
1849
|
+
AssertionError, match=f"if of type bool, {param} can only be set to False"
|
|
1850
|
+
),
|
|
1845
1851
|
):
|
|
1846
1852
|
mock_elements_worker.list_element_children(
|
|
1847
1853
|
element=elt,
|
|
@@ -2323,9 +2329,12 @@ def test_list_element_parents_wrong_worker_version(
|
|
|
2323
2329
|
elt = Element({"id": "12341234-1234-1234-1234-123412341234"})
|
|
2324
2330
|
|
|
2325
2331
|
# WARNING: pytest.deprecated_call must be placed BEFORE pytest.raises, otherwise `match` argument won't be checked
|
|
2326
|
-
with
|
|
2327
|
-
|
|
2328
|
-
|
|
2332
|
+
with (
|
|
2333
|
+
pytest.deprecated_call(
|
|
2334
|
+
match=f"`{param}` usage is deprecated. Consider using `{alternative}` instead."
|
|
2335
|
+
),
|
|
2336
|
+
pytest.raises(AssertionError, match=f"{param} should be of type str or bool"),
|
|
2337
|
+
):
|
|
2329
2338
|
mock_elements_worker.list_element_parents(
|
|
2330
2339
|
element=elt,
|
|
2331
2340
|
**{param: value},
|
|
@@ -2364,10 +2373,13 @@ def test_list_element_parents_wrong_bool_worker_version(
|
|
|
2364
2373
|
elt = Element({"id": "12341234-1234-1234-1234-123412341234"})
|
|
2365
2374
|
|
|
2366
2375
|
# WARNING: pytest.deprecated_call must be placed BEFORE pytest.raises, otherwise `match` argument won't be checked
|
|
2367
|
-
with
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2376
|
+
with (
|
|
2377
|
+
pytest.deprecated_call(
|
|
2378
|
+
match=f"`{param}` usage is deprecated. Consider using `{alternative}` instead."
|
|
2379
|
+
),
|
|
2380
|
+
pytest.raises(
|
|
2381
|
+
AssertionError, match=f"if of type bool, {param} can only be set to False"
|
|
2382
|
+
),
|
|
2371
2383
|
):
|
|
2372
2384
|
mock_elements_worker.list_element_parents(
|
|
2373
2385
|
element=elt,
|
|
@@ -1727,10 +1727,13 @@ def test_list_transcriptions_wrong_worker_version(mock_elements_worker):
|
|
|
1727
1727
|
elt = Element({"id": "12341234-1234-1234-1234-123412341234"})
|
|
1728
1728
|
|
|
1729
1729
|
# WARNING: pytest.deprecated_call must be placed BEFORE pytest.raises, otherwise `match` argument won't be checked
|
|
1730
|
-
with
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1730
|
+
with (
|
|
1731
|
+
pytest.deprecated_call(
|
|
1732
|
+
match="`worker_version` usage is deprecated. Consider using `worker_run` instead."
|
|
1733
|
+
),
|
|
1734
|
+
pytest.raises(
|
|
1735
|
+
AssertionError, match="worker_version should be of type str or bool"
|
|
1736
|
+
),
|
|
1734
1737
|
):
|
|
1735
1738
|
mock_elements_worker.list_transcriptions(
|
|
1736
1739
|
element=elt,
|
|
@@ -1754,10 +1757,14 @@ def test_list_transcriptions_wrong_bool_worker_version(mock_elements_worker):
|
|
|
1754
1757
|
elt = Element({"id": "12341234-1234-1234-1234-123412341234"})
|
|
1755
1758
|
|
|
1756
1759
|
# WARNING: pytest.deprecated_call must be placed BEFORE pytest.raises, otherwise `match` argument won't be checked
|
|
1757
|
-
with
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1760
|
+
with (
|
|
1761
|
+
pytest.deprecated_call(
|
|
1762
|
+
match="`worker_version` usage is deprecated. Consider using `worker_run` instead."
|
|
1763
|
+
),
|
|
1764
|
+
pytest.raises(
|
|
1765
|
+
AssertionError,
|
|
1766
|
+
match="if of type bool, worker_version can only be set to False",
|
|
1767
|
+
),
|
|
1761
1768
|
):
|
|
1762
1769
|
mock_elements_worker.list_transcriptions(
|
|
1763
1770
|
element=elt,
|
|
@@ -62,9 +62,10 @@ def test_get_worker_version_slug(mocker, fake_dummy_worker):
|
|
|
62
62
|
|
|
63
63
|
def test_get_worker_version_slug_none(fake_dummy_worker):
|
|
64
64
|
# WARNING: pytest.deprecated_call must be placed BEFORE pytest.raises, otherwise `match` argument won't be checked
|
|
65
|
-
with
|
|
66
|
-
match="WorkerVersion usage is deprecated."
|
|
67
|
-
|
|
65
|
+
with (
|
|
66
|
+
pytest.deprecated_call(match="WorkerVersion usage is deprecated."),
|
|
67
|
+
pytest.raises(ValueError, match="No worker version ID"),
|
|
68
|
+
):
|
|
68
69
|
fake_dummy_worker.get_worker_version_slug(None)
|
|
69
70
|
|
|
70
71
|
|
|
@@ -309,7 +310,7 @@ def test_start_activity_error(
|
|
|
309
310
|
),
|
|
310
311
|
]
|
|
311
312
|
assert logger.error.call_args_list == [
|
|
312
|
-
mocker.call("Ran on 1
|
|
313
|
+
mocker.call("Ran on 1 element: 0 completed, 1 failed")
|
|
313
314
|
]
|
|
314
315
|
|
|
315
316
|
|
|
@@ -467,6 +468,10 @@ def test_worker_config_multiple_source(
|
|
|
467
468
|
"id": "12341234-1234-1234-1234-123412341234",
|
|
468
469
|
"name": "Model version 1337",
|
|
469
470
|
"configuration": model_config,
|
|
471
|
+
"model": {
|
|
472
|
+
"id": "hahahaha-haha-haha-haha-hahahahahaha",
|
|
473
|
+
"name": "My model",
|
|
474
|
+
},
|
|
470
475
|
},
|
|
471
476
|
"process": {
|
|
472
477
|
"name": None,
|
tests/test_image.py
CHANGED
|
@@ -7,6 +7,7 @@ from pathlib import Path
|
|
|
7
7
|
|
|
8
8
|
import pytest
|
|
9
9
|
from PIL import Image, ImageChops, ImageOps
|
|
10
|
+
from requests import HTTPError
|
|
10
11
|
|
|
11
12
|
from arkindex_worker.cache import CachedElement, create_tables, init_cache_db
|
|
12
13
|
from arkindex_worker.image import (
|
|
@@ -19,6 +20,7 @@ from arkindex_worker.image import (
|
|
|
19
20
|
polygon_bounding_box,
|
|
20
21
|
revert_orientation,
|
|
21
22
|
trim_polygon,
|
|
23
|
+
upload_image,
|
|
22
24
|
)
|
|
23
25
|
from arkindex_worker.models import Element
|
|
24
26
|
|
|
@@ -547,3 +549,38 @@ def test_download_image_retry_with_max(responses):
|
|
|
547
549
|
assert list(map(attrgetter("request.url"), responses.calls)) == [full_url] * 3 + [
|
|
548
550
|
max_url
|
|
549
551
|
]
|
|
552
|
+
|
|
553
|
+
|
|
554
|
+
def test_upload_image_retries(responses):
|
|
555
|
+
dest_url = "https://blabla.com/iiif/2/image_path.jpg/full/full/0/default.jpg"
|
|
556
|
+
responses.add(
|
|
557
|
+
responses.PUT,
|
|
558
|
+
dest_url,
|
|
559
|
+
status=400,
|
|
560
|
+
)
|
|
561
|
+
|
|
562
|
+
image = Image.open(FULL_IMAGE).convert("RGB")
|
|
563
|
+
with pytest.raises(
|
|
564
|
+
HTTPError, match=f"400 Client Error: Bad Request for url: {dest_url}"
|
|
565
|
+
):
|
|
566
|
+
upload_image(image, dest_url)
|
|
567
|
+
|
|
568
|
+
# We try 3 times
|
|
569
|
+
assert len(responses.calls) == 3
|
|
570
|
+
assert list(map(attrgetter("request.url"), responses.calls)) == [dest_url] * 3
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
def test_upload_image(responses):
|
|
574
|
+
dest_url = "https://blabla.com/iiif/2/image_path.jpg/full/full/0/default.jpg"
|
|
575
|
+
responses.add(
|
|
576
|
+
responses.PUT,
|
|
577
|
+
dest_url,
|
|
578
|
+
status=200,
|
|
579
|
+
)
|
|
580
|
+
|
|
581
|
+
image = Image.open(FULL_IMAGE).convert("RGB")
|
|
582
|
+
resp = upload_image(image, dest_url)
|
|
583
|
+
assert resp
|
|
584
|
+
|
|
585
|
+
assert len(responses.calls) == 1
|
|
586
|
+
assert list(map(attrgetter("request.url"), responses.calls)) == [dest_url]
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
arkindex_worker/__init__.py,sha256=OlgCtTC9MaWeejviY0a3iQpALcRQGMVArFVVYwTF6I8,162
|
|
2
|
-
arkindex_worker/cache.py,sha256=FTlB0coXofn5zTNRTcVIvh709mcw4a1bPGqkwWjKs3w,11248
|
|
3
|
-
arkindex_worker/image.py,sha256=uwfUE9hy0Iw-e3vU7OHmLSqouxbznWq08SykXmPD1Cs,14107
|
|
4
|
-
arkindex_worker/models.py,sha256=DVrZPIurSiOoHvj3t_Szwd0j1t6pnwBx_dqwhNakzN0,9528
|
|
5
|
-
arkindex_worker/utils.py,sha256=_lC1-RYvNWXEkK-AuF4_FraoggP1tYPdalNFSj4jDb4,6885
|
|
6
|
-
arkindex_worker/worker/__init__.py,sha256=ev_EI7AA4qrQhH4B5WJf2LClcMVWPcxmaz_6L6Fp1V8,19383
|
|
7
|
-
arkindex_worker/worker/base.py,sha256=qPcf-oOFtf7fLPFsQOukcLpkdeXBW4tpw99wCbio6Hw,19599
|
|
8
|
-
arkindex_worker/worker/classification.py,sha256=0OiwxV9lb97Zs3kODm3hzyk0V7IxBTiW5SL6AYgRH1M,10351
|
|
9
|
-
arkindex_worker/worker/dataset.py,sha256=IaXQXO9Zj-u7H0fvuDXOzf9FRga22eub_X-LYQHEpYY,3026
|
|
10
|
-
arkindex_worker/worker/element.py,sha256=4f893hTSbk8QBD48xUKgHIzpr4wMxyxy634MqSwqebg,33847
|
|
11
|
-
arkindex_worker/worker/entity.py,sha256=YT2Ttdn-L5TRoDdhOI3Z4GE1vtkWl7tKZqbYrtxZ2Ug,14630
|
|
12
|
-
arkindex_worker/worker/metadata.py,sha256=XEKkwFeOflw0EsNwJhcCfv32iCCZwvQqYIyaqSEMNQc,6670
|
|
13
|
-
arkindex_worker/worker/task.py,sha256=cz3wJNPgogZv1lm_3lm7WScitQtYQtL6H6I7Xokq208,1475
|
|
14
|
-
arkindex_worker/worker/training.py,sha256=rhg4TPFo0ignnCkgbekUYmNXX8u2iZGyeM1VCs1R5kI,10140
|
|
15
|
-
arkindex_worker/worker/transcription.py,sha256=6R7ofcGnNqX4rjT0kRKIE-G9FHq2TJ1tfztNM5sTqYE,20464
|
|
16
|
-
arkindex_worker/worker/version.py,sha256=ogEpGdJ9GVA-eer6GMt6tiIvnuwfad6lDjdLNa6fiUQ,1926
|
|
17
|
-
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
|
-
tests/conftest.py,sha256=wzKXRnS7OKQCNHrlDaQhMC8EXlsQTY_S4L9U_hXbjpM,22004
|
|
19
|
-
tests/test_base_worker.py,sha256=Uq6_MpLW23gmKFXkU-SyDUaA_4dlViLBGG4e3gpBBz0,24512
|
|
20
|
-
tests/test_cache.py,sha256=ii0gyr0DrG7ChEs7pmT8hMdSguAOAcCze4bRMiFQxuk,10640
|
|
21
|
-
tests/test_dataset_worker.py,sha256=Y-g354MroQ1aYAZnqM5dhqgZZoDgpbHxpEZrcaN7SJY,29305
|
|
22
|
-
tests/test_element.py,sha256=2G9M15TLxQRmvrWM9Kw2ucnElh4kSv_oF_5FYwwAxTY,13181
|
|
23
|
-
tests/test_image.py,sha256=nIT0NhmuHtD9I1rcMSvqSfjQqvTE5Ko8tAQGLIkm_zo,15232
|
|
24
|
-
tests/test_merge.py,sha256=Q4zCbtZbe0wBfqE56gvAD06c6pDuhqnjKaioFqIgAQw,8331
|
|
25
|
-
tests/test_utils.py,sha256=pFXegcBvIuy1tJDDSgQtCbC_tRaoLjd2055R5lu3hS0,1236
|
|
26
|
-
tests/test_elements_worker/__init__.py,sha256=Fh4nkbbyJSMv_VtjQxnWrOqTnxXaaWI8S9WU0VrzCHs,179
|
|
27
|
-
tests/test_elements_worker/test_classifications.py,sha256=0_6vryoQc2-s3CQWANsEvajkyC3aub34cxb3r97pRsk,32027
|
|
28
|
-
tests/test_elements_worker/test_cli.py,sha256=BsFTswLti63WAZ2pf6ipiZKWJJyCQuSfuKnSlESuK8g,2878
|
|
29
|
-
tests/test_elements_worker/test_dataset.py,sha256=uqgu5Jpazp2mH8p26jCn7RkJ7jdWpYKdJimWpeqaK1o,13251
|
|
30
|
-
tests/test_elements_worker/test_elements.py,sha256=DOw1LKgJeCCFtvtQssBytIvE21mgiikhbkPglcpqRtA,84823
|
|
31
|
-
tests/test_elements_worker/test_entities.py,sha256=yi1mXzvKvNwUNMzo0UZ56YOIJstYHcLyeepPJ8f10MQ,34557
|
|
32
|
-
tests/test_elements_worker/test_metadata.py,sha256=b9CNv4W31TRJqYauvX_pRIN2SvnybaLqF-FWoFwa2Vc,18672
|
|
33
|
-
tests/test_elements_worker/test_task.py,sha256=FCpxE9UpouKXgjGvWgNHEai_Hiy2d1YmqRG-_v2s27s,6312
|
|
34
|
-
tests/test_elements_worker/test_training.py,sha256=WeG-cDuJ-YhPgfKH47TtXBxyargtLuk7c8tsik2WnL8,8414
|
|
35
|
-
tests/test_elements_worker/test_transcriptions.py,sha256=w-Fs4dS8RNDChp-9BgC087LiKGJYlIWyI8OreWEj-E4,73373
|
|
36
|
-
tests/test_elements_worker/test_worker.py,sha256=3T4f4SkZbyk_lRPikINKnzToNnLVGHcYxc3kylGSae4,17017
|
|
37
|
-
arkindex_base_worker-0.3.7rc2.dist-info/LICENSE,sha256=NVshRi1efwVezMfW7xXYLrdDr2Li1AfwfGOd5WuH1kQ,1063
|
|
38
|
-
arkindex_base_worker-0.3.7rc2.dist-info/METADATA,sha256=6iGFf8SnxJmqnaBHh9UCmCEV1sPxzhwuHApKOng_lVQ,3411
|
|
39
|
-
arkindex_base_worker-0.3.7rc2.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
40
|
-
arkindex_base_worker-0.3.7rc2.dist-info/top_level.txt,sha256=TtagLI8LSv7GE7nG8MQqDFAJ5bNDPJn7Z5vizOgrWkA,22
|
|
41
|
-
arkindex_base_worker-0.3.7rc2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
{arkindex_base_worker-0.3.7rc2.dist-info → arkindex_base_worker-0.3.7rc4.dist-info}/top_level.txt
RENAMED
|
File without changes
|