unstructured-ingest 0.3.14__tar.gz → 0.3.15__tar.gz

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.

Files changed (567) hide show
  1. {unstructured_ingest-0.3.14/unstructured_ingest.egg-info → unstructured_ingest-0.3.15}/PKG-INFO +23 -21
  2. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/pyproject.toml +1 -1
  3. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/setup.py +3 -0
  4. unstructured_ingest-0.3.15/test/integration/connectors/sql/test_databricks_delta_tables.py +142 -0
  5. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/test_pinecone.py +68 -2
  6. unstructured_ingest-0.3.15/unstructured_ingest/__version__.py +1 -0
  7. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/interfaces/upload_stager.py +3 -3
  8. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/databricks/__init__.py +6 -0
  9. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/databricks/volumes.py +6 -3
  10. unstructured_ingest-0.3.15/unstructured_ingest/v2/processes/connectors/databricks/volumes_table.py +106 -0
  11. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/pinecone.py +18 -11
  12. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/sql/__init__.py +6 -0
  13. unstructured_ingest-0.3.15/unstructured_ingest/v2/processes/connectors/sql/databricks_delta_tables.py +213 -0
  14. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/sql/sql.py +26 -9
  15. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15/unstructured_ingest.egg-info}/PKG-INFO +23 -21
  16. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest.egg-info/SOURCES.txt +3 -0
  17. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest.egg-info/requires.txt +23 -20
  18. unstructured_ingest-0.3.14/unstructured_ingest/__version__.py +0 -1
  19. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/LICENSE.md +0 -0
  20. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/README.md +0 -0
  21. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/setup.cfg +0 -0
  22. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/__init__.py +0 -0
  23. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/__init__.py +0 -0
  24. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/chunkers/__init__.py +0 -0
  25. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/chunkers/test_chunkers.py +0 -0
  26. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/__init__.py +0 -0
  27. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/conftest.py +0 -0
  28. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/databricks/__init__.py +0 -0
  29. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/databricks/test_volumes_native.py +0 -0
  30. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/discord/__init__.py +0 -0
  31. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/discord/test_discord.py +0 -0
  32. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/duckdb/__init__.py +0 -0
  33. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/duckdb/conftest.py +0 -0
  34. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/duckdb/test_duckdb.py +0 -0
  35. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/duckdb/test_motherduck.py +0 -0
  36. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/elasticsearch/__init__.py +0 -0
  37. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/elasticsearch/conftest.py +0 -0
  38. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/elasticsearch/test_elasticsearch.py +0 -0
  39. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/elasticsearch/test_opensearch.py +0 -0
  40. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/sql/__init__.py +0 -0
  41. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/sql/test_postgres.py +0 -0
  42. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/sql/test_singlestore.py +0 -0
  43. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/sql/test_snowflake.py +0 -0
  44. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/sql/test_sqlite.py +0 -0
  45. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/test_astradb.py +0 -0
  46. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/test_azure_ai_search.py +0 -0
  47. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/test_chroma.py +0 -0
  48. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/test_confluence.py +0 -0
  49. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/test_delta_table.py +0 -0
  50. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/test_lancedb.py +0 -0
  51. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/test_milvus.py +0 -0
  52. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/test_mongodb.py +0 -0
  53. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/test_neo4j.py +0 -0
  54. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/test_notion.py +0 -0
  55. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/test_onedrive.py +0 -0
  56. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/test_qdrant.py +0 -0
  57. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/test_redis.py +0 -0
  58. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/test_s3.py +0 -0
  59. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/test_vectara.py +0 -0
  60. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/utils/__init__.py +0 -0
  61. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/utils/constants.py +0 -0
  62. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/utils/docker.py +0 -0
  63. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/utils/docker_compose.py +0 -0
  64. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/utils/validation/__init__.py +0 -0
  65. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/utils/validation/destination.py +0 -0
  66. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/utils/validation/equality.py +0 -0
  67. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/utils/validation/source.py +0 -0
  68. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/utils/validation/utils.py +0 -0
  69. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/weaviate/__init__.py +0 -0
  70. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/weaviate/conftest.py +0 -0
  71. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/weaviate/test_cloud.py +0 -0
  72. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/connectors/weaviate/test_local.py +0 -0
  73. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/embedders/__init__.py +0 -0
  74. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/embedders/conftest.py +0 -0
  75. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/embedders/test_azure_openai.py +0 -0
  76. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/embedders/test_bedrock.py +0 -0
  77. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/embedders/test_huggingface.py +0 -0
  78. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/embedders/test_mixedbread.py +0 -0
  79. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/embedders/test_octoai.py +0 -0
  80. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/embedders/test_openai.py +0 -0
  81. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/embedders/test_togetherai.py +0 -0
  82. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/embedders/test_vertexai.py +0 -0
  83. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/embedders/test_voyageai.py +0 -0
  84. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/embedders/utils.py +0 -0
  85. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/partitioners/__init__.py +0 -0
  86. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/partitioners/test_partitioner.py +0 -0
  87. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/integration/utils.py +0 -0
  88. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/__init__.py +0 -0
  89. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/embed/__init__.py +0 -0
  90. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/embed/test_mixedbreadai.py +0 -0
  91. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/embed/test_octoai.py +0 -0
  92. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/embed/test_openai.py +0 -0
  93. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/embed/test_vertexai.py +0 -0
  94. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/embed/test_voyageai.py +0 -0
  95. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/test_error.py +0 -0
  96. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/test_logger.py +0 -0
  97. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/test_utils.py +0 -0
  98. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/v2/__init__.py +0 -0
  99. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/v2/chunkers/__init__.py +0 -0
  100. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/v2/chunkers/test_chunkers.py +0 -0
  101. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/v2/connectors/__init__.py +0 -0
  102. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/v2/connectors/test_confluence.py +0 -0
  103. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/v2/embedders/__init__.py +0 -0
  104. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/v2/embedders/test_bedrock.py +0 -0
  105. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/v2/embedders/test_huggingface.py +0 -0
  106. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/v2/embedders/test_mixedbread.py +0 -0
  107. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/v2/embedders/test_octoai.py +0 -0
  108. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/v2/embedders/test_openai.py +0 -0
  109. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/v2/embedders/test_togetherai.py +0 -0
  110. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/v2/embedders/test_vertexai.py +0 -0
  111. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/v2/embedders/test_voyageai.py +0 -0
  112. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/v2/partitioners/__init__.py +0 -0
  113. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/v2/partitioners/test_partitioner.py +0 -0
  114. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/v2/test_interfaces.py +0 -0
  115. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/v2/test_utils.py +0 -0
  116. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/v2/utils/__init__.py +0 -0
  117. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/test/unit/v2/utils/data_generator.py +0 -0
  118. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/__init__.py +0 -0
  119. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/__init__.py +0 -0
  120. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/base/__init__.py +0 -0
  121. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/base/cmd.py +0 -0
  122. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/base/dest.py +0 -0
  123. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/base/src.py +0 -0
  124. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cli.py +0 -0
  125. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmd_factory.py +0 -0
  126. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/__init__.py +0 -0
  127. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/airtable.py +0 -0
  128. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/astradb.py +0 -0
  129. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/azure_ai_search.py +0 -0
  130. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/biomed.py +0 -0
  131. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/chroma.py +0 -0
  132. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/clarifai.py +0 -0
  133. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/confluence.py +0 -0
  134. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/databricks_volumes.py +0 -0
  135. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/delta_table.py +0 -0
  136. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/discord.py +0 -0
  137. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/elasticsearch.py +0 -0
  138. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/fsspec/__init__.py +0 -0
  139. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/fsspec/azure.py +0 -0
  140. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/fsspec/box.py +0 -0
  141. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/fsspec/dropbox.py +0 -0
  142. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/fsspec/fsspec.py +0 -0
  143. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/fsspec/gcs.py +0 -0
  144. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/fsspec/s3.py +0 -0
  145. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/fsspec/sftp.py +0 -0
  146. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/github.py +0 -0
  147. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/gitlab.py +0 -0
  148. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/google_drive.py +0 -0
  149. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/hubspot.py +0 -0
  150. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/jira.py +0 -0
  151. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/kafka.py +0 -0
  152. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/local.py +0 -0
  153. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/mongodb.py +0 -0
  154. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/notion.py +0 -0
  155. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/onedrive.py +0 -0
  156. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/opensearch.py +0 -0
  157. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/outlook.py +0 -0
  158. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/pinecone.py +0 -0
  159. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/qdrant.py +0 -0
  160. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/reddit.py +0 -0
  161. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/salesforce.py +0 -0
  162. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/sharepoint.py +0 -0
  163. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/slack.py +0 -0
  164. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/sql.py +0 -0
  165. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/vectara.py +0 -0
  166. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/weaviate.py +0 -0
  167. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/cmds/wikipedia.py +0 -0
  168. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/common.py +0 -0
  169. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/interfaces.py +0 -0
  170. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/cli/utils.py +0 -0
  171. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/__init__.py +0 -0
  172. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/airtable.py +0 -0
  173. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/astradb.py +0 -0
  174. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/azure_ai_search.py +0 -0
  175. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/biomed.py +0 -0
  176. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/chroma.py +0 -0
  177. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/clarifai.py +0 -0
  178. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/confluence.py +0 -0
  179. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/databricks_volumes.py +0 -0
  180. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/delta_table.py +0 -0
  181. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/discord.py +0 -0
  182. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/elasticsearch.py +0 -0
  183. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/fsspec/__init__.py +0 -0
  184. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/fsspec/azure.py +0 -0
  185. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/fsspec/box.py +0 -0
  186. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/fsspec/dropbox.py +0 -0
  187. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/fsspec/fsspec.py +0 -0
  188. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/fsspec/gcs.py +0 -0
  189. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/fsspec/s3.py +0 -0
  190. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/fsspec/sftp.py +0 -0
  191. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/git.py +0 -0
  192. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/github.py +0 -0
  193. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/gitlab.py +0 -0
  194. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/google_drive.py +0 -0
  195. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/hubspot.py +0 -0
  196. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/jira.py +0 -0
  197. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/kafka.py +0 -0
  198. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/local.py +0 -0
  199. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/mongodb.py +0 -0
  200. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/__init__.py +0 -0
  201. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/client.py +0 -0
  202. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/connector.py +0 -0
  203. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/helpers.py +0 -0
  204. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/interfaces.py +0 -0
  205. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/__init__.py +0 -0
  206. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/block.py +0 -0
  207. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/__init__.py +0 -0
  208. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/bookmark.py +0 -0
  209. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/breadcrumb.py +0 -0
  210. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/bulleted_list_item.py +0 -0
  211. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/callout.py +0 -0
  212. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/child_database.py +0 -0
  213. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/child_page.py +0 -0
  214. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/code.py +0 -0
  215. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/column_list.py +0 -0
  216. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/divider.py +0 -0
  217. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/embed.py +0 -0
  218. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/equation.py +0 -0
  219. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/file.py +0 -0
  220. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/heading.py +0 -0
  221. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/image.py +0 -0
  222. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/link_preview.py +0 -0
  223. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/link_to_page.py +0 -0
  224. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/numbered_list.py +0 -0
  225. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/paragraph.py +0 -0
  226. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/pdf.py +0 -0
  227. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/quote.py +0 -0
  228. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/synced_block.py +0 -0
  229. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/table.py +0 -0
  230. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/table_of_contents.py +0 -0
  231. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/template.py +0 -0
  232. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/todo.py +0 -0
  233. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/toggle.py +0 -0
  234. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/unsupported.py +0 -0
  235. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/blocks/video.py +0 -0
  236. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database.py +0 -0
  237. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/__init__.py +0 -0
  238. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/checkbox.py +0 -0
  239. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/created_by.py +0 -0
  240. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/created_time.py +0 -0
  241. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/date.py +0 -0
  242. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/email.py +0 -0
  243. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/files.py +0 -0
  244. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/formula.py +0 -0
  245. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/last_edited_by.py +0 -0
  246. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/last_edited_time.py +0 -0
  247. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/multiselect.py +0 -0
  248. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/number.py +0 -0
  249. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/people.py +0 -0
  250. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/phone_number.py +0 -0
  251. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/relation.py +0 -0
  252. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/rich_text.py +0 -0
  253. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/rollup.py +0 -0
  254. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/select.py +0 -0
  255. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/status.py +0 -0
  256. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/title.py +0 -0
  257. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/unique_id.py +0 -0
  258. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/url.py +0 -0
  259. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/database_properties/verification.py +0 -0
  260. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/date.py +0 -0
  261. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/file.py +0 -0
  262. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/page.py +0 -0
  263. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/parent.py +0 -0
  264. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/rich_text.py +0 -0
  265. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/notion/types/user.py +0 -0
  266. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/onedrive.py +0 -0
  267. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/opensearch.py +0 -0
  268. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/outlook.py +0 -0
  269. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/pinecone.py +0 -0
  270. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/qdrant.py +0 -0
  271. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/reddit.py +0 -0
  272. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/registry.py +0 -0
  273. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/salesforce.py +0 -0
  274. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/sharepoint.py +0 -0
  275. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/slack.py +0 -0
  276. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/sql.py +0 -0
  277. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/vectara.py +0 -0
  278. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/weaviate.py +0 -0
  279. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/connector/wikipedia.py +0 -0
  280. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/embed/__init__.py +0 -0
  281. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/embed/azure_openai.py +0 -0
  282. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/embed/bedrock.py +0 -0
  283. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/embed/huggingface.py +0 -0
  284. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/embed/interfaces.py +0 -0
  285. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/embed/mixedbreadai.py +0 -0
  286. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/embed/octoai.py +0 -0
  287. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/embed/openai.py +0 -0
  288. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/embed/togetherai.py +0 -0
  289. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/embed/vertexai.py +0 -0
  290. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/embed/voyageai.py +0 -0
  291. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/enhanced_dataclass/__init__.py +0 -0
  292. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/enhanced_dataclass/core.py +0 -0
  293. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/enhanced_dataclass/dataclasses.py +0 -0
  294. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/enhanced_dataclass/json_mixin.py +0 -0
  295. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/error.py +0 -0
  296. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/ingest_backoff/__init__.py +0 -0
  297. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/ingest_backoff/_common.py +0 -0
  298. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/ingest_backoff/_wrapper.py +0 -0
  299. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/interfaces.py +0 -0
  300. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/logger.py +0 -0
  301. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/main.py +0 -0
  302. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/pipeline/__init__.py +0 -0
  303. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/pipeline/copy.py +0 -0
  304. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/pipeline/doc_factory.py +0 -0
  305. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/pipeline/interfaces.py +0 -0
  306. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/pipeline/partition.py +0 -0
  307. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/pipeline/permissions.py +0 -0
  308. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/pipeline/pipeline.py +0 -0
  309. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/pipeline/reformat/__init__.py +0 -0
  310. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/pipeline/reformat/chunking.py +0 -0
  311. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/pipeline/reformat/embedding.py +0 -0
  312. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/pipeline/source.py +0 -0
  313. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/pipeline/utils.py +0 -0
  314. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/pipeline/write.py +0 -0
  315. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/processor.py +0 -0
  316. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/__init__.py +0 -0
  317. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/airtable.py +0 -0
  318. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/astradb.py +0 -0
  319. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/base_runner.py +0 -0
  320. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/biomed.py +0 -0
  321. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/confluence.py +0 -0
  322. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/delta_table.py +0 -0
  323. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/discord.py +0 -0
  324. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/elasticsearch.py +0 -0
  325. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/fsspec/__init__.py +0 -0
  326. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/fsspec/azure.py +0 -0
  327. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/fsspec/box.py +0 -0
  328. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/fsspec/dropbox.py +0 -0
  329. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/fsspec/fsspec.py +0 -0
  330. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/fsspec/gcs.py +0 -0
  331. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/fsspec/s3.py +0 -0
  332. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/fsspec/sftp.py +0 -0
  333. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/github.py +0 -0
  334. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/gitlab.py +0 -0
  335. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/google_drive.py +0 -0
  336. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/hubspot.py +0 -0
  337. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/jira.py +0 -0
  338. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/kafka.py +0 -0
  339. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/local.py +0 -0
  340. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/mongodb.py +0 -0
  341. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/notion.py +0 -0
  342. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/onedrive.py +0 -0
  343. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/opensearch.py +0 -0
  344. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/outlook.py +0 -0
  345. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/reddit.py +0 -0
  346. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/salesforce.py +0 -0
  347. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/sharepoint.py +0 -0
  348. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/slack.py +0 -0
  349. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/utils.py +0 -0
  350. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/wikipedia.py +0 -0
  351. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/__init__.py +0 -0
  352. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/astradb.py +0 -0
  353. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/azure_ai_search.py +0 -0
  354. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/base_writer.py +0 -0
  355. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/chroma.py +0 -0
  356. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/clarifai.py +0 -0
  357. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/databricks_volumes.py +0 -0
  358. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/delta_table.py +0 -0
  359. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/elasticsearch.py +0 -0
  360. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/fsspec/__init__.py +0 -0
  361. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/fsspec/azure.py +0 -0
  362. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/fsspec/box.py +0 -0
  363. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/fsspec/dropbox.py +0 -0
  364. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/fsspec/gcs.py +0 -0
  365. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/fsspec/s3.py +0 -0
  366. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/kafka.py +0 -0
  367. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/mongodb.py +0 -0
  368. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/opensearch.py +0 -0
  369. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/pinecone.py +0 -0
  370. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/qdrant.py +0 -0
  371. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/sql.py +0 -0
  372. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/vectara.py +0 -0
  373. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/runner/writers/weaviate.py +0 -0
  374. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/utils/__init__.py +0 -0
  375. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/utils/chunking.py +0 -0
  376. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/utils/compression.py +0 -0
  377. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/utils/data_prep.py +0 -0
  378. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/utils/dep_check.py +0 -0
  379. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/utils/google_filetype.py +0 -0
  380. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/utils/string_and_date_utils.py +0 -0
  381. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/utils/table.py +0 -0
  382. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/__init__.py +0 -0
  383. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/cli/__init__.py +0 -0
  384. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/cli/base/__init__.py +0 -0
  385. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/cli/base/cmd.py +0 -0
  386. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/cli/base/dest.py +0 -0
  387. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/cli/base/importer.py +0 -0
  388. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/cli/base/src.py +0 -0
  389. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/cli/cli.py +0 -0
  390. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/cli/cmds.py +0 -0
  391. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/cli/utils/__init__.py +0 -0
  392. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/cli/utils/click.py +0 -0
  393. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/cli/utils/model_conversion.py +0 -0
  394. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/constants.py +0 -0
  395. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/errors.py +0 -0
  396. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/interfaces/__init__.py +0 -0
  397. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/interfaces/connector.py +0 -0
  398. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/interfaces/downloader.py +0 -0
  399. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/interfaces/file_data.py +0 -0
  400. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/interfaces/indexer.py +0 -0
  401. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/interfaces/process.py +0 -0
  402. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/interfaces/processor.py +0 -0
  403. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/interfaces/uploader.py +0 -0
  404. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/logger.py +0 -0
  405. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/main.py +0 -0
  406. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/otel.py +0 -0
  407. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/pipeline/__init__.py +0 -0
  408. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/pipeline/interfaces.py +0 -0
  409. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/pipeline/otel.py +0 -0
  410. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/pipeline/pipeline.py +0 -0
  411. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/pipeline/steps/__init__.py +0 -0
  412. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/pipeline/steps/chunk.py +0 -0
  413. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/pipeline/steps/download.py +0 -0
  414. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/pipeline/steps/embed.py +0 -0
  415. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/pipeline/steps/filter.py +0 -0
  416. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/pipeline/steps/index.py +0 -0
  417. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/pipeline/steps/partition.py +0 -0
  418. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/pipeline/steps/stage.py +0 -0
  419. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/pipeline/steps/uncompress.py +0 -0
  420. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/pipeline/steps/upload.py +0 -0
  421. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/__init__.py +0 -0
  422. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/chunker.py +0 -0
  423. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connector_registry.py +0 -0
  424. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/__init__.py +0 -0
  425. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/airtable.py +0 -0
  426. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/astradb.py +0 -0
  427. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/azure_ai_search.py +0 -0
  428. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/chroma.py +0 -0
  429. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/confluence.py +0 -0
  430. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/couchbase.py +0 -0
  431. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/databricks/volumes_aws.py +0 -0
  432. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/databricks/volumes_azure.py +0 -0
  433. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/databricks/volumes_gcp.py +0 -0
  434. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/databricks/volumes_native.py +0 -0
  435. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/delta_table.py +0 -0
  436. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/discord.py +0 -0
  437. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/duckdb/__init__.py +0 -0
  438. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/duckdb/base.py +0 -0
  439. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/duckdb/duckdb.py +0 -0
  440. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/duckdb/motherduck.py +0 -0
  441. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/elasticsearch/__init__.py +0 -0
  442. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/elasticsearch/elasticsearch.py +0 -0
  443. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/elasticsearch/opensearch.py +0 -0
  444. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/fsspec/__init__.py +0 -0
  445. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/fsspec/azure.py +0 -0
  446. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/fsspec/box.py +0 -0
  447. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/fsspec/dropbox.py +0 -0
  448. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/fsspec/fsspec.py +0 -0
  449. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/fsspec/gcs.py +0 -0
  450. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/fsspec/s3.py +0 -0
  451. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/fsspec/sftp.py +0 -0
  452. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/fsspec/utils.py +0 -0
  453. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/gitlab.py +0 -0
  454. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/google_drive.py +0 -0
  455. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/kafka/__init__.py +0 -0
  456. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/kafka/cloud.py +0 -0
  457. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/kafka/kafka.py +0 -0
  458. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/kafka/local.py +0 -0
  459. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/kdbai.py +0 -0
  460. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/lancedb/__init__.py +0 -0
  461. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/lancedb/aws.py +0 -0
  462. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/lancedb/azure.py +0 -0
  463. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/lancedb/cloud.py +0 -0
  464. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/lancedb/gcp.py +0 -0
  465. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/lancedb/lancedb.py +0 -0
  466. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/lancedb/local.py +0 -0
  467. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/local.py +0 -0
  468. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/milvus.py +0 -0
  469. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/mongodb.py +0 -0
  470. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/neo4j.py +0 -0
  471. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/__init__.py +0 -0
  472. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/client.py +0 -0
  473. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/connector.py +0 -0
  474. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/helpers.py +0 -0
  475. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/interfaces.py +0 -0
  476. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/__init__.py +0 -0
  477. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/block.py +0 -0
  478. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/__init__.py +0 -0
  479. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/bookmark.py +0 -0
  480. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/breadcrumb.py +0 -0
  481. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/bulleted_list_item.py +0 -0
  482. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/callout.py +0 -0
  483. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/child_database.py +0 -0
  484. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/child_page.py +0 -0
  485. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/code.py +0 -0
  486. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/column_list.py +0 -0
  487. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/divider.py +0 -0
  488. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/embed.py +0 -0
  489. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/equation.py +0 -0
  490. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/file.py +0 -0
  491. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/heading.py +0 -0
  492. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/image.py +0 -0
  493. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/link_preview.py +0 -0
  494. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/link_to_page.py +0 -0
  495. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/numbered_list.py +0 -0
  496. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/paragraph.py +0 -0
  497. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/pdf.py +0 -0
  498. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/quote.py +0 -0
  499. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/synced_block.py +0 -0
  500. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/table.py +0 -0
  501. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/table_of_contents.py +0 -0
  502. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/template.py +0 -0
  503. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/todo.py +0 -0
  504. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/toggle.py +0 -0
  505. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/unsupported.py +0 -0
  506. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/video.py +0 -0
  507. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database.py +0 -0
  508. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/__init__.py +0 -0
  509. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/checkbox.py +0 -0
  510. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/created_by.py +0 -0
  511. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/created_time.py +0 -0
  512. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/date.py +0 -0
  513. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/email.py +0 -0
  514. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/files.py +0 -0
  515. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/formula.py +0 -0
  516. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/last_edited_by.py +0 -0
  517. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/last_edited_time.py +0 -0
  518. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/multiselect.py +0 -0
  519. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/number.py +0 -0
  520. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/people.py +0 -0
  521. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/phone_number.py +0 -0
  522. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/relation.py +0 -0
  523. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/rich_text.py +0 -0
  524. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/rollup.py +0 -0
  525. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/select.py +0 -0
  526. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/status.py +0 -0
  527. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/title.py +0 -0
  528. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/unique_id.py +0 -0
  529. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/url.py +0 -0
  530. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/verification.py +0 -0
  531. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/date.py +0 -0
  532. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/file.py +0 -0
  533. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/page.py +0 -0
  534. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/parent.py +0 -0
  535. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/rich_text.py +0 -0
  536. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/notion/types/user.py +0 -0
  537. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/onedrive.py +0 -0
  538. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/outlook.py +0 -0
  539. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/qdrant/__init__.py +0 -0
  540. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/qdrant/cloud.py +0 -0
  541. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/qdrant/local.py +0 -0
  542. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/qdrant/qdrant.py +0 -0
  543. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/qdrant/server.py +0 -0
  544. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/redisdb.py +0 -0
  545. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/salesforce.py +0 -0
  546. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/sharepoint.py +0 -0
  547. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/slack.py +0 -0
  548. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/sql/postgres.py +0 -0
  549. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/sql/singlestore.py +0 -0
  550. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/sql/snowflake.py +0 -0
  551. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/sql/sqlite.py +0 -0
  552. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/utils.py +0 -0
  553. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/vectara.py +0 -0
  554. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/weaviate/__init__.py +0 -0
  555. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/weaviate/cloud.py +0 -0
  556. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/weaviate/embedded.py +0 -0
  557. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/weaviate/local.py +0 -0
  558. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/connectors/weaviate/weaviate.py +0 -0
  559. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/embedder.py +0 -0
  560. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/filter.py +0 -0
  561. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/partitioner.py +0 -0
  562. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/processes/uncompress.py +0 -0
  563. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/unstructured_api.py +0 -0
  564. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest/v2/utils.py +0 -0
  565. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest.egg-info/dependency_links.txt +0 -0
  566. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest.egg-info/entry_points.txt +0 -0
  567. {unstructured_ingest-0.3.14 → unstructured_ingest-0.3.15}/unstructured_ingest.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unstructured-ingest
