unstructured-ingest 0.6.2__py3-none-any.whl → 0.6.4__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.

@@ -0,0 +1,49 @@
1
+ import os
2
+
3
+ import pytest
4
+
5
+ from test.integration.connectors.utils.constants import SOURCE_TAG, UNCATEGORIZED_TAG
6
+ from test.integration.connectors.utils.validation.source import (
7
+ SourceValidationConfigs,
8
+ source_connector_validation,
9
+ )
10
+ from test.integration.utils import requires_env
11
+ from unstructured_ingest.v2.processes.connectors.github import (
12
+ CONNECTOR_TYPE,
13
+ GithubAccessConfig,
14
+ GithubConnectionConfig,
15
+ GithubDownloader,
16
+ GithubDownloaderConfig,
17
+ GithubIndexer,
18
+ GithubIndexerConfig,
19
+ )
20
+
21
+
22
+ @pytest.mark.tags(CONNECTOR_TYPE, SOURCE_TAG, UNCATEGORIZED_TAG)
23
+ @pytest.mark.asyncio
24
+ @requires_env("GH_READ_ONLY_ACCESS_TOKEN")
25
+ async def test_github_source(temp_dir):
26
+ access_token = os.environ["GH_READ_ONLY_ACCESS_TOKEN"]
27
+ connection_config = GithubConnectionConfig(
28
+ access_config=GithubAccessConfig(access_token=access_token),
29
+ url="dcneiner/Downloadify",
30
+ )
31
+
32
+ indexer = GithubIndexer(
33
+ connection_config=connection_config,
34
+ index_config=GithubIndexerConfig(file_glob=["*.txt", "*.html"]),
35
+ )
36
+
37
+ downloader = GithubDownloader(
38
+ connection_config=connection_config,
39
+ download_config=GithubDownloaderConfig(download_dir=temp_dir),
40
+ )
41
+
42
+ # Run the source connector validation
43
+ await source_connector_validation(
44
+ indexer=indexer,
45
+ downloader=downloader,
46
+ configs=SourceValidationConfigs(
47
+ test_id="github", expected_num_files=2, validate_downloaded_files=True
48
+ ),
49
+ )
@@ -1 +1 @@
1
- __version__ = "0.6.2" # pragma: no cover
1
+ __version__ = "0.6.4" # pragma: no cover
@@ -31,6 +31,8 @@ from .delta_table import CONNECTOR_TYPE as DELTA_TABLE_CONNECTOR_TYPE
31
31
  from .delta_table import delta_table_destination_entry
32
32
  from .discord import CONNECTOR_TYPE as DISCORD_CONNECTOR_TYPE
33
33
  from .discord import discord_source_entry
34
+ from .github import CONNECTOR_TYPE as GITHUB_CONNECTOR_TYPE
35
+ from .github import github_source_entry
34
36
  from .gitlab import CONNECTOR_TYPE as GITLAB_CONNECTOR_TYPE
35
37
  from .gitlab import gitlab_source_entry
36
38
  from .google_drive import CONNECTOR_TYPE as GOOGLE_DRIVE_CONNECTOR_TYPE
@@ -124,3 +126,4 @@ add_destination_entry(destination_type=REDIS_CONNECTOR_TYPE, entry=redis_destina
124
126
  add_source_entry(source_type=JIRA_CONNECTOR_TYPE, entry=jira_source_entry)
125
127
 
126
128
  add_source_entry(source_type=ZENDESK_CONNECTOR_TYPE, entry=zendesk_source_entry)
129
+ add_source_entry(source_type=GITHUB_CONNECTOR_TYPE, entry=github_source_entry)
@@ -68,7 +68,6 @@ class DatabricksVolumesConnectionConfig(ConnectionConfig, ABC):
68
68
  "Databricks workspace endpoint or the "
69
69
  "Databricks accounts endpoint.",
70
70
  )
71
- user_agent: str = "unstructuredio_oss"
72
71
 
73
72
  def wrap_error(self, e: Exception) -> Exception:
74
73
  from databricks.sdk.errors.base import DatabricksError
@@ -101,7 +100,9 @@ class DatabricksVolumesConnectionConfig(ConnectionConfig, ABC):
101
100
  config = Config(
102
101
  host=self.host,
103
102
  **self.access_config.get_secret_value().model_dump(),
104
- ).with_user_agent_extra("PyDatabricksSdk", self.user_agent)
103
+ ).with_user_agent_extra(
104
+ "PyDatabricksSdk", os.getenv("UNSTRUCTURED_USER_AGENT", "unstructuredio_oss")
105
+ )
105
106
 
106
107
  return WorkspaceClient(config=config)
107
108
 
