nucliadb 6.7.0.post4756__py3-none-any.whl → 6.7.0.post4761__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.
@@ -57,6 +57,8 @@ class Conversation(Field[PBConversation]):
57
57
  last_page: Optional[PBConversation] = None
58
58
  metadata = await self.get_metadata()
59
59
  metadata.extract_strategy = payload.extract_strategy
60
+ metadata.split_strategy = payload.split_strategy
61
+
60
62
  if self._created is False and metadata.pages > 0:
61
63
  try:
62
64
  last_page = await self.db_get_value(page=metadata.pages)
@@ -221,6 +221,7 @@ class ProcessingEngine:
221
221
  "password": file.password,
222
222
  "language": file.language,
223
223
  "extract_strategy": file.extract_strategy,
224
+ "split_strategy": file.split_strategy,
224
225
  }
225
226
  if classif_labels:
226
227
  payload["classification_labels"] = self.encode_classif_labels(classif_labels)
@@ -244,6 +245,8 @@ class ProcessingEngine:
244
245
  headers["X-MD5"] = file.file.md5
245
246
  if file.extract_strategy is not None:
246
247
  headers["X-EXTRACT-STRATEGY"] = file.extract_strategy
248
+ if file.split_strategy is not None:
249
+ headers["X-SPLIT-STRATEGY"] = file.split_strategy
247
250
  if classif_labels:
248
251
  headers["X-CLASSIFICATION-LABELS"] = self.encode_classif_labels(classif_labels)
249
252
  headers["CONTENT_TYPE"] = file.file.content_type
@@ -293,6 +296,7 @@ class ProcessingEngine:
293
296
  "language": file_field.language,
294
297
  "password": file_field.password,
295
298
  "extract_strategy": file_field.extract_strategy,
299
+ "split_strategy": file_field.split_strategy,
296
300
  }
297
301
  if classif_labels:
298
302
  payload["classification_labels"] = self.encode_classif_labels(classif_labels)
@@ -326,6 +330,8 @@ class ProcessingEngine:
326
330
  headers["CONTENT-LENGTH"] = str(file.file.size)
327
331
  if file.extract_strategy != "":
328
332
  headers["X-EXTRACT-STRATEGY"] = file.extract_strategy
333
+ if file.split_strategy != "":
334
+ headers["X-SPLIT-STRATEGY"] = file.split_strategy
329
335
  if classif_labels:
330
336
  headers["X-CLASSIFICATION-LABELS"] = self.encode_classif_labels(classif_labels)
331
337
  headers["X-STF-NUAKEY"] = f"Bearer {self.nuclia_service_account}"
@@ -66,6 +66,7 @@ class Text(BaseModel):
66
66
  body: str
67
67
  format: PushTextFormat
68
68
  extract_strategy: Optional[str] = None
69
+ split_strategy: Optional[str] = None
69
70
  classification_labels: list[ClassificationLabel] = []
70
71
 
71
72
 
@@ -85,6 +86,7 @@ class LinkUpload(BaseModel):
85
86
  description="Xpath to parse the link",
86
87
  )
87
88
  extract_strategy: Optional[str] = None
89
+ split_strategy: Optional[str] = None
88
90
  classification_labels: list[ClassificationLabel] = []
89
91
 
90
92
 
@@ -113,6 +115,7 @@ class PushMessage(BaseModel):
113
115
  class PushConversation(BaseModel):
114
116
  messages: list[PushMessage] = []
115
117
  extract_strategy: Optional[str] = None
118
+ split_strategy: Optional[str] = None
116
119
  classification_labels: list[ClassificationLabel] = []
117
120
 
118
121
 