3
- Version: 0.3.14
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
@@ -22,14 +22,14 @@ 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: opentelemetry-sdk
26
- Requires-Dist: tqdm
27
25
  Requires-Dist: pandas
28
- Requires-Dist: python-dateutil
29
- Requires-Dist: pydantic>=2.7
26
+ Requires-Dist: tqdm
27
+ Requires-Dist: click
30
28
  Requires-Dist: ndjson
31
29
  Requires-Dist: dataclasses_json
32
- Requires-Dist: click
30
+ Requires-Dist: pydantic>=2.7
31
+ Requires-Dist: opentelemetry-sdk
32
+ Requires-Dist: python-dateutil
33
33
  Provides-Extra: remote
34
34
  Requires-Dist: unstructured-client>=0.26.1; extra == "remote"
35
35
  Provides-Extra: csv
@@ -67,13 +67,13 @@ Requires-Dist: pyairtable; extra == "airtable"
67
67
  Provides-Extra: astradb
68
68
  Requires-Dist: astrapy; extra == "astradb"
69
69
  Provides-Extra: azure
70
- Requires-Dist: fsspec; extra == "azure"
71
70
  Requires-Dist: adlfs; extra == "azure"
71
+ Requires-Dist: fsspec; extra == "azure"
72
72
  Provides-Extra: azure-ai-search
