unstructured-ingest 0.3.13__py3-none-any.whl → 0.3.15__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/databricks/test_volumes_native.py +10 -6
- test/integration/connectors/discord/test_discord.py +4 -4
- test/integration/connectors/duckdb/test_duckdb.py +3 -2
- test/integration/connectors/duckdb/test_motherduck.py +2 -2
- test/integration/connectors/elasticsearch/test_elasticsearch.py +8 -7
- test/integration/connectors/elasticsearch/test_opensearch.py +8 -7
- test/integration/connectors/sql/test_databricks_delta_tables.py +142 -0
- test/integration/connectors/sql/test_postgres.py +9 -3
- test/integration/connectors/sql/test_singlestore.py +9 -3
- test/integration/connectors/sql/test_snowflake.py +9 -3
- test/integration/connectors/sql/test_sqlite.py +9 -3
- test/integration/connectors/test_astradb.py +25 -9
- test/integration/connectors/test_azure_ai_search.py +3 -4
- test/integration/connectors/test_chroma.py +4 -6
- test/integration/connectors/test_confluence.py +3 -5
- test/integration/connectors/test_delta_table.py +4 -6
- test/integration/connectors/test_lancedb.py +3 -3
- test/integration/connectors/test_milvus.py +10 -5
- test/integration/connectors/test_mongodb.py +9 -9
- test/integration/connectors/test_neo4j.py +16 -8
- test/integration/connectors/test_notion.py +7 -0
- test/integration/connectors/test_onedrive.py +2 -4
- test/integration/connectors/test_pinecone.py +73 -8
- test/integration/connectors/test_qdrant.py +5 -4
- test/integration/connectors/test_redis.py +3 -3
- test/integration/connectors/test_s3.py +7 -6
- test/integration/connectors/test_vectara.py +2 -2
- test/integration/connectors/utils/constants.py +6 -0
- test/integration/connectors/utils/docker.py +2 -2
- test/integration/connectors/weaviate/test_cloud.py +5 -0
- test/integration/connectors/weaviate/test_local.py +2 -2
- unstructured_ingest/__version__.py +1 -1
- unstructured_ingest/v2/interfaces/upload_stager.py +3 -3
- unstructured_ingest/v2/processes/connectors/databricks/__init__.py +6 -0
- unstructured_ingest/v2/processes/connectors/databricks/volumes.py +6 -3
- unstructured_ingest/v2/processes/connectors/databricks/volumes_table.py +106 -0
- unstructured_ingest/v2/processes/connectors/neo4j.py +12 -12
- unstructured_ingest/v2/processes/connectors/pinecone.py +18 -11
- unstructured_ingest/v2/processes/connectors/sql/__init__.py +6 -0
- unstructured_ingest/v2/processes/connectors/sql/databricks_delta_tables.py +213 -0
- unstructured_ingest/v2/processes/connectors/sql/sql.py +26 -9
- {unstructured_ingest-0.3.13.dist-info → unstructured_ingest-0.3.15.dist-info}/METADATA +20 -18
- {unstructured_ingest-0.3.13.dist-info → unstructured_ingest-0.3.15.dist-info}/RECORD +47 -44
- {unstructured_ingest-0.3.13.dist-info → unstructured_ingest-0.3.15.dist-info}/LICENSE.md +0 -0
- {unstructured_ingest-0.3.13.dist-info → unstructured_ingest-0.3.15.dist-info}/WHEEL +0 -0
- {unstructured_ingest-0.3.13.dist-info → unstructured_ingest-0.3.15.dist-info}/entry_points.txt +0 -0
- {unstructured_ingest-0.3.13.dist-info → unstructured_ingest-0.3.15.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import json
|
|
2
|
+
from contextlib import contextmanager
|
|
3
|
+
from dataclasses import dataclass
|
|
4
|
+
from typing import TYPE_CHECKING, Any, Generator, Optional
|
|
5
|
+
|
|
6
|
+
import numpy as np
|
|
7
|
+
import pandas as pd
|
|
8
|
+
from pydantic import Field, Secret
|
|
9
|
+
|
|
10
|
+
from unstructured_ingest.utils.data_prep import split_dataframe
|
|
11
|
+
from unstructured_ingest.utils.dep_check import requires_dependencies
|
|
12
|
+
from unstructured_ingest.v2.interfaces import FileData
|
|
13
|
+
from unstructured_ingest.v2.logger import logger
|
|
14
|
+
from unstructured_ingest.v2.processes.connector_registry import (
|
|
15
|
+
DestinationRegistryEntry,
|
|
16
|
+
)
|
|
17
|
+
from unstructured_ingest.v2.processes.connectors.sql.sql import (
|
|
18
|
+
SQLAccessConfig,
|
|
19
|
+
SQLConnectionConfig,
|
|
20
|
+
SQLUploader,
|
|
21
|
+
SQLUploaderConfig,
|
|
22
|
+
SQLUploadStager,
|
|
23
|
+
SQLUploadStagerConfig,
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
if TYPE_CHECKING:
|
|
27
|
+
from databricks.sdk.core import oauth_service_principal
|
|
28
|
+
from databricks.sql.client import Connection as DeltaTableConnection
|
|
29
|
+
from databricks.sql.client import Cursor as DeltaTableCursor
|
|
30
|
+
|
|
31
|
+
CONNECTOR_TYPE = "databricks_delta_tables"
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class DatabrickDeltaTablesAccessConfig(SQLAccessConfig):
|
|
35
|
+
token: Optional[str] = Field(default=None, description="Databricks Personal Access Token")
|
|
36
|
+
client_id: Optional[str] = Field(default=None, description="Client ID of the OAuth app.")
|
|
37
|
+
client_secret: Optional[str] = Field(
|
|
38
|
+
default=None, description="Client Secret of the OAuth app."
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class DatabrickDeltaTablesConnectionConfig(SQLConnectionConfig):
|
|
43
|
+
access_config: Secret[DatabrickDeltaTablesAccessConfig]
|
|
44
|
+
server_hostname: str = Field(description="server hostname connection config value")
|
|
45
|
+
http_path: str = Field(description="http path connection config value")
|
|
46
|
+
user_agent: str = "unstructuredio_oss"
|
|
47
|
+
|
|
48
|
+
@requires_dependencies(["databricks"], extras="databricks-delta-tables")
|
|
49
|
+
def get_credentials_provider(self) -> "oauth_service_principal":
|
|
50
|
+
from databricks.sdk.core import Config, oauth_service_principal
|
|
51
|
+
|
|
52
|
+
host = f"https://{self.server_hostname}"
|
|
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
|
+
):
|
|
57
|
+
return oauth_service_principal(
|
|
58
|
+
Config(
|
|
59
|
+
host=host,
|
|
60
|
+
client_id=client_id,
|
|
61
|
+
client_secret=client_secret,
|
|
62
|
+
)
|
|
63
|
+
)
|
|
64
|
+
return False
|
|
65
|
+
|
|
66
|
+
def model_post_init(self, __context: Any) -> None:
|
|
67
|
+
access_config = self.access_config.get_secret_value()
|
|
68
|
+
if access_config.token and access_config.client_secret and access_config.client_id:
|
|
69
|
+
raise ValueError(
|
|
70
|
+
"One one for of auth can be provided, either token or client id and secret"
|
|
71
|
+
)
|
|
72
|
+
if not access_config.token and not (
|
|
73
|
+
access_config.client_secret and access_config.client_id
|
|
74
|
+
):
|
|
75
|
+
raise ValueError(
|
|
76
|
+
"One form of auth must be provided, either token or client id and secret"
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
@contextmanager
|
|
80
|
+
@requires_dependencies(["databricks"], extras="databricks-delta-tables")
|
|
81
|
+
def get_connection(self, **connect_kwargs) -> Generator["DeltaTableConnection", None, None]:
|
|
82
|
+
from databricks.sql import connect
|
|
83
|
+
|
|
84
|
+
connect_kwargs = connect_kwargs or {}
|
|
85
|
+
connect_kwargs["_user_agent_entry"] = self.user_agent
|
|
86
|
+
connect_kwargs["server_hostname"] = connect_kwargs.get(
|
|
87
|
+
"server_hostname", self.server_hostname
|
|
88
|
+
)
|
|
89
|
+
connect_kwargs["http_path"] = connect_kwargs.get("http_path", self.http_path)
|
|
90
|
+
|
|
91
|
+
if credential_provider := self.get_credentials_provider():
|
|
92
|
+
connect_kwargs["credentials_provider"] = credential_provider
|
|
93
|
+
else:
|
|
94
|
+
connect_kwargs["access_token"] = self.access_config.get_secret_value().token
|
|
95
|
+
with connect(**connect_kwargs) as connection:
|
|
96
|
+
yield connection
|
|
97
|
+
|
|
98
|
+
@contextmanager
|
|
99
|
+
def get_cursor(self, **connect_kwargs) -> Generator["DeltaTableCursor", None, None]:
|
|
100
|
+
with self.get_connection(**connect_kwargs) as connection:
|
|
101
|
+
cursor = connection.cursor()
|
|
102
|
+
yield cursor
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
class DatabrickDeltaTablesUploadStagerConfig(SQLUploadStagerConfig):
|
|
106
|
+
pass
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
class DatabrickDeltaTablesUploadStager(SQLUploadStager):
|
|
110
|
+
upload_stager_config: DatabrickDeltaTablesUploadStagerConfig
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
class DatabrickDeltaTablesUploaderConfig(SQLUploaderConfig):
|
|
114
|
+
catalog: str = Field(description="Name of the catalog in the Databricks Unity Catalog service")
|
|
115
|
+
database: str = Field(description="Database name", default="default")
|
|
116
|
+
table_name: str = Field(description="Table name")
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
@dataclass
|
|
120
|
+
class DatabrickDeltaTablesUploader(SQLUploader):
|
|
121
|
+
upload_config: DatabrickDeltaTablesUploaderConfig
|
|
122
|
+
connection_config: DatabrickDeltaTablesConnectionConfig
|
|
123
|
+
connector_type: str = CONNECTOR_TYPE
|
|
124
|
+
|
|
125
|
+
@contextmanager
|
|
126
|
+
def get_cursor(self) -> Generator[Any, None, None]:
|
|
127
|
+
with self.connection_config.get_cursor() as cursor:
|
|
128
|
+
cursor.execute(f"USE CATALOG '{self.upload_config.catalog}'")
|
|
129
|
+
yield cursor
|
|
130
|
+
|
|
131
|
+
def precheck(self) -> None:
|
|
132
|
+
with self.connection_config.get_cursor() as cursor:
|
|
133
|
+
cursor.execute("SHOW CATALOGS")
|
|
134
|
+
catalogs = [r[0] for r in cursor.fetchall()]
|
|
135
|
+
if self.upload_config.catalog not in catalogs:
|
|
136
|
+
raise ValueError(
|
|
137
|
+
"Catalog {} not found in {}".format(
|
|
138
|
+
self.upload_config.catalog, ", ".join(catalogs)
|
|
139
|
+
)
|
|
140
|
+
)
|
|
141
|
+
cursor.execute(f"USE CATALOG '{self.upload_config.catalog}'")
|
|
142
|
+
cursor.execute("SHOW DATABASES")
|
|
143
|
+
databases = [r[0] for r in cursor.fetchall()]
|
|
144
|
+
if self.upload_config.database not in databases:
|
|
145
|
+
raise ValueError(
|
|
146
|
+
"Database {} not found in {}".format(
|
|
147
|
+
self.upload_config.database, ", ".join(databases)
|
|
148
|
+
)
|
|
149
|
+
)
|
|
150
|
+
cursor.execute("SHOW TABLES")
|
|
151
|
+
table_names = [r[1] for r in cursor.fetchall()]
|
|
152
|
+
if self.upload_config.table_name not in table_names:
|
|
153
|
+
raise ValueError(
|
|
154
|
+
"Table {} not found in {}".format(
|
|
155
|
+
self.upload_config.table_name, ", ".join(table_names)
|
|
156
|
+
)
|
|
157
|
+
)
|
|
158
|
+
|
|
159
|
+
def create_statement(self, columns: list[str], values: tuple[Any, ...]) -> str:
|
|
160
|
+
values_list = []
|
|
161
|
+
for v in values:
|
|
162
|
+
if isinstance(v, dict):
|
|
163
|
+
values_list.append(json.dumps(v))
|
|
164
|
+
elif isinstance(v, list):
|
|
165
|
+
if v and isinstance(v[0], (int, float)):
|
|
166
|
+
values_list.append("ARRAY({})".format(", ".join([str(val) for val in v])))
|
|
167
|
+
else:
|
|
168
|
+
values_list.append("ARRAY({})".format(", ".join([f"'{val}'" for val in v])))
|
|
169
|
+
else:
|
|
170
|
+
values_list.append(f"'{v}'")
|
|
171
|
+
statement = "INSERT INTO {table_name} ({columns}) VALUES({values})".format(
|
|
172
|
+
table_name=self.upload_config.table_name,
|
|
173
|
+
columns=", ".join(columns),
|
|
174
|
+
values=", ".join(values_list),
|
|
175
|
+
)
|
|
176
|
+
return statement
|
|
177
|
+
|
|
178
|
+
def upload_dataframe(self, df: pd.DataFrame, file_data: FileData) -> None:
|
|
179
|
+
if self.can_delete():
|
|
180
|
+
self.delete_by_record_id(file_data=file_data)
|
|
181
|
+
else:
|
|
182
|
+
logger.warning(
|
|
183
|
+
f"table doesn't contain expected "
|
|
184
|
+
f"record id column "
|
|
185
|
+
f"{self.upload_config.record_id_key}, skipping delete"
|
|
186
|
+
)
|
|
187
|
+
df.replace({np.nan: None}, inplace=True)
|
|
188
|
+
self._fit_to_schema(df=df)
|
|
189
|
+
|
|
190
|
+
columns = list(df.columns)
|
|
191
|
+
logger.info(
|
|
192
|
+
f"writing a total of {len(df)} elements via"
|
|
193
|
+
f" document batches to destination"
|
|
194
|
+
f" table named {self.upload_config.table_name}"
|
|
195
|
+
# f" with batch size {self.upload_config.batch_size}"
|
|
196
|
+
)
|
|
197
|
+
# TODO: currently variable binding not supporting for list types,
|
|
198
|
+
# update once that gets resolved in SDK
|
|
199
|
+
for rows in split_dataframe(df=df, chunk_size=self.upload_config.batch_size):
|
|
200
|
+
with self.get_cursor() as cursor:
|
|
201
|
+
values = self.prepare_data(columns, tuple(rows.itertuples(index=False, name=None)))
|
|
202
|
+
for v in values:
|
|
203
|
+
stmt = self.create_statement(columns=columns, values=v)
|
|
204
|
+
cursor.execute(stmt)
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
databricks_delta_tables_destination_entry = DestinationRegistryEntry(
|
|
208
|
+
connection_config=DatabrickDeltaTablesConnectionConfig,
|
|
209
|
+
uploader=DatabrickDeltaTablesUploader,
|
|
210
|
+
uploader_config=DatabrickDeltaTablesUploaderConfig,
|
|
211
|
+
upload_stager=DatabrickDeltaTablesUploadStager,
|
|
212
|
+
upload_stager_config=DatabrickDeltaTablesUploadStagerConfig,
|
|
213
|
+
)
|
|
@@ -129,8 +129,13 @@ class SQLIndexer(Indexer, ABC):
|
|
|
129
129
|
connection_config: SQLConnectionConfig
|
|
130
130
|
index_config: SQLIndexerConfig
|
|
131
131
|
|
|
132
|
-
|
|
132
|
+
@contextmanager
|
|
133
|
+
def get_cursor(self) -> Generator[Any, None, None]:
|
|
133
134
|
with self.connection_config.get_cursor() as cursor:
|
|
135
|
+
yield cursor
|
|
136
|
+
|
|
137
|
+
def _get_doc_ids(self) -> list[str]:
|
|
138
|
+
with self.get_cursor() as cursor:
|
|
134
139
|
cursor.execute(
|
|
135
140
|
f"SELECT {self.index_config.id_column} FROM {self.index_config.table_name}"
|
|
136
141
|
)
|
|
@@ -140,7 +145,7 @@ class SQLIndexer(Indexer, ABC):
|
|
|
140
145
|
|
|
141
146
|
def precheck(self) -> None:
|
|
142
147
|
try:
|
|
143
|
-
with self.
|
|
148
|
+
with self.get_cursor() as cursor:
|
|
144
149
|
cursor.execute("SELECT 1;")
|
|
145
150
|
except Exception as e:
|
|
146
151
|
logger.error(f"failed to validate connection: {e}", exc_info=True)
|
|
@@ -182,6 +187,11 @@ class SQLDownloader(Downloader, ABC):
|
|
|
182
187
|
connection_config: SQLConnectionConfig
|
|
183
188
|
download_config: SQLDownloaderConfig
|
|
184
189
|
|
|
190
|
+
@contextmanager
|
|
191
|
+
def get_cursor(self) -> Generator[Any, None, None]:
|
|
192
|
+
with self.connection_config.get_cursor() as cursor:
|
|
193
|
+
yield cursor
|
|
194
|
+
|
|
185
195
|
@abstractmethod
|
|
186
196
|
def query_db(self, file_data: SqlBatchFileData) -> tuple[list[tuple], list[str]]:
|
|
187
197
|
pass
|
|
@@ -323,12 +333,17 @@ class SQLUploader(Uploader):
|
|
|
323
333
|
|
|
324
334
|
def precheck(self) -> None:
|
|
325
335
|
try:
|
|
326
|
-
with self.
|
|
336
|
+
with self.get_cursor() as cursor:
|
|
327
337
|
cursor.execute("SELECT 1;")
|
|
328
338
|
except Exception as e:
|
|
329
339
|
logger.error(f"failed to validate connection: {e}", exc_info=True)
|
|
330
340
|
raise DestinationConnectionError(f"failed to validate connection: {e}")
|
|
331
341
|
|
|
342
|
+
@contextmanager
|
|
343
|
+
def get_cursor(self) -> Generator[Any, None, None]:
|
|
344
|
+
with self.connection_config.get_cursor() as cursor:
|
|
345
|
+
yield cursor
|
|
346
|
+
|
|
332
347
|
def prepare_data(
|
|
333
348
|
self, columns: list[str], data: tuple[tuple[Any, ...], ...]
|
|
334
349
|
) -> list[tuple[Any, ...]]:
|
|
@@ -346,7 +361,7 @@ class SQLUploader(Uploader):
|
|
|
346
361
|
output.append(tuple(parsed))
|
|
347
362
|
return output
|
|
348
363
|
|
|
349
|
-
def _fit_to_schema(self, df: pd.DataFrame
|
|
364
|
+
def _fit_to_schema(self, df: pd.DataFrame) -> pd.DataFrame:
|
|
350
365
|
columns = set(df.columns)
|
|
351
366
|
schema_fields = set(columns)
|
|
352
367
|
columns_to_drop = columns - schema_fields
|
|
@@ -367,6 +382,7 @@ class SQLUploader(Uploader):
|
|
|
367
382
|
|
|
368
383
|
for column in missing_columns:
|
|
369
384
|
df[column] = pd.Series()
|
|
385
|
+
return df
|
|
370
386
|
|
|
371
387
|
def upload_dataframe(self, df: pd.DataFrame, file_data: FileData) -> None:
|
|
372
388
|
if self.can_delete():
|
|
@@ -378,7 +394,7 @@ class SQLUploader(Uploader):
|
|
|
378
394
|
f"{self.upload_config.record_id_key}, skipping delete"
|
|
379
395
|
)
|
|
380
396
|
df.replace({np.nan: None}, inplace=True)
|
|
381
|
-
self._fit_to_schema(df=df
|
|
397
|
+
self._fit_to_schema(df=df)
|
|
382
398
|
|
|
383
399
|
columns = list(df.columns)
|
|
384
400
|
stmt = "INSERT INTO {table_name} ({columns}) VALUES({values})".format(
|
|
@@ -393,7 +409,7 @@ class SQLUploader(Uploader):
|
|
|
393
409
|
f" with batch size {self.upload_config.batch_size}"
|
|
394
410
|
)
|
|
395
411
|
for rows in split_dataframe(df=df, chunk_size=self.upload_config.batch_size):
|
|
396
|
-
with self.
|
|
412
|
+
with self.get_cursor() as cursor:
|
|
397
413
|
values = self.prepare_data(columns, tuple(rows.itertuples(index=False, name=None)))
|
|
398
414
|
# For debugging purposes:
|
|
399
415
|
# for val in values:
|
|
@@ -406,7 +422,7 @@ class SQLUploader(Uploader):
|
|
|
406
422
|
cursor.executemany(stmt, values)
|
|
407
423
|
|
|
408
424
|
def get_table_columns(self) -> list[str]:
|
|
409
|
-
with self.
|
|
425
|
+
with self.get_cursor() as cursor:
|
|
410
426
|
cursor.execute(f"SELECT * from {self.upload_config.table_name}")
|
|
411
427
|
return [desc[0] for desc in cursor.description]
|
|
412
428
|
|
|
@@ -420,10 +436,11 @@ class SQLUploader(Uploader):
|
|
|
420
436
|
f"from table {self.upload_config.table_name}"
|
|
421
437
|
)
|
|
422
438
|
stmt = f"DELETE FROM {self.upload_config.table_name} WHERE {self.upload_config.record_id_key} = {self.values_delimiter}" # noqa: E501
|
|
423
|
-
with self.
|
|
439
|
+
with self.get_cursor() as cursor:
|
|
424
440
|
cursor.execute(stmt, [file_data.identifier])
|
|
425
441
|
rowcount = cursor.rowcount
|
|
426
|
-
|
|
442
|
+
if rowcount > 0:
|
|
443
|
+
logger.info(f"deleted {rowcount} rows from table {self.upload_config.table_name}")
|
|
427
444
|
|
|
428
445
|
def run_data(self, data: list[dict], file_data: FileData, **kwargs: Any) -> None:
|
|
429
446
|
df = pd.DataFrame(data)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: unstructured-ingest
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.15
|
|
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,12 +23,12 @@ Requires-Python: >=3.9.0,<3.14
|
|
|
23
23
|
Description-Content-Type: text/markdown
|
|
24
24
|
License-File: LICENSE.md
|
|
25
25
|
Requires-Dist: ndjson
|
|
26
|
-
Requires-Dist: tqdm
|
|
27
26
|
Requires-Dist: pydantic>=2.7
|
|
28
|
-
Requires-Dist: click
|
|
29
|
-
Requires-Dist: python-dateutil
|
|
30
27
|
Requires-Dist: pandas
|
|
31
28
|
Requires-Dist: dataclasses-json
|
|
29
|
+
Requires-Dist: tqdm
|
|
30
|
+
Requires-Dist: click
|
|
31
|
+
Requires-Dist: python-dateutil
|
|
32
32
|
Requires-Dist: opentelemetry-sdk
|
|
33
33
|
Provides-Extra: airtable
|
|
34
34
|
Requires-Dist: pyairtable; extra == "airtable"
|
|
@@ -40,8 +40,8 @@ Requires-Dist: fsspec; extra == "azure"
|
|
|
40
40
|
Provides-Extra: azure-ai-search
|
|
41
41
|
Requires-Dist: azure-search-documents; extra == "azure-ai-search"
|
|
42
42
|
Provides-Extra: bedrock
|
|
43
|
-
Requires-Dist: boto3; extra == "bedrock"
|
|
44
43
|
Requires-Dist: aioboto3; extra == "bedrock"
|
|
44
|
+
Requires-Dist: boto3; extra == "bedrock"
|
|
45
45
|
Provides-Extra: biomed
|
|
46
46
|
Requires-Dist: bs4; extra == "biomed"
|
|
47
47
|
Requires-Dist: requests; extra == "biomed"
|
|
@@ -59,11 +59,13 @@ Provides-Extra: couchbase
|
|
|
59
59
|
Requires-Dist: couchbase; extra == "couchbase"
|
|
60
60
|
Provides-Extra: csv
|
|
61
61
|
Requires-Dist: unstructured[tsv]; extra == "csv"
|
|
62
|
+
Provides-Extra: databricks-delta-tables
|
|
63
|
+
Requires-Dist: databricks-sql-connector; extra == "databricks-delta-tables"
|
|
62
64
|
Provides-Extra: databricks-volumes
|
|
63
65
|
Requires-Dist: databricks-sdk; extra == "databricks-volumes"
|
|
64
66
|
Provides-Extra: delta-table
|
|
65
|
-
Requires-Dist: deltalake; extra == "delta-table"
|
|
66
67
|
Requires-Dist: boto3; extra == "delta-table"
|
|
68
|
+
Requires-Dist: deltalake; extra == "delta-table"
|
|
67
69
|
Provides-Extra: discord
|
|
68
70
|
Requires-Dist: discord.py; extra == "discord"
|
|
69
71
|
Provides-Extra: doc
|
|
@@ -82,8 +84,8 @@ Requires-Dist: sentence-transformers; extra == "embed-huggingface"
|
|
|
82
84
|
Provides-Extra: embed-mixedbreadai
|
|
83
85
|
Requires-Dist: mixedbread-ai; extra == "embed-mixedbreadai"
|
|
84
86
|
Provides-Extra: embed-octoai
|
|
85
|
-
Requires-Dist: openai; extra == "embed-octoai"
|
|
86
87
|
Requires-Dist: tiktoken; extra == "embed-octoai"
|
|
88
|
+
Requires-Dist: openai; extra == "embed-octoai"
|
|
87
89
|
Provides-Extra: embed-vertexai
|
|
88
90
|
Requires-Dist: vertexai; extra == "embed-vertexai"
|
|
89
91
|
Provides-Extra: embed-voyageai
|
|
@@ -91,12 +93,12 @@ Requires-Dist: voyageai; extra == "embed-voyageai"
|
|
|
91
93
|
Provides-Extra: epub
|
|
92
94
|
Requires-Dist: unstructured[epub]; extra == "epub"
|
|
93
95
|
Provides-Extra: gcs
|
|
94
|
-
Requires-Dist: gcsfs; extra == "gcs"
|
|
95
96
|
Requires-Dist: bs4; extra == "gcs"
|
|
97
|
+
Requires-Dist: gcsfs; extra == "gcs"
|
|
96
98
|
Requires-Dist: fsspec; extra == "gcs"
|
|
97
99
|
Provides-Extra: github
|
|
98
|
-
Requires-Dist: requests; extra == "github"
|
|
99
100
|
Requires-Dist: pygithub>1.58.0; extra == "github"
|
|
101
|
+
Requires-Dist: requests; extra == "github"
|
|
100
102
|
Provides-Extra: gitlab
|
|
101
103
|
Requires-Dist: python-gitlab; extra == "gitlab"
|
|
102
104
|
Provides-Extra: google-drive
|
|
@@ -121,30 +123,30 @@ Requires-Dist: pymongo; extra == "mongodb"
|
|
|
121
123
|
Provides-Extra: msg
|
|
122
124
|
Requires-Dist: unstructured[msg]; extra == "msg"
|
|
123
125
|
Provides-Extra: neo4j
|
|
124
|
-
Requires-Dist: neo4j; extra == "neo4j"
|
|
125
126
|
Requires-Dist: cymple; extra == "neo4j"
|
|
127
|
+
Requires-Dist: neo4j; extra == "neo4j"
|
|
126
128
|
Requires-Dist: networkx; extra == "neo4j"
|
|
127
129
|
Provides-Extra: notion
|
|
128
|
-
Requires-Dist: htmlBuilder; extra == "notion"
|
|
129
|
-
Requires-Dist: notion-client; extra == "notion"
|
|
130
130
|
Requires-Dist: httpx; extra == "notion"
|
|
131
|
+
Requires-Dist: htmlBuilder; extra == "notion"
|
|
131
132
|
Requires-Dist: backoff; extra == "notion"
|
|
133
|
+
Requires-Dist: notion-client; extra == "notion"
|
|
132
134
|
Provides-Extra: odt
|
|
133
135
|
Requires-Dist: unstructured[odt]; extra == "odt"
|
|
134
136
|
Provides-Extra: onedrive
|
|
137
|
+
Requires-Dist: Office365-REST-Python-Client; extra == "onedrive"
|
|
135
138
|
Requires-Dist: bs4; extra == "onedrive"
|
|
136
139
|
Requires-Dist: msal; extra == "onedrive"
|
|
137
|
-
Requires-Dist: Office365-REST-Python-Client; extra == "onedrive"
|
|
138
140
|
Provides-Extra: openai
|
|
139
|
-
Requires-Dist: openai; extra == "openai"
|
|
140
141
|
Requires-Dist: tiktoken; extra == "openai"
|
|
142
|
+
Requires-Dist: openai; extra == "openai"
|
|
141
143
|
Provides-Extra: opensearch
|
|
142
144
|
Requires-Dist: opensearch-py; extra == "opensearch"
|
|
143
145
|
Provides-Extra: org
|
|
144
146
|
Requires-Dist: unstructured[org]; extra == "org"
|
|
145
147
|
Provides-Extra: outlook
|
|
146
|
-
Requires-Dist: msal; extra == "outlook"
|
|
147
148
|
Requires-Dist: Office365-REST-Python-Client; extra == "outlook"
|
|
149
|
+
Requires-Dist: msal; extra == "outlook"
|
|
148
150
|
Provides-Extra: pdf
|
|
149
151
|
Requires-Dist: unstructured[pdf]; extra == "pdf"
|
|
150
152
|
Provides-Extra: pinecone
|
|
@@ -168,16 +170,16 @@ Requires-Dist: unstructured[rst]; extra == "rst"
|
|
|
168
170
|
Provides-Extra: rtf
|
|
169
171
|
Requires-Dist: unstructured[rtf]; extra == "rtf"
|
|
170
172
|
Provides-Extra: s3
|
|
171
|
-
Requires-Dist: s3fs; extra == "s3"
|
|
172
173
|
Requires-Dist: fsspec; extra == "s3"
|
|
174
|
+
Requires-Dist: s3fs; extra == "s3"
|
|
173
175
|
Provides-Extra: salesforce
|
|
174
176
|
Requires-Dist: simple-salesforce; extra == "salesforce"
|
|
175
177
|
Provides-Extra: sftp
|
|
176
178
|
Requires-Dist: paramiko; extra == "sftp"
|
|
177
179
|
Requires-Dist: fsspec; extra == "sftp"
|
|
178
180
|
Provides-Extra: sharepoint
|
|
179
|
-
Requires-Dist: msal; extra == "sharepoint"
|
|
180
181
|
Requires-Dist: Office365-REST-Python-Client; extra == "sharepoint"
|
|
182
|
+
Requires-Dist: msal; extra == "sharepoint"
|
|
181
183
|
Provides-Extra: singlestore
|
|
182
184
|
Requires-Dist: singlestoredb; extra == "singlestore"
|
|
183
185
|
Provides-Extra: slack
|
|
@@ -190,9 +192,9 @@ Requires-Dist: together; extra == "togetherai"
|
|
|
190
192
|
Provides-Extra: tsv
|
|
191
193
|
Requires-Dist: unstructured[tsv]; extra == "tsv"
|
|
192
194
|
Provides-Extra: vectara
|
|
193
|
-
Requires-Dist: requests; extra == "vectara"
|
|
194
195
|
Requires-Dist: httpx; extra == "vectara"
|
|
195
196
|
Requires-Dist: aiofiles; extra == "vectara"
|
|
197
|
+
Requires-Dist: requests; extra == "vectara"
|
|
196
198
|
Provides-Extra: weaviate
|
|
197
199
|
Requires-Dist: weaviate-client; extra == "weaviate"
|
|
198
200
|
Provides-Extra: wikipedia
|
|
@@ -5,42 +5,43 @@ test/integration/chunkers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
|
|
|
5
5
|
test/integration/chunkers/test_chunkers.py,sha256=USkltQN_mVVCxI0FkJsrS1gnLXlVr-fvsc0tPaK2sWI,1062
|
|
6
6
|
test/integration/connectors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
test/integration/connectors/conftest.py,sha256=vYs4WDlCuieAwwErkJxCk4a1lGvr3qpeiAm-YaDznSo,1018
|
|
8
|
-
test/integration/connectors/test_astradb.py,sha256=
|
|
9
|
-
test/integration/connectors/test_azure_ai_search.py,sha256=
|
|
10
|
-
test/integration/connectors/test_chroma.py,sha256=
|
|
11
|
-
test/integration/connectors/test_confluence.py,sha256=
|
|
12
|
-
test/integration/connectors/test_delta_table.py,sha256=
|
|
13
|
-
test/integration/connectors/test_lancedb.py,sha256=
|
|
14
|
-
test/integration/connectors/test_milvus.py,sha256=
|
|
15
|
-
test/integration/connectors/test_mongodb.py,sha256=
|
|
16
|
-
test/integration/connectors/test_neo4j.py,sha256=
|
|
17
|
-
test/integration/connectors/test_notion.py,sha256=
|
|
18
|
-
test/integration/connectors/test_onedrive.py,sha256=
|
|
19
|
-
test/integration/connectors/test_pinecone.py,sha256=
|
|
20
|
-
test/integration/connectors/test_qdrant.py,sha256=
|
|
21
|
-
test/integration/connectors/test_redis.py,sha256=
|
|
22
|
-
test/integration/connectors/test_s3.py,sha256=
|
|
23
|
-
test/integration/connectors/test_vectara.py,sha256=
|
|
8
|
+
test/integration/connectors/test_astradb.py,sha256=2DNNNum7cTKjsRvYaCu4doAGjhSN8vl-iHprFMDfQgk,7951
|
|
9
|
+
test/integration/connectors/test_azure_ai_search.py,sha256=MxFwk84vI_HT4taQTGrNpJ8ewGPqHSGrx626j8hC_Pw,9695
|
|
10
|
+
test/integration/connectors/test_chroma.py,sha256=NuQv0PWPM0_LQfdPeUd6IYKqaKKXWmVaHGWjq5aBfOY,3721
|
|
11
|
+
test/integration/connectors/test_confluence.py,sha256=nVNeJ3ucLsQsj4Yo8QEyARVOnYy7HVxa_m7IHaIFtnM,3594
|
|
12
|
+
test/integration/connectors/test_delta_table.py,sha256=4qm2Arfc9Eb7SOZOnOlLF-vNpHy6Eqvr5Q45svfX1PY,6911
|
|
13
|
+
test/integration/connectors/test_lancedb.py,sha256=8MBxK_CUtOt87-4B7svDDK82NFII5psceo5cNN8HJMs,9228
|
|
14
|
+
test/integration/connectors/test_milvus.py,sha256=7mI6zznN0PTxDL9DLogH1k3dxx6R8DgGzlpyevsFu2w,7173
|
|
15
|
+
test/integration/connectors/test_mongodb.py,sha256=0A6DvF-iTCSZzOefisd_i20j9li8uNWTF2wyLGwlhco,12446
|
|
16
|
+
test/integration/connectors/test_neo4j.py,sha256=r4TRYtTXeeOdcRcfa_gvslhSKvoIWrwN1FRJ5XRoH4k,8456
|
|
17
|
+
test/integration/connectors/test_notion.py,sha256=ueXyVqYWzP4LuZYe6PauptkXNG6qkoV3srltFOSSKTA,5403
|
|
18
|
+
test/integration/connectors/test_onedrive.py,sha256=TcMaa5BIp8J6engS4UZ2t19WQP0NNz2rkpBB47m7A3Y,3835
|
|
19
|
+
test/integration/connectors/test_pinecone.py,sha256=acKEu1vnAk0Ht3FhCnGtOEKaj_YlgCzZB7wRU17ehQ0,12407
|
|
20
|
+
test/integration/connectors/test_qdrant.py,sha256=Yme3ZZ5zIbaZ-yYLUqN2oy0hsrcAfvlleRLYWMSYeSE,8049
|
|
21
|
+
test/integration/connectors/test_redis.py,sha256=1aKwOb-K4zCxZwHmgW_WzGJwqLntbWTbpGQ-rtUwN9o,4360
|
|
22
|
+
test/integration/connectors/test_s3.py,sha256=E1dypeag_E3OIfpQWIz3jb7ctRHRD63UtyTrzyvJzpc,7473
|
|
23
|
+
test/integration/connectors/test_vectara.py,sha256=4kKOOTGUjeZw2jKRcgVDI7ifbRPRZfjjVO4d_7H5C6I,8710
|
|
24
24
|
test/integration/connectors/databricks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
-
test/integration/connectors/databricks/test_volumes_native.py,sha256=
|
|
25
|
+
test/integration/connectors/databricks/test_volumes_native.py,sha256=KqiapQAV0s_Zv0CO8BwYoiCk30dwrSZzuigUWNRIem0,9559
|
|
26
26
|
test/integration/connectors/discord/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
|
-
test/integration/connectors/discord/test_discord.py,sha256=
|
|
27
|
+
test/integration/connectors/discord/test_discord.py,sha256=DDvlOA0lnojMigoCNnKUBUusV_Y0nI4q9lGnlb1gAQA,3176
|
|
28
28
|
test/integration/connectors/duckdb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
29
|
test/integration/connectors/duckdb/conftest.py,sha256=rlBHMJTiJ2a5xbvIxTOyhhcuTBc9DO-yTzD6Kf8X3hY,301
|
|
30
|
-
test/integration/connectors/duckdb/test_duckdb.py,sha256=
|
|
31
|
-
test/integration/connectors/duckdb/test_motherduck.py,sha256=
|
|
30
|
+
test/integration/connectors/duckdb/test_duckdb.py,sha256=jGxmZhnWwoSf63EHftAejXqNY8zhe4S-yGzZzB1ZAWY,2979
|
|
31
|
+
test/integration/connectors/duckdb/test_motherduck.py,sha256=vqR3uL3Cs6Cfl7ItCoMljvHmTUbci36YDslu6rswVjA,3224
|
|
32
32
|
test/integration/connectors/elasticsearch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
33
|
test/integration/connectors/elasticsearch/conftest.py,sha256=-i4_7MkIxSQENz7nuD2uHuhGU9mZ33vpeTPhHtRpQfs,989
|
|
34
|
-
test/integration/connectors/elasticsearch/test_elasticsearch.py,sha256=
|
|
35
|
-
test/integration/connectors/elasticsearch/test_opensearch.py,sha256=
|
|
34
|
+
test/integration/connectors/elasticsearch/test_elasticsearch.py,sha256=TsSEPsyaTUoEvFBadinrdM0b5C4FoUtEwCv24OUbpO8,12072
|
|
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/
|
|
38
|
-
test/integration/connectors/sql/
|
|
39
|
-
test/integration/connectors/sql/
|
|
40
|
-
test/integration/connectors/sql/
|
|
37
|
+
test/integration/connectors/sql/test_databricks_delta_tables.py,sha256=UjVjw5hVoMSNJoYdoYympYow25gvcDAEHLmUmOJKz7I,5036
|
|
38
|
+
test/integration/connectors/sql/test_postgres.py,sha256=bGDyzLRpgrXO7nl0U8nF2zSNr6ykUG-w8T4daIqUCG4,6970
|
|
39
|
+
test/integration/connectors/sql/test_singlestore.py,sha256=XeU2s4Kt_3tGyaDYYKTgYjdOyb8j2dnz4TgSMwFUjWs,6153
|
|
40
|
+
test/integration/connectors/sql/test_snowflake.py,sha256=LEwsRDoC6-rRiwYsqeo5B9Eo6RYygLLGAUsrtrgI9pM,7494
|
|
41
|
+
test/integration/connectors/sql/test_sqlite.py,sha256=MHvhFRx1y_LTgfS-aPz-Zn9yOGsm-TF_s0t1seBzV1k,5956
|
|
41
42
|
test/integration/connectors/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
|
-
test/integration/connectors/utils/constants.py,sha256=
|
|
43
|
-
test/integration/connectors/utils/docker.py,sha256=
|
|
43
|
+
test/integration/connectors/utils/constants.py,sha256=JhTk6YNw7JVpkk-Pl8zn2YYkExeL1oE9VBWm_kMYGfo,369
|
|
44
|
+
test/integration/connectors/utils/docker.py,sha256=4g1STiSbYN5qcmDTXyPxVJgwx97O6wk7n-DJ-zgzgag,4971
|
|
44
45
|
test/integration/connectors/utils/docker_compose.py,sha256=GVTB6Cel05c0VQ2n4AwkQQx_cBfz13ZTs1HpbaYipNU,2223
|
|
45
46
|
test/integration/connectors/utils/validation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
46
47
|
test/integration/connectors/utils/validation/destination.py,sha256=ZvMSvqz9in35xaoUJGx9rG8oWCU3FYlfLLQ6sfdI0pw,2649
|
|
@@ -49,8 +50,8 @@ test/integration/connectors/utils/validation/source.py,sha256=VALU5ms_JBu_eFkp2W
|
|
|
49
50
|
test/integration/connectors/utils/validation/utils.py,sha256=xYYvAbqP6_lZyH09_JjB4w2Sf8aQPvDVT5vZTs05ILs,1428
|
|
50
51
|
test/integration/connectors/weaviate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
51
52
|
test/integration/connectors/weaviate/conftest.py,sha256=6Q6QdrLJmGHowRFSmoVSzup2EX6qASfS2Z5tqlpTm9M,387
|
|
52
|
-
test/integration/connectors/weaviate/test_cloud.py,sha256=
|
|
53
|
-
test/integration/connectors/weaviate/test_local.py,sha256=
|
|
53
|
+
test/integration/connectors/weaviate/test_cloud.py,sha256=U1ZS6a7wTPX7h3XGvaJHaT-Uwg4IeGgzxx1YBywgVhM,1284
|
|
54
|
+
test/integration/connectors/weaviate/test_local.py,sha256=bSJwS6rWxPf3BoOXKzZi2AOuT51py9V3tao6IBy1Rgk,4538
|
|
54
55
|
test/integration/embedders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
55
56
|
test/integration/embedders/conftest.py,sha256=B2W771RbijR7G_GybsCzRyIvOzXqzbKZdRIlNDd5AGY,334
|
|
56
57
|
test/integration/embedders/test_azure_openai.py,sha256=6tFpKFBFRXD49imhhRzsvy3MPtuZ4L1PtnKyMVBRAqc,1808
|
|
@@ -96,7 +97,7 @@ test/unit/v2/partitioners/test_partitioner.py,sha256=iIYg7IpftV3LusoO4H8tr1IHY1U
|
|
|
96
97
|
test/unit/v2/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
97
98
|
test/unit/v2/utils/data_generator.py,sha256=UoYVNjG4S4wlaA9gceQ82HIpF9_6I1UTHD1_GrQBHp0,973
|
|
98
99
|
unstructured_ingest/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
|
|
99
|
-
unstructured_ingest/__version__.py,sha256
|
|
100
|
+
unstructured_ingest/__version__.py,sha256=31lJzr6gfqqAcVEa6C2kjStzBSJPXWUyP7eRpa8Y7gI,43
|
|
100
101
|
unstructured_ingest/error.py,sha256=qDncnJgbf5ils956RcO2CGlAKYDT5OaEM9Clv1JVTNc,1448
|
|
101
102
|
unstructured_ingest/interfaces.py,sha256=OYVUP0bzBJpT-Lz92BDyz_hLBvyfxkuSwWHhUdnUayA,31493
|
|
102
103
|
unstructured_ingest/logger.py,sha256=S5nSqGcABoQyeicgRnBQFjDScCaTvFVivOCvbo-laL0,4479
|
|
@@ -386,7 +387,7 @@ unstructured_ingest/v2/interfaces/file_data.py,sha256=7MyRlj5dijQsCR6W18wQ8fEgJi
|
|
|
386
387
|
unstructured_ingest/v2/interfaces/indexer.py,sha256=gsa1MLhFa82BzD2h4Yb7ons0VxRwKINZOrzvHAahwVU,846
|
|
387
388
|
unstructured_ingest/v2/interfaces/process.py,sha256=BgglTu5K93FnDDopZKKr_rkK2LTZOguR6kcQjKHjF40,392
|
|
388
389
|
unstructured_ingest/v2/interfaces/processor.py,sha256=VX7JqXlbG1plxMK8THWhWINPbTICaaUEk4XUXhnOixY,3303
|
|
389
|
-
unstructured_ingest/v2/interfaces/upload_stager.py,sha256=
|
|
390
|
+
unstructured_ingest/v2/interfaces/upload_stager.py,sha256=nbMuo_U6Gqn9bDJrAJTCjrZXKMw_G28OZOuNsT23i0k,3608
|
|
390
391
|
unstructured_ingest/v2/interfaces/uploader.py,sha256=T2oHbN-d4Px1w1oATKKYZA10aUssqytEpiaqBM92r0Q,1600
|
|
391
392
|
unstructured_ingest/v2/pipeline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
392
393
|
unstructured_ingest/v2/pipeline/interfaces.py,sha256=-Y6gPnl-SbNxIx5-dQCmiYSPKUMjivrRlBLIKIUWVeM,8658
|
|
@@ -424,22 +425,23 @@ unstructured_ingest/v2/processes/connectors/kdbai.py,sha256=VRDAiou_7oWOIAgQTdOG
|
|
|
424
425
|
unstructured_ingest/v2/processes/connectors/local.py,sha256=ZvWTj6ZYkwnvQMNFsZWoaQyp9zp0WVqAywMaHJ2kcAc,7153
|
|
425
426
|
unstructured_ingest/v2/processes/connectors/milvus.py,sha256=wmcu9NVy3gYlQGT25inN5w_QrhFoL8-hRq0pJFSNw8g,8866
|
|
426
427
|
unstructured_ingest/v2/processes/connectors/mongodb.py,sha256=cL0QUQZF_s2brh3nNNeAywXVpaIiND4b5JTAFlYjLjw,14273
|
|
427
|
-
unstructured_ingest/v2/processes/connectors/neo4j.py,sha256=
|
|
428
|
+
unstructured_ingest/v2/processes/connectors/neo4j.py,sha256=HU1IwchTM7Q1kkeIFVe-Lg6gInMItBpgkDkVwuTvkGY,14259
|
|
428
429
|
unstructured_ingest/v2/processes/connectors/onedrive.py,sha256=d6gC40YmfqBNXxizAt4MO4OOu5BoCZ7SAe1AbNwTP0E,18322
|
|
429
430
|
unstructured_ingest/v2/processes/connectors/outlook.py,sha256=KgNGM8hImRhy6_SpswRP2VwRD4VOrqqJoySgxf2oduI,9290
|
|
430
|
-
unstructured_ingest/v2/processes/connectors/pinecone.py,sha256=
|
|
431
|
+
unstructured_ingest/v2/processes/connectors/pinecone.py,sha256=bQDCch7OGiQgpWO3n3ncLuQ4XCWqDc7ZWEB-Qrqkss8,10730
|
|
431
432
|
unstructured_ingest/v2/processes/connectors/redisdb.py,sha256=p0AY4ukBNpwAemV4bWzpScvVbLTVlI3DzsCNUKiBI5M,6757
|
|
432
433
|
unstructured_ingest/v2/processes/connectors/salesforce.py,sha256=2CiO2ZZiZ1Y1-nB7wcDlDVcpW2B7ut9wCj66rkkqho0,11616
|
|
433
434
|
unstructured_ingest/v2/processes/connectors/sharepoint.py,sha256=Ndn2Wm7RupfjAtlLxxQwJueeE0V8aGMbNVPuFq9nqdQ,19730
|
|
434
435
|
unstructured_ingest/v2/processes/connectors/slack.py,sha256=Z73VmQ3oUY09KoLEi5OBdQeDt4ONEY_02SglWQc6HXE,9252
|
|
435
436
|
unstructured_ingest/v2/processes/connectors/utils.py,sha256=8kd0g7lo9NqnpaIkjeO-Ut6erhwUNH_gS9koevpe3WE,878
|
|
436
437
|
unstructured_ingest/v2/processes/connectors/vectara.py,sha256=BlI_4nkpNR99aYxDd9eusm5LQsVB9EI0r-5Kc1D7pgQ,12255
|
|
437
|
-
unstructured_ingest/v2/processes/connectors/databricks/__init__.py,sha256=
|
|
438
|
-
unstructured_ingest/v2/processes/connectors/databricks/volumes.py,sha256=
|
|
438
|
+
unstructured_ingest/v2/processes/connectors/databricks/__init__.py,sha256=Oh8SwTWi66gO8BsNF6vRMoQVuegyBPPCpVozkOHEf3A,2136
|
|
439
|
+
unstructured_ingest/v2/processes/connectors/databricks/volumes.py,sha256=Yj4fIxgGo9Qh1x_6-INdbrPGHCuZElu-QKNfSVtW7F4,7694
|
|
439
440
|
unstructured_ingest/v2/processes/connectors/databricks/volumes_aws.py,sha256=TA2e_1SIr4VaEI62873eyReCNfgmQ51_2Pko2I04pPM,2747
|
|
440
441
|
unstructured_ingest/v2/processes/connectors/databricks/volumes_azure.py,sha256=cb-EUW0T-linZMkbU6AcKEGWnFHQvhpO5Abtps4P2X0,3532
|
|
441
442
|
unstructured_ingest/v2/processes/connectors/databricks/volumes_gcp.py,sha256=tR8NubkyHw49IpW_42g6w1Koxlm56EPiPf1lB-eoRSI,2783
|
|
442
443
|
unstructured_ingest/v2/processes/connectors/databricks/volumes_native.py,sha256=dJLD1fueXf8_0AfC4cg0G7siJZVefz68iuEx2Kq7rMs,2890
|
|
444
|
+
unstructured_ingest/v2/processes/connectors/databricks/volumes_table.py,sha256=muj7G2JFO_WwAPub14k0VqDmN3c56t9MA60rM48wal8,4750
|
|
443
445
|
unstructured_ingest/v2/processes/connectors/duckdb/__init__.py,sha256=5sVvJCWhU-YkjHIwk4W6BZCanFYK5W4xTpWtQ8xzeB4,561
|
|
444
446
|
unstructured_ingest/v2/processes/connectors/duckdb/base.py,sha256=XTV9Pox3_xVmI8YVQWC9Bn6PugbPM49kp4Scv1OXFys,2649
|
|
445
447
|
unstructured_ingest/v2/processes/connectors/duckdb/duckdb.py,sha256=oUHHaLpO2pWW2Lu4Mc-XFjrA0ze97205WQ_xP95ua4M,4296
|
|
@@ -538,20 +540,21 @@ unstructured_ingest/v2/processes/connectors/qdrant/cloud.py,sha256=accJ4sNWBVWV-
|
|
|
538
540
|
unstructured_ingest/v2/processes/connectors/qdrant/local.py,sha256=cGEyv3Oy6y4BQ4DU8yhJWMpL82QYwBVdPTxxNuV127U,1588
|
|
539
541
|
unstructured_ingest/v2/processes/connectors/qdrant/qdrant.py,sha256=BHI7HYSdbS05j2vrjyDvLzVG1WfsM8osKeq-lttlybQ,5437
|
|
540
542
|
unstructured_ingest/v2/processes/connectors/qdrant/server.py,sha256=odvCZWZp8DmRxLXMR7tHhW-c7UQbix1_zpFdfXfCvKI,1613
|
|
541
|
-
unstructured_ingest/v2/processes/connectors/sql/__init__.py,sha256=
|
|
543
|
+
unstructured_ingest/v2/processes/connectors/sql/__init__.py,sha256=mxcrncrjeP-C2jqQoTOOpGjV3Bmyfg4efT5lq_c-V1E,1760
|
|
544
|
+
unstructured_ingest/v2/processes/connectors/sql/databricks_delta_tables.py,sha256=s_W6wSvyIXZ9mdAxvgSXFeFSze9E7pwIvc38p1hVDLM,8839
|
|
542
545
|
unstructured_ingest/v2/processes/connectors/sql/postgres.py,sha256=BATfX1PQGT2kl8jAbdNKXTojYKJxh3pJV9-h3OBnHGo,5124
|
|
543
546
|
unstructured_ingest/v2/processes/connectors/sql/singlestore.py,sha256=-2E9dsdNhjAiuzeSBytBbAhljOhvQ8kN8wvlUESvLo8,5465
|
|
544
547
|
unstructured_ingest/v2/processes/connectors/sql/snowflake.py,sha256=8qCm1XiJmVxy8TSeoxwmQrE2W1x8S8At2ctrS_lJ8-I,7780
|
|
545
|
-
unstructured_ingest/v2/processes/connectors/sql/sql.py,sha256=
|
|
548
|
+
unstructured_ingest/v2/processes/connectors/sql/sql.py,sha256=ZGpeBfiOEzVaSiQxwqJkMC00Eu6TQhsrZKHnOHM0Xug,15667
|
|
546
549
|
unstructured_ingest/v2/processes/connectors/sql/sqlite.py,sha256=Q5RAqn5Ccw-pbeKZLkiMn5IVw6EemCMukXzLlS7pDhc,5162
|
|
547
550
|
unstructured_ingest/v2/processes/connectors/weaviate/__init__.py,sha256=NMiwnVWan69KnzVELvaqX34tMhCytIa-C8EDsXVKsEo,856
|
|
548
551
|
unstructured_ingest/v2/processes/connectors/weaviate/cloud.py,sha256=bXtfEYLquR-BszZ5S_lQ4JbETNs9Vozgpfm8x9egAmE,6251
|
|
549
552
|
unstructured_ingest/v2/processes/connectors/weaviate/embedded.py,sha256=S8Zg8StuZT-k7tCg1D5YShO1-vJYYk9-M1bE1fIqx64,3014
|
|
550
553
|
unstructured_ingest/v2/processes/connectors/weaviate/local.py,sha256=LuTBKPseVewsz8VqxRPRLfGEm3BeI9nBZxpy7ZU5tOA,2201
|
|
551
554
|
unstructured_ingest/v2/processes/connectors/weaviate/weaviate.py,sha256=X1yv1H_orDQ-J965EMXhR2XaURqe8vovSi9n1fk85B4,10499
|
|
552
|
-
unstructured_ingest-0.3.
|
|
553
|
-
unstructured_ingest-0.3.
|
|
554
|
-
unstructured_ingest-0.3.
|
|
555
|
-
unstructured_ingest-0.3.
|
|
556
|
-
unstructured_ingest-0.3.
|
|
557
|
-
unstructured_ingest-0.3.
|
|
555
|
+
unstructured_ingest-0.3.15.dist-info/LICENSE.md,sha256=SxkKP_62uIAKb9mb1eH7FH4Kn2aYT09fgjKpJt5PyTk,11360
|
|
556
|
+
unstructured_ingest-0.3.15.dist-info/METADATA,sha256=rZFAbiv0HZ-VUWVk4MP2vANZuzsxJLhK2_QWZ5zTjRA,7929
|
|
557
|
+
unstructured_ingest-0.3.15.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
558
|
+
unstructured_ingest-0.3.15.dist-info/entry_points.txt,sha256=gUAAFnjFPnBgThJSEbw0N5ZjxtaKlT1s9e05_arQrNw,70
|
|
559
|
+
unstructured_ingest-0.3.15.dist-info/top_level.txt,sha256=DMuDMHZRMdeay8v8Kdi855muIv92F0OkutvBCaBEW6M,25
|
|
560
|
+
unstructured_ingest-0.3.15.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
{unstructured_ingest-0.3.13.dist-info → unstructured_ingest-0.3.15.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|