@@ -29,6 +29,9 @@ X_FILE_PASSWORD = Header(
29
29
  X_EXTRACT_STRATEGY = Header(
30
30
  description="Extract strategy to use when uploading a file. If not provided, the default strategy will be used.",
31
31
  )
32
+ X_SPLIT_STRATEGY = Header(
33
+ description="Split strategy to use when uploading a file. If not provided, the default strategy will be used.",
34
+ )
32
35
  X_FILENAME = Header(min_length=1, description="Name of the file being uploaded.")
33
36
  X_MD5 = Header(
34
37
  min_length=32,
@@ -37,7 +37,14 @@ from nucliadb.ingest.orm.utils import set_title
37
37
  from nucliadb.models.internal.processing import PushPayload, Source
38
38
  from nucliadb.models.responses import HTTPClientError
39
39
  from nucliadb.writer import SERVICE_NAME
40
- from nucliadb.writer.api.constants import X_EXTRACT_STRATEGY, X_FILENAME, X_LANGUAGE, X_MD5, X_PASSWORD
40
+ from nucliadb.writer.api.constants import (
41
+ X_EXTRACT_STRATEGY,
42
+ X_FILENAME,
43
+ X_LANGUAGE,
44
+ X_MD5,
45
+ X_PASSWORD,
46
+ X_SPLIT_STRATEGY,
47
+ )
41
48
  from nucliadb.writer.api.v1 import transaction
42
49
  from nucliadb.writer.api.v1.resource import (
43
50
  get_rid_from_slug_or_raise_error,
@@ -147,10 +154,17 @@ async def tus_post_rslug_prefix(
147
154
  field: FieldIdString,
148
155
  item: Optional[CreateResourcePayload] = None,
149
156
  x_extract_strategy: Annotated[Optional[str], X_EXTRACT_STRATEGY] = None,
157
+ x_split_strategy: Annotated[Optional[str], X_SPLIT_STRATEGY] = None,
150
158
  ) -> Response:
151
159
  rid = await get_rid_from_slug_or_raise_error(kbid, rslug)
152
160
  return await _tus_post(
153
- request, kbid, item, path_rid=rid, field_id=field, extract_strategy=x_extract_strategy
161
+ request,
162
+ kbid,
163
+ item,
164
+ path_rid=rid,
165
+ field_id=field,
166
+ extract_strategy=x_extract_strategy,
167
+ split_strategy=x_split_strategy,
154
168
  )
155
169
 
156
170
 
@@ -169,9 +183,16 @@ async def tus_post_rid_prefix(
169
183
  field: FieldIdString,
170
184
  item: Optional[CreateResourcePayload] = None,
171
185
  x_extract_strategy: Annotated[Optional[str], X_EXTRACT_STRATEGY] = None,
186
+ x_split_strategy: Annotated[Optional[str], X_SPLIT_STRATEGY] = None,
172
187
  ) -> Response:
173
188
  return await _tus_post(
174
- request, kbid, item, path_rid=path_rid, field_id=field, extract_strategy=x_extract_strategy
189
+ request,
190
+ kbid,
191
+ item,
192
+ path_rid=path_rid,
193
+ field_id=field,
194
+ extract_strategy=x_extract_strategy,
195
+ split_strategy=x_split_strategy,
175
196
  )
176
197
 
177
198
 
@@ -188,8 +209,11 @@ async def tus_post(
188
209
  kbid: str,
189
210
  item: Optional[CreateResourcePayload] = None,
190
211
  x_extract_strategy: Annotated[Optional[str], X_EXTRACT_STRATEGY] = None,
212
+ x_split_strategy: Annotated[Optional[str], X_SPLIT_STRATEGY] = None,
191
213
  ) -> Response:
192
- return await _tus_post(request, kbid, item, extract_strategy=x_extract_strategy)
214
+ return await _tus_post(
215
+ request, kbid, item, extract_strategy=x_extract_strategy, split_strategy=x_split_strategy
216
+ )
193
217
 
194
218
 
195
219
  # called by one the three POST above - there are defined distinctly to produce clean API doc
@@ -200,6 +224,7 @@ async def _tus_post(
200
224
  path_rid: Optional[str] = None,
201
225
  field_id: Optional[str] = None,
202
226
  extract_strategy: Optional[str] = None,
227
+ split_strategy: Optional[str] = None,
203
228
  ) -> Response:
204
229
  """
205
230
  An empty POST request is used to create a new upload resource.
@@ -298,6 +323,7 @@ async def _tus_post(
298
323
  offset=0,
299
324
  item=creation_payload,
300
325
  extract_strategy=extract_strategy,
326
+ split_strategy=split_strategy,
301
327
  )
302
328
 
303
329
  if size is not None:
@@ -583,6 +609,7 @@ async def _tus_patch(
583
609
  bucket=storage_manager.storage.get_bucket_name(kbid),
584
610
  item=creation_payload,
585
611
  extract_strategy=dm.get("extract_strategy") or None,
612
+ split_strategy=dm.get("split_strategy") or None,
586
613
  )
587
614
  except LimitsExceededError as exc:
588
615
  raise HTTPException(status_code=exc.status_code, detail=exc.detail)
@@ -621,6 +648,7 @@ async def upload_rslug_prefix(
621
648
  x_language: Annotated[Optional[str], X_LANGUAGE] = None,
622
649
  x_md5: Annotated[Optional[str], X_MD5] = None,
623
650
  x_extract_strategy: Annotated[Optional[str], X_EXTRACT_STRATEGY] = None,
651
+ x_split_strategy: Annotated[Optional[str], X_SPLIT_STRATEGY] = None,
624
652
  ) -> ResourceFileUploaded:
625
653
  rid = await get_rid_from_slug_or_raise_error(kbid, rslug)
626
654
  return await _upload(
@@ -633,6 +661,7 @@ async def upload_rslug_prefix(
633
661
  x_language=x_language,
634
662
  x_md5=x_md5,
635
663
  x_extract_strategy=x_extract_strategy,
664
+ x_split_strategy=x_split_strategy,
636
665
  )
637
666
 
638
667
 
@@ -655,6 +684,7 @@ async def upload_rid_prefix(
655
684
  x_language: Annotated[Optional[str], X_LANGUAGE] = None,
656
685
  x_md5: Annotated[Optional[str], X_MD5] = None,
657
686
  x_extract_strategy: Annotated[Optional[str], X_EXTRACT_STRATEGY] = None,
687
+ x_split_strategy: Annotated[Optional[str], X_SPLIT_STRATEGY] = None,
658
688
  ) -> ResourceFileUploaded:
659
689
  return await _upload(
660
690
  request,
@@ -666,6 +696,7 @@ async def upload_rid_prefix(
666
696
  x_language=x_language,
667
697
  x_md5=x_md5,
668
698
  x_extract_strategy=x_extract_strategy,
699
+ x_split_strategy=x_split_strategy,
669
700
  )
670
701
 
671
702
 
@@ -686,6 +717,7 @@ async def upload(
686
717
  x_language: Annotated[Optional[str], X_LANGUAGE] = None,
687
718
  x_md5: Annotated[Optional[str], X_MD5] = None,
688
719
  x_extract_strategy: Annotated[Optional[str], X_EXTRACT_STRATEGY] = None,
720
+ x_split_strategy: Annotated[Optional[str], X_SPLIT_STRATEGY] = None,
689
721
  ) -> ResourceFileUploaded:
690
722
  return await _upload(
691
723
  request,
@@ -695,6 +727,7 @@ async def upload(
695
727
  x_language=x_language,
696
728
  x_md5=x_md5,
697
729
  x_extract_strategy=x_extract_strategy,
730
+ x_split_strategy=x_split_strategy,
698
731
  )
699
732
 
700
733
 
@@ -709,6 +742,7 @@ async def _upload(
709
742
  x_language: Optional[str] = None,
710
743
  x_md5: Optional[str] = None,
711
744
  x_extract_strategy: Optional[str] = None,
745
+ x_split_strategy: Optional[str] = None,
712
746
  ) -> ResourceFileUploaded:
713
747
  if path_rid is not None:
714
748
  await validate_rid_exists_or_raise_error(kbid, path_rid)
@@ -803,6 +837,7 @@ async def _upload(
803
837
  request=request,
804
838
  bucket=storage_manager.storage.get_bucket_name(kbid),
805
839
  extract_strategy=x_extract_strategy,
840
+ split_strategy=x_split_strategy,
806
841
  )
807
842
  except LimitsExceededError as exc:
808
843
  raise HTTPException(status_code=exc.status_code, detail=exc.detail)
@@ -863,6 +898,7 @@ async def store_file_on_nuclia_db(
863
898
  md5: Optional[str] = None,
864
899
  item: Optional[CreateResourcePayload] = None,
865
900
  extract_strategy: Optional[str] = None,
901
+ split_strategy: Optional[str] = None,
866
902
  ) -> Optional[int]:
867
903
  # File is on NucliaDB Storage at path
868
904
  partitioning = get_partitioning()
@@ -951,6 +987,8 @@ async def store_file_on_nuclia_db(
951
987
  file_field.password = password
952
988
  if extract_strategy is not None:
953
989
  file_field.extract_strategy = extract_strategy
990
+ if split_strategy is not None:
991
+ file_field.split_strategy = split_strategy
954
992
 
955
993
  writer.files[field].CopyFrom(file_field)
956
994
  # Do not store passwords on maindb
@@ -74,6 +74,7 @@ async def extract_file_field_from_pb(
74
74
  password=field_pb.password,
75
75
  file=models.File(payload=None, uri=field_pb.file.uri),
76
76
  extract_strategy=field_pb.extract_strategy,
77
+ split_strategy=field_pb.split_strategy,
77
78
  )
78
79
  return processing.convert_external_filefield_to_str(file_field, classif_labels)
79
80
  else:
@@ -239,6 +240,8 @@ def parse_text_field(
239
240
  classif_labels = resource_classifications.for_field(key, resources_pb2.FieldType.TEXT)
240
241
  if text_field.extract_strategy is not None:
241
242
  writer.texts[key].extract_strategy = text_field.extract_strategy
243
+ if text_field.split_strategy is not None:
244
+ writer.texts[key].split_strategy = text_field.split_strategy
242
245
  writer.texts[key].body = text_field.body
243
246
  writer.texts[key].format = resources_pb2.FieldText.Format.Value(text_field.format.value)
244
247
  etw = resources_pb2.ExtractedTextWrapper()
@@ -250,6 +253,7 @@ def parse_text_field(
250
253
  body=text_field.body,
251
254
  format=getattr(processing_models.PushTextFormat, text_field.format.value),
252
255
  extract_strategy=text_field.extract_strategy,
256
+ split_strategy=text_field.split_strategy,
253
257
  classification_labels=classif_labels,
254
258
  )
255
259
  writer.field_statuses.append(
@@ -308,6 +312,8 @@ async def parse_internal_file_field(
308
312
  writer.files[key].language = file_field.language
309
313
  if file_field.extract_strategy is not None:
310
314
  writer.files[key].extract_strategy = file_field.extract_strategy
315
+ if file_field.split_strategy is not None:
316
+ writer.files[key].split_strategy = file_field.split_strategy
311
317
 
312
318
  processing = get_processing()
313
319
  if skip_store:
@@ -346,6 +352,8 @@ def parse_external_file_field(
346
352
  writer.files[key].language = file_field.language
347
353
  if file_field.extract_strategy is not None:
348
354
  writer.files[key].extract_strategy = file_field.extract_strategy
355
+ if file_field.split_strategy is not None:
356
+ writer.files[key].split_strategy = file_field.split_strategy
349
357
  uri = file_field.file.uri
350
358
  writer.files[key].url = uri # type: ignore
351
359
  writer.files[key].file.uri = uri # type: ignore
@@ -392,6 +400,9 @@ def parse_link_field(
392
400
  if link_field.extract_strategy is not None:
393
401
  writer.links[key].extract_strategy = link_field.extract_strategy
394
402
 
403
+ if link_field.split_strategy is not None:
404
+ writer.links[key].split_strategy = link_field.split_strategy
405
+
395
406
  toprocess.linkfield[key] = processing_models.LinkUpload(
396
407
  link=link_field.uri,
397
408
  headers=link_field.headers or {},
@@ -400,6 +411,7 @@ def parse_link_field(
400
411
  css_selector=link_field.css_selector,
401
412
  xpath=link_field.xpath,
402
413
  extract_strategy=link_field.extract_strategy,
414
+ split_strategy=link_field.split_strategy,
403
415
  classification_labels=classif_labels,
404
416
  )
405
417
  writer.field_statuses.append(
@@ -486,6 +498,9 @@ async def parse_conversation_field(
486
498
  if conversation_field.extract_strategy:
487
499
  field_value.extract_strategy = conversation_field.extract_strategy
488
500
  convs.extract_strategy = conversation_field.extract_strategy
501
+ if conversation_field.split_strategy:
502
+ field_value.split_strategy = conversation_field.split_strategy
503
+ convs.split_strategy = conversation_field.split_strategy
489
504
  toprocess.conversationfield[key] = convs
490
505
  writer.conversations[key].CopyFrom(field_value)
491
506
  writer.field_statuses.append(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nucliadb
3
- Version: 6.7.0.post4756
3
+ Version: 6.7.0.post4761
4
4
  Summary: NucliaDB
5
5
  Author-email: Nuclia <nucliadb@nuclia.com>
6
6
  License-Expression: AGPL-3.0-or-later
@@ -19,11 +19,11 @@ Classifier: Programming Language :: Python :: 3.12
19
19
  Classifier: Programming Language :: Python :: 3 :: Only
20
20
  Requires-Python: <4,>=3.9
21
21
  Description-Content-Type: text/markdown
22
- Requires-Dist: nucliadb-telemetry[all]>=6.7.0.post4756
23
- Requires-Dist: nucliadb-utils[cache,fastapi,storages]>=6.7.0.post4756
24
- Requires-Dist: nucliadb-protos>=6.7.0.post4756
25
- Requires-Dist: nucliadb-models>=6.7.0.post4756
26
- Requires-Dist: nidx-protos>=6.7.0.post4756
22
+ Requires-Dist: nucliadb-telemetry[all]>=6.7.0.post4761
23
+ Requires-Dist: nucliadb-utils[cache,fastapi,storages]>=6.7.0.post4761
24
+ Requires-Dist: nucliadb-protos>=6.7.0.post4761
25
+ Requires-Dist: nucliadb-models>=6.7.0.post4761
26
+ Requires-Dist: nidx-protos>=6.7.0.post4761
27
27
  Requires-Dist: nucliadb-admin-assets>=1.0.0.post1224
28
28
  Requires-Dist: nuclia-models>=0.46.0
29
29
  Requires-Dist: uvicorn[standard]
@@ -133,7 +133,7 @@ nucliadb/export_import/utils.py,sha256=XV3tJJdhgnVJRSj8AxZjgeipONtB107M185HVJmHp
133
133
  nucliadb/ingest/__init__.py,sha256=fsw3C38VP50km3R-nHL775LNGPpJ4JxqXJ2Ib1f5SqE,1011
134
134
  nucliadb/ingest/app.py,sha256=qiPad2eWgudRdLq0tB0MQZOxOezXO7QBK_ZpPNKQZO0,7378
135
135
  nucliadb/ingest/partitions.py,sha256=2NIhMYbNT0TNBL6bX1UMSi7vxFGICstCKEqsB0TXHOE,2410
136
- nucliadb/ingest/processing.py,sha256=gAm591llkscMq0abhxQmpChDZIzto-76Dni4f7Flhfw,21229
136
+ nucliadb/ingest/processing.py,sha256=IKXMZXIPuuojKQiXR2T5-5NwMvmUnIQIhBXUGgzyFFo,21551
137
137
  nucliadb/ingest/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
138
  nucliadb/ingest/serialize.py,sha256=6byE0TIenJK4zOBx-MQI7H_9NaRDTEqKYIossycRbns,16262
139
139
  nucliadb/ingest/settings.py,sha256=5qJICxwYb028a2iAhVbxOJB5X-hWtDLtiya-YhWostw,3179
@@ -149,7 +149,7 @@ nucliadb/ingest/consumer/shard_creator.py,sha256=w0smEu01FU_2cjZnsfBRNqT_Ntho11X
149
149
  nucliadb/ingest/consumer/utils.py,sha256=jpX8D4lKzuPCpArQLZeX_Zczq3pfen_zAf8sPJfOEZU,2642
150
150
  nucliadb/ingest/fields/__init__.py,sha256=cp15ZcFnHvpcu_5-aK2A4uUyvuZVV_MJn4bIXMa20ks,835
151
151
  nucliadb/ingest/fields/base.py,sha256=vYLGB-8SRYnFIHSZBSm20iXZDAzlwuBiJQC8s3BQv6w,22958
152
- nucliadb/ingest/fields/conversation.py,sha256=0tVpHLvi3UmuO98puimBJUpPXv3qEOpqlWVXVYvz9Vw,7082
152
+ nucliadb/ingest/fields/conversation.py,sha256=PGOr7l6cvg-l1HMr-5UIJq53R6W93F5uew0fOrSufPI,7140
153
153
  nucliadb/ingest/fields/exceptions.py,sha256=sZBk21BSrXFdOdo1qUdCAyD-9YMYakSLdn4_WdIPCIQ,1217
154
154
  nucliadb/ingest/fields/file.py,sha256=1v4jLg3balUua2VmSV8hHkAwPFShTUCOzufZvIUQcQw,4740
155
155
  nucliadb/ingest/fields/generic.py,sha256=elgtqv15aJUq3zY7X_g0bli_2BpcwPArVvzhe54Y4Ig,1547
@@ -187,7 +187,7 @@ nucliadb/migrator/utils.py,sha256=NgUreUvON8_nWEzTxELBMWlfV7E6-6qi-g0DMEbVEz4,28
187
187
  nucliadb/models/__init__.py,sha256=cp15ZcFnHvpcu_5-aK2A4uUyvuZVV_MJn4bIXMa20ks,835
188
188
  nucliadb/models/responses.py,sha256=qnuOoc7TrVSUnpikfTwHLKez47_DE4mSFzpxrwtqijA,1599
189
189
  nucliadb/models/internal/__init__.py,sha256=cp15ZcFnHvpcu_5-aK2A4uUyvuZVV_MJn4bIXMa20ks,835
190
- nucliadb/models/internal/processing.py,sha256=bzPr-hXliY81zMUgG-PDyDiFKP7Xbs71s2d0SIAu4Do,4090
190
+ nucliadb/models/internal/processing.py,sha256=F_WpDItHsBWuMNeLMxXOKqpZoRYdjPuB2l0s29PVcfI,4213
191
191
  nucliadb/purge/__init__.py,sha256=lZE7_FQMVz2rWiwRYrtKpAjVoO6tbnzTYofQbsGUqos,13118
192
192
  nucliadb/purge/orphan_shards.py,sha256=fcP37QoFNjS6q2XozLQImY1swC_EmHeNhAJwLvEkOww,7769
193
193
  nucliadb/reader/__init__.py,sha256=C5Efic7WlGm2U2C5WOyquMFbIj2Pojwe_8mwzVYnOzE,1304
@@ -348,7 +348,7 @@ nucliadb/writer/run.py,sha256=euVZ_rtHDXs-O1kB-Pt1Id8eft9CYVpWH3zJzEoEqls,1448
348
348
  nucliadb/writer/settings.py,sha256=gKtCTDF2E1m6lYL0Iv4WwY4VZuvw1Dsa-uIBZxCHTdU,1071
349
349
  nucliadb/writer/utilities.py,sha256=AZ5qEny1Xm0IDsFtH13oJa2usvJZK8f0FdgF1LrnLCw,1036
350
350
  nucliadb/writer/api/__init__.py,sha256=cp15ZcFnHvpcu_5-aK2A4uUyvuZVV_MJn4bIXMa20ks,835
351
- nucliadb/writer/api/constants.py,sha256=qWEDjFUycrEZnSJyLnNK4PQNodU2oVmkO4NycaEZtio,1738
351
+ nucliadb/writer/api/constants.py,sha256=SCdqGDbEmpdczQdTfbTlpHzVjbLqccPtMQ25MPIF_Gs,1883
352
352
  nucliadb/writer/api/utils.py,sha256=wIQHlU8RQiIGVLI72suvyVIKlCU44Unh0Ae0IiN6Qwo,1313
353
353
  nucliadb/writer/api/v1/__init__.py,sha256=akI9A_jloNLb0dU4T5zjfdyvmSAiDeIdjAlzNx74FlU,1128
354
354
  nucliadb/writer/api/v1/export_import.py,sha256=v0sU55TtRSqDzwkDgcwv2uSaqKCuQTtGcMpYoHQYBQA,8192
@@ -360,12 +360,12 @@ nucliadb/writer/api/v1/router.py,sha256=RjuoWLpZer6Kl2BW_wznpNo6XL3BOpdTGqXZCn3Q
360
360
  nucliadb/writer/api/v1/services.py,sha256=3AUjk-SmvqJx76v7y89DZx6oyasojPliGYeniRQjpcU,13337
361
361
  nucliadb/writer/api/v1/slug.py,sha256=xlVBDBpRi9bNulpBHZwhyftVvulfE0zFm1XZIWl-AKY,2389
362
362
  nucliadb/writer/api/v1/transaction.py,sha256=d2Vbgnkk_-FLGSTt3vfldwiJIUf0XoyD0wP1jQNz_DY,2430
363
- nucliadb/writer/api/v1/upload.py,sha256=vdKurdxRU7vYlcQIXf5RNTuX-G0waBSak2HnNRmAbLk,33791
363
+ nucliadb/writer/api/v1/upload.py,sha256=iYYaCW1ONuoZ5YsKgrThQMvGp02Yl94CzZ5SvS966mU,34987
364
364
  nucliadb/writer/api/v1/vectorsets.py,sha256=F3iMViL5G95_Tns4aO2SOA0DwAzxK2_P8MXxtd_XLRE,6973
365
365
  nucliadb/writer/resource/__init__.py,sha256=cp15ZcFnHvpcu_5-aK2A4uUyvuZVV_MJn4bIXMa20ks,835
366
366
  nucliadb/writer/resource/audit.py,sha256=FvxMZPzrNHtd31HgpZEvxzwAkbxJTZRhPLqRYYJi3tA,1426
367
367
  nucliadb/writer/resource/basic.py,sha256=44GK8M9EEVoAUfGiabdLrrpENqeFwNn7qwxF2AHhQGg,10504
368
- nucliadb/writer/resource/field.py,sha256=MhDbcOEw6KbOGBAnBFAKA_yxL2WrC7Ky2JrjB3iWf9c,20384
368
+ nucliadb/writer/resource/field.py,sha256=me3Ig-11evXEJl3UNJsmZyHbs_VZYMa-WIKOHZPsO3E,21175
369
369
  nucliadb/writer/resource/origin.py,sha256=pvhUDdU0mlWPUcpoQi4LDUJaRtfjzVVrA8XcGVI_N8k,2021
370
370
  nucliadb/writer/tus/__init__.py,sha256=Kera0BtxoDX0ngPftXiMjNgjrhtQ3l2XFc5nJqSBOJY,5498
371
371
  nucliadb/writer/tus/azure.py,sha256=XhWAlWTM0vmXcXtuEPYjjeEhuZjiZXZu8q9WsJ7omFE,4107
@@ -376,8 +376,8 @@ nucliadb/writer/tus/local.py,sha256=7jYa_w9b-N90jWgN2sQKkNcomqn6JMVBOVeDOVYJHto,
376
376
  nucliadb/writer/tus/s3.py,sha256=vu1BGg4VqJ_x2P1u2BxqPKlSfw5orT_a3R-Ln5oPUpU,8483
377
377
  nucliadb/writer/tus/storage.py,sha256=ToqwjoYnjI4oIcwzkhha_MPxi-k4Jk3Lt55zRwaC1SM,2903
378
378
  nucliadb/writer/tus/utils.py,sha256=MSdVbRsRSZVdkaum69_0wku7X3p5wlZf4nr6E0GMKbw,2556
379
- nucliadb-6.7.0.post4756.dist-info/METADATA,sha256=xi0z35FY699FmEsCmLg61s1cfI4TwhqfbH4fpMmGkcg,4158
380
- nucliadb-6.7.0.post4756.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
381
- nucliadb-6.7.0.post4756.dist-info/entry_points.txt,sha256=XqGfgFDuY3zXQc8ewXM2TRVjTModIq851zOsgrmaXx4,1268
382
- nucliadb-6.7.0.post4756.dist-info/top_level.txt,sha256=hwYhTVnX7jkQ9gJCkVrbqEG1M4lT2F_iPQND1fCzF80,20
383
- nucliadb-6.7.0.post4756.dist-info/RECORD,,
379
+ nucliadb-6.7.0.post4761.dist-info/METADATA,sha256=3lwq_C6vnBcjGPi8jXLmhFlftykvZJbRIu6BuWHPu9k,4158
380
+ nucliadb-6.7.0.post4761.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
381
+ nucliadb-6.7.0.post4761.dist-info/entry_points.txt,sha256=XqGfgFDuY3zXQc8ewXM2TRVjTModIq851zOsgrmaXx4,1268
382
+ nucliadb-6.7.0.post4761.dist-info/top_level.txt,sha256=hwYhTVnX7jkQ9gJCkVrbqEG1M4lT2F_iPQND1fCzF80,20
383
+ nucliadb-6.7.0.post4761.dist-info/RECORD,,