73
73
  Requires-Dist: azure-search-documents; extra == "azure-ai-search"
74
74
  Provides-Extra: biomed
75
- Requires-Dist: bs4; extra == "biomed"
76
75
  Requires-Dist: requests; extra == "biomed"
76
+ Requires-Dist: bs4; extra == "biomed"
77
77
  Provides-Extra: box
78
78
  Requires-Dist: boxfs; extra == "box"
79
79
  Requires-Dist: fsspec; extra == "box"
@@ -82,8 +82,8 @@ Requires-Dist: chromadb; extra == "chroma"
82
82
  Provides-Extra: clarifai
83
83
  Requires-Dist: clarifai; extra == "clarifai"
84
84
  Provides-Extra: confluence
85
- Requires-Dist: atlassian-python-api; extra == "confluence"
86
85
  Requires-Dist: requests; extra == "confluence"
86
+ Requires-Dist: atlassian-python-api; extra == "confluence"
87
87
  Provides-Extra: couchbase
88
88
  Requires-Dist: couchbase; extra == "couchbase"
89
89
  Provides-Extra: delta-table
@@ -92,8 +92,8 @@ Requires-Dist: deltalake; extra == "delta-table"
92
92
  Provides-Extra: discord
93
93
  Requires-Dist: discord.py; extra == "discord"
