nucliadb 6.3.1.post3549__py3-none-any.whl → 6.3.1.post3560__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.
nucliadb/backups/const.py CHANGED
@@ -19,6 +19,9 @@
19
19
  #
20
20
 
21
21
 
22
+ from nucliadb.tasks.utils import NatsConsumer, NatsStream
23
+
24
+
22
25
  class MaindbKeys:
23
26
  METADATA = "kbs/{kbid}/backups/{backup_id}"
24
27
  LAST_RESTORED = "kbs/{kbid}/backup/{backup_id}/last_restored"
@@ -41,9 +44,8 @@ class BackupFinishedStream:
41
44
  subject = "backups.creation_finished"
42
45
 
43
46
 
44
- class BackupsNatsStream:
45
- name = "ndb-backups"
46
- stream_subjects = ["ndb-backups.>"]
47
- create_subject = "ndb-backups.create"
48
- delete_subject = "ndb-backups.delete"
49
- restore_subject = "ndb-backups.restore"
47
+ class BackupsNatsConfig:
48
+ stream = NatsStream(name="ndb-backups", subjects=["ndb-backups.>"])
49
+ create_consumer = NatsConsumer(subject="ndb-backups.create", group="ndb-backups-create")
50
+ delete_consumer = NatsConsumer(subject="ndb-backups.delete", group="ndb-backups-delete")
51
+ restore_consumer = NatsConsumer(subject="ndb-backups.restore", group="ndb-backups-restore")
nucliadb/backups/tasks.py CHANGED
@@ -19,7 +19,7 @@
19
19
  #
20
20
  from typing import Awaitable, Callable
21
21
 
22
- from nucliadb.backups.const import BackupsNatsStream
22
+ from nucliadb.backups.const import BackupsNatsConfig
23
23
  from nucliadb.backups.create import backup_kb_task
24
24
  from nucliadb.backups.delete import delete_backup
25
25
  from nucliadb.backups.models import CreateBackupRequest, DeleteBackupRequest, RestoreBackupRequest
@@ -33,9 +33,8 @@ from nucliadb.tasks.producer import NatsTaskProducer
33
33
  def creator_consumer() -> NatsTaskConsumer[CreateBackupRequest]:
34
34
  consumer: NatsTaskConsumer = create_consumer(
35
35
  name="backup_creator",
36
- stream=BackupsNatsStream.name,
37
- stream_subjects=BackupsNatsStream.stream_subjects,
38
- consumer_subject=BackupsNatsStream.create_subject,
36
+ stream=BackupsNatsConfig.stream,
37
+ consumer=BackupsNatsConfig.create_consumer,
39
38
  callback=backup_kb_task,
40
39
  msg_type=CreateBackupRequest,
41
40
  max_concurrent_messages=10,
@@ -46,9 +45,8 @@ def creator_consumer() -> NatsTaskConsumer[CreateBackupRequest]:
46
45
  async def create(kbid: str, backup_id: str) -> None:
47
46
  producer: NatsTaskProducer[CreateBackupRequest] = create_producer(
48
47
  name="backup_creator",
49
- stream=BackupsNatsStream.name,
50
- stream_subjects=BackupsNatsStream.stream_subjects,
51
- producer_subject=BackupsNatsStream.create_subject,
48
+ stream=BackupsNatsConfig.stream,
49
+ producer_subject=BackupsNatsConfig.create_consumer.subject,
52
50
  msg_type=CreateBackupRequest,
53
51
  )
54
52
  msg = CreateBackupRequest(
@@ -61,9 +59,8 @@ async def create(kbid: str, backup_id: str) -> None:
61
59
  def restorer_consumer() -> NatsTaskConsumer[RestoreBackupRequest]:
62
60
  consumer: NatsTaskConsumer = create_consumer(
63
61
  name="backup_restorer",
64
- stream=BackupsNatsStream.name,
65
- stream_subjects=BackupsNatsStream.stream_subjects,
66
- consumer_subject=BackupsNatsStream.restore_subject,
62
+ stream=BackupsNatsConfig.stream,
63
+ consumer=BackupsNatsConfig.restore_consumer,
67
64
  callback=restore_kb_task,
68
65
  msg_type=RestoreBackupRequest,
69
66
  max_concurrent_messages=10,
@@ -74,9 +71,8 @@ def restorer_consumer() -> NatsTaskConsumer[RestoreBackupRequest]:
74
71
  async def restore(kbid: str, backup_id: str) -> None:
75
72
  producer: NatsTaskProducer[RestoreBackupRequest] = create_producer(
76
73
  name="backup_restorer",
77
- stream=BackupsNatsStream.name,
78
- stream_subjects=BackupsNatsStream.stream_subjects,
79
- producer_subject=BackupsNatsStream.restore_subject,
74
+ stream=BackupsNatsConfig.stream,
75
+ producer_subject=BackupsNatsConfig.restore_consumer.subject,
80
76
  msg_type=RestoreBackupRequest,
81
77
  )
82
78
  msg = RestoreBackupRequest(
@@ -89,9 +85,8 @@ async def restore(kbid: str, backup_id: str) -> None:
89
85
  def deleter_consumer() -> NatsTaskConsumer[DeleteBackupRequest]:
90
86
  consumer: NatsTaskConsumer = create_consumer(
91
87
  name="backup_deleter",
92
- stream=BackupsNatsStream.name,
93
- stream_subjects=BackupsNatsStream.stream_subjects,
94
- consumer_subject=BackupsNatsStream.delete_subject,
88
+ stream=BackupsNatsConfig.stream,
89
+ consumer=BackupsNatsConfig.delete_consumer,
95
90
  callback=delete_backup,
96
91
  msg_type=DeleteBackupRequest,
97
92
  max_concurrent_messages=2,
@@ -102,9 +97,8 @@ def deleter_consumer() -> NatsTaskConsumer[DeleteBackupRequest]:
102
97
  async def delete(backup_id: str) -> None:
103
98
  producer: NatsTaskProducer[DeleteBackupRequest] = create_producer(
104
99
  name="backup_deleter",
105
- stream=BackupsNatsStream.name,
106
- stream_subjects=BackupsNatsStream.stream_subjects,
107
- producer_subject=BackupsNatsStream.delete_subject,
100
+ stream=BackupsNatsConfig.stream,
101
+ producer_subject=BackupsNatsConfig.delete_consumer.subject,
108
102
  msg_type=DeleteBackupRequest,
109
103
  )
110
104
  msg = DeleteBackupRequest(
@@ -24,15 +24,36 @@ from nucliadb.export_import.models import NatsTaskMessage
24
24
  from nucliadb.tasks import create_consumer, create_producer
25
25
  from nucliadb.tasks.consumer import NatsTaskConsumer
26
26
  from nucliadb.tasks.producer import NatsTaskProducer
27
- from nucliadb_utils import const
27
+ from nucliadb.tasks.utils import NatsConsumer, NatsStream
28
+
29
+
30
+ class ExportsNatsConfig:
31
+ stream = NatsStream(
32
+ name="ndb-exports",
33
+ subjects=["ndb-exports"],
34
+ )
35
+ consumer = NatsConsumer(
36
+ subject="ndb-exports",
37
+ group="ndb-exports",
38
+ )
39
+
40
+
41
+ class ImportsNatsConfig:
42
+ stream = NatsStream(
43
+ name="ndb-imports",
44
+ subjects=["ndb-imports"],
45
+ )
46
+ consumer = NatsConsumer(
47
+ subject="ndb-imports",
48
+ group="ndb-imports",
49
+ )
28
50
 
29
51
 
30
52
  def get_exports_consumer() -> NatsTaskConsumer[NatsTaskMessage]:
31
53
  return create_consumer(
32
54
  name="exports_consumer",
33
- stream=const.Streams.KB_EXPORTS.name,
34
- stream_subjects=[const.Streams.KB_EXPORTS.subject],
35
- consumer_subject=const.Streams.KB_EXPORTS.subject,
55
+ stream=ExportsNatsConfig.stream,
56
+ consumer=ExportsNatsConfig.consumer,
36
57
  callback=export_kb_to_blob_storage,
37
58
  msg_type=NatsTaskMessage,
38
59
  max_concurrent_messages=10,
@@ -42,9 +63,8 @@ def get_exports_consumer() -> NatsTaskConsumer[NatsTaskMessage]:
42
63
  async def get_exports_producer(context: ApplicationContext) -> NatsTaskProducer[NatsTaskMessage]:
43
64
  producer = create_producer(
44
65
  name="exports_producer",
45
- stream=const.Streams.KB_EXPORTS.name,
46
- stream_subjects=[const.Streams.KB_EXPORTS.subject],
47
- producer_subject=const.Streams.KB_EXPORTS.subject,
66
+ stream=ExportsNatsConfig.stream,
67
+ producer_subject=ExportsNatsConfig.consumer.subject,
48
68
  msg_type=NatsTaskMessage,
49
69
  )
50
70
  await producer.initialize(context)
@@ -54,9 +74,8 @@ async def get_exports_producer(context: ApplicationContext) -> NatsTaskProducer[
54
74
  def get_imports_consumer() -> NatsTaskConsumer[NatsTaskMessage]:
55
75
  return create_consumer(
56
76
  name="imports_consumer",
57
- stream=const.Streams.KB_IMPORTS.name,
58
- stream_subjects=[const.Streams.KB_IMPORTS.subject],
59
- consumer_subject=const.Streams.KB_IMPORTS.subject,
77
+ stream=ImportsNatsConfig.stream,
78
+ consumer=ImportsNatsConfig.consumer,
60
79
  callback=import_kb_from_blob_storage,
61
80
  msg_type=NatsTaskMessage,
62
81
  max_concurrent_messages=10,
@@ -66,9 +85,8 @@ def get_imports_consumer() -> NatsTaskConsumer[NatsTaskMessage]:
66
85
  async def get_imports_producer(context: ApplicationContext) -> NatsTaskProducer[NatsTaskMessage]:
67
86
  producer = create_producer(
68
87
  name="imports_producer",
69
- stream=const.Streams.KB_IMPORTS.name,
70
- stream_subjects=[const.Streams.KB_IMPORTS.subject],
71
- producer_subject=const.Streams.KB_IMPORTS.subject,
88
+ stream=ImportsNatsConfig.stream,
89
+ producer_subject=ImportsNatsConfig.consumer.subject,
72
90
  msg_type=NatsTaskMessage,
73
91
  )
74
92
  await producer.initialize(context)
@@ -28,7 +28,7 @@ from nats.aio.client import Msg
28
28
  from nucliadb.common.context import ApplicationContext
29
29
  from nucliadb.tasks.logger import logger
30
30
  from nucliadb.tasks.models import Callback, MsgType
31
- from nucliadb.tasks.utils import create_nats_stream_if_not_exists
31
+ from nucliadb.tasks.utils import NatsConsumer, NatsStream, create_nats_stream_if_not_exists
32
32
  from nucliadb_telemetry import errors
33
33
  from nucliadb_utils.nats import MessageProgressUpdater
34
34
  from nucliadb_utils.settings import nats_consumer_settings
@@ -40,17 +40,15 @@ class NatsTaskConsumer(Generic[MsgType]):
40
40
  def __init__(
41
41
  self,
42
42
  name: str,
43
- stream: str,
44
- stream_subjects: list[str],
45
- consumer_subject: str,
43
+ stream: NatsStream,
44
+ consumer: NatsConsumer,
46
45
  callback: Callback,
47
46
  msg_type: Type[MsgType],
48
47
  max_concurrent_messages: Optional[int] = None,
49
48
  ):
50
49
  self.name = name
51
50
  self.stream = stream
52
- self.stream_subjects = stream_subjects
53
- self.consumer_subject = consumer_subject
51
+ self.consumer = consumer
54
52
  self.callback = callback
55
53
  self.msg_type = msg_type
56
54
  self.max_concurrent_messages = max_concurrent_messages
@@ -61,7 +59,7 @@ class NatsTaskConsumer(Generic[MsgType]):
61
59
  async def initialize(self, context: ApplicationContext):
62
60
  self.context = context
63
61
  await create_nats_stream_if_not_exists(
64
- context, stream_name=self.stream, subjects=self.stream_subjects
62
+ context, stream_name=self.stream.name, subjects=self.stream.subjects
65
63
  )
66
64
  await self._setup_nats_subscription()
67
65
  self.initialized = True
@@ -80,17 +78,15 @@ class NatsTaskConsumer(Generic[MsgType]):
80
78
 
81
79
  async def _setup_nats_subscription(self):
82
80
  # Nats push consumer
83
- stream = self.stream
84
- subject = group = self.consumer_subject
85
81
  max_ack_pending = (
86
82
  self.max_concurrent_messages
87
83
  if self.max_concurrent_messages
88
84
  else nats_consumer_settings.nats_max_ack_pending
89
85
  )
90
86
  self.subscription = await self.context.nats_manager.subscribe(
91
- subject=subject,
92
- queue=group,
93
- stream=stream,
87
+ subject=self.consumer.subject,
88
+ queue=self.consumer.group,
89
+ stream=self.stream.name,
94
90
  cb=self._subscription_worker_as_task,
95
91
  subscription_lost_cb=self._setup_nats_subscription,
96
92
  manual_ack=True,
@@ -103,7 +99,7 @@ class NatsTaskConsumer(Generic[MsgType]):
103
99
  ),
104
100
  )
105
101
  logger.info(
106
- f"Subscribed to {subject} on stream {stream}",
102
+ f"Subscribed {self.consumer.group} to {self.consumer.subject} on stream {self.stream.name}",
107
103
  extra={"consumer_name": self.name},
108
104
  )
109
105
 
@@ -178,9 +174,8 @@ class NatsTaskConsumer(Generic[MsgType]):
178
174
 
179
175
  def create_consumer(
180
176
  name: str,
181
- stream: str,
182
- stream_subjects: list[str],
183
- consumer_subject: str,
177
+ stream: NatsStream,
178
+ consumer: NatsConsumer,
184
179
  callback: Callback,
185
180
  msg_type: Type[MsgType],
186
181
  max_concurrent_messages: Optional[int] = None,
@@ -188,13 +183,11 @@ def create_consumer(
188
183
  """
189
184
  Returns a non-initialized consumer
190
185
  """
191
- consumer = NatsTaskConsumer(
186
+ return NatsTaskConsumer(
192
187
  name=name,
193
188
  stream=stream,
194
- stream_subjects=stream_subjects,
195
- consumer_subject=consumer_subject,
189
+ consumer=consumer,
196
190
  callback=callback,
197
191
  msg_type=msg_type,
198
192
  max_concurrent_messages=max_concurrent_messages,
199
193
  )
200
- return consumer
@@ -22,7 +22,7 @@ from typing import Generic, Optional, Type
22
22
  from nucliadb.common.context import ApplicationContext
23
23
  from nucliadb.tasks.logger import logger
24
24
  from nucliadb.tasks.models import MsgType
25
- from nucliadb.tasks.utils import create_nats_stream_if_not_exists
25
+ from nucliadb.tasks.utils import NatsStream, create_nats_stream_if_not_exists
26
26
  from nucliadb_telemetry import errors
27
27
 
28
28
 
@@ -30,14 +30,12 @@ class NatsTaskProducer(Generic[MsgType]):
30
30
  def __init__(
31
31
  self,
32
32
  name: str,
33
- stream: str,
34
- stream_subjects: list[str],
33
+ stream: NatsStream,
35
34
  producer_subject: str,
36
35
  msg_type: Type[MsgType],
37
36
  ):
38
37
  self.name = name
39
38
  self.stream = stream
40
- self.stream_subjects = stream_subjects
41
39
  self.producer_subject = producer_subject
42
40
  self.msg_type = msg_type
43
41
  self.context: Optional[ApplicationContext] = None
@@ -47,8 +45,8 @@ class NatsTaskProducer(Generic[MsgType]):
47
45
  self.context = context
48
46
  await create_nats_stream_if_not_exists(
49
47
  self.context,
50
- self.stream,
51
- subjects=self.stream_subjects,
48
+ self.stream.name,
49
+ subjects=self.stream.subjects,
52
50
  )
53
51
  self.initialized = True
54
52
 
@@ -81,8 +79,7 @@ class NatsTaskProducer(Generic[MsgType]):
81
79
 
82
80
  def create_producer(
83
81
  name: str,
84
- stream: str,
85
- stream_subjects: list[str],
82
+ stream: NatsStream,
86
83
  producer_subject: str,
87
84
  msg_type: Type[MsgType],
88
85
  ) -> NatsTaskProducer[MsgType]:
@@ -92,7 +89,6 @@ def create_producer(
92
89
  producer = NatsTaskProducer[MsgType](
93
90
  name=name,
94
91
  stream=stream,
95
- stream_subjects=stream_subjects,
96
92
  producer_subject=producer_subject,
97
93
  msg_type=msg_type,
98
94
  )
nucliadb/tasks/utils.py CHANGED
@@ -18,6 +18,8 @@
18
18
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
+ from dataclasses import dataclass
22
+
21
23
  import nats
22
24
 
23
25
  from nucliadb.common.context import ApplicationContext
@@ -31,3 +33,19 @@ async def create_nats_stream_if_not_exists(
31
33
  await js.stream_info(stream_name)
32
34
  except nats.js.errors.NotFoundError:
33
35
  await js.add_stream(name=stream_name, subjects=subjects)
36
+
37
+
38
+ @dataclass
39
+ class NatsStream:
40
+ name: str
41
+ subjects: list[str]
42
+
43
+
44
+ @dataclass
45
+ class NatsConsumer:
46
+ """
47
+ NOTE: groups can't contain '.', '*' or '>' characters.
48
+ """
49
+
50
+ subject: str
51
+ group: str
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: nucliadb
3
- Version: 6.3.1.post3549
3
+ Version: 6.3.1.post3560
4
4
  Summary: NucliaDB
5
5
  Author-email: Nuclia <nucliadb@nuclia.com>
6
6
  License: AGPL
@@ -20,11 +20,11 @@ Classifier: Programming Language :: Python :: 3.12
20
20
  Classifier: Programming Language :: Python :: 3 :: Only
21
21
  Requires-Python: <4,>=3.9
22
22
  Description-Content-Type: text/markdown
23
- Requires-Dist: nucliadb-telemetry[all]>=6.3.1.post3549
24
- Requires-Dist: nucliadb-utils[cache,fastapi,storages]>=6.3.1.post3549
25
- Requires-Dist: nucliadb-protos>=6.3.1.post3549
26
- Requires-Dist: nucliadb-models>=6.3.1.post3549
27
- Requires-Dist: nidx-protos>=6.3.1.post3549
23
+ Requires-Dist: nucliadb-telemetry[all]>=6.3.1.post3560
24
+ Requires-Dist: nucliadb-utils[cache,fastapi,storages]>=6.3.1.post3560
25
+ Requires-Dist: nucliadb-protos>=6.3.1.post3560
26
+ Requires-Dist: nucliadb-models>=6.3.1.post3560
27
+ Requires-Dist: nidx-protos>=6.3.1.post3560
28
28
  Requires-Dist: nucliadb-admin-assets>=1.0.0.post1224
29
29
  Requires-Dist: nuclia-models>=0.24.2
30
30
  Requires-Dist: uvicorn
@@ -40,13 +40,13 @@ nucliadb/metrics_exporter.py,sha256=6u0geEYFxgE5I2Fhl_sxsvGN-ZkaFZNGutSXwrzrsVs,
40
40
  nucliadb/openapi.py,sha256=wDiw0dVEvTpJvbatkJ0JZLkKm9RItZT5PWRHjqRfqTA,2272
41
41
  nucliadb/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
42
  nucliadb/backups/__init__.py,sha256=cp15ZcFnHvpcu_5-aK2A4uUyvuZVV_MJn4bIXMa20ks,835
43
- nucliadb/backups/const.py,sha256=llb5TaC53Ce6BMmlPKPUrVhVGl7uQrqv_Vle-P4GET4,1673
43
+ nucliadb/backups/const.py,sha256=9vPAhLxQO_gNAjSdPxWuv3V66s9WcdpjOQ89CZlfmuk,1894
44
44
  nucliadb/backups/create.py,sha256=AM_nC7TgHOX0EFGaTXClS28jBSK28fHrKNZi14z2wek,10442
45
45
  nucliadb/backups/delete.py,sha256=1rnBhVUGYYZJXSZUrrgYMDZ5NyswEWkIA-G-crRCyHk,2404
46
46
  nucliadb/backups/models.py,sha256=-hITU4Mv6AxePu12toBu_fjpEv6vVGcwNVxV22O9jQA,1273
47
47
  nucliadb/backups/restore.py,sha256=xhslVvTf4H8VmDucZpjrEFpKj6csPIWBadCPMVJYKQ8,9703
48
48
  nucliadb/backups/settings.py,sha256=SyzsInj1BRbBI0atg5IXWbMbOZ_eVg4eSQ3IcnUhCxQ,1357
49
- nucliadb/backups/tasks.py,sha256=QgGDBBWsTpD-jLcrRP-C897Zo1qvc_ux1b4L-SlCnd8,4530
49
+ nucliadb/backups/tasks.py,sha256=4_kOVJ2yCwMvDEpzJgTuTt75TNlpq5woyw9sTAcaSkw,4194
50
50
  nucliadb/backups/utils.py,sha256=ayDaxfWP5cPnAkQH-tF4M6cnowsPQgU2ljYz_iL1CbE,1249
51
51
  nucliadb/common/__init__.py,sha256=cp15ZcFnHvpcu_5-aK2A4uUyvuZVV_MJn4bIXMa20ks,835
52
52
  nucliadb/common/constants.py,sha256=QpigxJh_CtD85Evy0PtV5cVq6x0U_f9xfIcXz1ymkUg,869
@@ -108,7 +108,7 @@ nucliadb/export_import/exceptions.py,sha256=Dw8WqfG4r6MPJc5TPfbjMvCgXXWTcTOecGHR
108
108
  nucliadb/export_import/exporter.py,sha256=k2QVx1EjqFlDYiggriWiEJzwtMXzHbldsqWdpGQM3_U,7074
109
109
  nucliadb/export_import/importer.py,sha256=v5cq9Nn8c2zrY_K_00mydR52f8mdFxR7tLdtNLQ0qvk,4229
110
110
  nucliadb/export_import/models.py,sha256=dbjScNkiMRv4X3Ktudy1JRliD25bfoDTy3JmEZgQSCc,2121
111
- nucliadb/export_import/tasks.py,sha256=yPNdBdvTD7eGc7zvV9Rp7UZ0-mDhA34OOsLqHvns_v0,2975
111
+ nucliadb/export_import/tasks.py,sha256=4JX3bygyLCLSuGxMCStYyoclh_CL8rPxrVVWuGqvcmM,3146
112
112
  nucliadb/export_import/utils.py,sha256=iAQAjYuNx0dhM2b5-1A0NEs8tSRsznuT-izysUrTwS0,19986
113
113
  nucliadb/ingest/__init__.py,sha256=fsw3C38VP50km3R-nHL775LNGPpJ4JxqXJ2Ib1f5SqE,1011
114
114
  nucliadb/ingest/app.py,sha256=rX1KE5vsAzG9hlArBk8WE2SOlvdYylcb-jNkMQNPJdQ,7407
@@ -268,12 +268,12 @@ nucliadb/standalone/static/favicon.ico,sha256=96pKGp6Sx457JkTfjy1dtApMhkitixfU6i
268
268
  nucliadb/standalone/static/index.html,sha256=PEZfuEQFYnYACAL1ceN8xC0im8lBrUx838RkE8tbvgA,3833
269
269
  nucliadb/standalone/static/logo.svg,sha256=-wQqSvPGTdlKjUP6pHE6kiq005pgYjDzp9nPl0X71Mk,2639
270
270
  nucliadb/tasks/__init__.py,sha256=oFJ3A8HD7w11mBu-IixYE_KxA7juMGlYQb7YD_y6WPM,975
271
- nucliadb/tasks/consumer.py,sha256=x-999Nsw6lBcKvyGyCGPiGP_naANVYMfl9M-u0U3mhY,7052
271
+ nucliadb/tasks/consumer.py,sha256=xc0Ql3N1Iq52dJ3t4YYGJFj1NCQAly0J5W_brfLa_F8,6894
272
272
  nucliadb/tasks/logger.py,sha256=C7keOEO_mjLVp5VbqAZ2QXfqVB2Hot7NgBlUP_SDSMw,924
273
273
  nucliadb/tasks/models.py,sha256=qrZKi5DNDQ07waMsp5L4_Fi7WRs57YiO-kmXlrBzEAA,1168
274
- nucliadb/tasks/producer.py,sha256=w4R1YXgXtmCPGcoNNOr3qkqJYcHJtSmix-xjt7vsPqk,3261
274
+ nucliadb/tasks/producer.py,sha256=JRGnATkALyr_iLHq0OAjzVbfxZ_SOUa6sx-smU5p6SQ,3136
275
275
  nucliadb/tasks/retries.py,sha256=Zv-3Hys-SKayG9VQ7_7EIflkegE5j-xPGrf-nwaxsfY,5075
276
- nucliadb/tasks/utils.py,sha256=6tQVckqyzxv8PhVAd3ZqcMYpGcn73ZY6p1cpm1FxagA,1214
276
+ nucliadb/tasks/utils.py,sha256=tV1AbWdFc3qfIULX44Veqj41FCD1B6XYjG6brULBeiw,1459
277
277
  nucliadb/tests/__init__.py,sha256=cp15ZcFnHvpcu_5-aK2A4uUyvuZVV_MJn4bIXMa20ks,835
278
278
  nucliadb/tests/config.py,sha256=JN_Jhgj-fwM9_8IeO9pwxr6C1PiwRDrXxm67Y38rU30,2080
279
279
  nucliadb/tests/vectors.py,sha256=CcNKx-E8LPpyvRyljbmb-Tn_wST9Juw2CBoogWrKiTk,62843
@@ -347,8 +347,8 @@ nucliadb/writer/tus/local.py,sha256=7jYa_w9b-N90jWgN2sQKkNcomqn6JMVBOVeDOVYJHto,
347
347
  nucliadb/writer/tus/s3.py,sha256=vF0NkFTXiXhXq3bCVXXVV-ED38ECVoUeeYViP8uMqcU,8357
348
348
  nucliadb/writer/tus/storage.py,sha256=ToqwjoYnjI4oIcwzkhha_MPxi-k4Jk3Lt55zRwaC1SM,2903
349
349
  nucliadb/writer/tus/utils.py,sha256=MSdVbRsRSZVdkaum69_0wku7X3p5wlZf4nr6E0GMKbw,2556
350
- nucliadb-6.3.1.post3549.dist-info/METADATA,sha256=zRXMEsuY63780s274oEzv-I_wLynIyYEfW8iLptlP-U,4291
351
- nucliadb-6.3.1.post3549.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
352
- nucliadb-6.3.1.post3549.dist-info/entry_points.txt,sha256=XqGfgFDuY3zXQc8ewXM2TRVjTModIq851zOsgrmaXx4,1268
353
- nucliadb-6.3.1.post3549.dist-info/top_level.txt,sha256=hwYhTVnX7jkQ9gJCkVrbqEG1M4lT2F_iPQND1fCzF80,20
354
- nucliadb-6.3.1.post3549.dist-info/RECORD,,
350
+ nucliadb-6.3.1.post3560.dist-info/METADATA,sha256=xRmPeYhCFeFqvdPnWCIqn232dIiuJleIE7T6YZqbTPE,4291
351
+ nucliadb-6.3.1.post3560.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
352
+ nucliadb-6.3.1.post3560.dist-info/entry_points.txt,sha256=XqGfgFDuY3zXQc8ewXM2TRVjTModIq851zOsgrmaXx4,1268
353
+ nucliadb-6.3.1.post3560.dist-info/top_level.txt,sha256=hwYhTVnX7jkQ9gJCkVrbqEG1M4lT2F_iPQND1fCzF80,20
354
+ nucliadb-6.3.1.post3560.dist-info/RECORD,,