nucliadb 6.2.0.post2660__py3-none-any.whl → 6.2.0.post2670__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.
@@ -36,7 +36,7 @@ logger = logging.getLogger(__name__)
36
36
 
37
37
  async def migrate(context: ExecutionContext) -> None:
38
38
  async with context.kv_driver.transaction() as txn:
39
- async for key in txn.keys(KB_SLUGS_BASE, count=-1):
39
+ async for key in txn.keys(KB_SLUGS_BASE):
40
40
  slug = key.replace(KB_SLUGS_BASE, "")
41
41
  value = await txn.get(key, for_update=False)
42
42
  if value is None:
@@ -87,7 +87,7 @@ async def set_entities_group(
87
87
 
88
88
  async def iterate_entities_groups(txn: Transaction, *, kbid: str) -> AsyncGenerator[str, None]:
89
89
  entities_key = KB_ENTITIES.format(kbid=kbid)
90
- async for key in txn.keys(entities_key, count=-1):
90
+ async for key in txn.keys(entities_key):
91
91
  group = key.split("/")[-1]
92
92
  yield group
93
93
 
@@ -34,7 +34,7 @@ logger = logging.getLogger(__name__)
34
34
 
35
35
 
36
36
  async def get_kbs(txn: Transaction, *, prefix: str = "") -> AsyncIterator[tuple[str, str]]:
37
- async for key in txn.keys(KB_SLUGS.format(slug=prefix), count=-1):
37
+ async for key in txn.keys(KB_SLUGS.format(slug=prefix)):
38
38
  slug = key.replace(KB_SLUGS_BASE, "")
39
39
  uuid = await get_kb_uuid(txn, slug=slug)
40
40
  if uuid is None:
@@ -227,7 +227,7 @@ async def iterate_resource_ids(*, kbid: str) -> AsyncGenerator[str, None]:
227
227
  @backoff.on_exception(backoff.expo, (Exception,), jitter=backoff.random_jitter, max_tries=3)
228
228
  async def _iter_resource_slugs(*, kbid: str) -> AsyncGenerator[str, None]:
229
229
  async with with_ro_transaction() as txn:
230
- async for key in txn.keys(match=KB_RESOURCE_SLUG_BASE.format(kbid=kbid), count=-1):
230
+ async for key in txn.keys(match=KB_RESOURCE_SLUG_BASE.format(kbid=kbid)):
231
231
  yield key.split("/")[-1]
232
232
 
233
233
 
@@ -145,7 +145,7 @@ async def iter_indexed_keys(*, kbid: str) -> AsyncGenerator[str, None]:
145
145
  """
146
146
  start_key = KB_ROLLOVER_RESOURCES_INDEXED.format(kbid=kbid, resource="")
147
147
  async with with_ro_transaction() as txn:
148
- async for key in txn.keys(match=start_key, count=-1):
148
+ async for key in txn.keys(match=start_key):
149
149
  yield key.split("/")[-1]
150
150
 
151
151
 
@@ -23,7 +23,7 @@ import asyncio
23
23
  from contextlib import asynccontextmanager
24
24
  from typing import AsyncGenerator, Optional
25
25
 
26
- DEFAULT_SCAN_LIMIT = 10
26
+ DEFAULT_SCAN_LIMIT = -1
27
27
  DEFAULT_BATCH_SCAN_LIMIT = 500
28
28
 
29
29
 
@@ -202,7 +202,7 @@ class LocalTransaction(Transaction):
202
202
 
203
203
  async def count(self, match: str) -> int:
204
204
  value = 0
205
- async for _ in self.keys(match, count=-1):
205
+ async for _ in self.keys(match):
206
206
  value += 1
207
207
  return value
208
208
 
@@ -286,7 +286,7 @@ class EntitiesManager:
286
286
 
287
287
  # stored groups
288
288
  entities_key = KB_ENTITIES.format(kbid=self.kbid)
289
- async for key in self.txn.keys(entities_key, count=-1):
289
+ async for key in self.txn.keys(entities_key):
290
290
  group = key.split("/")[-1]
291
291
  if exclude_deleted and group in deleted_groups:
292
292
  continue
@@ -462,7 +462,7 @@ class KnowledgeBox:
462
462
 
463
463
  async def iterate_resources(self) -> AsyncGenerator[Resource, None]:
464
464
  base = KB_RESOURCE_SLUG_BASE.format(kbid=self.kbid)
465
- async for key in self.txn.keys(match=base, count=-1):
465
+ async for key in self.txn.keys(match=base):
466
466
  slug = key.split("/")[-1]
467
467
  uuid = await self.get_resource_uuid_by_slug(slug)
468
468
  if uuid is not None:
@@ -56,10 +56,10 @@ class MigrationsDataManager:
56
56
  await txn.set(MIGRATIONS_KEY.format(kbid=kbid), str(target_version).encode())
57
57
  await txn.commit()
58
58
 
59
- async def get_kb_migrations(self, limit: int = 100) -> list[str]:
59
+ async def get_kb_migrations(self) -> list[str]:
60
60
  keys = []
61
61
  async with self.driver.transaction() as txn:
62
- async for key in txn.keys(MIGRATIONS_CONTAINER_KEY, count=limit):
62
+ async for key in txn.keys(MIGRATIONS_CONTAINER_KEY):
63
63
  keys.append(key.split("/")[-1])
64
64
 
65
65
  return keys
@@ -77,7 +77,7 @@ async def run_all_kb_migrations(context: ExecutionContext, target_version: int)
77
77
  Schedule all KB migrations to run in parallel. Only a certain number of migrations will run at the same time.
78
78
  If any of the migrations fail, the whole process will fail.
79
79
  """
80
- to_migrate = await context.data_manager.get_kb_migrations(limit=-1)
80
+ to_migrate = await context.data_manager.get_kb_migrations()
81
81
 
82
82
  if len(to_migrate) == 0:
83
83
  return
@@ -42,7 +42,7 @@ from nucliadb_utils.utilities import get_storage
42
42
 
43
43
  async def _iter_keys(driver: Driver, match: str) -> AsyncGenerator[str, None]:
44
44
  async with driver.transaction(read_only=True) as keys_txn:
45
- async for key in keys_txn.keys(match=match, count=-1):
45
+ async for key in keys_txn.keys(match=match):
46
46
  yield key
47
47
 
48
48
 
nucliadb/train/nodes.py CHANGED
@@ -126,7 +126,7 @@ class TrainShardManager(manager.KBShardManager):
126
126
  async with self.driver.transaction() as txn:
127
127
  kb = KnowledgeBox(txn, self.storage, request.kb.uuid)
128
128
  base = KB_RESOURCE_SLUG_BASE.format(kbid=request.kb.uuid)
129
- async for key in txn.keys(match=base, count=-1):
129
+ async for key in txn.keys(match=base):
130
130
  # Fetch and Add wanted item
131
131
  rid = await txn.get(key, for_update=False)
132
132
  if rid is not None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nucliadb
3
- Version: 6.2.0.post2660
3
+ Version: 6.2.0.post2670
4
4
  Home-page: https://docs.nuclia.dev/docs/management/nucliadb/intro
5
5
  Author: NucliaDB Community
6
6
  Author-email: nucliadb@nuclia.com
@@ -22,10 +22,10 @@ Classifier: Programming Language :: Python :: 3.12
22
22
  Classifier: Programming Language :: Python :: 3 :: Only
23
23
  Requires-Python: >=3.9, <4
24
24
  Description-Content-Type: text/markdown
25
- Requires-Dist: nucliadb-telemetry[all]>=6.2.0.post2660
26
- Requires-Dist: nucliadb-utils[cache,fastapi,storages]>=6.2.0.post2660
27
- Requires-Dist: nucliadb-protos>=6.2.0.post2660
28
- Requires-Dist: nucliadb-models>=6.2.0.post2660
25
+ Requires-Dist: nucliadb-telemetry[all]>=6.2.0.post2670
26
+ Requires-Dist: nucliadb-utils[cache,fastapi,storages]>=6.2.0.post2670
27
+ Requires-Dist: nucliadb-protos>=6.2.0.post2670
28
+ Requires-Dist: nucliadb-models>=6.2.0.post2670
29
29
  Requires-Dist: nucliadb-admin-assets>=1.0.0.post1224
30
30
  Requires-Dist: nucliadb-node-binding>=2.26.0
31
31
  Requires-Dist: nuclia-models>=0.24.2
@@ -14,7 +14,7 @@ migrations/0014_rollover_shards.py,sha256=xeSV5TpacCB2QHqil1L18w7wMCKWX-Qmx2bmHl
14
14
  migrations/0015_targeted_rollover.py,sha256=xz4PvijGdq1A6fFgtjxeie1ABEHhmlG13Gna8zJ3x0k,1399
15
15
  migrations/0016_upgrade_to_paragraphs_v2.py,sha256=9eepvzme-nb_mw6rwIdjjJzbFcpOqa8oJm6PdNTfAOM,2497
16
16
  migrations/0017_multiple_writable_shards.py,sha256=HSi-eXXI0kO9sLgunUMuVpFnYMjVhWTVfDS_lIjlkuM,2095
17
- migrations/0018_purge_orphan_kbslugs.py,sha256=OQlg45FDr-9xglp6V1eUGH7qzmtuAViI0UhtUrVW8kg,2187
17
+ migrations/0018_purge_orphan_kbslugs.py,sha256=ztEOAjqlWVagv1UMg_sOm8HaW6S9FoDOIg7-rZ05tro,2177
18
18
  migrations/0019_upgrade_to_paragraphs_v3.py,sha256=zP13_IKE7u4ox2gyc493L2_ewyiPlr7Csn5K6n5eylI,2479
19
19
  migrations/0020_drain_nodes_from_cluster.py,sha256=cgm_72kH57QiBbPx17Judn7Wp5hQnKn6UW_1Z37_8s8,3269
20
20
  migrations/0021_overwrite_vectorsets_key.py,sha256=O6nb2a7kDFX9I3XFrVtudCUyKptpGyv2_GYvcvbQOI8,1583
@@ -67,14 +67,14 @@ nucliadb/common/context/fastapi.py,sha256=j3HZ3lne6mIfw1eEar2het8RWzv6UruUZpXaKi
67
67
  nucliadb/common/datamanagers/__init__.py,sha256=U1cg-KvqbfzN5AnL_tFFrERmPb81w_0MNiTmxObmla4,2062
68
68
  nucliadb/common/datamanagers/atomic.py,sha256=DU7RihO8WaGNuh_GTEpQ-8hkoinY5GSpNSzVpLsZh30,3225
69
69
  nucliadb/common/datamanagers/cluster.py,sha256=psTwAWSLj83vhFnC1iJJ6holrolAI4nKos9PuEWspYY,1500
70
- nucliadb/common/datamanagers/entities.py,sha256=B6WDq_f611oWl2Zk-os45JoHXUa3MHVMxLmnEosfedE,5321
70
+ nucliadb/common/datamanagers/entities.py,sha256=hqw4YcEOumGK_1vgNNfxP-WafHvWN5jf61n4U01WJtc,5311
71
71
  nucliadb/common/datamanagers/exceptions.py,sha256=Atz_PP_GGq4jgJaWcAkcRbHBoBaGcC9yJvFteylKtTE,883
72
72
  nucliadb/common/datamanagers/fields.py,sha256=fgEP3SM_8asi3eSq2rMxJw2qgvNw0oZ_LoM5zjW27w4,2716
73
- nucliadb/common/datamanagers/kb.py,sha256=Iy-dbTmAd5mZeHCNjpUiU8RP0kM5zNslyLM2zI4y9yE,6166
73
+ nucliadb/common/datamanagers/kb.py,sha256=P7EhF4tApIUG2jw_HH1oMufTKG9__kuOLKnrCNGbDM4,6156
74
74
  nucliadb/common/datamanagers/labels.py,sha256=Zm0GQpSPoGXEEysUY7VsDIcyKSIIQsMVphj23IyM9_c,4502
75
75
  nucliadb/common/datamanagers/processing.py,sha256=ByxdZzdbAfJGqC6__mY-zryjk040TyQfcUq3rxujeoY,1587
76
- nucliadb/common/datamanagers/resources.py,sha256=ZGhOjhdP5Qk9uReeadtaRavwvFuaRPptLqE9ArkuxgY,11307
77
- nucliadb/common/datamanagers/rollover.py,sha256=oIdx82exYMXLhXIbf-NDL8FIDM4K6NjBjoQK-5IX9_0,7843
76
+ nucliadb/common/datamanagers/resources.py,sha256=5EJk7P-G4A_YiobiUexz_yuZUTuxS5zqzjMdJN6Sm6k,11297
77
+ nucliadb/common/datamanagers/rollover.py,sha256=c_DE3jtZusNL_9aOVjHOB9PV5OSVg7GJ5J-Ny0goHBE,7833
78
78
  nucliadb/common/datamanagers/synonyms.py,sha256=zk3GEH38KF5vV_VcuL6DCg-2JwgXJfQl7Io6VPqv2cw,1566
79
79
  nucliadb/common/datamanagers/utils.py,sha256=McHlXvE4P3x-bBY3pr0n8djbTDQvI1G5WusJrnRdhLA,1827
80
80
  nucliadb/common/datamanagers/vectorsets.py,sha256=XgHNQRw13GpWWymE6qu_ymdzuwL6hDiBKq50fN_sEMM,4007
@@ -91,9 +91,9 @@ nucliadb/common/http_clients/processing.py,sha256=Gj6smPfyQv4mQdWFSG9Zda2cLfQ-Dh
91
91
  nucliadb/common/http_clients/pypi.py,sha256=VHIUjwJEJVntVUo_FRoXIo8sLmluy7sa9-iXSITcrMY,1540
92
92
  nucliadb/common/http_clients/utils.py,sha256=yGUkHNS41abHiBoHqo_Mg3QSqGsS7rUtbfGftbEC57U,1529
93
93
  nucliadb/common/maindb/__init__.py,sha256=cp15ZcFnHvpcu_5-aK2A4uUyvuZVV_MJn4bIXMa20ks,835
94
- nucliadb/common/maindb/driver.py,sha256=0uv9pY37mi7stvtVwLMl_pHBMAqlcoXfVtow6Xj9zqo,2633
94
+ nucliadb/common/maindb/driver.py,sha256=FMRBZgb1lRxOTnr9PHsWs1hLGTswKzkfk6CLzNmFmt8,2633
95
95
  nucliadb/common/maindb/exceptions.py,sha256=u6ZSQW6jk5QM_IL5XmQ_dF-vZ-JkuWEqZbNJ-S6FG_g,988
96
- nucliadb/common/maindb/local.py,sha256=gipZy3yqfx7WleZNP6g07xnEsKxBik1A8QMNJ2zdVoQ,7280
96
+ nucliadb/common/maindb/local.py,sha256=uE9DIQX1yCNHNN8Tx4fPgSiuTtWpQhlfWkMJ8QZPae0,7270
97
97
  nucliadb/common/maindb/pg.py,sha256=FNq2clckJYj4Te-1svjQblqGoAF5OwJ5nwz2JtxD0d4,13645
98
98
  nucliadb/common/maindb/utils.py,sha256=zWLs82rWEVhpc1dYvdqTZiAcjZroB6Oo5MQaxMeFuKk,3301
99
99
  nucliadb/export_import/__init__.py,sha256=y-Is0Bxa8TMV6UiOW0deC_D3U465P65CQ5RjBjIWnow,932
@@ -133,9 +133,9 @@ nucliadb/ingest/fields/text.py,sha256=tFvSQJAe0W7ePpp2_WDfLiE2yglR1OTU0Zht9acvOF
133
133
  nucliadb/ingest/orm/__init__.py,sha256=cp15ZcFnHvpcu_5-aK2A4uUyvuZVV_MJn4bIXMa20ks,835
134
134
  nucliadb/ingest/orm/brain.py,sha256=TtHPKZzv_Yz-tYkB1QjzPWUxA7Z_naMVXAfo8iov9Gw,28574
135
135
  nucliadb/ingest/orm/broker_message.py,sha256=JYYUJIZEL_EqovQuw6u-FmEkjyoYlxIXJq9hFekOiks,6441
136
- nucliadb/ingest/orm/entities.py,sha256=xWhp_JXxHjUJ-m3I08tLqkpIrThHH0LJDvIVgK4q7wA,15769
136
+ nucliadb/ingest/orm/entities.py,sha256=2PslT1FZ6yCvJtjR0UpKTSzxJrtS-C_gZx4ZTWHunTc,15759
137
137
  nucliadb/ingest/orm/exceptions.py,sha256=k4Esv4NtL4TrGTcsQpwrSfDhPQpiYcRbB1SpYmBX5MY,1432
138
- nucliadb/ingest/orm/knowledgebox.py,sha256=hKKqvZUG4tdPO3Z29_qvz5-dcX5_X2x5pkNQhDGnR7Q,22746
138
+ nucliadb/ingest/orm/knowledgebox.py,sha256=loH4PBxL2aJYMpbumrYpWq1kzqt-HNUeAok2-kOdqz8,22736
139
139
  nucliadb/ingest/orm/metrics.py,sha256=OkwMSPKLZcKba0ZTwtTiIxwBgaLMX5ydhGieKvi2y7E,1096
140
140
  nucliadb/ingest/orm/resource.py,sha256=_m4B14dSpO-lszpoqlhXYL3LrplB9p3NrDZC5kQbXHs,53860
141
141
  nucliadb/ingest/orm/utils.py,sha256=vCe_9UxHu26JDFGLwQ0wH-XyzJIpQCTK-Ow9dtZR5Vg,2716
@@ -152,15 +152,15 @@ nucliadb/middleware/__init__.py,sha256=A8NBlBuEkunCFMKpR9gnfNELsVn0Plc55BIQMbWDM
152
152
  nucliadb/migrator/__init__.py,sha256=cp15ZcFnHvpcu_5-aK2A4uUyvuZVV_MJn4bIXMa20ks,835
153
153
  nucliadb/migrator/command.py,sha256=dKbJ1tAmP6X4lMVRSSlz351euaqs2wBPpOczLjATUes,2089
154
154
  nucliadb/migrator/context.py,sha256=3h6M_AG2HFjTYtQC2XDmKps7wywdUduT1RM3C30S_S0,1334
155
- nucliadb/migrator/datamanager.py,sha256=R_QS9uHPl8f1gYAIopjQ74g9HruKjZGo4DZqOnJz-is,5277
155
+ nucliadb/migrator/datamanager.py,sha256=sPrFvgn0aOyWKUUkwaaUmAqqn3jKlVe1IpIXrkoKD6k,5246
156
156
  nucliadb/migrator/exceptions.py,sha256=jTj3YhKmFwUyjjgoKUNoCAiGrpEbB64X1Um212nSNQ8,889
157
- nucliadb/migrator/migrator.py,sha256=L8Ss7K86Ioy2ehG2ipbuYbPSV-Q4Uzc8-vpZHDgEVDY,10842
157
+ nucliadb/migrator/migrator.py,sha256=tpdKvqqB0p1klcX2LjUD0Br6brcxxfJMVMMoKABmPD4,10834
158
158
  nucliadb/migrator/models.py,sha256=3PJkL2PGvKgIG0KIBv4H5XCsOVmwWMlRV3m0ntDj10Q,1145
159
159
  nucliadb/migrator/settings.py,sha256=jOUX0ZMunCXN8HpF9xXN0aunJYRhu4Vdr_ffjRIqwtw,1144
160
160
  nucliadb/migrator/utils.py,sha256=NgUreUvON8_nWEzTxELBMWlfV7E6-6qi-g0DMEbVEz4,2885
161
161
  nucliadb/models/__init__.py,sha256=cp15ZcFnHvpcu_5-aK2A4uUyvuZVV_MJn4bIXMa20ks,835
162
162
  nucliadb/models/responses.py,sha256=qnuOoc7TrVSUnpikfTwHLKez47_DE4mSFzpxrwtqijA,1599
163
- nucliadb/purge/__init__.py,sha256=7EPNkJT2zwtoDHHlUGggMV8JaMV-sg4fRfx-2uYDK7c,7951
163
+ nucliadb/purge/__init__.py,sha256=Y_PcRfvqccUJwXSFZO4Q9uogBGe1_pH4MyS8RvyCPgA,7941
164
164
  nucliadb/purge/orphan_shards.py,sha256=fA5yqRRN-M50OIk8dkAi1_ShFVjwDYEYqzMA9dYP0eU,9227
165
165
  nucliadb/reader/__init__.py,sha256=C5Efic7WlGm2U2C5WOyquMFbIj2Pojwe_8mwzVYnOzE,1304
166
166
  nucliadb/reader/app.py,sha256=Se-BFTE6d1v1msLzQn4q5XIhjnSxa2ckDSHdvm7NRf8,3096
@@ -268,7 +268,7 @@ nucliadb/train/app.py,sha256=TiRttTvekLuZdIvi46E4HyuumDTkR4G4Luqq3fEdjes,2824
268
268
  nucliadb/train/generator.py,sha256=0_zqWsLUHmJZl0lXhGorO5CWSkl42-k78dqb1slZ5h0,3904
269
269
  nucliadb/train/lifecycle.py,sha256=aCNaRURu0ZOUJaWLTZuEjwTstnB9MuLtzxOMztQoGxc,1773
270
270
  nucliadb/train/models.py,sha256=BmgmMjDsu_1Ih5JDAqo6whhume90q0ASJcDP9dkMQm8,1198
271
- nucliadb/train/nodes.py,sha256=rGtCQfVZLNYztvxyWOItpuOqmgM2jvrbS9-7CJkmJxQ,5792
271
+ nucliadb/train/nodes.py,sha256=ha0AsGupmyvxUpoc1THQ6-eN7ziPkjM_gkKgKYT0SCg,5782
272
272
  nucliadb/train/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
273
273
  nucliadb/train/run.py,sha256=evz6CKVfJOzkbHMoaYz2mTMlKjJnNOb1O8zBBWMpeBw,1400
274
274
  nucliadb/train/servicer.py,sha256=scbmq8FriKsJGkOcoZB2Fg_IyIExn9Ux4W30mGDlkJQ,5728
@@ -332,9 +332,9 @@ nucliadb/writer/tus/local.py,sha256=7jYa_w9b-N90jWgN2sQKkNcomqn6JMVBOVeDOVYJHto,
332
332
  nucliadb/writer/tus/s3.py,sha256=vF0NkFTXiXhXq3bCVXXVV-ED38ECVoUeeYViP8uMqcU,8357
333
333
  nucliadb/writer/tus/storage.py,sha256=ToqwjoYnjI4oIcwzkhha_MPxi-k4Jk3Lt55zRwaC1SM,2903
334
334
  nucliadb/writer/tus/utils.py,sha256=MSdVbRsRSZVdkaum69_0wku7X3p5wlZf4nr6E0GMKbw,2556
335
- nucliadb-6.2.0.post2660.dist-info/METADATA,sha256=tNzH0tT-85DC0CNDsDmeS2EfQejBStixtl7Skk_zu7w,4429
336
- nucliadb-6.2.0.post2660.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
337
- nucliadb-6.2.0.post2660.dist-info/entry_points.txt,sha256=XqGfgFDuY3zXQc8ewXM2TRVjTModIq851zOsgrmaXx4,1268
338
- nucliadb-6.2.0.post2660.dist-info/top_level.txt,sha256=hwYhTVnX7jkQ9gJCkVrbqEG1M4lT2F_iPQND1fCzF80,20
339
- nucliadb-6.2.0.post2660.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
340
- nucliadb-6.2.0.post2660.dist-info/RECORD,,
335
+ nucliadb-6.2.0.post2670.dist-info/METADATA,sha256=TX2SZimEtdp17QetMKI5jg4cmPRgQpVkMoHIeQPgbMc,4429
336
+ nucliadb-6.2.0.post2670.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
337
+ nucliadb-6.2.0.post2670.dist-info/entry_points.txt,sha256=XqGfgFDuY3zXQc8ewXM2TRVjTModIq851zOsgrmaXx4,1268
338
+ nucliadb-6.2.0.post2670.dist-info/top_level.txt,sha256=hwYhTVnX7jkQ9gJCkVrbqEG1M4lT2F_iPQND1fCzF80,20
339
+ nucliadb-6.2.0.post2670.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
340
+ nucliadb-6.2.0.post2670.dist-info/RECORD,,