94
94
  Provides-Extra: dropbox
95
- Requires-Dist: fsspec; extra == "dropbox"
96
95
  Requires-Dist: dropboxdrivefs; extra == "dropbox"
96
+ Requires-Dist: fsspec; extra == "dropbox"
97
97
  Provides-Extra: duckdb
98
98
  Requires-Dist: duckdb; extra == "duckdb"
99
99
  Provides-Extra: elasticsearch
@@ -110,8 +110,8 @@ Requires-Dist: python-gitlab; extra == "gitlab"
110
110
  Provides-Extra: google-drive
111
111
  Requires-Dist: google-api-python-client; extra == "google-drive"
112
112
  Provides-Extra: hubspot
113
- Requires-Dist: hubspot-api-client; extra == "hubspot"
114
113
  Requires-Dist: urllib3; extra == "hubspot"
114
+ Requires-Dist: hubspot-api-client; extra == "hubspot"
115
115
  Provides-Extra: jira
116
116
  Requires-Dist: atlassian-python-api; extra == "jira"
117
117
  Provides-Extra: kafka
@@ -130,18 +130,18 @@ Requires-Dist: neo4j; extra == "neo4j"
130
130
  Requires-Dist: cymple; extra == "neo4j"
131
131
  Provides-Extra: notion
