nucliadb 6.3.5.post3990__py3-none-any.whl → 6.3.5.post3995__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/ingest/orm/processor/data_augmentation.py +2 -2
- nucliadb/ingest/orm/utils.py +1 -2
- nucliadb/ingest/processing.py +2 -54
- nucliadb/models/internal/__init__.py +19 -0
- nucliadb/models/internal/processing.py +160 -0
- nucliadb/writer/api/v1/field.py +1 -1
- nucliadb/writer/api/v1/resource.py +1 -1
- nucliadb/writer/api/v1/upload.py +1 -1
- nucliadb/writer/resource/basic.py +2 -3
- nucliadb/writer/resource/field.py +13 -14
- {nucliadb-6.3.5.post3990.dist-info → nucliadb-6.3.5.post3995.dist-info}/METADATA +6 -6
- {nucliadb-6.3.5.post3990.dist-info → nucliadb-6.3.5.post3995.dist-info}/RECORD +15 -13
- {nucliadb-6.3.5.post3990.dist-info → nucliadb-6.3.5.post3995.dist-info}/WHEEL +0 -0
- {nucliadb-6.3.5.post3990.dist-info → nucliadb-6.3.5.post3995.dist-info}/entry_points.txt +0 -0
- {nucliadb-6.3.5.post3990.dist-info → nucliadb-6.3.5.post3995.dist-info}/top_level.txt +0 -0
@@ -23,8 +23,8 @@ from dataclasses import dataclass, field
|
|
23
23
|
from typing import Optional
|
24
24
|
|
25
25
|
from nucliadb.ingest.orm.resource import Resource
|
26
|
-
from nucliadb.ingest.processing import ProcessingEngine
|
27
|
-
from
|
26
|
+
from nucliadb.ingest.processing import ProcessingEngine
|
27
|
+
from nucliadb.models.internal.processing import PushPayload, PushTextFormat, Source, Text
|
28
28
|
from nucliadb_protos import resources_pb2, writer_pb2
|
29
29
|
from nucliadb_protos.resources_pb2 import FieldType
|
30
30
|
from nucliadb_utils.utilities import Utility, get_partitioning, get_utility
|
nucliadb/ingest/orm/utils.py
CHANGED
@@ -20,8 +20,7 @@
|
|
20
20
|
import urllib.parse
|
21
21
|
from typing import Sequence
|
22
22
|
|
23
|
-
from nucliadb.
|
24
|
-
from nucliadb_models.text import PushTextFormat, Text
|
23
|
+
from nucliadb.models.internal.processing import PushPayload, PushTextFormat, Text
|
25
24
|
from nucliadb_protos.resources_pb2 import (
|
26
25
|
ExtractedTextWrapper,
|
27
26
|
FieldComputedMetadataWrapper,
|
nucliadb/ingest/processing.py
CHANGED
@@ -25,15 +25,14 @@ import uuid
|
|
25
25
|
from collections import defaultdict
|
26
26
|
from contextlib import AsyncExitStack
|
27
27
|
from enum import Enum
|
28
|
-
from typing import
|
28
|
+
from typing import Any, Optional, TypeVar
|
29
29
|
|
30
30
|
import aiohttp
|
31
31
|
import backoff
|
32
32
|
import jwt
|
33
|
-
from pydantic import BaseModel, Field
|
34
33
|
|
35
34
|
import nucliadb_models as models
|
36
|
-
from
|
35
|
+
from nucliadb.models.internal.processing import ClassificationLabel, ProcessingInfo, PushPayload
|
37
36
|
from nucliadb_models.resource import QueueType
|
38
37
|
from nucliadb_protos.resources_pb2 import CloudFile
|
39
38
|
from nucliadb_protos.resources_pb2 import FieldFile as FieldFilePB
|
@@ -52,10 +51,6 @@ logger = logging.getLogger(__name__)
|
|
52
51
|
|
53
52
|
_T = TypeVar("_T")
|
54
53
|
|
55
|
-
if TYPE_CHECKING: # pragma: no cover
|
56
|
-
SourceValue = CloudFile.Source.V
|
57
|
-
else:
|
58
|
-
SourceValue = int
|
59
54
|
|
60
55
|
RETRIABLE_EXCEPTIONS = (aiohttp.client_exceptions.ClientConnectorError,)
|
61
56
|
MAX_TRIES = 4
|
@@ -71,53 +66,6 @@ processing_observer = metrics.Observer(
|
|
71
66
|
)
|
72
67
|
|
73
68
|
|
74
|
-
class Source(SourceValue, Enum): # type: ignore
|
75
|
-
HTTP = 0
|
76
|
-
INGEST = 1
|
77
|
-
|
78
|
-
|
79
|
-
class ProcessingInfo(BaseModel):
|
80
|
-
seqid: Optional[int] = None
|
81
|
-
account_seq: Optional[int] = None
|
82
|
-
queue: Optional[QueueType] = None
|
83
|
-
|
84
|
-
|
85
|
-
class PushPayload(BaseModel):
|
86
|
-
# There are multiple options of payload
|
87
|
-
uuid: str
|
88
|
-
slug: Optional[str] = None
|
89
|
-
kbid: str
|
90
|
-
source: Optional[Source] = None
|
91
|
-
userid: str
|
92
|
-
|
93
|
-
title: Optional[str] = None
|
94
|
-
|
95
|
-
genericfield: dict[str, models.Text] = {}
|
96
|
-
|
97
|
-
# New File
|
98
|
-
filefield: dict[str, str] = Field(
|
99
|
-
default={},
|
100
|
-
description="Map of each file field to the jwt token computed in ProcessingEngine methods",
|
101
|
-
)
|
102
|
-
|
103
|
-
# New Link
|
104
|
-
linkfield: dict[str, models.LinkUpload] = {}
|
105
|
-
|
106
|
-
# Diff on Text Field
|
107
|
-
textfield: dict[str, models.Text] = {}
|
108
|
-
|
109
|
-
# New conversations to process
|
110
|
-
conversationfield: dict[str, models.PushConversation] = {}
|
111
|
-
|
112
|
-
# Only internal
|
113
|
-
partition: int
|
114
|
-
|
115
|
-
# List of available processing options (with default values)
|
116
|
-
processing_options: Optional[models.PushProcessingOptions] = Field(
|
117
|
-
default_factory=models.PushProcessingOptions
|
118
|
-
)
|
119
|
-
|
120
|
-
|
121
69
|
async def start_processing_engine():
|
122
70
|
processing_engine = get_utility(Utility.PROCESSING)
|
123
71
|
if processing_engine is not None:
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# Copyright (C) 2021 Bosutech XXI S.L.
|
2
|
+
#
|
3
|
+
# nucliadb is offered under the AGPL v3.0 and as commercial software.
|
4
|
+
# For commercial licensing, contact us at info@nuclia.com.
|
5
|
+
#
|
6
|
+
# AGPL:
|
7
|
+
# This program is free software: you can redistribute it and/or modify
|
8
|
+
# it under the terms of the GNU Affero General Public License as
|
9
|
+
# published by the Free Software Foundation, either version 3 of the
|
10
|
+
# License, or (at your option) any later version.
|
11
|
+
#
|
12
|
+
# This program is distributed in the hope that it will be useful,
|
13
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15
|
+
# GNU Affero General Public License for more details.
|
16
|
+
#
|
17
|
+
# You should have received a copy of the GNU Affero General Public License
|
18
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
19
|
+
#
|
@@ -0,0 +1,160 @@
|
|
1
|
+
# Copyright (C) 2021 Bosutech XXI S.L.
|
2
|
+
#
|
3
|
+
# nucliadb is offered under the AGPL v3.0 and as commercial software.
|
4
|
+
# For commercial licensing, contact us at info@nuclia.com.
|
5
|
+
#
|
6
|
+
# AGPL:
|
7
|
+
# This program is free software: you can redistribute it and/or modify
|
8
|
+
# it under the terms of the GNU Affero General Public License as
|
9
|
+
# published by the Free Software Foundation, either version 3 of the
|
10
|
+
# License, or (at your option) any later version.
|
11
|
+
#
|
12
|
+
# This program is distributed in the hope that it will be useful,
|
13
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15
|
+
# GNU Affero General Public License for more details.
|
16
|
+
#
|
17
|
+
# You should have received a copy of the GNU Affero General Public License
|
18
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
19
|
+
#
|
20
|
+
|
21
|
+
|
22
|
+
# Processing classes (Those used to sent to push endpoints)
|
23
|
+
|
24
|
+
|
25
|
+
from datetime import datetime
|
26
|
+
from enum import Enum
|
27
|
+
from typing import TYPE_CHECKING, Optional
|
28
|
+
|
29
|
+
from pydantic import BaseModel, Field
|
30
|
+
|
31
|
+
from nucliadb_models.processing import PushProcessingOptions
|
32
|
+
from nucliadb_models.resource import QueueType
|
33
|
+
from nucliadb_protos.resources_pb2 import CloudFile
|
34
|
+
|
35
|
+
if TYPE_CHECKING: # pragma: no cover
|
36
|
+
SourceValue = CloudFile.Source.V
|
37
|
+
else:
|
38
|
+
SourceValue = int
|
39
|
+
|
40
|
+
|
41
|
+
class ClassificationLabel(BaseModel):
|
42
|
+
"""
|
43
|
+
NOTE: This model is used to send the labels of each field in the processing requests.
|
44
|
+
It is a rath is not meant to be used by api users.
|
45
|
+
"""
|
46
|
+
|
47
|
+
labelset: str
|
48
|
+
label: str
|
49
|
+
|
50
|
+
def __hash__(self):
|
51
|
+
return hash((self.labelset, self.label))
|
52
|
+
|
53
|
+
|
54
|
+
class PushTextFormat(int, Enum):
|
55
|
+
PLAIN = 0
|
56
|
+
HTML = 1
|
57
|
+
MARKDOWN = 2
|
58
|
+
RST = 3
|
59
|
+
JSON = 4
|
60
|
+
KEEP_MARKDOWN = 5
|
61
|
+
JSONL = 6
|
62
|
+
PLAIN_BLANKLINE_SPLIT = 7
|
63
|
+
|
64
|
+
|
65
|
+
class Text(BaseModel):
|
66
|
+
body: str
|
67
|
+
format: PushTextFormat
|
68
|
+
extract_strategy: Optional[str] = None
|
69
|
+
classification_labels: list[ClassificationLabel] = []
|
70
|
+
|
71
|
+
|
72
|
+
class LinkUpload(BaseModel):
|
73
|
+
link: str
|
74
|
+
headers: dict[str, str] = {}
|
75
|
+
cookies: dict[str, str] = {}
|
76
|
+
localstorage: dict[str, str] = {}
|
77
|
+
css_selector: Optional[str] = Field(
|
78
|
+
None,
|
79
|
+
title="Css selector",
|
80
|
+
description="Css selector to parse the link",
|
81
|
+
)
|
82
|
+
xpath: Optional[str] = Field(
|
83
|
+
None,
|
84
|
+
title="Xpath",
|
85
|
+
description="Xpath to parse the link",
|
86
|
+
)
|
87
|
+
extract_strategy: Optional[str] = None
|
88
|
+
classification_labels: list[ClassificationLabel] = []
|
89
|
+
|
90
|
+
|
91
|
+
class PushMessageFormat(int, Enum):
|
92
|
+
PLAIN = 0
|
93
|
+
HTML = 1
|
94
|
+
MARKDOWN = 2
|
95
|
+
RST = 3
|
96
|
+
JSON = 4
|
97
|
+
|
98
|
+
|
99
|
+
class PushMessageContent(BaseModel):
|
100
|
+
text: Optional[str] = None
|
101
|
+
format: PushMessageFormat
|
102
|
+
attachments: list[str] = []
|
103
|
+
|
104
|
+
|
105
|
+
class PushMessage(BaseModel):
|
106
|
+
timestamp: Optional[datetime] = None
|
107
|
+
who: Optional[str] = None
|
108
|
+
to: list[str] = []
|
109
|
+
content: PushMessageContent
|
110
|
+
ident: str
|
111
|
+
|
112
|
+
|
113
|
+
class PushConversation(BaseModel):
|
114
|
+
messages: list[PushMessage] = []
|
115
|
+
extract_strategy: Optional[str] = None
|
116
|
+
classification_labels: list[ClassificationLabel] = []
|
117
|
+
|
118
|
+
|
119
|
+
class Source(SourceValue, Enum): # type: ignore
|
120
|
+
HTTP = 0
|
121
|
+
INGEST = 1
|
122
|
+
|
123
|
+
|
124
|
+
class ProcessingInfo(BaseModel):
|
125
|
+
seqid: Optional[int] = None
|
126
|
+
account_seq: Optional[int] = None
|
127
|
+
queue: Optional[QueueType] = None
|
128
|
+
|
129
|
+
|
130
|
+
class PushPayload(BaseModel):
|
131
|
+
uuid: str
|
132
|
+
slug: Optional[str] = None
|
133
|
+
kbid: str
|
134
|
+
source: Optional[Source] = None
|
135
|
+
userid: str
|
136
|
+
|
137
|
+
title: Optional[str] = None
|
138
|
+
|
139
|
+
genericfield: dict[str, Text] = {}
|
140
|
+
|
141
|
+
# New File
|
142
|
+
filefield: dict[str, str] = Field(
|
143
|
+
default={},
|
144
|
+
description="Map of each file field to the jwt token computed in ProcessingEngine methods",
|
145
|
+
)
|
146
|
+
|
147
|
+
# New Link
|
148
|
+
linkfield: dict[str, LinkUpload] = {}
|
149
|
+
|
150
|
+
# Diff on Text Field
|
151
|
+
textfield: dict[str, Text] = {}
|
152
|
+
|
153
|
+
# New conversations to process
|
154
|
+
conversationfield: dict[str, PushConversation] = {}
|
155
|
+
|
156
|
+
# Only internal
|
157
|
+
partition: int
|
158
|
+
|
159
|
+
# List of available processing options (with default values)
|
160
|
+
processing_options: Optional[PushProcessingOptions] = Field(default_factory=PushProcessingOptions)
|
nucliadb/writer/api/v1/field.py
CHANGED
@@ -27,7 +27,7 @@ from starlette.requests import Request
|
|
27
27
|
import nucliadb_models as models
|
28
28
|
from nucliadb.common.maindb.utils import get_driver
|
29
29
|
from nucliadb.ingest.orm.knowledgebox import KnowledgeBox
|
30
|
-
from nucliadb.
|
30
|
+
from nucliadb.models.internal.processing import PushPayload, Source
|
31
31
|
from nucliadb.writer import SERVICE_NAME
|
32
32
|
from nucliadb.writer.api.constants import (
|
33
33
|
X_FILE_PASSWORD,
|
@@ -33,7 +33,7 @@ from nucliadb.common.maindb.driver import Driver
|
|
33
33
|
from nucliadb.common.maindb.exceptions import ConflictError, NotFoundError
|
34
34
|
from nucliadb.common.maindb.utils import get_driver
|
35
35
|
from nucliadb.ingest.orm.knowledgebox import KnowledgeBox
|
36
|
-
from nucliadb.
|
36
|
+
from nucliadb.models.internal.processing import ProcessingInfo, PushPayload, Source
|
37
37
|
from nucliadb.writer import SERVICE_NAME, logger
|
38
38
|
from nucliadb.writer.api.constants import X_NUCLIADB_USER, X_SKIP_STORE
|
39
39
|
from nucliadb.writer.api.v1 import transaction
|
nucliadb/writer/api/v1/upload.py
CHANGED
@@ -33,7 +33,7 @@ from starlette.requests import Request as StarletteRequest
|
|
33
33
|
|
34
34
|
from nucliadb.common import datamanagers
|
35
35
|
from nucliadb.ingest.orm.utils import set_title
|
36
|
-
from nucliadb.
|
36
|
+
from nucliadb.models.internal.processing import PushPayload, Source
|
37
37
|
from nucliadb.models.responses import HTTPClientError
|
38
38
|
from nucliadb.writer import SERVICE_NAME
|
39
39
|
from nucliadb.writer.api.constants import X_EXTRACT_STRATEGY, X_FILENAME, X_LANGUAGE, X_MD5, X_PASSWORD
|
@@ -28,16 +28,15 @@ from nucliadb.common.models_utils.from_proto import (
|
|
28
28
|
RelationTypeMap,
|
29
29
|
)
|
30
30
|
from nucliadb.ingest.orm.utils import set_title
|
31
|
-
from nucliadb.
|
31
|
+
from nucliadb.models.internal.processing import ClassificationLabel, PushPayload, PushTextFormat, Text
|
32
32
|
from nucliadb_models.content_types import GENERIC_MIME_TYPE
|
33
33
|
from nucliadb_models.file import FileField
|
34
|
-
from nucliadb_models.labels import ClassificationLabel
|
35
34
|
from nucliadb_models.link import LinkField
|
36
35
|
from nucliadb_models.metadata import (
|
37
36
|
ParagraphAnnotation,
|
38
37
|
QuestionAnswerAnnotation,
|
39
38
|
)
|
40
|
-
from nucliadb_models.text import TEXT_FORMAT_TO_MIMETYPE
|
39
|
+
from nucliadb_models.text import TEXT_FORMAT_TO_MIMETYPE
|
41
40
|
from nucliadb_models.writer import (
|
42
41
|
ComingResourcePayload,
|
43
42
|
CreateResourcePayload,
|
@@ -29,13 +29,12 @@ from nucliadb.common.maindb.driver import Transaction
|
|
29
29
|
from nucliadb.common.models_utils import from_proto, to_proto
|
30
30
|
from nucliadb.ingest.fields.conversation import Conversation
|
31
31
|
from nucliadb.ingest.orm.resource import Resource as ORMResource
|
32
|
-
from nucliadb.
|
32
|
+
from nucliadb.models.internal import processing as processing_models
|
33
|
+
from nucliadb.models.internal.processing import ClassificationLabel, PushConversation, PushPayload
|
33
34
|
from nucliadb.writer import SERVICE_NAME
|
34
35
|
from nucliadb.writer.utilities import get_processing
|
35
36
|
from nucliadb_models.common import FieldTypeName
|
36
37
|
from nucliadb_models.content_types import GENERIC_MIME_TYPE
|
37
|
-
from nucliadb_models.conversation import PushConversation
|
38
|
-
from nucliadb_models.labels import ClassificationLabel
|
39
38
|
from nucliadb_models.writer import (
|
40
39
|
CreateResourcePayload,
|
41
40
|
UpdateResourcePayload,
|
@@ -134,7 +133,7 @@ async def extract_fields(resource: ORMResource, toprocess: PushPayload):
|
|
134
133
|
including_default_value_fields=True,
|
135
134
|
)
|
136
135
|
parsed_link["link"] = parsed_link.pop("uri", None)
|
137
|
-
toprocess.linkfield[field_id] =
|
136
|
+
toprocess.linkfield[field_id] = processing_models.LinkUpload(**parsed_link)
|
138
137
|
toprocess.linkfield[field_id].classification_labels = classif_labels
|
139
138
|
|
140
139
|
if field_type_name is FieldTypeName.TEXT:
|
@@ -143,8 +142,8 @@ async def extract_fields(resource: ORMResource, toprocess: PushPayload):
|
|
143
142
|
preserving_proto_field_name=True,
|
144
143
|
including_default_value_fields=True,
|
145
144
|
)
|
146
|
-
parsed_text["format"] =
|
147
|
-
toprocess.textfield[field_id] =
|
145
|
+
parsed_text["format"] = processing_models.PushTextFormat[parsed_text["format"]]
|
146
|
+
toprocess.textfield[field_id] = processing_models.Text(**parsed_text)
|
148
147
|
toprocess.textfield[field_id].classification_labels = classif_labels
|
149
148
|
|
150
149
|
if field_type_name is FieldTypeName.CONVERSATION and isinstance(field, Conversation):
|
@@ -174,7 +173,7 @@ async def extract_fields(resource: ORMResource, toprocess: PushPayload):
|
|
174
173
|
parsed_message["content"]["format"] = resources_pb2.MessageContent.Format.Value(
|
175
174
|
parsed_message["content"]["format"]
|
176
175
|
)
|
177
|
-
full_conversation.messages.append(
|
176
|
+
full_conversation.messages.append(processing_models.PushMessage(**parsed_message))
|
178
177
|
toprocess.conversationfield[field_id] = full_conversation
|
179
178
|
toprocess.conversationfield[field_id].classification_labels = classif_labels
|
180
179
|
|
@@ -247,9 +246,9 @@ def parse_text_field(
|
|
247
246
|
etw.field.field_type = resources_pb2.FieldType.TEXT
|
248
247
|
etw.body.text = text_field.body
|
249
248
|
writer.extracted_text.append(etw)
|
250
|
-
toprocess.textfield[key] =
|
249
|
+
toprocess.textfield[key] = processing_models.Text(
|
251
250
|
body=text_field.body,
|
252
|
-
format=getattr(
|
251
|
+
format=getattr(processing_models.PushTextFormat, text_field.format.value),
|
253
252
|
extract_strategy=text_field.extract_strategy,
|
254
253
|
classification_labels=classif_labels,
|
255
254
|
)
|
@@ -393,7 +392,7 @@ def parse_link_field(
|
|
393
392
|
if link_field.extract_strategy is not None:
|
394
393
|
writer.links[key].extract_strategy = link_field.extract_strategy
|
395
394
|
|
396
|
-
toprocess.linkfield[key] =
|
395
|
+
toprocess.linkfield[key] = processing_models.LinkUpload(
|
397
396
|
link=link_field.uri,
|
398
397
|
headers=link_field.headers or {},
|
399
398
|
cookies=link_field.cookies or {},
|
@@ -424,7 +423,7 @@ async def parse_conversation_field(
|
|
424
423
|
storage = await get_storage(service_name=SERVICE_NAME)
|
425
424
|
processing = get_processing()
|
426
425
|
field_value = resources_pb2.Conversation()
|
427
|
-
convs =
|
426
|
+
convs = processing_models.PushConversation()
|
428
427
|
for message in conversation_field.messages:
|
429
428
|
cm = resources_pb2.Message()
|
430
429
|
if message.timestamp:
|
@@ -437,9 +436,9 @@ async def parse_conversation_field(
|
|
437
436
|
if message.type_ is not None:
|
438
437
|
cm.type = resources_pb2.Message.MessageType.Value(message.type_.value)
|
439
438
|
|
440
|
-
processing_message_content =
|
439
|
+
processing_message_content = processing_models.PushMessageContent(
|
441
440
|
text=message.content.text,
|
442
|
-
format=getattr(
|
441
|
+
format=getattr(processing_models.PushMessageFormat, message.content.format.value),
|
443
442
|
)
|
444
443
|
|
445
444
|
cm.content.text = message.content.text
|
@@ -472,7 +471,7 @@ async def parse_conversation_field(
|
|
472
471
|
await processing.convert_internal_cf_to_str(cf_conv_field, storage)
|
473
472
|
)
|
474
473
|
|
475
|
-
processing_message =
|
474
|
+
processing_message = processing_models.PushMessage(
|
476
475
|
timestamp=message.timestamp,
|
477
476
|
content=processing_message_content,
|
478
477
|
ident=message.ident,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: nucliadb
|
3
|
-
Version: 6.3.5.
|
3
|
+
Version: 6.3.5.post3995
|
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.5.
|
24
|
-
Requires-Dist: nucliadb-utils[cache,fastapi,storages]>=6.3.5.
|
25
|
-
Requires-Dist: nucliadb-protos>=6.3.5.
|
26
|
-
Requires-Dist: nucliadb-models>=6.3.5.
|
27
|
-
Requires-Dist: nidx-protos>=6.3.5.
|
23
|
+
Requires-Dist: nucliadb-telemetry[all]>=6.3.5.post3995
|
24
|
+
Requires-Dist: nucliadb-utils[cache,fastapi,storages]>=6.3.5.post3995
|
25
|
+
Requires-Dist: nucliadb-protos>=6.3.5.post3995
|
26
|
+
Requires-Dist: nucliadb-models>=6.3.5.post3995
|
27
|
+
Requires-Dist: nidx-protos>=6.3.5.post3995
|
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[standard]
|
@@ -118,7 +118,7 @@ nucliadb/export_import/utils.py,sha256=8XOVMYXXw8b4ikojG7RjQ4tKN3Xu7nfu2yCUOqD50
|
|
118
118
|
nucliadb/ingest/__init__.py,sha256=fsw3C38VP50km3R-nHL775LNGPpJ4JxqXJ2Ib1f5SqE,1011
|
119
119
|
nucliadb/ingest/app.py,sha256=TaVgh5B2riFVmcsrbPb7a5YCzmnybjx-NK0BXgTwGAY,7535
|
120
120
|
nucliadb/ingest/partitions.py,sha256=2NIhMYbNT0TNBL6bX1UMSi7vxFGICstCKEqsB0TXHOE,2410
|
121
|
-
nucliadb/ingest/processing.py,sha256=
|
121
|
+
nucliadb/ingest/processing.py,sha256=QmkHq-BU4vub7JRWe9VHvQ2DcAmT6-CzgFXuZxXhcBU,20953
|
122
122
|
nucliadb/ingest/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
123
123
|
nucliadb/ingest/serialize.py,sha256=-TIjibJTbMqAowzRvyrG3R209vKqBZqXpdrQL9Dq4lo,16135
|
124
124
|
nucliadb/ingest/settings.py,sha256=0B-wQNa8FLqtNcQgRzh-fuIuGptM816XHcbH1NQKfmE,3050
|
@@ -150,10 +150,10 @@ nucliadb/ingest/orm/index_message.py,sha256=3Okq-POmGnxpgzysU1bvgj5skRLSDBUpP6dn
|
|
150
150
|
nucliadb/ingest/orm/knowledgebox.py,sha256=Bfb4-MIQWlaJrQAUDbgs_iIsXCYjS7s5YiiGl_Jb4jo,23887
|
151
151
|
nucliadb/ingest/orm/metrics.py,sha256=z-xVOJWeWXZFPIzRg_NB8nlbkdJFs_myEwLROdTNp24,1110
|
152
152
|
nucliadb/ingest/orm/resource.py,sha256=GjxcEPuu8bM06Uea7_yJk0UFvOfiZNP9i_G4V-4D8_U,46845
|
153
|
-
nucliadb/ingest/orm/utils.py,sha256=
|
153
|
+
nucliadb/ingest/orm/utils.py,sha256=fCQRuyecgqhaY7mcBG93oaXMkzkKb9BFjOcy4-ZiSNw,2693
|
154
154
|
nucliadb/ingest/orm/processor/__init__.py,sha256=Aqd9wCNTvggkMkCY3WvoI8spdr94Jnqk-0iq9XpLs18,922
|
155
155
|
nucliadb/ingest/orm/processor/auditing.py,sha256=TeYhXGJRyQ7ROytbb2u8R0fIh_FYi3HgTu3S1ribY3U,4623
|
156
|
-
nucliadb/ingest/orm/processor/data_augmentation.py,sha256=
|
156
|
+
nucliadb/ingest/orm/processor/data_augmentation.py,sha256=v-pj4GbBWSuO8dQyahs5UDr5ghsyfhCZDS0ftKd6ZYc,5179
|
157
157
|
nucliadb/ingest/orm/processor/pgcatalog.py,sha256=H-OCRz0RuTUb80LZBxDowLA9V7ECv1DWiXlnzKW5XGI,3103
|
158
158
|
nucliadb/ingest/orm/processor/processor.py,sha256=flw2U1OB6il9mP7h6fCY_dZX-Jo6XemWq1dAwtH7pMs,33202
|
159
159
|
nucliadb/ingest/orm/processor/sequence_manager.py,sha256=uqEphtI1Ir_yk9jRl2gPf7BlzzXWovbARY5MNZSBI_8,1704
|
@@ -172,6 +172,8 @@ nucliadb/migrator/settings.py,sha256=3eK6PIwqqtoCea9V7-RMjVfZC_0BC5DqPPlfo9XMyNE
|
|
172
172
|
nucliadb/migrator/utils.py,sha256=NgUreUvON8_nWEzTxELBMWlfV7E6-6qi-g0DMEbVEz4,2885
|
173
173
|
nucliadb/models/__init__.py,sha256=cp15ZcFnHvpcu_5-aK2A4uUyvuZVV_MJn4bIXMa20ks,835
|
174
174
|
nucliadb/models/responses.py,sha256=qnuOoc7TrVSUnpikfTwHLKez47_DE4mSFzpxrwtqijA,1599
|
175
|
+
nucliadb/models/internal/__init__.py,sha256=cp15ZcFnHvpcu_5-aK2A4uUyvuZVV_MJn4bIXMa20ks,835
|
176
|
+
nucliadb/models/internal/processing.py,sha256=bzPr-hXliY81zMUgG-PDyDiFKP7Xbs71s2d0SIAu4Do,4090
|
175
177
|
nucliadb/purge/__init__.py,sha256=UXbto56EWYLwZj6uEc-flQVe3gDDNFtM6EV-aIkryPU,12353
|
176
178
|
nucliadb/purge/orphan_shards.py,sha256=WSQmVQJQ-rAoQAmypOUJBpDP-9VJchWao3ZLTzHdJ1U,7764
|
177
179
|
nucliadb/reader/__init__.py,sha256=C5Efic7WlGm2U2C5WOyquMFbIj2Pojwe_8mwzVYnOzE,1304
|
@@ -334,20 +336,20 @@ nucliadb/writer/api/constants.py,sha256=qWEDjFUycrEZnSJyLnNK4PQNodU2oVmkO4NycaEZ
|
|
334
336
|
nucliadb/writer/api/utils.py,sha256=wIQHlU8RQiIGVLI72suvyVIKlCU44Unh0Ae0IiN6Qwo,1313
|
335
337
|
nucliadb/writer/api/v1/__init__.py,sha256=akI9A_jloNLb0dU4T5zjfdyvmSAiDeIdjAlzNx74FlU,1128
|
336
338
|
nucliadb/writer/api/v1/export_import.py,sha256=elf-EQY5DD3mhw8kWb9tQpDcbrF9sY6VFYqxQOjuVP0,8201
|
337
|
-
nucliadb/writer/api/v1/field.py,sha256=
|
339
|
+
nucliadb/writer/api/v1/field.py,sha256=KOOBqBJzwsNczn_isxl-YFBL-bmduz3rzSDWMbAJefc,18523
|
338
340
|
nucliadb/writer/api/v1/knowledgebox.py,sha256=PHEYDFa-sN5JrI8-EiVVg5FDOsRuCLT43kyAB4xt-xA,9530
|
339
341
|
nucliadb/writer/api/v1/learning_config.py,sha256=CKBjqcbewkfPwGUPLDWzZSpro6XkmCaVppe5Qtpu5Go,3117
|
340
|
-
nucliadb/writer/api/v1/resource.py,sha256=
|
342
|
+
nucliadb/writer/api/v1/resource.py,sha256=jxphiyeXJq342BR1R8pRQ81L0i3Tczf_Yarqx_DqvWs,19786
|
341
343
|
nucliadb/writer/api/v1/router.py,sha256=RjuoWLpZer6Kl2BW_wznpNo6XL3BOpdTGqXZCn3QrrQ,1034
|
342
344
|
nucliadb/writer/api/v1/services.py,sha256=3AUjk-SmvqJx76v7y89DZx6oyasojPliGYeniRQjpcU,13337
|
343
345
|
nucliadb/writer/api/v1/slug.py,sha256=xlVBDBpRi9bNulpBHZwhyftVvulfE0zFm1XZIWl-AKY,2389
|
344
346
|
nucliadb/writer/api/v1/transaction.py,sha256=d2Vbgnkk_-FLGSTt3vfldwiJIUf0XoyD0wP1jQNz_DY,2430
|
345
|
-
nucliadb/writer/api/v1/upload.py,sha256=
|
347
|
+
nucliadb/writer/api/v1/upload.py,sha256=fwWXA5BuLPuGKhOcuyf0CdutWJITjJ6fAvDzV_X9VsU,33809
|
346
348
|
nucliadb/writer/api/v1/vectorsets.py,sha256=F3iMViL5G95_Tns4aO2SOA0DwAzxK2_P8MXxtd_XLRE,6973
|
347
349
|
nucliadb/writer/resource/__init__.py,sha256=cp15ZcFnHvpcu_5-aK2A4uUyvuZVV_MJn4bIXMa20ks,835
|
348
350
|
nucliadb/writer/resource/audit.py,sha256=FvxMZPzrNHtd31HgpZEvxzwAkbxJTZRhPLqRYYJi3tA,1426
|
349
|
-
nucliadb/writer/resource/basic.py,sha256=
|
350
|
-
nucliadb/writer/resource/field.py,sha256=
|
351
|
+
nucliadb/writer/resource/basic.py,sha256=fjxZEsC_ftuRrpPDOQqSDfZR6JlVNSFPMckVGmjQ4lY,10426
|
352
|
+
nucliadb/writer/resource/field.py,sha256=wL71wScbLVhu5LHv_aCUBFae6LhKtFr1aXKEubMSgcI,20366
|
351
353
|
nucliadb/writer/resource/origin.py,sha256=pvhUDdU0mlWPUcpoQi4LDUJaRtfjzVVrA8XcGVI_N8k,2021
|
352
354
|
nucliadb/writer/tus/__init__.py,sha256=huWpKnDnjsrKlBBJk30ta5vamlA-4x0TbPs_2Up8hyM,5443
|
353
355
|
nucliadb/writer/tus/azure.py,sha256=XhWAlWTM0vmXcXtuEPYjjeEhuZjiZXZu8q9WsJ7omFE,4107
|
@@ -358,8 +360,8 @@ nucliadb/writer/tus/local.py,sha256=7jYa_w9b-N90jWgN2sQKkNcomqn6JMVBOVeDOVYJHto,
|
|
358
360
|
nucliadb/writer/tus/s3.py,sha256=vF0NkFTXiXhXq3bCVXXVV-ED38ECVoUeeYViP8uMqcU,8357
|
359
361
|
nucliadb/writer/tus/storage.py,sha256=ToqwjoYnjI4oIcwzkhha_MPxi-k4Jk3Lt55zRwaC1SM,2903
|
360
362
|
nucliadb/writer/tus/utils.py,sha256=MSdVbRsRSZVdkaum69_0wku7X3p5wlZf4nr6E0GMKbw,2556
|
361
|
-
nucliadb-6.3.5.
|
362
|
-
nucliadb-6.3.5.
|
363
|
-
nucliadb-6.3.5.
|
364
|
-
nucliadb-6.3.5.
|
365
|
-
nucliadb-6.3.5.
|
363
|
+
nucliadb-6.3.5.post3995.dist-info/METADATA,sha256=WMPXEMAoMggoPDt4NkDQBnl5014KHnBKxU7AEAueHsk,4301
|
364
|
+
nucliadb-6.3.5.post3995.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
365
|
+
nucliadb-6.3.5.post3995.dist-info/entry_points.txt,sha256=XqGfgFDuY3zXQc8ewXM2TRVjTModIq851zOsgrmaXx4,1268
|
366
|
+
nucliadb-6.3.5.post3995.dist-info/top_level.txt,sha256=hwYhTVnX7jkQ9gJCkVrbqEG1M4lT2F_iPQND1fCzF80,20
|
367
|
+
nucliadb-6.3.5.post3995.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|