@@ -0,0 +1,221 @@
1
+ from dataclasses import dataclass, field
2
+ from pathlib import Path
3
+ from time import time
4
+ from typing import TYPE_CHECKING, Any, Generator, Optional
5
+ from urllib.parse import urlparse
6
+ from uuid import NAMESPACE_DNS, uuid5
7
+
8
+ from pydantic import Field, Secret, field_validator
9
+
10
+ from unstructured_ingest.utils.dep_check import requires_dependencies
11
+ from unstructured_ingest.v2.errors import ProviderError, UserAuthError, UserError
12
+ from unstructured_ingest.v2.interfaces import (
13
+ AccessConfig,
14
+ ConnectionConfig,
15
+ Downloader,
16
+ DownloaderConfig,
17
+ Indexer,
18
+ IndexerConfig,
19
+ download_responses,
20
+ )
21
+ from unstructured_ingest.v2.logger import logger
22
+ from unstructured_ingest.v2.processes.connector_registry import (
23
+ SourceRegistryEntry,
24
+ )
25
+ from unstructured_ingest.v2.types.file_data import (
26
+ FileData,
27
+ FileDataSourceMetadata,
28
+ SourceIdentifiers,
29
+ )
30
+
31
+ if TYPE_CHECKING:
32
+ from github import ContentFile, GitTreeElement, Repository
33
+ from github import Github as GithubClient
34
+ from github.GithubException import GithubException
35
+ from requests import HTTPError
36
+
37
+ CONNECTOR_TYPE = "github"
38
+
39
+
40
+ class GithubAccessConfig(AccessConfig):
41
+ access_token: str = Field(description="Github acess token")
42
+
43
+
44
+ class GithubConnectionConfig(ConnectionConfig):
45
+ access_config: Secret[GithubAccessConfig]
46
+ url: str = Field(description="Github url or repository owner/name pair")
47
+
48
+ @field_validator("url", mode="after")
49
+ def conform_url(cls, value: str):
50
+ parsed_url = urlparse(value)
51
+ return parsed_url.path
52
+
53
+ def get_full_url(self):
54
+ return f"https://github.com/{self.url}"
55
+
56
+ @requires_dependencies(["github"], extras="github")
57
+ def get_client(self) -> "GithubClient":
58
+ from github import Github as GithubClient
59
+
60
+ return GithubClient(login_or_token=self.access_config.get_secret_value().access_token)
61
+
62
+ def get_repo(self) -> "Repository":
63
+ client = self.get_client()
64
+ return client.get_repo(self.url)
65
+
66
+ def wrap_github_exception(self, e: "GithubException") -> Exception:
67
+ data = e.data
68
+ status_code = e.status
69
+ message = data.get("message")
70
+ if status_code == 401:
71
+ return UserAuthError(f"Unauthorized access to Github: {message}")
72
+ if 400 <= status_code < 500:
73
+ return UserError(message)
74
+ if status_code > 500:
75
+ return ProviderError(message)
76
+ logger.debug(f"unhandled github error: {e}")
77
+ return e
78
+
79
+ def wrap_http_error(self, e: "HTTPError") -> Exception:
80
+ status_code = e.response.status_code
81
+ if status_code == 401:
82
+ return UserAuthError(f"Unauthorized access to Github: {e.response.text}")
83
+ if 400 <= status_code < 500:
84
+ return UserError(e.response.text)
85
+ if status_code > 500:
86
+ return ProviderError(e.response.text)
87
+ logger.debug(f"unhandled http error: {e}")
88
+ return e
89
+
90
+ @requires_dependencies(["requests"], extras="github")
91
+ def wrap_error(self, e: Exception) -> Exception:
92
+ from github.GithubException import GithubException
93
+ from requests import HTTPError
94
+
95
+ if isinstance(e, GithubException):
96
+ return self.wrap_github_exception(e=e)
97
+ if isinstance(e, HTTPError):
98
+ return self.wrap_http_error(e=e)
99
+ logger.debug(f"unhandled error: {e}")
100
+ return e
101
+
102
+
103
+ class GithubIndexerConfig(IndexerConfig):
104
+ branch: Optional[str] = Field(
105
+ description="Branch to index, use the default if one isn't provided", default=None
106
+ )
107
+ recursive: bool = Field(
108
+ description="Recursively index all files in the repository", default=True
109
+ )
110
+
111
+
112
+ @dataclass
113
+ class GithubIndexer(Indexer):
114
+ connection_config: GithubConnectionConfig
115
+ index_config: GithubIndexerConfig = field(default_factory=GithubIndexerConfig)
116
+ connector_type: str = CONNECTOR_TYPE
117
+
118
+ def precheck(self) -> None:
119
+ try:
120
+ self.connection_config.get_repo()
121
+ except Exception as e:
122
+ raise self.connection_config.wrap_error(e=e)
123
+
124
+ def get_branch(self) -> str:
125
+ repo = self.connection_config.get_repo()
126
+ sha = self.index_config.branch or repo.default_branch
127
+ return sha
128
+
129
+ def list_files(self) -> list["GitTreeElement"]:
130
+ repo = self.connection_config.get_repo()
131
+ sha = self.index_config.branch or repo.default_branch
132
+ git_tree = repo.get_git_tree(sha, recursive=self.index_config.recursive)
133
+ file_elements = [
134
+ element for element in git_tree.tree if element.size is not None and element.size > 0
135
+ ]
136
+ return file_elements
137
+
138
+ def convert_element(self, element: "GitTreeElement") -> FileData:
139
+ full_path = (
140
+ f"{self.connection_config.get_full_url()}/blob/{self.get_branch()}/{element.path}"
141
+ )
142
+
143
+ return FileData(
144
+ identifier=str(uuid5(NAMESPACE_DNS, full_path)),
145
+ connector_type=self.connector_type,
146
+ display_name=full_path,
147
+ source_identifiers=SourceIdentifiers(
148
+ filename=Path(element.path).name,
149
+ fullpath=(Path(self.get_branch()) / element.path).as_posix(),
150
+ rel_path=element.path,
151
+ ),
152
+ metadata=FileDataSourceMetadata(
153
+ url=element.url,
154
+ version=element.etag,
155
+ record_locator={},
156
+ date_modified=str(element.last_modified_datetime.timestamp()),
157
+ date_processed=str(time()),
158
+ filesize_bytes=element.size,
159
+ permissions_data=[{"mode": element.mode}],
160
+ ),
161
+ )
162
+
163
+ def run(self, **kwargs: Any) -> Generator[FileData, None, None]:
164
+ for element in self.list_files():
165
+ yield self.convert_element(element=element)
166
+
167
+
168
+ class GithubDownloaderConfig(DownloaderConfig):
169
+ pass
170
+
171
+
172
+ @dataclass
173
+ class GithubDownloader(Downloader):
174
+ download_config: GithubDownloaderConfig
175
+ connection_config: GithubConnectionConfig
176
+ connector_type: str = CONNECTOR_TYPE
177
+
178
+ @requires_dependencies(["github"], extras="github")
179
+ def get_file(self, file_data: FileData) -> "ContentFile":
180
+ from github.GithubException import UnknownObjectException
181
+
182
+ path = file_data.source_identifiers.relative_path
183
+ repo = self.connection_config.get_repo()
184
+
185
+ try:
186
+ content_file = repo.get_contents(path)
187
+ except UnknownObjectException as e:
188
+ logger.error(f"File doesn't exists {self.connection_config.url}/{path}: {e}")
189
+ raise UserError(f"File not found: {path}")
190
+ return content_file
191
+
192
+ @requires_dependencies(["requests"], extras="github")
193
+ def get_contents(self, content_file: "ContentFile") -> bytes:
194
+ import requests
195
+
196
+ if content_file.decoded_content:
197
+ return content_file.decoded_content
198
+ download_url = content_file.download_url
199
+ resp = requests.get(download_url)
200
+ try:
201
+ resp.raise_for_status()
202
+ except requests.HTTPError as e:
203
+ raise self.connection_config.wrap_error(e=e)
204
+ return resp.content
205
+
206
+ def run(self, file_data: FileData, **kwargs: Any) -> download_responses:
207
+ content_file = self.get_file(file_data)
208
+ contents = self.get_contents(content_file)
209
+ download_path = self.get_download_path(file_data)
210
+ with download_path.open("wb") as f:
211
+ f.write(contents)
212
+ return self.generate_download_response(file_data=file_data, download_path=download_path)
213
+
214
+
215
+ github_source_entry = SourceRegistryEntry(
216
+ indexer=GithubIndexer,
217
+ indexer_config=GithubIndexerConfig,
218
+ downloader=GithubDownloader,
219
+ downloader_config=GithubDownloaderConfig,
220
+ connection_config=GithubConnectionConfig,
221
+ )
@@ -1,4 +1,5 @@
1
1
  import json
2
+ import os
2
3
  from contextlib import contextmanager
3
4
  from dataclasses import dataclass