132
132
  Requires-Dist: notion-client; extra == "notion"
133
- Requires-Dist: backoff; extra == "notion"
134
133
  Requires-Dist: httpx; extra == "notion"
134
+ Requires-Dist: backoff; extra == "notion"
135
135
  Requires-Dist: htmlBuilder; extra == "notion"
136
136
  Provides-Extra: onedrive
137
- Requires-Dist: bs4; extra == "onedrive"
138
- Requires-Dist: Office365-REST-Python-Client; extra == "onedrive"
139
137
  Requires-Dist: msal; extra == "onedrive"
138
+ Requires-Dist: Office365-REST-Python-Client; extra == "onedrive"
139
+ Requires-Dist: bs4; extra == "onedrive"
140
140
  Provides-Extra: opensearch
141
141
  Requires-Dist: opensearch-py; extra == "opensearch"
142
142
  Provides-Extra: outlook
143
- Requires-Dist: Office365-REST-Python-Client; extra == "outlook"
144
143
  Requires-Dist: msal; extra == "outlook"
144
+ Requires-Dist: Office365-REST-Python-Client; extra == "outlook"
145
145
  Provides-Extra: pinecone
146
146
  Requires-Dist: pinecone-client>=3.7.1; extra == "pinecone"
147
147
  Provides-Extra: postgres
@@ -156,13 +156,13 @@ Provides-Extra: s3
156
156
  Requires-Dist: s3fs; extra == "s3"
157
157
  Requires-Dist: fsspec; extra == "s3"
158
158
  Provides-Extra: sharepoint
159
- Requires-Dist: Office365-REST-Python-Client; extra == "sharepoint"
160
159
  Requires-Dist: msal; extra == "sharepoint"
160
+ Requires-Dist: Office365-REST-Python-Client; extra == "sharepoint"
161
161
  Provides-Extra: salesforce
162
162
  Requires-Dist: simple-salesforce; extra == "salesforce"
163
163
  Provides-Extra: sftp
164
- Requires-Dist: fsspec; extra == "sftp"
165
164
  Requires-Dist: paramiko; extra == "sftp"
165
+ Requires-Dist: fsspec; extra == "sftp"
166
166
  Provides-Extra: slack
167
167
  Requires-Dist: slack_sdk[optional]; extra == "slack"
168
168
  Provides-Extra: snowflake
@@ -174,17 +174,19 @@ Provides-Extra: weaviate
174
174
  Requires-Dist: weaviate-client; extra == "weaviate"
175
175
  Provides-Extra: databricks-volumes
176
176
  Requires-Dist: databricks-sdk; extra == "databricks-volumes"
177
+ Provides-Extra: databricks-delta-tables
178
+ Requires-Dist: databricks-sql-connector; extra == "databricks-delta-tables"
177
179
  Provides-Extra: singlestore
178
180
  Requires-Dist: singlestoredb; extra == "singlestore"
179
181
  Provides-Extra: vectara
180
182
  Requires-Dist: requests; extra == "vectara"
181
- Requires-Dist: aiofiles; extra == "vectara"
182
183
  Requires-Dist: httpx; extra == "vectara"
184
+ Requires-Dist: aiofiles; extra == "vectara"
183
185
  Provides-Extra: embed-huggingface
184
186
  Requires-Dist: sentence-transformers; extra == "embed-huggingface"
185
187
  Provides-Extra: embed-octoai
186
- Requires-Dist: tiktoken; extra == "embed-octoai"
187
188
  Requires-Dist: openai; extra == "embed-octoai"
189
+ Requires-Dist: tiktoken; extra == "embed-octoai"
188
190
  Provides-Extra: embed-vertexai
189
191
  Requires-Dist: vertexai; extra == "embed-vertexai"
190
192
  Provides-Extra: embed-voyageai
@@ -192,11 +194,11 @@ Requires-Dist: voyageai; extra == "embed-voyageai"
192
194
  Provides-Extra: embed-mixedbreadai
193
195
  Requires-Dist: mixedbread-ai; extra == "embed-mixedbreadai"
194
196
  Provides-Extra: openai
195
- Requires-Dist: tiktoken; extra == "openai"
196
197
  Requires-Dist: openai; extra == "openai"
198
+ Requires-Dist: tiktoken; extra == "openai"
197
199
  Provides-Extra: bedrock
198
- Requires-Dist: boto3; extra == "bedrock"
199
200
  Requires-Dist: aioboto3; extra == "bedrock"
201
+ Requires-Dist: boto3; extra == "bedrock"
200
202
  Provides-Extra: togetherai
201
203
  Requires-Dist: together; extra == "togetherai"
202
204
 
@@ -18,7 +18,7 @@ exclude= [
18
18
  "venv",
19
19
  ".python_packages",
20
20
  "build",
21
- "migrations"
21
+ "migrations",
22
22
  ]
23
23
 
24
24
  [tool.ruff.lint]
@@ -127,6 +127,9 @@ connectors_reqs = {
127
127
  "wikipedia": load_requirements("requirements/connectors/wikipedia.in"),
128
128
  "weaviate": load_requirements("requirements/connectors/weaviate.in"),
129
129
  "databricks-volumes": load_requirements("requirements/connectors/databricks-volumes.in"),
130
+ "databricks-delta-tables": load_requirements(
131
+ "requirements/connectors/databricks-delta-tables.in"
132
+ ),
130
133
  "singlestore": load_requirements("requirements/connectors/singlestore.in"),
131
134
  "vectara": load_requirements("requirements/connectors/vectara.in"),
132
135
  }
