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.

@@ -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.4" # pragma: no cover
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
- indices = asyncio.run(self.indexer_step.run_async())
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
- MAX_MB_SIZE = 512_000_000
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 > MAX_MB_SIZE:
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.download(f).execute_query()
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.message != "The resource could not be found.":
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 Exception:
355
+ except ClientRequestException as e:
352
356
  # Folder doesn't exist, create it recursively
353
- current_folder = drive.root
354
- for part in destination_folder.parts:
355
- # Use filter to find the folder by name
356
- folders = (
357
- current_folder.children.filter(f"name eq '{part}' and folder ne null")
358
- .get()
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 < MAX_MB_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
- destination_fullpath = f"{destination_folder_str}/{file_name}"
392
- destination_drive_item = drive.root.item_with_path(destination_fullpath)
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 uploaded_file or uploaded_file.name != file_name:
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 {uploaded_file.name} with ID {uploaded_file.id}")
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
- if (client_id := access_configs.client_id) and (
55
- client_secret := access_configs.client_secret
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.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=aC8B7peVYR8L2QaR18arqR6ffA197IsVkM2quCOVNSo,5046
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=k5K6WAWnRkNeRW39AQyaFiSCUwHRsxlNOpkoF4MqU3c,42
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=y6AkUBUL2r3t4OO0jWKomtN3v8U7EDtMPrJ8VYRo7VM,16344
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=sVRk1LodwVS9do3kmetO8kvSdEzfR-oATXa6covC64Y,17365
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=SRNplobVKd8fSeauYbLzBNlMb3HRHhinFS281B8aYtY,8854
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.4.dist-info/LICENSE.md,sha256=SxkKP_62uIAKb9mb1eH7FH4Kn2aYT09fgjKpJt5PyTk,11360
565
- unstructured_ingest-0.4.4.dist-info/METADATA,sha256=h_Yeg9jJuyJmsipS3juMfEozK8U6sNyA-PotmiuuBsE,8051
566
- unstructured_ingest-0.4.4.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
567
- unstructured_ingest-0.4.4.dist-info/entry_points.txt,sha256=gUAAFnjFPnBgThJSEbw0N5ZjxtaKlT1s9e05_arQrNw,70
568
- unstructured_ingest-0.4.4.dist-info/top_level.txt,sha256=DMuDMHZRMdeay8v8Kdi855muIv92F0OkutvBCaBEW6M,25
569
- unstructured_ingest-0.4.4.dist-info/RECORD,,
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,,