unstructured-ingest 0.4.4__py3-none-any.whl → 0.4.6__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.
Potentially problematic release.
This version of unstructured-ingest might be problematic. Click here for more details.
- test/integration/connectors/sql/test_databricks_delta_tables.py +29 -1
- unstructured_ingest/__version__.py +1 -1
- unstructured_ingest/v2/pipeline/pipeline.py +8 -1
- unstructured_ingest/v2/processes/connectors/onedrive.py +31 -28
- unstructured_ingest/v2/processes/connectors/sql/databricks_delta_tables.py +8 -3
- {unstructured_ingest-0.4.4.dist-info → unstructured_ingest-0.4.6.dist-info}/METADATA +19 -19
- {unstructured_ingest-0.4.4.dist-info → unstructured_ingest-0.4.6.dist-info}/RECORD +11 -11
- {unstructured_ingest-0.4.4.dist-info → unstructured_ingest-0.4.6.dist-info}/LICENSE.md +0 -0
- {unstructured_ingest-0.4.4.dist-info → unstructured_ingest-0.4.6.dist-info}/WHEEL +0 -0
- {unstructured_ingest-0.4.4.dist-info → unstructured_ingest-0.4.6.dist-info}/entry_points.txt +0 -0
- {unstructured_ingest-0.4.4.dist-info → unstructured_ingest-0.4.6.dist-info}/top_level.txt +0 -0
|
@@ -9,7 +9,8 @@ import pytest
|
|
|
9
9
|
from databricks.sql import connect
|
|
10
10
|
from databricks.sql.client import Connection as DeltaTableConnection
|
|
11
11
|
from databricks.sql.client import Cursor as DeltaTableCursor
|
|
12
|
-
from pydantic import BaseModel, SecretStr
|
|
12
|
+
from pydantic import BaseModel, Secret, SecretStr
|
|
13
|
+
from pytest_mock import MockerFixture
|
|
13
14
|
|
|
14
15
|
from test.integration.connectors.utils.constants import DESTINATION_TAG, SQL_TAG, env_setup_path
|
|
15
16
|
from test.integration.utils import requires_env
|
|
@@ -140,3 +141,30 @@ async def test_databricks_delta_tables_destination(
|
|
|
140
141
|
uploader.precheck()
|
|
141
142
|
uploader.run(path=staged_path, file_data=mock_file_data)
|
|
142
143
|
validate_destination(expected_num_elements=expected_num_elements, table_name=destination_table)
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
def test_get_credentials_provider_with_client_id_and_secret(mocker: MockerFixture):
|
|
147
|
+
access_config = DatabricksDeltaTablesAccessConfig(
|
|
148
|
+
client_id="test_client_id", client_secret="test_client_secret"
|
|
149
|
+
)
|
|
150
|
+
connection_config = DatabricksDeltaTablesConnectionConfig(
|
|
151
|
+
access_config=Secret(access_config),
|
|
152
|
+
server_hostname="test_server_hostname",
|
|
153
|
+
http_path="test_http_path",
|
|
154
|
+
)
|
|
155
|
+
|
|
156
|
+
credentials_provider = connection_config.get_credentials_provider()
|
|
157
|
+
assert credentials_provider is not False
|
|
158
|
+
assert type(credentials_provider).__name__ == "function"
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
def test_get_credentials_provider_with_token(mocker: MockerFixture):
|
|
162
|
+
access_config = DatabricksDeltaTablesAccessConfig(token="test_token")
|
|
163
|
+
connection_config = DatabricksDeltaTablesConnectionConfig(
|
|
164
|
+
access_config=Secret(access_config),
|
|
165
|
+
server_hostname="test_server_hostname",
|
|
166
|
+
http_path="test_http_path",
|
|
167
|
+
)
|
|
168
|
+
|
|
169
|
+
credentials_provider = connection_config.get_credentials_provider()
|
|
170
|
+
assert credentials_provider is False
|
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.4.
|
|
1
|
+
__version__ = "0.4.6" # pragma: no cover
|
|
@@ -203,7 +203,14 @@ class Pipeline:
|
|
|
203
203
|
|
|
204
204
|
def get_indices(self) -> list[dict]:
|
|
205
205
|
if self.indexer_step.process.is_async():
|
|
206
|
-
|
|
206
|
+
|
|
207
|
+
async def run_async():
|
|
208
|
+
output = []
|
|
209
|
+
async for i in self.indexer_step.run_async():
|
|
210
|
+
output.append(i)
|
|
211
|
+
return output
|
|
212
|
+
|
|
213
|
+
indices = asyncio.run(run_async())
|
|
207
214
|
else:
|
|
208
215
|
indices = self.indexer_step.run()
|
|
209
216
|
indices_inputs = [{"file_data_path": i} for i in indices]
|
|
@@ -42,7 +42,7 @@ if TYPE_CHECKING:
|
|
|
42
42
|
from office365.onedrive.drives.drive import Drive
|
|
43
43
|
|
|
44
44
|
CONNECTOR_TYPE = "onedrive"
|
|
45
|
-
|
|
45
|
+
MAX_BYTES_SIZE = 512_000_000
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
class OnedriveAccessConfig(AccessConfig):
|
|
@@ -223,7 +223,7 @@ class OnedriveDownloader(Downloader):
|
|
|
223
223
|
download_config: OnedriveDownloaderConfig
|
|
224
224
|
|
|
225
225
|
@SourceConnectionNetworkError.wrap
|
|
226
|
-
def _fetch_file(self, file_data: FileData):
|
|
226
|
+
def _fetch_file(self, file_data: FileData) -> DriveItem:
|
|
227
227
|
if file_data.source_identifiers is None or not file_data.source_identifiers.fullpath:
|
|
228
228
|
raise ValueError(
|
|
229
229
|
f"file data doesn't have enough information to get "
|
|
@@ -251,13 +251,13 @@ class OnedriveDownloader(Downloader):
|
|
|
251
251
|
download_path = self.get_download_path(file_data=file_data)
|
|
252
252
|
download_path.parent.mkdir(parents=True, exist_ok=True)
|
|
253
253
|
logger.info(f"downloading {file_data.source_identifiers.fullpath} to {download_path}")
|
|
254
|
-
if fsize >
|
|
254
|
+
if fsize > MAX_BYTES_SIZE:
|
|
255
255
|
logger.info(f"downloading file with size: {fsize} bytes in chunks")
|
|
256
256
|
with download_path.open(mode="wb") as f:
|
|
257
257
|
file.download_session(f, chunk_size=1024 * 1024 * 100).execute_query()
|
|
258
258
|
else:
|
|
259
259
|
with download_path.open(mode="wb") as f:
|
|
260
|
-
file.
|
|
260
|
+
file.download_session(f).execute_query()
|
|
261
261
|
return self.generate_download_response(file_data=file_data, download_path=download_path)
|
|
262
262
|
except Exception as e:
|
|
263
263
|
logger.error(f"[{CONNECTOR_TYPE}] Exception during downloading: {e}", exc_info=True)
|
|
@@ -313,7 +313,7 @@ class OnedriveUploader(Uploader):
|
|
|
313
313
|
try:
|
|
314
314
|
folder.get().execute_query()
|
|
315
315
|
except ClientRequestException as e:
|
|
316
|
-
if e.
|
|
316
|
+
if not e.response.status_code == 404:
|
|
317
317
|
raise e
|
|
318
318
|
folder = root.create_folder(root_folder).execute_query()
|
|
319
319
|
logger.info(f"successfully created folder: {folder.name}")
|
|
@@ -321,7 +321,11 @@ class OnedriveUploader(Uploader):
|
|
|
321
321
|
logger.error(f"failed to validate connection: {e}", exc_info=True)
|
|
322
322
|
raise SourceConnectionError(f"failed to validate connection: {e}")
|
|
323
323
|
|
|
324
|
+
@requires_dependencies(["office365"], extras="onedrive")
|
|
324
325
|
def run(self, path: Path, file_data: FileData, **kwargs: Any) -> None:
|
|
326
|
+
from office365.onedrive.driveitems.conflict_behavior import ConflictBehavior
|
|
327
|
+
from office365.runtime.client_request_exception import ClientRequestException
|
|
328
|
+
|
|
325
329
|
drive = self.connection_config.get_drive()
|
|
326
330
|
|
|
327
331
|
# Use the remote_url from upload_config as the base destination folder
|
|
@@ -331,11 +335,11 @@ class OnedriveUploader(Uploader):
|
|
|
331
335
|
if file_data.source_identifiers and file_data.source_identifiers.rel_path:
|
|
332
336
|
# Combine the base destination folder with the file's relative path
|
|
333
337
|
destination_path = Path(base_destination_folder) / Path(
|
|
334
|
-
file_data.source_identifiers.rel_path
|
|
338
|
+
f"{file_data.source_identifiers.rel_path}.json"
|
|
335
339
|
)
|
|
336
340
|
else:
|
|
337
341
|
# If no relative path is provided, upload directly to the base destination folder
|
|
338
|
-
destination_path = Path(base_destination_folder) / path.name
|
|
342
|
+
destination_path = Path(base_destination_folder) / f"{path.name}.json"
|
|
339
343
|
|
|
340
344
|
destination_folder = destination_path.parent
|
|
341
345
|
file_name = destination_path.name
|
|
@@ -348,27 +352,19 @@ class OnedriveUploader(Uploader):
|
|
|
348
352
|
# Attempt to get the folder
|
|
349
353
|
folder = drive.root.get_by_path(destination_folder_str)
|
|
350
354
|
folder.get().execute_query()
|
|
351
|
-
except
|
|
355
|
+
except ClientRequestException as e:
|
|
352
356
|
# Folder doesn't exist, create it recursively
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
.execute_query()
|
|
360
|
-
)
|
|
361
|
-
if folders:
|
|
362
|
-
current_folder = folders[0]
|
|
363
|
-
else:
|
|
364
|
-
# Folder doesn't exist, create it
|
|
365
|
-
current_folder = current_folder.create_folder(part).execute_query()
|
|
366
|
-
folder = current_folder
|
|
357
|
+
root = drive.root
|
|
358
|
+
root_folder = self.upload_config.root_folder
|
|
359
|
+
if not e.response.status_code == 404:
|
|
360
|
+
raise e
|
|
361
|
+
folder = root.create_folder(root_folder).execute_query()
|
|
362
|
+
logger.info(f"successfully created folder: {folder.name}")
|
|
367
363
|
|
|
368
364
|
# Check the size of the file
|
|
369
365
|
file_size = path.stat().st_size
|
|
370
366
|
|
|
371
|
-
if file_size <
|
|
367
|
+
if file_size < MAX_BYTES_SIZE:
|
|
372
368
|
# Use simple upload for small files
|
|
373
369
|
with path.open("rb") as local_file:
|
|
374
370
|
content = local_file.read()
|
|
@@ -388,19 +384,26 @@ class OnedriveUploader(Uploader):
|
|
|
388
384
|
) from e
|
|
389
385
|
else:
|
|
390
386
|
# Use resumable upload for large files
|
|
391
|
-
|
|
392
|
-
|
|
387
|
+
destination_drive_item = drive.root.get_by_path(destination_folder_str)
|
|
388
|
+
|
|
389
|
+
logger.info(
|
|
390
|
+
f"Uploading {path.parent / file_name} to {destination_folder_str} using resumable upload" # noqa: E501
|
|
391
|
+
)
|
|
393
392
|
|
|
394
|
-
logger.info(f"Uploading {path} to {destination_fullpath} using resumable upload")
|
|
395
393
|
try:
|
|
396
394
|
uploaded_file = destination_drive_item.resumable_upload(
|
|
397
395
|
source_path=str(path)
|
|
398
396
|
).execute_query()
|
|
397
|
+
# Rename the uploaded file to the original source name with a .json extension
|
|
398
|
+
# Overwrite the file if it already exists
|
|
399
|
+
renamed_file = uploaded_file.move(
|
|
400
|
+
name=file_name, conflict_behavior=ConflictBehavior.Replace
|
|
401
|
+
).execute_query()
|
|
399
402
|
# Validate the upload
|
|
400
|
-
if not
|
|
403
|
+
if not renamed_file or renamed_file.name != file_name:
|
|
401
404
|
raise DestinationConnectionError(f"Upload failed for file '{file_name}'")
|
|
402
405
|
# Log details about the uploaded file
|
|
403
|
-
logger.info(f"Uploaded file {
|
|
406
|
+
logger.info(f"Uploaded file {renamed_file.name} with ID {renamed_file.id}")
|
|
404
407
|
except Exception as e:
|
|
405
408
|
logger.error(f"Failed to upload file '{file_name}' using resumable upload: {e}")
|
|
406
409
|
raise DestinationConnectionError(
|
|
@@ -51,9 +51,10 @@ class DatabricksDeltaTablesConnectionConfig(SQLConnectionConfig):
|
|
|
51
51
|
|
|
52
52
|
host = f"https://{self.server_hostname}"
|
|
53
53
|
access_configs = self.access_config.get_secret_value()
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
client_id = access_configs.client_id
|
|
55
|
+
client_secret = access_configs.client_secret
|
|
56
|
+
|
|
57
|
+
def _get_credentials_provider():
|
|
57
58
|
return oauth_service_principal(
|
|
58
59
|
Config(
|
|
59
60
|
host=host,
|
|
@@ -61,6 +62,10 @@ class DatabricksDeltaTablesConnectionConfig(SQLConnectionConfig):
|
|
|
61
62
|
client_secret=client_secret,
|
|
62
63
|
)
|
|
63
64
|
)
|
|
65
|
+
|
|
66
|
+
if client_id and client_secret:
|
|
67
|
+
return _get_credentials_provider
|
|
68
|
+
|
|
64
69
|
return False
|
|
65
70
|
|
|
66
71
|
def model_post_init(self, __context: Any) -> None:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: unstructured-ingest
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.6
|
|
4
4
|
Summary: A library that prepares raw documents for downstream ML tasks.
|
|
5
5
|
Home-page: https://github.com/Unstructured-IO/unstructured-ingest
|
|
6
6
|
Author: Unstructured Technologies
|
|
@@ -23,19 +23,19 @@ Requires-Python: >=3.9.0,<3.14
|
|
|
23
23
|
Description-Content-Type: text/markdown
|
|
24
24
|
License-File: LICENSE.md
|
|
25
25
|
Requires-Dist: pydantic>=2.7
|
|
26
|
-
Requires-Dist: click
|
|
27
|
-
Requires-Dist: pandas
|
|
28
26
|
Requires-Dist: dataclasses-json
|
|
27
|
+
Requires-Dist: python-dateutil
|
|
28
|
+
Requires-Dist: click
|
|
29
29
|
Requires-Dist: tqdm
|
|
30
|
+
Requires-Dist: pandas
|
|
30
31
|
Requires-Dist: opentelemetry-sdk
|
|
31
|
-
Requires-Dist: python-dateutil
|
|
32
32
|
Provides-Extra: airtable
|
|
33
33
|
Requires-Dist: pyairtable; extra == "airtable"
|
|
34
34
|
Provides-Extra: astradb
|
|
35
35
|
Requires-Dist: astrapy; extra == "astradb"
|
|
36
36
|
Provides-Extra: azure
|
|
37
|
-
Requires-Dist: adlfs; extra == "azure"
|
|
38
37
|
Requires-Dist: fsspec; extra == "azure"
|
|
38
|
+
Requires-Dist: adlfs; extra == "azure"
|
|
39
39
|
Provides-Extra: azure-ai-search
|
|
40
40
|
Requires-Dist: azure-search-documents; extra == "azure-ai-search"
|
|
41
41
|
Provides-Extra: bedrock
|
|
@@ -83,8 +83,8 @@ Requires-Dist: sentence-transformers; extra == "embed-huggingface"
|
|
|
83
83
|
Provides-Extra: embed-mixedbreadai
|
|
84
84
|
Requires-Dist: mixedbread-ai; extra == "embed-mixedbreadai"
|
|
85
85
|
Provides-Extra: embed-octoai
|
|
86
|
-
Requires-Dist: openai; extra == "embed-octoai"
|
|
87
86
|
Requires-Dist: tiktoken; extra == "embed-octoai"
|
|
87
|
+
Requires-Dist: openai; extra == "embed-octoai"
|
|
88
88
|
Provides-Extra: embed-vertexai
|
|
89
89
|
Requires-Dist: vertexai; extra == "embed-vertexai"
|
|
90
90
|
Provides-Extra: embed-voyageai
|
|
@@ -93,8 +93,8 @@ Provides-Extra: epub
|
|
|
93
93
|
Requires-Dist: unstructured[epub]; extra == "epub"
|
|
94
94
|
Provides-Extra: gcs
|
|
95
95
|
Requires-Dist: bs4; extra == "gcs"
|
|
96
|
-
Requires-Dist: fsspec; extra == "gcs"
|
|
97
96
|
Requires-Dist: gcsfs; extra == "gcs"
|
|
97
|
+
Requires-Dist: fsspec; extra == "gcs"
|
|
98
98
|
Provides-Extra: github
|
|
99
99
|
Requires-Dist: pygithub>1.58.0; extra == "github"
|
|
100
100
|
Requires-Dist: requests; extra == "github"
|
|
@@ -122,30 +122,30 @@ Requires-Dist: pymongo; extra == "mongodb"
|
|
|
122
122
|
Provides-Extra: msg
|
|
123
123
|
Requires-Dist: unstructured[msg]; extra == "msg"
|
|
124
124
|
Provides-Extra: neo4j
|
|
125
|
-
Requires-Dist: networkx; extra == "neo4j"
|
|
126
|
-
Requires-Dist: cymple; extra == "neo4j"
|
|
127
125
|
Requires-Dist: neo4j; extra == "neo4j"
|
|
126
|
+
Requires-Dist: cymple; extra == "neo4j"
|
|
127
|
+
Requires-Dist: networkx; extra == "neo4j"
|
|
128
128
|
Provides-Extra: notion
|
|
129
|
+
Requires-Dist: notion-client; extra == "notion"
|
|
129
130
|
Requires-Dist: backoff; extra == "notion"
|
|
130
131
|
Requires-Dist: httpx; extra == "notion"
|
|
131
|
-
Requires-Dist: notion-client; extra == "notion"
|
|
132
132
|
Requires-Dist: htmlBuilder; extra == "notion"
|
|
133
133
|
Provides-Extra: odt
|
|
134
134
|
Requires-Dist: unstructured[odt]; extra == "odt"
|
|
135
135
|
Provides-Extra: onedrive
|
|
136
|
-
Requires-Dist: Office365-REST-Python-Client; extra == "onedrive"
|
|
137
136
|
Requires-Dist: bs4; extra == "onedrive"
|
|
138
137
|
Requires-Dist: msal; extra == "onedrive"
|
|
138
|
+
Requires-Dist: Office365-REST-Python-Client; extra == "onedrive"
|
|
139
139
|
Provides-Extra: openai
|
|
140
|
-
Requires-Dist: openai; extra == "openai"
|
|
141
140
|
Requires-Dist: tiktoken; extra == "openai"
|
|
141
|
+
Requires-Dist: openai; extra == "openai"
|
|
142
142
|
Provides-Extra: opensearch
|
|
143
143
|
Requires-Dist: opensearch-py; extra == "opensearch"
|
|
144
144
|
Provides-Extra: org
|
|
145
145
|
Requires-Dist: unstructured[org]; extra == "org"
|
|
146
146
|
Provides-Extra: outlook
|
|
147
|
-
Requires-Dist: Office365-REST-Python-Client; extra == "outlook"
|
|
148
147
|
Requires-Dist: msal; extra == "outlook"
|
|
148
|
+
Requires-Dist: Office365-REST-Python-Client; extra == "outlook"
|
|
149
149
|
Provides-Extra: pdf
|
|
150
150
|
Requires-Dist: unstructured[pdf]; extra == "pdf"
|
|
151
151
|
Provides-Extra: pinecone
|
|
@@ -169,35 +169,35 @@ Requires-Dist: unstructured[rst]; extra == "rst"
|
|
|
169
169
|
Provides-Extra: rtf
|
|
170
170
|
Requires-Dist: unstructured[rtf]; extra == "rtf"
|
|
171
171
|
Provides-Extra: s3
|
|
172
|
-
Requires-Dist: fsspec; extra == "s3"
|
|
173
172
|
Requires-Dist: s3fs; extra == "s3"
|
|
173
|
+
Requires-Dist: fsspec; extra == "s3"
|
|
174
174
|
Provides-Extra: salesforce
|
|
175
175
|
Requires-Dist: simple-salesforce; extra == "salesforce"
|
|
176
176
|
Provides-Extra: sftp
|
|
177
|
-
Requires-Dist: fsspec; extra == "sftp"
|
|
178
177
|
Requires-Dist: paramiko; extra == "sftp"
|
|
178
|
+
Requires-Dist: fsspec; extra == "sftp"
|
|
179
179
|
Provides-Extra: sharepoint
|
|
180
|
-
Requires-Dist: Office365-REST-Python-Client; extra == "sharepoint"
|
|
181
180
|
Requires-Dist: msal; extra == "sharepoint"
|
|
181
|
+
Requires-Dist: Office365-REST-Python-Client; extra == "sharepoint"
|
|
182
182
|
Provides-Extra: singlestore
|
|
183
183
|
Requires-Dist: singlestoredb; extra == "singlestore"
|
|
184
184
|
Provides-Extra: slack
|
|
185
185
|
Requires-Dist: slack-sdk[optional]; extra == "slack"
|
|
186
186
|
Provides-Extra: snowflake
|
|
187
|
-
Requires-Dist: psycopg2-binary; extra == "snowflake"
|
|
188
187
|
Requires-Dist: snowflake-connector-python; extra == "snowflake"
|
|
188
|
+
Requires-Dist: psycopg2-binary; extra == "snowflake"
|
|
189
189
|
Provides-Extra: togetherai
|
|
190
190
|
Requires-Dist: together; extra == "togetherai"
|
|
191
191
|
Provides-Extra: tsv
|
|
192
192
|
Requires-Dist: unstructured[tsv]; extra == "tsv"
|
|
193
193
|
Provides-Extra: vastdb
|
|
194
194
|
Requires-Dist: ibis; extra == "vastdb"
|
|
195
|
-
Requires-Dist: pyarrow; extra == "vastdb"
|
|
196
195
|
Requires-Dist: vastdb; extra == "vastdb"
|
|
196
|
+
Requires-Dist: pyarrow; extra == "vastdb"
|
|
197
197
|
Provides-Extra: vectara
|
|
198
|
-
Requires-Dist: httpx; extra == "vectara"
|
|
199
198
|
Requires-Dist: requests; extra == "vectara"
|
|
200
199
|
Requires-Dist: aiofiles; extra == "vectara"
|
|
200
|
+
Requires-Dist: httpx; extra == "vectara"
|
|
201
201
|
Provides-Extra: weaviate
|
|
202
202
|
Requires-Dist: weaviate-client; extra == "weaviate"
|
|
203
203
|
Provides-Extra: wikipedia
|
|
@@ -34,7 +34,7 @@ test/integration/connectors/elasticsearch/conftest.py,sha256=-i4_7MkIxSQENz7nuD2
|
|
|
34
34
|
test/integration/connectors/elasticsearch/test_elasticsearch.py,sha256=TsSEPsyaTUoEvFBadinrdM0b5C4FoUtEwCv24OUbpO8,12072
|
|
35
35
|
test/integration/connectors/elasticsearch/test_opensearch.py,sha256=7b7z0GqoBsBqA3IK35N6axmwEMjzJ1l3Fg2WT2c7uqs,11450
|
|
36
36
|
test/integration/connectors/sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
-
test/integration/connectors/sql/test_databricks_delta_tables.py,sha256=
|
|
37
|
+
test/integration/connectors/sql/test_databricks_delta_tables.py,sha256=qHRHrvh5cCdtTFSLM1bDwRnNgtBQetbdnyRnU9qvK0Y,6144
|
|
38
38
|
test/integration/connectors/sql/test_postgres.py,sha256=bGDyzLRpgrXO7nl0U8nF2zSNr6ykUG-w8T4daIqUCG4,6970
|
|
39
39
|
test/integration/connectors/sql/test_singlestore.py,sha256=XeU2s4Kt_3tGyaDYYKTgYjdOyb8j2dnz4TgSMwFUjWs,6153
|
|
40
40
|
test/integration/connectors/sql/test_snowflake.py,sha256=LEwsRDoC6-rRiwYsqeo5B9Eo6RYygLLGAUsrtrgI9pM,7494
|
|
@@ -102,7 +102,7 @@ test/unit/v2/partitioners/test_partitioner.py,sha256=iIYg7IpftV3LusoO4H8tr1IHY1U
|
|
|
102
102
|
test/unit/v2/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
103
103
|
test/unit/v2/utils/data_generator.py,sha256=UoYVNjG4S4wlaA9gceQ82HIpF9_6I1UTHD1_GrQBHp0,973
|
|
104
104
|
unstructured_ingest/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
|
|
105
|
-
unstructured_ingest/__version__.py,sha256=
|
|
105
|
+
unstructured_ingest/__version__.py,sha256=0ZfnDBlBmcWgua3sGv2Fwo28JBX-eiHGLg4rl98g_F0,42
|
|
106
106
|
unstructured_ingest/error.py,sha256=qDncnJgbf5ils956RcO2CGlAKYDT5OaEM9Clv1JVTNc,1448
|
|
107
107
|
unstructured_ingest/interfaces.py,sha256=OYVUP0bzBJpT-Lz92BDyz_hLBvyfxkuSwWHhUdnUayA,31493
|
|
108
108
|
unstructured_ingest/logger.py,sha256=S5nSqGcABoQyeicgRnBQFjDScCaTvFVivOCvbo-laL0,4479
|
|
@@ -399,7 +399,7 @@ unstructured_ingest/v2/interfaces/uploader.py,sha256=rrZLTjmTcrDL-amQIKzIP6j2fW-
|
|
|
399
399
|
unstructured_ingest/v2/pipeline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
400
400
|
unstructured_ingest/v2/pipeline/interfaces.py,sha256=-Y6gPnl-SbNxIx5-dQCmiYSPKUMjivrRlBLIKIUWVeM,8658
|
|
401
401
|
unstructured_ingest/v2/pipeline/otel.py,sha256=K3pQvWVgWzyOWMKCBUofsH7wTZPJ0Ysw5sLjMBLW41I,1088
|
|
402
|
-
unstructured_ingest/v2/pipeline/pipeline.py,sha256
|
|
402
|
+
unstructured_ingest/v2/pipeline/pipeline.py,sha256=-1TlqG33x_GGjGMk4Y8Psx1z6Prbuj11MMAR2WAuhBc,16520
|
|
403
403
|
unstructured_ingest/v2/pipeline/steps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
404
404
|
unstructured_ingest/v2/pipeline/steps/chunk.py,sha256=LK2ldM24TE4ukX_Z6Z81LpF53orMaRkddM3uhLtT5EQ,3221
|
|
405
405
|
unstructured_ingest/v2/pipeline/steps/download.py,sha256=nZ4B0d9p-6TgWqrBoKUQPlr8m6dz1RGNr_3OjUhRpWg,8259
|
|
@@ -433,7 +433,7 @@ unstructured_ingest/v2/processes/connectors/local.py,sha256=ZvWTj6ZYkwnvQMNFsZWo
|
|
|
433
433
|
unstructured_ingest/v2/processes/connectors/milvus.py,sha256=wmcu9NVy3gYlQGT25inN5w_QrhFoL8-hRq0pJFSNw8g,8866
|
|
434
434
|
unstructured_ingest/v2/processes/connectors/mongodb.py,sha256=cL0QUQZF_s2brh3nNNeAywXVpaIiND4b5JTAFlYjLjw,14273
|
|
435
435
|
unstructured_ingest/v2/processes/connectors/neo4j.py,sha256=HU1IwchTM7Q1kkeIFVe-Lg6gInMItBpgkDkVwuTvkGY,14259
|
|
436
|
-
unstructured_ingest/v2/processes/connectors/onedrive.py,sha256=
|
|
436
|
+
unstructured_ingest/v2/processes/connectors/onedrive.py,sha256=b616B_-9MfU6gxvpw7IBUa2szNFURA_VP8q5j2FXxnA,17632
|
|
437
437
|
unstructured_ingest/v2/processes/connectors/outlook.py,sha256=KgNGM8hImRhy6_SpswRP2VwRD4VOrqqJoySgxf2oduI,9290
|
|
438
438
|
unstructured_ingest/v2/processes/connectors/pinecone.py,sha256=bQDCch7OGiQgpWO3n3ncLuQ4XCWqDc7ZWEB-Qrqkss8,10730
|
|
439
439
|
unstructured_ingest/v2/processes/connectors/redisdb.py,sha256=p0AY4ukBNpwAemV4bWzpScvVbLTVlI3DzsCNUKiBI5M,6757
|
|
@@ -549,7 +549,7 @@ unstructured_ingest/v2/processes/connectors/qdrant/local.py,sha256=cGEyv3Oy6y4BQ
|
|
|
549
549
|
unstructured_ingest/v2/processes/connectors/qdrant/qdrant.py,sha256=BHI7HYSdbS05j2vrjyDvLzVG1WfsM8osKeq-lttlybQ,5437
|
|
550
550
|
unstructured_ingest/v2/processes/connectors/qdrant/server.py,sha256=odvCZWZp8DmRxLXMR7tHhW-c7UQbix1_zpFdfXfCvKI,1613
|
|
551
551
|
unstructured_ingest/v2/processes/connectors/sql/__init__.py,sha256=NSEZwJDHh_9kFc31LnG14iRtYF3meK2UfUlQfYnwYEQ,2059
|
|
552
|
-
unstructured_ingest/v2/processes/connectors/sql/databricks_delta_tables.py,sha256=
|
|
552
|
+
unstructured_ingest/v2/processes/connectors/sql/databricks_delta_tables.py,sha256=xbZ90rmehiCnBoqFXMz-3ZMXeYb0PzWB6iobCNSHTmQ,8955
|
|
553
553
|
unstructured_ingest/v2/processes/connectors/sql/postgres.py,sha256=BATfX1PQGT2kl8jAbdNKXTojYKJxh3pJV9-h3OBnHGo,5124
|
|
554
554
|
unstructured_ingest/v2/processes/connectors/sql/singlestore.py,sha256=OPBDQ2c_5KjWHEFfqXxf3pQ2tWC-N4MtslMulMgP1Wc,5503
|
|
555
555
|
unstructured_ingest/v2/processes/connectors/sql/snowflake.py,sha256=QE-WBqrPVjCgcxR5EdVD9iTHBjgDSSSQgWYvq5N61qU,7746
|
|
@@ -561,9 +561,9 @@ unstructured_ingest/v2/processes/connectors/weaviate/cloud.py,sha256=bXtfEYLquR-
|
|
|
561
561
|
unstructured_ingest/v2/processes/connectors/weaviate/embedded.py,sha256=S8Zg8StuZT-k7tCg1D5YShO1-vJYYk9-M1bE1fIqx64,3014
|
|
562
562
|
unstructured_ingest/v2/processes/connectors/weaviate/local.py,sha256=LuTBKPseVewsz8VqxRPRLfGEm3BeI9nBZxpy7ZU5tOA,2201
|
|
563
563
|
unstructured_ingest/v2/processes/connectors/weaviate/weaviate.py,sha256=yJza_jBSEFnzZRq5L6vJ0Mm3uS1uxkOiKIimPpUyQds,12418
|
|
564
|
-
unstructured_ingest-0.4.
|
|
565
|
-
unstructured_ingest-0.4.
|
|
566
|
-
unstructured_ingest-0.4.
|
|
567
|
-
unstructured_ingest-0.4.
|
|
568
|
-
unstructured_ingest-0.4.
|
|
569
|
-
unstructured_ingest-0.4.
|
|
564
|
+
unstructured_ingest-0.4.6.dist-info/LICENSE.md,sha256=SxkKP_62uIAKb9mb1eH7FH4Kn2aYT09fgjKpJt5PyTk,11360
|
|
565
|
+
unstructured_ingest-0.4.6.dist-info/METADATA,sha256=-Z6UDd_I1lUsEbYTmeBlNb4D4-e3y67LM4n75igK1tY,8051
|
|
566
|
+
unstructured_ingest-0.4.6.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
567
|
+
unstructured_ingest-0.4.6.dist-info/entry_points.txt,sha256=gUAAFnjFPnBgThJSEbw0N5ZjxtaKlT1s9e05_arQrNw,70
|
|
568
|
+
unstructured_ingest-0.4.6.dist-info/top_level.txt,sha256=DMuDMHZRMdeay8v8Kdi855muIv92F0OkutvBCaBEW6M,25
|
|
569
|
+
unstructured_ingest-0.4.6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
{unstructured_ingest-0.4.4.dist-info → unstructured_ingest-0.4.6.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|