@@ -0,0 +1,142 @@
1
+ import json
2
+ import os
3
+ import time
4
+ from contextlib import contextmanager
5
+ from pathlib import Path
6
+ from uuid import uuid4
7
+
8
+ import pytest
9
+ from databricks.sql import connect
10
+ from databricks.sql.client import Connection as DeltaTableConnection
11
+ from databricks.sql.client import Cursor as DeltaTableCursor
12
+ from pydantic import BaseModel, SecretStr
13
+
14
+ from test.integration.connectors.utils.constants import DESTINATION_TAG, SQL_TAG, env_setup_path
15
+ from test.integration.utils import requires_env
16
+ from unstructured_ingest.v2.interfaces import FileData, SourceIdentifiers
17
+ from unstructured_ingest.v2.logger import logger
18
+ from unstructured_ingest.v2.processes.connectors.sql.databricks_delta_tables import (
19
+ CONNECTOR_TYPE,
20
+ DatabrickDeltaTablesAccessConfig,
21
+ DatabrickDeltaTablesConnectionConfig,
22
+ DatabrickDeltaTablesUploader,
23
+ DatabrickDeltaTablesUploaderConfig,
24
+ DatabrickDeltaTablesUploadStager,
25
+ )
26
+
27
+ CATALOG = "utic-dev-tech-fixtures"
28
+
29
+
30
+ class EnvData(BaseModel):
31
+ server_hostname: str
32
+ http_path: str
33
+ access_token: SecretStr
34
+
35
+
36
+ def get_env_data() -> EnvData:
37
+ return EnvData(
38
+ server_hostname=os.environ["DATABRICKS_SERVER_HOSTNAME"],
39
+ http_path=os.environ["DATABRICKS_HTTP_PATH"],
40
+ access_token=os.environ["DATABRICKS_ACCESS_TOKEN"],
41
+ )
42
+
43
+
44
+ def get_destination_schema(new_table_name: str) -> str:
45
+ p = Path(env_setup_path / "sql" / "databricks_delta_tables" / "destination" / "schema.sql")
46
+ with p.open() as f:
47
+ data_lines = f.readlines()
48
+ data_lines[0] = data_lines[0].replace("elements", new_table_name)
49
+ data = "".join([line.strip() for line in data_lines])
50
+ return data
51
+
52
+
53
+ @contextmanager
54
+ def get_connection() -> DeltaTableConnection:
55
+ env_data = get_env_data()
56
+ with connect(
57
+ server_hostname=env_data.server_hostname,
58
+ http_path=env_data.http_path,
59
+ access_token=env_data.access_token.get_secret_value(),
60
+ ) as connection:
61
+ yield connection
62
+
63
+
64
+ @contextmanager
65
+ def get_cursor() -> DeltaTableCursor:
66
+ with get_connection() as connection:
67
+ with connection.cursor() as cursor:
68
+ cursor.execute(f"USE CATALOG '{CATALOG}'")
69
+ yield cursor
70
+
71
+
72
+ @pytest.fixture
73
+ def destination_table() -> str:
74
+ random_id = str(uuid4())[:8]
75
+ table_name = f"elements_{random_id}"
76
+ destination_schema = get_destination_schema(new_table_name=table_name)
77
+ with get_cursor() as cursor:
78
+ logger.info(f"creating table: {table_name}")
79
+ cursor.execute(f"DROP TABLE IF EXISTS {table_name}")
80
+ cursor.execute(destination_schema)
81
+
82
+ yield table_name
83
+ with get_cursor() as cursor:
84
+ logger.info(f"dropping table: {table_name}")
85
+ cursor.execute(f"DROP TABLE IF EXISTS {table_name}")
86
+
87
+
88
+ def validate_destination(expected_num_elements: int, table_name: str, retries=30, interval=1):
89
+ with get_cursor() as cursor:
90
+ for i in range(retries):
91
+ cursor.execute(f"SELECT COUNT(*) FROM {table_name}")
92
+ count = cursor.fetchone()[0]
93
+ if count == expected_num_elements:
94
+ break
95
+ logger.info(f"retry attempt {i}: expected {expected_num_elements} != count {count}")
96
+ time.sleep(interval)
97
+ assert (
98
+ count == expected_num_elements
99
+ ), f"dest check failed: got {count}, expected {expected_num_elements}"
100
+
101
+
102
+ @pytest.mark.asyncio
103
+ @pytest.mark.skip("Resources take too long to spin up to run in CI")
104
+ @pytest.mark.tags(CONNECTOR_TYPE, DESTINATION_TAG, SQL_TAG)
105
+ @requires_env("DATABRICKS_SERVER_HOSTNAME", "DATABRICKS_HTTP_PATH", "DATABRICKS_ACCESS_TOKEN")
106
+ async def test_databricks_delta_tables_destination(
107
+ upload_file: Path, temp_dir: Path, destination_table: str
108
+ ):
109
+ env_data = get_env_data()
110
+ mock_file_data = FileData(
111
+ identifier="mock file data",
112
+ connector_type=CONNECTOR_TYPE,
113
+ source_identifiers=SourceIdentifiers(filename=upload_file.name, fullpath=upload_file.name),
114
+ )
115
+ stager = DatabrickDeltaTablesUploadStager()
116
+ staged_path = stager.run(
117
+ elements_filepath=upload_file,
118
+ file_data=mock_file_data,
119
+ output_dir=temp_dir,
120
+ output_filename=upload_file.name,
121
+ )
122
+
123
+ assert staged_path.suffix == upload_file.suffix
124
+
125
+ uploader = DatabrickDeltaTablesUploader(
126
+ connection_config=DatabrickDeltaTablesConnectionConfig(
127
+ access_config=DatabrickDeltaTablesAccessConfig(
128
+ token=env_data.access_token.get_secret_value()
129
+ ),
130
+ http_path=env_data.http_path,
131
+ server_hostname=env_data.server_hostname,
132
+ ),
133
+ upload_config=DatabrickDeltaTablesUploaderConfig(
134
+ catalog=CATALOG, database="default", table_name=destination_table
135
+ ),
136
+ )
137
+ with staged_path.open("r") as f:
138
+ staged_data = json.load(f)
139
+ expected_num_elements = len(staged_data)
140
+ uploader.precheck()
141
+ uploader.run(path=staged_path, file_data=mock_file_data)
142
+ validate_destination(expected_num_elements=expected_num_elements, table_name=destination_table)
@@ -107,11 +107,15 @@ def pinecone_index() -> Generator[str, None, None]:
107
107
 
108
108
 
109
109
  def validate_pinecone_index(
110
- index_name: str, expected_num_of_vectors: int, retries=30, interval=1
110
+ index_name: str,
111
+ expected_num_of_vectors: int,
112
+ retries=30,
113
+ interval=1,
114
+ namespace: str = "default",
111
115
  ) -> None:
112
116
  # Because there's a delay for the index to catch up to the recent writes, add in a retry
113
117
  pinecone = Pinecone(api_key=get_api_key())
114
- index = pinecone.Index(name=index_name)
118
+ index = pinecone.Index(name=index_name, namespace=namespace)
115
119
  vector_count = -1
116
120
  for i in range(retries):
117
121
  index_stats = index.describe_index_stats()