4
5
  from typing import TYPE_CHECKING, Any, Generator, Optional
@@ -42,7 +43,6 @@ class DatabricksDeltaTablesConnectionConfig(SQLConnectionConfig):
42
43
  access_config: Secret[DatabricksDeltaTablesAccessConfig]
43
44
  server_hostname: str = Field(description="server hostname connection config value")
44
45
  http_path: str = Field(description="http path connection config value")
45
- user_agent: str = "unstructuredio_oss"
46
46
 
47
47
  @requires_dependencies(["databricks"], extras="databricks-delta-tables")
48
48
  def get_credentials_provider(self) -> "oauth_service_principal":
@@ -86,7 +86,9 @@ class DatabricksDeltaTablesConnectionConfig(SQLConnectionConfig):
86
86
  from databricks.sql import connect
87
87
 
88
88
  connect_kwargs = connect_kwargs or {}
89
- connect_kwargs["_user_agent_entry"] = self.user_agent
89
+ connect_kwargs["_user_agent_entry"] = os.getenv(
90
+ "UNSTRUCTURED_USER_AGENT", "unstructuredio_oss"
91
+ )
90
92
  connect_kwargs["server_hostname"] = connect_kwargs.get(
91
93
  "server_hostname", self.server_hostname
92
94
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: unstructured-ingest
3
- Version: 0.6.2
3
+ Version: 0.6.4
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
@@ -22,348 +22,348 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
22
22
  Requires-Python: >=3.9.0,<3.14
23
23
  Description-Content-Type: text/markdown
24
24
  License-File: LICENSE.md
25
- Requires-Dist: click
26
- Requires-Dist: python-dateutil
27
- Requires-Dist: dataclasses_json
28
25
  Requires-Dist: pydantic>=2.7
29
- Requires-Dist: tqdm
30
26
  Requires-Dist: opentelemetry-sdk
31
- Requires-Dist: pandas
27
+ Requires-Dist: tqdm
28
+ Requires-Dist: click
29
+ Requires-Dist: dataclasses_json
30
+ Requires-Dist: python-dateutil
32
31
  Requires-Dist: numpy
32
+ Requires-Dist: pandas
33
33
  Provides-Extra: remote
34
34
  Requires-Dist: unstructured-client>=0.30.0; extra == "remote"
35
- Requires-Dist: pandas; extra == "remote"
36
35
  Requires-Dist: numpy; extra == "remote"
36
+ Requires-Dist: pandas; extra == "remote"
37
37
  Provides-Extra: csv
38
38
  Requires-Dist: unstructured[tsv]; extra == "csv"
39
- Requires-Dist: pandas; extra == "csv"
40
39
  Requires-Dist: numpy; extra == "csv"
40
+ Requires-Dist: pandas; extra == "csv"
41
41
  Provides-Extra: doc
42
42
  Requires-Dist: unstructured[docx]; extra == "doc"
43
- Requires-Dist: pandas; extra == "doc"
44
43
  Requires-Dist: numpy; extra == "doc"
44
+ Requires-Dist: pandas; extra == "doc"
45
45
  Provides-Extra: docx
46
46
  Requires-Dist: unstructured[docx]; extra == "docx"
47
- Requires-Dist: pandas; extra == "docx"
48
47
  Requires-Dist: numpy; extra == "docx"
48
+ Requires-Dist: pandas; extra == "docx"
49
49
  Provides-Extra: epub
50
50
  Requires-Dist: unstructured[epub]; extra == "epub"
51
- Requires-Dist: pandas; extra == "epub"
52
51
  Requires-Dist: numpy; extra == "epub"
52
+ Requires-Dist: pandas; extra == "epub"
53
53
  Provides-Extra: md
54
54
  Requires-Dist: unstructured[md]; extra == "md"
55
- Requires-Dist: pandas; extra == "md"
56
55
  Requires-Dist: numpy; extra == "md"
56
+ Requires-Dist: pandas; extra == "md"
57
57
  Provides-Extra: msg
58
58
  Requires-Dist: unstructured[msg]; extra == "msg"
59
- Requires-Dist: pandas; extra == "msg"
60
59
  Requires-Dist: numpy; extra == "msg"
60
+ Requires-Dist: pandas; extra == "msg"
61
61
  Provides-Extra: odt
62
62
  Requires-Dist: unstructured[odt]; extra == "odt"
63
- Requires-Dist: pandas; extra == "odt"
64
63
  Requires-Dist: numpy; extra == "odt"
64
+ Requires-Dist: pandas; extra == "odt"
65
65
  Provides-Extra: org
66
66
  Requires-Dist: unstructured[org]; extra == "org"
67
- Requires-Dist: pandas; extra == "org"
68
67
  Requires-Dist: numpy; extra == "org"
68
+ Requires-Dist: pandas; extra == "org"
69
69
  Provides-Extra: pdf
70
70
  Requires-Dist: unstructured[pdf]; extra == "pdf"
71
- Requires-Dist: pandas; extra == "pdf"
72
71
  Requires-Dist: numpy; extra == "pdf"
72
+ Requires-Dist: pandas; extra == "pdf"
73
73
  Provides-Extra: ppt
74
74
  Requires-Dist: unstructured[pptx]; extra == "ppt"
75
- Requires-Dist: pandas; extra == "ppt"
76
75
  Requires-Dist: numpy; extra == "ppt"
76
+ Requires-Dist: pandas; extra == "ppt"
77
77
  Provides-Extra: pptx
78
78
  Requires-Dist: unstructured[pptx]; extra == "pptx"
79
- Requires-Dist: pandas; extra == "pptx"
80
79
  Requires-Dist: numpy; extra == "pptx"
80
+ Requires-Dist: pandas; extra == "pptx"
81
81
  Provides-Extra: rtf
82
82
  Requires-Dist: unstructured[rtf]; extra == "rtf"
83
- Requires-Dist: pandas; extra == "rtf"
84
83
  Requires-Dist: numpy; extra == "rtf"
84
+ Requires-Dist: pandas; extra == "rtf"
85
85
  Provides-Extra: rst
86
86
  Requires-Dist: unstructured[rst]; extra == "rst"
87
- Requires-Dist: pandas; extra == "rst"
88
87
  Requires-Dist: numpy; extra == "rst"
88
+ Requires-Dist: pandas; extra == "rst"
89
89
  Provides-Extra: tsv
90
90
  Requires-Dist: unstructured[tsv]; extra == "tsv"
91
- Requires-Dist: pandas; extra == "tsv"
92
91
  Requires-Dist: numpy; extra == "tsv"
92
+ Requires-Dist: pandas; extra == "tsv"
93
93
  Provides-Extra: xlsx
94
94
  Requires-Dist: unstructured[xlsx]; extra == "xlsx"
95
- Requires-Dist: pandas; extra == "xlsx"
96
95
  Requires-Dist: numpy; extra == "xlsx"
96
+ Requires-Dist: pandas; extra == "xlsx"
97
97
  Provides-Extra: airtable
98
98
  Requires-Dist: pyairtable; extra == "airtable"
99
- Requires-Dist: pandas; extra == "airtable"
100
99
  Requires-Dist: numpy; extra == "airtable"
100
+ Requires-Dist: pandas; extra == "airtable"
101
101
  Provides-Extra: astradb
102
102
  Requires-Dist: astrapy; extra == "astradb"
103
- Requires-Dist: pandas; extra == "astradb"
104
103
  Requires-Dist: numpy; extra == "astradb"
104
+ Requires-Dist: pandas; extra == "astradb"
105
105
  Provides-Extra: azure
106
106
  Requires-Dist: fsspec; extra == "azure"
107
107
  Requires-Dist: adlfs; extra == "azure"
108
- Requires-Dist: pandas; extra == "azure"
109
108
  Requires-Dist: numpy; extra == "azure"
109
+ Requires-Dist: pandas; extra == "azure"
110
110
  Provides-Extra: azure-ai-search
111
111
  Requires-Dist: azure-search-documents; extra == "azure-ai-search"
112
- Requires-Dist: pandas; extra == "azure-ai-search"
113
112
  Requires-Dist: numpy; extra == "azure-ai-search"
113
+ Requires-Dist: pandas; extra == "azure-ai-search"
114
114
  Provides-Extra: biomed
115
115
  Requires-Dist: requests; extra == "biomed"
116
116
  Requires-Dist: bs4; extra == "biomed"
117
- Requires-Dist: pandas; extra == "biomed"
118
117
  Requires-Dist: numpy; extra == "biomed"
118
+ Requires-Dist: pandas; extra == "biomed"
119
119
  Provides-Extra: box
120
120
  Requires-Dist: fsspec; extra == "box"
121
121
  Requires-Dist: boxfs; extra == "box"
122
- Requires-Dist: pandas; extra == "box"
123
122
  Requires-Dist: numpy; extra == "box"
123
+ Requires-Dist: pandas; extra == "box"
124
124
  Provides-Extra: chroma
125
125
  Requires-Dist: chromadb; extra == "chroma"
126
- Requires-Dist: pandas; extra == "chroma"
127
126
  Requires-Dist: numpy; extra == "chroma"
127
+ Requires-Dist: pandas; extra == "chroma"
128
128
  Provides-Extra: clarifai
129
129
  Requires-Dist: clarifai; extra == "clarifai"
130
- Requires-Dist: pandas; extra == "clarifai"
131
130
  Requires-Dist: numpy; extra == "clarifai"
131
+ Requires-Dist: pandas; extra == "clarifai"
132
132
  Provides-Extra: confluence
133
- Requires-Dist: atlassian-python-api; extra == "confluence"
134
133
  Requires-Dist: requests; extra == "confluence"
135
- Requires-Dist: pandas; extra == "confluence"
134
+ Requires-Dist: atlassian-python-api; extra == "confluence"
136
135
  Requires-Dist: numpy; extra == "confluence"
136
+ Requires-Dist: pandas; extra == "confluence"
137
137
  Provides-Extra: couchbase
138
138
  Requires-Dist: couchbase; extra == "couchbase"
139
- Requires-Dist: pandas; extra == "couchbase"
140
139
  Requires-Dist: numpy; extra == "couchbase"
140
+ Requires-Dist: pandas; extra == "couchbase"
141
141
  Provides-Extra: delta-table
142
- Requires-Dist: boto3; extra == "delta-table"
143
142
  Requires-Dist: deltalake; extra == "delta-table"
144
- Requires-Dist: pandas; extra == "delta-table"
143
+ Requires-Dist: boto3; extra == "delta-table"
145
144
  Requires-Dist: numpy; extra == "delta-table"
145
+ Requires-Dist: pandas; extra == "delta-table"
146
146
  Provides-Extra: discord
147
147
  Requires-Dist: discord.py; extra == "discord"
148
- Requires-Dist: pandas; extra == "discord"
149
148
  Requires-Dist: numpy; extra == "discord"
149
+ Requires-Dist: pandas; extra == "discord"
150
150
  Provides-Extra: dropbox
151
151
  Requires-Dist: fsspec; extra == "dropbox"
152
152
  Requires-Dist: dropboxdrivefs; extra == "dropbox"
153
- Requires-Dist: pandas; extra == "dropbox"
154
153
  Requires-Dist: numpy; extra == "dropbox"
154
+ Requires-Dist: pandas; extra == "dropbox"
155
155
  Provides-Extra: duckdb
156
156
  Requires-Dist: duckdb; extra == "duckdb"
157
- Requires-Dist: pandas; extra == "duckdb"
158
157
  Requires-Dist: numpy; extra == "duckdb"
158
+ Requires-Dist: pandas; extra == "duckdb"
159
159
  Provides-Extra: elasticsearch
160
160
  Requires-Dist: elasticsearch[async]; extra == "elasticsearch"
161
- Requires-Dist: pandas; extra == "elasticsearch"
162
161
  Requires-Dist: numpy; extra == "elasticsearch"
162
+ Requires-Dist: pandas; extra == "elasticsearch"
163
163
  Provides-Extra: gcs
164
164
  Requires-Dist: fsspec; extra == "gcs"
165
165
  Requires-Dist: bs4; extra == "gcs"
166
166
  Requires-Dist: gcsfs; extra == "gcs"
167
- Requires-Dist: pandas; extra == "gcs"
168
167
  Requires-Dist: numpy; extra == "gcs"
168
+ Requires-Dist: pandas; extra == "gcs"
169
169
  Provides-Extra: github
170
170
  Requires-Dist: requests; extra == "github"
171
171
  Requires-Dist: pygithub>1.58.0; extra == "github"
172
- Requires-Dist: pandas; extra == "github"
173
172
  Requires-Dist: numpy; extra == "github"
173
+ Requires-Dist: pandas; extra == "github"
174
174
  Provides-Extra: gitlab
175
175
  Requires-Dist: python-gitlab; extra == "gitlab"
176
- Requires-Dist: pandas; extra == "gitlab"
177
176
  Requires-Dist: numpy; extra == "gitlab"
177
+ Requires-Dist: pandas; extra == "gitlab"
178
178
  Provides-Extra: google-drive
179
179
  Requires-Dist: google-api-python-client; extra == "google-drive"
180
- Requires-Dist: pandas; extra == "google-drive"
181
180
  Requires-Dist: numpy; extra == "google-drive"
181
+ Requires-Dist: pandas; extra == "google-drive"
182
182
  Provides-Extra: hubspot
183
183
  Requires-Dist: hubspot-api-client; extra == "hubspot"
184
184
  Requires-Dist: urllib3; extra == "hubspot"
185
- Requires-Dist: pandas; extra == "hubspot"
186
185
  Requires-Dist: numpy; extra == "hubspot"
186
+ Requires-Dist: pandas; extra == "hubspot"
187
187
  Provides-Extra: ibm-watsonx-s3
188
188
  Requires-Dist: tenacity; extra == "ibm-watsonx-s3"
189
- Requires-Dist: pyarrow; extra == "ibm-watsonx-s3"
190
189
  Requires-Dist: pyiceberg; extra == "ibm-watsonx-s3"
191
190
  Requires-Dist: httpx; extra == "ibm-watsonx-s3"
192
- Requires-Dist: pandas; extra == "ibm-watsonx-s3"
191
+ Requires-Dist: pyarrow; extra == "ibm-watsonx-s3"
193
192
  Requires-Dist: numpy; extra == "ibm-watsonx-s3"
193
+ Requires-Dist: pandas; extra == "ibm-watsonx-s3"
194
194
  Provides-Extra: jira
195
195
  Requires-Dist: atlassian-python-api; extra == "jira"
196
- Requires-Dist: pandas; extra == "jira"
197
196
  Requires-Dist: numpy; extra == "jira"
197
+ Requires-Dist: pandas; extra == "jira"
198
198
  Provides-Extra: kafka
199
199
  Requires-Dist: confluent-kafka; extra == "kafka"
200
- Requires-Dist: pandas; extra == "kafka"
201
200
  Requires-Dist: numpy; extra == "kafka"
201
+ Requires-Dist: pandas; extra == "kafka"
202
202
  Provides-Extra: kdbai
203
203
  Requires-Dist: kdbai-client>=1.4.0; extra == "kdbai"
204
- Requires-Dist: pandas; extra == "kdbai"
205
204
  Requires-Dist: numpy; extra == "kdbai"
205
+ Requires-Dist: pandas; extra == "kdbai"
206
206
  Provides-Extra: lancedb
207
207
  Requires-Dist: lancedb; extra == "lancedb"
208
- Requires-Dist: pandas; extra == "lancedb"
209
208
  Requires-Dist: numpy; extra == "lancedb"
209
+ Requires-Dist: pandas; extra == "lancedb"
210
210
  Provides-Extra: milvus
211
211
  Requires-Dist: pymilvus; extra == "milvus"
212
- Requires-Dist: pandas; extra == "milvus"
213
212
  Requires-Dist: numpy; extra == "milvus"
213
+ Requires-Dist: pandas; extra == "milvus"
214
214
  Provides-Extra: mongodb
215
215
  Requires-Dist: pymongo; extra == "mongodb"
216
- Requires-Dist: pandas; extra == "mongodb"
217
216
  Requires-Dist: numpy; extra == "mongodb"
217
+ Requires-Dist: pandas; extra == "mongodb"
218
218
  Provides-Extra: neo4j
219
219
  Requires-Dist: neo4j-rust-ext; extra == "neo4j"
220
- Requires-Dist: cymple; extra == "neo4j"
221
220
  Requires-Dist: networkx; extra == "neo4j"
222
- Requires-Dist: pandas; extra == "neo4j"
221
+ Requires-Dist: cymple; extra == "neo4j"
223
222
  Requires-Dist: numpy; extra == "neo4j"
223
+ Requires-Dist: pandas; extra == "neo4j"
224
224
  Provides-Extra: notion
225
- Requires-Dist: backoff; extra == "notion"
225
+ Requires-Dist: htmlBuilder; extra == "notion"
226
226
  Requires-Dist: notion-client; extra == "notion"
227
227
  Requires-Dist: httpx; extra == "notion"
228
- Requires-Dist: htmlBuilder; extra == "notion"
229
- Requires-Dist: pandas; extra == "notion"
228
+ Requires-Dist: backoff; extra == "notion"
230
229
  Requires-Dist: numpy; extra == "notion"
230
+ Requires-Dist: pandas; extra == "notion"
231
231
  Provides-Extra: onedrive
232
232
  Requires-Dist: Office365-REST-Python-Client; extra == "onedrive"
233
- Requires-Dist: msal; extra == "onedrive"
234
233
  Requires-Dist: bs4; extra == "onedrive"
235
- Requires-Dist: pandas; extra == "onedrive"
234
+ Requires-Dist: msal; extra == "onedrive"
236
235
  Requires-Dist: numpy; extra == "onedrive"
236
+ Requires-Dist: pandas; extra == "onedrive"
237
237
  Provides-Extra: opensearch
238
238
  Requires-Dist: opensearch-py; extra == "opensearch"
239
- Requires-Dist: pandas; extra == "opensearch"
240
239
  Requires-Dist: numpy; extra == "opensearch"
240
+ Requires-Dist: pandas; extra == "opensearch"
241
241
  Provides-Extra: outlook
242
242
  Requires-Dist: Office365-REST-Python-Client; extra == "outlook"
243
243
  Requires-Dist: msal; extra == "outlook"
244
- Requires-Dist: pandas; extra == "outlook"
245
244
  Requires-Dist: numpy; extra == "outlook"
245
+ Requires-Dist: pandas; extra == "outlook"
246
246
  Provides-Extra: pinecone
247
247
  Requires-Dist: pinecone-client>=3.7.1; extra == "pinecone"
248
- Requires-Dist: pandas; extra == "pinecone"
249
248
  Requires-Dist: numpy; extra == "pinecone"
249
+ Requires-Dist: pandas; extra == "pinecone"
250
250
  Provides-Extra: postgres
251
251
  Requires-Dist: psycopg2-binary; extra == "postgres"
252
- Requires-Dist: pandas; extra == "postgres"
253
252
  Requires-Dist: numpy; extra == "postgres"
253
+ Requires-Dist: pandas; extra == "postgres"
254
254
  Provides-Extra: qdrant
255
255
  Requires-Dist: qdrant-client; extra == "qdrant"
256
- Requires-Dist: pandas; extra == "qdrant"
257
256
  Requires-Dist: numpy; extra == "qdrant"
257
+ Requires-Dist: pandas; extra == "qdrant"
258
258
  Provides-Extra: reddit
259
259
  Requires-Dist: praw; extra == "reddit"
260
- Requires-Dist: pandas; extra == "reddit"
261
260
  Requires-Dist: numpy; extra == "reddit"
261
+ Requires-Dist: pandas; extra == "reddit"
262
262
  Provides-Extra: redis
263
263
  Requires-Dist: redis; extra == "redis"
264
- Requires-Dist: pandas; extra == "redis"
265
264
  Requires-Dist: numpy; extra == "redis"
265
+ Requires-Dist: pandas; extra == "redis"
266
266
  Provides-Extra: s3
267
267
  Requires-Dist: fsspec; extra == "s3"
268
268
  Requires-Dist: s3fs; extra == "s3"
269
- Requires-Dist: pandas; extra == "s3"
270
269
  Requires-Dist: numpy; extra == "s3"
270
+ Requires-Dist: pandas; extra == "s3"
271
271
  Provides-Extra: sharepoint
272
272
  Requires-Dist: Office365-REST-Python-Client; extra == "sharepoint"
273
273
  Requires-Dist: msal; extra == "sharepoint"
274
- Requires-Dist: pandas; extra == "sharepoint"
275
274
  Requires-Dist: numpy; extra == "sharepoint"
275
+ Requires-Dist: pandas; extra == "sharepoint"
276
276
  Provides-Extra: salesforce
277
277
  Requires-Dist: simple-salesforce; extra == "salesforce"
278
- Requires-Dist: pandas; extra == "salesforce"
279
278
  Requires-Dist: numpy; extra == "salesforce"
279
+ Requires-Dist: pandas; extra == "salesforce"
280
280
  Provides-Extra: sftp
281
- Requires-Dist: paramiko; extra == "sftp"
282
281
  Requires-Dist: fsspec; extra == "sftp"
283
- Requires-Dist: pandas; extra == "sftp"
282
+ Requires-Dist: paramiko; extra == "sftp"
284
283
  Requires-Dist: numpy; extra == "sftp"
284
+ Requires-Dist: pandas; extra == "sftp"
285
285
  Provides-Extra: slack
286
286
  Requires-Dist: slack_sdk[optional]; extra == "slack"
287
- Requires-Dist: pandas; extra == "slack"
288
287
  Requires-Dist: numpy; extra == "slack"
288
+ Requires-Dist: pandas; extra == "slack"
289
289
  Provides-Extra: snowflake
290
- Requires-Dist: snowflake-connector-python; extra == "snowflake"
291
290
  Requires-Dist: psycopg2-binary; extra == "snowflake"
292
- Requires-Dist: pandas; extra == "snowflake"
291
+ Requires-Dist: snowflake-connector-python; extra == "snowflake"
293
292
  Requires-Dist: numpy; extra == "snowflake"
293
+ Requires-Dist: pandas; extra == "snowflake"
294
294
  Provides-Extra: wikipedia
295
295
  Requires-Dist: wikipedia; extra == "wikipedia"
296
- Requires-Dist: pandas; extra == "wikipedia"
297
296
  Requires-Dist: numpy; extra == "wikipedia"
297
+ Requires-Dist: pandas; extra == "wikipedia"
298
298
  Provides-Extra: weaviate
299
299
  Requires-Dist: weaviate-client; extra == "weaviate"
300
- Requires-Dist: pandas; extra == "weaviate"
301
300
  Requires-Dist: numpy; extra == "weaviate"
301
+ Requires-Dist: pandas; extra == "weaviate"
302
302
  Provides-Extra: databricks-volumes
303
303
  Requires-Dist: databricks-sdk; extra == "databricks-volumes"
304
- Requires-Dist: pandas; extra == "databricks-volumes"
305
304
  Requires-Dist: numpy; extra == "databricks-volumes"
305
+ Requires-Dist: pandas; extra == "databricks-volumes"
306
306
  Provides-Extra: databricks-delta-tables
307
307
  Requires-Dist: databricks-sql-connector; extra == "databricks-delta-tables"
308
- Requires-Dist: pandas; extra == "databricks-delta-tables"
309
308
  Requires-Dist: numpy; extra == "databricks-delta-tables"
309
+ Requires-Dist: pandas; extra == "databricks-delta-tables"
310
310
  Provides-Extra: singlestore
311
311
  Requires-Dist: singlestoredb; extra == "singlestore"
312
- Requires-Dist: pandas; extra == "singlestore"
313
312
  Requires-Dist: numpy; extra == "singlestore"
313
+ Requires-Dist: pandas; extra == "singlestore"
314
314
  Provides-Extra: vectara
315
315
  Requires-Dist: requests; extra == "vectara"
316
316
  Requires-Dist: httpx; extra == "vectara"
317
317
  Requires-Dist: aiofiles; extra == "vectara"
318
- Requires-Dist: pandas; extra == "vectara"
319
318
  Requires-Dist: numpy; extra == "vectara"
319
+ Requires-Dist: pandas; extra == "vectara"
320
320
  Provides-Extra: vastdb
321
- Requires-Dist: pyarrow; extra == "vastdb"
322
- Requires-Dist: ibis; extra == "vastdb"
323
321
  Requires-Dist: vastdb; extra == "vastdb"
324
- Requires-Dist: pandas; extra == "vastdb"
322
+ Requires-Dist: ibis; extra == "vastdb"
323
+ Requires-Dist: pyarrow; extra == "vastdb"
325
324
  Requires-Dist: numpy; extra == "vastdb"
325
+ Requires-Dist: pandas; extra == "vastdb"
326
326
  Provides-Extra: zendesk
327
- Requires-Dist: httpx; extra == "zendesk"
328
327
  Requires-Dist: bs4; extra == "zendesk"
328
+ Requires-Dist: httpx; extra == "zendesk"
329
329
  Requires-Dist: aiofiles; extra == "zendesk"
330
- Requires-Dist: pandas; extra == "zendesk"
331
330
  Requires-Dist: numpy; extra == "zendesk"
331
+ Requires-Dist: pandas; extra == "zendesk"
332
332
  Provides-Extra: embed-huggingface
333
333
  Requires-Dist: sentence-transformers; extra == "embed-huggingface"
334
- Requires-Dist: pandas; extra == "embed-huggingface"
335
334
  Requires-Dist: numpy; extra == "embed-huggingface"
335
+ Requires-Dist: pandas; extra == "embed-huggingface"
336
336
  Provides-Extra: embed-octoai
337
337
  Requires-Dist: openai; extra == "embed-octoai"
338
338
  Requires-Dist: tiktoken; extra == "embed-octoai"
339
- Requires-Dist: pandas; extra == "embed-octoai"
340
339
  Requires-Dist: numpy; extra == "embed-octoai"
340
+ Requires-Dist: pandas; extra == "embed-octoai"
341
341
  Provides-Extra: embed-vertexai
342
342
  Requires-Dist: vertexai; extra == "embed-vertexai"
343
- Requires-Dist: pandas; extra == "embed-vertexai"
344
343
  Requires-Dist: numpy; extra == "embed-vertexai"
344
+ Requires-Dist: pandas; extra == "embed-vertexai"
345
345
  Provides-Extra: embed-voyageai
346
346
  Requires-Dist: voyageai; extra == "embed-voyageai"
347
- Requires-Dist: pandas; extra == "embed-voyageai"
348
347
  Requires-Dist: numpy; extra == "embed-voyageai"
348
+ Requires-Dist: pandas; extra == "embed-voyageai"
349
349
  Provides-Extra: embed-mixedbreadai
350
350
  Requires-Dist: mixedbread-ai; extra == "embed-mixedbreadai"
351
- Requires-Dist: pandas; extra == "embed-mixedbreadai"
352
351
  Requires-Dist: numpy; extra == "embed-mixedbreadai"
352
+ Requires-Dist: pandas; extra == "embed-mixedbreadai"
353
353
  Provides-Extra: openai
354
354
  Requires-Dist: openai; extra == "openai"
355
355
  Requires-Dist: tiktoken; extra == "openai"
356
- Requires-Dist: pandas; extra == "openai"
357
356
  Requires-Dist: numpy; extra == "openai"
357
+ Requires-Dist: pandas; extra == "openai"
358
358
  Provides-Extra: bedrock
359
- Requires-Dist: boto3; extra == "bedrock"
360
359
  Requires-Dist: aioboto3; extra == "bedrock"
361
- Requires-Dist: pandas; extra == "bedrock"
360
+ Requires-Dist: boto3; extra == "bedrock"
362
361
  Requires-Dist: numpy; extra == "bedrock"
362
+ Requires-Dist: pandas; extra == "bedrock"
363
363
  Provides-Extra: togetherai
364
364
  Requires-Dist: together; extra == "togetherai"
365
- Requires-Dist: pandas; extra == "togetherai"
366
365
  Requires-Dist: numpy; extra == "togetherai"
366
+ Requires-Dist: pandas; extra == "togetherai"
367
367
  Dynamic: author
368
368
  Dynamic: author-email
369
369
  Dynamic: classifier
@@ -11,6 +11,7 @@ test/integration/connectors/test_chroma.py,sha256=yn2p8U8yE9LaF-IEKiLp2XB4T4Vqo-
11
11
  test/integration/connectors/test_confluence.py,sha256=W93znOusdvFXta8q0dqQ1rKhLafRVIqrfaFqk2FY-fo,3590
12
12
  test/integration/connectors/test_delta_table.py,sha256=r2OvLMRfJFfsyIHd1H44Kx6AgNnDjPHKofN7a01oqrY,6916
13
13
  test/integration/connectors/test_dropbox.py,sha256=jzpZ6wawLa4sC1BVoHWZJ3cHjL4DWWUEX5ee7bXUOOM,4945
14
+ test/integration/connectors/test_github.py,sha256=cRArMUMtAujsVtR2yp2GHZktX-cSPRSsYhlnnsRhhH8,1503
14
15
  test/integration/connectors/test_google_drive.py,sha256=ubjn3wvMhgpGHQs-wT_5icGgTIx2coS6hwNkAHOCEI8,10306
15
16
  test/integration/connectors/test_jira.py,sha256=IgF_cdknJ97W3OrNfHKp3YLmRyVwY6BI8jhZwVbrebc,2076
16
17
  test/integration/connectors/test_lancedb.py,sha256=AuO2qHDay5NHxQ2b1LzbsNNp6LnUDeB2_0dWlkgAuMo,9223
@@ -111,7 +112,7 @@ test/unit/v2/partitioners/test_partitioner.py,sha256=iIYg7IpftV3LusoO4H8tr1IHY1U
111
112
  test/unit/v2/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
113
  test/unit/v2/utils/data_generator.py,sha256=UoYVNjG4S4wlaA9gceQ82HIpF9_6I1UTHD1_GrQBHp0,973
113
114
  unstructured_ingest/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
114
- unstructured_ingest/__version__.py,sha256=UDy7drjkPUljex5sEiDR3ZALQNnlcrCXwJShdKZ37Ek,42
115
+ unstructured_ingest/__version__.py,sha256=0sOJ1f0sRyjdtSL0LUqCE6m6T039ttMVXeIDsmdxcPw,42
115
116
  unstructured_ingest/error.py,sha256=qDncnJgbf5ils956RcO2CGlAKYDT5OaEM9Clv1JVTNc,1448
116
117
  unstructured_ingest/interfaces.py,sha256=7DOnDpGvUNlCoFR7UPRGmOarqH5sFtuUOO5vf8X3oTM,31489
117
118
  unstructured_ingest/logger.py,sha256=S5nSqGcABoQyeicgRnBQFjDScCaTvFVivOCvbo-laL0,4479
@@ -425,7 +426,7 @@ unstructured_ingest/v2/processes/embedder.py,sha256=gvlCQDsbQVgcp-2f0Qq4RiFbcr8g
425
426
  unstructured_ingest/v2/processes/filter.py,sha256=E1MLxk-XeCm3mZIuM49lJToVcSgOivmTFIZApqOEFs8,2150
426
427
  unstructured_ingest/v2/processes/partitioner.py,sha256=HxopDSbovLh_1epeGeVtuWEX7v5KG35BowwKIJ_y4e8,9910
427
428
  unstructured_ingest/v2/processes/uncompress.py,sha256=O7q0pOiL6cDBvAa9NAy_vkc873tisjK2Hoq6Z-grRRo,2430
428
- unstructured_ingest/v2/processes/connectors/__init__.py,sha256=l4Xq4AuzRMTqUv5TU7cE1NbhGCka4SFJFZwG1FoVotE,6666
429
+ unstructured_ingest/v2/processes/connectors/__init__.py,sha256=iyoZrTaEoBPBn9-tczFhLcwKQQoeFbESF3QkJkVimv4,6845
429
430
  unstructured_ingest/v2/processes/connectors/airtable.py,sha256=JesWeUv_tIA7b65sE2Z-ixMKuGLlgugZRMKE38ID3zg,8959
430
431
  unstructured_ingest/v2/processes/connectors/astradb.py,sha256=SwfUcdrCbMK_LDcHG5auCCuga_luPmZVvhjuAsRtKU0,18304
431
432
  unstructured_ingest/v2/processes/connectors/azure_ai_search.py,sha256=K4g-Dh7u7Z13rheNKhnnBXcO6TUfz8RPrrusDAsgkBk,11575
@@ -434,6 +435,7 @@ unstructured_ingest/v2/processes/connectors/confluence.py,sha256=ERHYYutQsnS8eZN
434
435
  unstructured_ingest/v2/processes/connectors/couchbase.py,sha256=LARX4F_1Zd1LnUMSNdvIsbqLoZXZ9kl_vMZh-dRr4XA,12305
435
436
  unstructured_ingest/v2/processes/connectors/delta_table.py,sha256=5T4hkXHGitGprpUb20206ODcBh5wchgHkUocji5l2rk,7286
436
437
  unstructured_ingest/v2/processes/connectors/discord.py,sha256=yvLxTx0ZRIATqSYLm5d09u9a0ktZGJnGcnzapwePHK8,5301
438
+ unstructured_ingest/v2/processes/connectors/github.py,sha256=d-sh28MVe40vyaTf8b8NkspSrV9zlUHjdSSfSZjOcOA,7772
437
439
  unstructured_ingest/v2/processes/connectors/gitlab.py,sha256=hsB5g-3tZqe7bVSqwA0nY9GY4J0cg4PBawf77GkpjZY,10039
438
440
  unstructured_ingest/v2/processes/connectors/google_drive.py,sha256=mn1BoUXYw5j-q7jO-rzPPEv_rt1UV9LDN1M_PyREEps,19678
439
441
  unstructured_ingest/v2/processes/connectors/jira.py,sha256=_ivv0TqeVPlHG9YMihljzrpYP7OLQAa0D7nqLonaeM8,17149
@@ -455,7 +457,7 @@ unstructured_ingest/v2/processes/connectors/assets/__init__.py,sha256=47DEQpj8HB
455
457
  unstructured_ingest/v2/processes/connectors/assets/databricks_delta_table_schema.sql,sha256=dUZZDNkyvQXKqoAThRz3ek7zaUE2l_LAQimlG5WZhH4,211
456
458
  unstructured_ingest/v2/processes/connectors/assets/weaviate_collection_config.json,sha256=SJlIO0kXxy866tWQ8bEzvwLwflsoUMIS-OKlxMvHIuE,504
457
459
  unstructured_ingest/v2/processes/connectors/databricks/__init__.py,sha256=Oh8SwTWi66gO8BsNF6vRMoQVuegyBPPCpVozkOHEf3A,2136
458
- unstructured_ingest/v2/processes/connectors/databricks/volumes.py,sha256=EghKdkt4nGacGxulSpjhToHOl5BRLbb3xNZpJzpWNX8,8002
460
+ unstructured_ingest/v2/processes/connectors/databricks/volumes.py,sha256=JktJXC9SYnKLetjsyGJWKXqg5Kml8WY9dcKyr5o_Yxs,8024
459
461
  unstructured_ingest/v2/processes/connectors/databricks/volumes_aws.py,sha256=h6qDxQhWlT7H4K1CEfKag1stTiD1o97VckJZERsofqU,2970
460
462
  unstructured_ingest/v2/processes/connectors/databricks/volumes_azure.py,sha256=gjICJJwhDHBLt_L-LrMlvJ3DL1DYtwFpyMLb_zYvOIg,3755
461
463
  unstructured_ingest/v2/processes/connectors/databricks/volumes_gcp.py,sha256=Uss3XPPaq1AsqJOEy4RJgBJw2-bTjrXH2PgtVNYd2w0,3006
@@ -562,7 +564,7 @@ unstructured_ingest/v2/processes/connectors/qdrant/local.py,sha256=cGEyv3Oy6y4BQ
562
564
  unstructured_ingest/v2/processes/connectors/qdrant/qdrant.py,sha256=hsOd2Gliyjzkb21Vv6RAiFf8NAysxd29K0AxBkkm844,5483
563
565
  unstructured_ingest/v2/processes/connectors/qdrant/server.py,sha256=odvCZWZp8DmRxLXMR7tHhW-c7UQbix1_zpFdfXfCvKI,1613
564
566
  unstructured_ingest/v2/processes/connectors/sql/__init__.py,sha256=NSEZwJDHh_9kFc31LnG14iRtYF3meK2UfUlQfYnwYEQ,2059
565
- unstructured_ingest/v2/processes/connectors/sql/databricks_delta_tables.py,sha256=JrQMlSavPgSD1ruy4xRHaQV5iGiG7oavtm7az0tVVZc,9054
567
+ unstructured_ingest/v2/processes/connectors/sql/databricks_delta_tables.py,sha256=hJ0yacutrgiCer9cJSfxcNgLlOgsozJ2yGhgy8vZAkk,9086
566
568
  unstructured_ingest/v2/processes/connectors/sql/postgres.py,sha256=BATfX1PQGT2kl8jAbdNKXTojYKJxh3pJV9-h3OBnHGo,5124
567
569
  unstructured_ingest/v2/processes/connectors/sql/singlestore.py,sha256=am2d87kDkpTTB0VbPSX3ce9o6oM9KUQu5y9T_p1kgJw,5711
568
570
  unstructured_ingest/v2/processes/connectors/sql/snowflake.py,sha256=FOb08WCr0SdzylN88xDP51NdVD4ggDbjanJurwJUrgM,9374
@@ -581,9 +583,9 @@ unstructured_ingest/v2/processes/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JC
581
583
  unstructured_ingest/v2/processes/utils/blob_storage.py,sha256=_I3OMdpUElQdIwVs7W9ORU1kncNaZ_nr6lbxeKE8uaU,1014
582
584
  unstructured_ingest/v2/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
583
585
  unstructured_ingest/v2/types/file_data.py,sha256=kowOhvYy0q_-khX3IuR111AfjkdQezEfxjzK6QDH7oA,3836
584
- unstructured_ingest-0.6.2.dist-info/LICENSE.md,sha256=SxkKP_62uIAKb9mb1eH7FH4Kn2aYT09fgjKpJt5PyTk,11360
585
- unstructured_ingest-0.6.2.dist-info/METADATA,sha256=yUMpJD0UXDhUG1cIIpHkjn-VU2AScEaA12wLmISmG-A,14998
586
- unstructured_ingest-0.6.2.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
587
- unstructured_ingest-0.6.2.dist-info/entry_points.txt,sha256=gUAAFnjFPnBgThJSEbw0N5ZjxtaKlT1s9e05_arQrNw,70
588
- unstructured_ingest-0.6.2.dist-info/top_level.txt,sha256=DMuDMHZRMdeay8v8Kdi855muIv92F0OkutvBCaBEW6M,25
589
- unstructured_ingest-0.6.2.dist-info/RECORD,,
586
+ unstructured_ingest-0.6.4.dist-info/LICENSE.md,sha256=SxkKP_62uIAKb9mb1eH7FH4Kn2aYT09fgjKpJt5PyTk,11360
587
+ unstructured_ingest-0.6.4.dist-info/METADATA,sha256=vsGBmdOat7mYz2HZ-RuKLYaSzpjgOaGwwn_b1qxNC7g,14998
588
+ unstructured_ingest-0.6.4.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
589
+ unstructured_ingest-0.6.4.dist-info/entry_points.txt,sha256=gUAAFnjFPnBgThJSEbw0N5ZjxtaKlT1s9e05_arQrNw,70
590
+ unstructured_ingest-0.6.4.dist-info/top_level.txt,sha256=DMuDMHZRMdeay8v8Kdi855muIv92F0OkutvBCaBEW6M,25
591
+ unstructured_ingest-0.6.4.dist-info/RECORD,,