@@ -133,11 +137,13 @@ def validate_pinecone_index(
133
137
  @pytest.mark.asyncio
134
138
  @pytest.mark.tags(CONNECTOR_TYPE, DESTINATION_TAG, VECTOR_DB_TAG)
135
139
  async def test_pinecone_destination(pinecone_index: str, upload_file: Path, temp_dir: Path):
140
+
136
141
  file_data = FileData(
137
142
  source_identifiers=SourceIdentifiers(fullpath=upload_file.name, filename=upload_file.name),
138
143
  connector_type=CONNECTOR_TYPE,
139
144
  identifier="pinecone_mock_id",
140
145
  )
146
+
141
147
  connection_config = PineconeConnectionConfig(
142
148
  index_name=pinecone_index,
143
149
  access_config=PineconeAccessConfig(api_key=get_api_key()),
@@ -224,6 +230,66 @@ async def test_pinecone_destination_large_index(
224
230
  )
225
231
 
226
232
 
233
+ @requires_env(API_KEY)
234
+ @pytest.mark.asyncio
235
+ @pytest.mark.tags(CONNECTOR_TYPE, DESTINATION_TAG, VECTOR_DB_TAG)
236
+ async def test_pinecone_destination_namespace(
237
+ pinecone_index: str, upload_file: Path, temp_dir: Path
238
+ ):
239
+ """
240
+ tests namespace functionality of destination connector.
241
+ """
242
+
243
+ # creates a file data structure.
244
+ file_data = FileData(
245
+ source_identifiers=SourceIdentifiers(fullpath=upload_file.name, filename=upload_file.name),
246
+ connector_type=CONNECTOR_TYPE,
247
+ identifier="pinecone_mock_id",
248
+ )
249
+
250
+ connection_config = PineconeConnectionConfig(
251
+ index_name=pinecone_index,
252
+ access_config=PineconeAccessConfig(api_key=get_api_key()),
253
+ )
254
+
255
+ stager_config = PineconeUploadStagerConfig()
256
+
257
+ stager = PineconeUploadStager(upload_stager_config=stager_config)
258
+ new_upload_file = stager.run(
259
+ elements_filepath=upload_file,
260
+ output_dir=temp_dir,
261
+ output_filename=upload_file.name,
262
+ file_data=file_data,
263
+ )
264
+
265
+ # here add namespace defintion
266
+ upload_config = PineconeUploaderConfig()
267
+ namespace_test_name = "user-1"
268
+ upload_config.namespace = namespace_test_name
269
+ uploader = PineconeUploader(connection_config=connection_config, upload_config=upload_config)
270
+ uploader.precheck()
271
+
272
+ uploader.run(path=new_upload_file, file_data=file_data)
273
+ with new_upload_file.open() as f:
274
+ staged_content = json.load(f)
275
+ expected_num_of_vectors = len(staged_content)
276
+ logger.info("validating first upload")
277
+ validate_pinecone_index(
278
+ index_name=pinecone_index,
279
+ expected_num_of_vectors=expected_num_of_vectors,
280
+ namespace=namespace_test_name,
281
+ )
282
+
283
+ # Rerun uploader and make sure no duplicates exist
284
+ uploader.run(path=new_upload_file, file_data=file_data)
285
+ logger.info("validating second upload")
286
+ validate_pinecone_index(
287
+ index_name=pinecone_index,
288
+ expected_num_of_vectors=expected_num_of_vectors,
289
+ namespace=namespace_test_name,
290
+ )
291
+
292
+
227
293
  @requires_env(API_KEY)
228
294
  @pytest.mark.tags(CONNECTOR_TYPE, DESTINATION_TAG, VECTOR_DB_TAG)
229
295
  def test_large_metadata(pinecone_index: str, tmp_path: Path, upload_file: Path):
@@ -0,0 +1 @@
1
+ __version__ = "0.3.15" # pragma: no cover
@@ -2,7 +2,7 @@ import json
2
2
  from abc import ABC
3
3
  from dataclasses import dataclass
4
4
  from pathlib import Path
5
- from typing import Any, TypeVar
5
+ from typing import Any, Optional, TypeVar
6
6
 
7
7
  import ndjson
8
8
  from pydantic import BaseModel
@@ -22,10 +22,10 @@ UploadStagerConfigT = TypeVar("UploadStagerConfigT", bound=UploadStagerConfig)
22
22
  class UploadStager(BaseProcess, ABC):
23
23
  upload_stager_config: UploadStagerConfigT
24
24
 
25
- def write_output(self, output_path: Path, data: list[dict]) -> None:
25
+ def write_output(self, output_path: Path, data: list[dict], indent: Optional[int] = 2) -> None:
26
26
  if output_path.suffix == ".json":
27
27
  with output_path.open("w") as f:
28
- json.dump(data, f, indent=2)
28
+ json.dump(data, f, indent=indent)
29
29
  elif output_path.suffix == ".ndjson":
30
30
  with output_path.open("w") as f:
31
31
  ndjson.dump(data, f)
@@ -25,6 +25,8 @@ from .volumes_native import (
25
25
  databricks_native_volumes_destination_entry,
26
26
  databricks_native_volumes_source_entry,
27
27
  )
28
+ from .volumes_table import CONNECTOR_TYPE as VOLUMES_TABLE_CONNECTOR_TYPE
29
+ from .volumes_table import databricks_volumes_delta_tables_destination_entry
28
30
 
29
31
  add_source_entry(source_type=VOLUMES_AWS_CONNECTOR_TYPE, entry=databricks_aws_volumes_source_entry)
30
32
  add_destination_entry(
@@ -50,3 +52,7 @@ add_source_entry(
50
52
  add_destination_entry(
51
53
  destination_type=VOLUMES_AZURE_CONNECTOR_TYPE, entry=databricks_azure_volumes_destination_entry
52
54
  )
55
+ add_destination_entry(
56
+ destination_type=VOLUMES_TABLE_CONNECTOR_TYPE,
57
+ entry=databricks_volumes_delta_tables_destination_entry,
58
+ )
@@ -187,6 +187,11 @@ class DatabricksVolumesUploader(Uploader, ABC):
187
187
  upload_config: DatabricksVolumesUploaderConfig
188
188
  connection_config: DatabricksVolumesConnectionConfig
189
189
 
190
+ def get_output_path(self, file_data: FileData) -> str:
191
+ return os.path.join(
192
+ self.upload_config.path, f"{file_data.source_identifiers.filename}.json"
193
+ )
194
+
190
195
  def precheck(self) -> None:
191
196
  try:
192
197
  assert self.connection_config.get_client().current_user.me().active
@@ -194,9 +199,7 @@ class DatabricksVolumesUploader(Uploader, ABC):
194
199
  raise self.connection_config.wrap_error(e=e)
195
200
 
196
201
  def run(self, path: Path, file_data: FileData, **kwargs: Any) -> None:
197
- output_path = os.path.join(
198
- self.upload_config.path, f"{file_data.source_identifiers.filename}.json"
199
- )
202
+ output_path = self.get_output_path(file_data=file_data)
200
203
  with open(path, "rb") as elements_file:
201
204
  try:
202
205
  self.connection_config.get_client().files.upload(
@@ -0,0 +1,106 @@
1
+ import json
2
+ import os
3
+ from contextlib import contextmanager
4
+ from dataclasses import dataclass
5
+ from pathlib import Path
6
+ from typing import Any, Generator, Optional
7
+
8
+ from pydantic import Field
9
+
10
+ from unstructured_ingest.v2.interfaces import FileData, Uploader, UploaderConfig
11
+ from unstructured_ingest.v2.logger import logger
12
+ from unstructured_ingest.v2.processes.connector_registry import (
13
+ DestinationRegistryEntry,
14
+ )
15
+ from unstructured_ingest.v2.processes.connectors.databricks.volumes import DatabricksPathMixin
16
+ from unstructured_ingest.v2.processes.connectors.sql.databricks_delta_tables import (
17
+ DatabrickDeltaTablesConnectionConfig,
18
+ DatabrickDeltaTablesUploadStager,
19
+ DatabrickDeltaTablesUploadStagerConfig,
20
+ )
21
+
22
+ CONNECTOR_TYPE = "databricks_volume_delta_tables"
23
+
24
+
25
+ class DatabricksVolumeDeltaTableUploaderConfig(UploaderConfig, DatabricksPathMixin):
26
+ database: str = Field(description="Database name", default="default")
27
+ table_name: str = Field(description="Table name")
28
+
29
+
30
+ @dataclass
31
+ class DatabricksVolumeDeltaTableStager(DatabrickDeltaTablesUploadStager):
32
+ def write_output(self, output_path: Path, data: list[dict], indent: Optional[int] = 2) -> None:
33
+ # To avoid new line issues when migrating from volumes into delta tables, omit indenting
34
+ # and always write it as a json file
35
+ with output_path.with_suffix(".json").open("w") as f:
36
+ json.dump(data, f)
37
+
38
+
39
+ @dataclass
40
+ class DatabricksVolumeDeltaTableUploader(Uploader):
41
+ connection_config: DatabrickDeltaTablesConnectionConfig
42
+ upload_config: DatabricksVolumeDeltaTableUploaderConfig
43
+ connector_type: str = CONNECTOR_TYPE
44
+
45
+ def precheck(self) -> None:
46
+ with self.connection_config.get_cursor() as cursor:
47
+ cursor.execute("SHOW CATALOGS")
48
+ catalogs = [r[0] for r in cursor.fetchall()]
49
+ if self.upload_config.catalog not in catalogs:
50
+ raise ValueError(
51
+ "Catalog {} not found in {}".format(
52
+ self.upload_config.catalog, ", ".join(catalogs)
53
+ )
54
+ )
55
+ cursor.execute(f"USE CATALOG '{self.upload_config.catalog}'")
56
+ cursor.execute("SHOW DATABASES")
57
+ databases = [r[0] for r in cursor.fetchall()]
58
+ if self.upload_config.database not in databases:
59
+ raise ValueError(
60
+ "Database {} not found in {}".format(
61
+ self.upload_config.database, ", ".join(databases)
62
+ )
63
+ )
64
+ cursor.execute("SHOW TABLES")
65
+ table_names = [r[1] for r in cursor.fetchall()]
66
+ if self.upload_config.table_name not in table_names:
67
+ raise ValueError(
68
+ "Table {} not found in {}".format(
69
+ self.upload_config.table_name, ", ".join(table_names)
70
+ )
71
+ )
72
+
73
+ def get_output_path(self, file_data: FileData, suffix: str = ".json") -> str:
74
+ filename = Path(file_data.source_identifiers.filename)
75
+ adjusted_filename = filename if filename.suffix == suffix else f"{filename}{suffix}"
76
+ return os.path.join(self.upload_config.path, f"{adjusted_filename}")
77
+
78
+ @contextmanager
79
+ def get_cursor(self, **connect_kwargs) -> Generator[Any, None, None]:
80
+ with self.connection_config.get_cursor(**connect_kwargs) as cursor:
81
+ cursor.execute(f"USE CATALOG '{self.upload_config.catalog}'")
82
+ yield cursor
83
+
84
+ def run(self, path: Path, file_data: FileData, **kwargs: Any) -> None:
85
+ with self.get_cursor(staging_allowed_local_path=str(path.parent)) as cursor:
86
+ catalog_path = self.get_output_path(file_data=file_data)
87
+ logger.debug(f"uploading {path.as_posix()} to {catalog_path}")
88
+ cursor.execute(f"PUT '{path.as_posix()}' INTO '{catalog_path}' OVERWRITE")
89
+ logger.debug(
90
+ f"migrating content from {catalog_path} to table {self.upload_config.table_name}"
91
+ )
92
+ with path.open() as f:
93
+ data = json.load(f)
94
+ columns = data[0].keys()
95
+ column_str = ", ".join(columns)
96
+ sql_statment = f"INSERT INTO `{self.upload_config.table_name}` ({column_str}) SELECT {column_str} FROM json.`{catalog_path}`" # noqa: E501
97
+ cursor.execute(sql_statment)
98
+
99
+
100
+ databricks_volumes_delta_tables_destination_entry = DestinationRegistryEntry(
101
+ connection_config=DatabrickDeltaTablesConnectionConfig,
102
+ uploader=DatabricksVolumeDeltaTableUploader,
103
+ uploader_config=DatabricksVolumeDeltaTableUploaderConfig,
104
+ upload_stager=DatabricksVolumeDeltaTableStager,
105
+ upload_stager_config=DatabrickDeltaTablesUploadStagerConfig,
106
+ )
@@ -5,12 +5,10 @@ from typing import TYPE_CHECKING, Any, Optional
5
5
  from pydantic import Field, Secret
6
6
 
7
7
  from unstructured_ingest.error import DestinationConnectionError
8
- from unstructured_ingest.utils.data_prep import (
9
- flatten_dict,
10
- generator_batching_wbytes,
11
- )
8
+ from unstructured_ingest.utils.data_prep import flatten_dict, generator_batching_wbytes
12
9
  from unstructured_ingest.utils.dep_check import requires_dependencies
13
10
  from unstructured_ingest.v2.constants import RECORD_ID_LABEL
11
+ from unstructured_ingest.v2.errors import UserError
14
12
  from unstructured_ingest.v2.interfaces import (
15
13
  AccessConfig,
16
14
  ConnectionConfig,
@@ -63,6 +61,7 @@ class PineconeConnectionConfig(ConnectionConfig):
63
61
  pc = self.get_client()
64
62
 
65
63
  index = pc.Index(name=self.index_name, **index_kwargs)
64
+
66
65
  logger.debug(f"connected to index: {pc.describe_index(self.index_name)}")
67
66
  return index
68
67
 
@@ -182,14 +181,18 @@ class PineconeUploader(Uploader):
182
181
  delete_kwargs = {
183
182
  "filter": {self.upload_config.record_id_key: {"$eq": file_data.identifier}}
184
183
  }
184
+
185
185
  if namespace := self.upload_config.namespace:
186
186
  delete_kwargs["namespace"] = namespace
187
+ try:
188
+ index.delete(**delete_kwargs)
189
+ except UserError as e:
190
+ logger.error(f"failed to delete batch of ids: {delete_kwargs} {e}")
187
191
 
188
- resp = index.delete(**delete_kwargs)
189
192
  logger.debug(
190
193
  f"deleted any content with metadata "
191
194
  f"{self.upload_config.record_id_key}={file_data.identifier} "
192
- f"from pinecone index: {resp}"
195
+ f"from pinecone index: {delete_kwargs}"
193
196
  )
194
197
 
195
198
  def serverless_delete_by_record_id(self, file_data: FileData) -> None:
@@ -203,15 +206,19 @@ class PineconeUploader(Uploader):
203
206
  deleted_ids = 0
204
207
  if namespace := self.upload_config.namespace:
205
208
  list_kwargs["namespace"] = namespace
209
+
206
210
  for ids in index.list(**list_kwargs):
207
211
  deleted_ids += len(ids)
208
212
  delete_kwargs = {"ids": ids}
213
+
209
214
  if namespace := self.upload_config.namespace:
210
- delete_resp = delete_kwargs["namespace"] = namespace
211
- # delete_resp should be an empty dict if there were no errors
212
- if delete_resp:
213
- logger.error(f"failed to delete batch of ids: {delete_resp}")
214
- index.delete(**delete_kwargs)
215
+ delete_kwargs["namespace"] = namespace
216
+
217
+ try:
218
+ index.delete(**delete_kwargs)
219
+ except UserError as e:
220
+ logger.error(f"failed to delete batch of ids: {delete_kwargs} {e}")
221
+
215
222
  logger.info(
216
223
  f"deleted {deleted_ids} records with metadata "
217
224
  f"{self.upload_config.record_id_key}={file_data.identifier} "
@@ -5,6 +5,8 @@ from unstructured_ingest.v2.processes.connector_registry import (
5
5
  add_source_entry,
6
6
  )
7
7
 
8
+ from .databricks_delta_tables import CONNECTOR_TYPE as DATABRICKS_DELTA_TABLES_CONNECTOR_TYPE
9
+ from .databricks_delta_tables import databricks_delta_tables_destination_entry
8
10
  from .postgres import CONNECTOR_TYPE as POSTGRES_CONNECTOR_TYPE
9
11
  from .postgres import postgres_destination_entry, postgres_source_entry
10
12
  from .singlestore import CONNECTOR_TYPE as SINGLESTORE_CONNECTOR_TYPE
@@ -25,3 +27,7 @@ add_destination_entry(destination_type=SNOWFLAKE_CONNECTOR_TYPE, entry=snowflake
25
27
  add_destination_entry(
26
28
  destination_type=SINGLESTORE_CONNECTOR_TYPE, entry=singlestore_destination_entry
27
29
  )
30
+ add_destination_entry(
31
+ destination_type=DATABRICKS_DELTA_TABLES_CONNECTOR_TYPE,
32
+ entry=databricks_delta_tables_destination_entry,
33
+ )