unstructured-ingest 0.3.11__tar.gz → 0.3.12__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 (499) hide show
  1. {unstructured_ingest-0.3.11/unstructured_ingest.egg-info → unstructured_ingest-0.3.12}/PKG-INFO +24 -20
  2. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/pyproject.toml +3 -0
  3. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/setup.py +1 -0
  4. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/test_milvus.py +13 -0
  5. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/test_onedrive.py +6 -0
  6. unstructured_ingest-0.3.12/test/integration/connectors/test_redis.py +119 -0
  7. unstructured_ingest-0.3.12/test/integration/connectors/test_vectara.py +270 -0
  8. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/embedders/test_bedrock.py +28 -0
  9. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/embedders/test_octoai.py +14 -0
  10. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/embedders/test_openai.py +13 -0
  11. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/embedders/test_togetherai.py +10 -0
  12. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/partitioners/test_partitioner.py +2 -2
  13. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/embed/test_octoai.py +8 -1
  14. unstructured_ingest-0.3.12/unstructured_ingest/__version__.py +1 -0
  15. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/embed/bedrock.py +39 -11
  16. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/embed/interfaces.py +5 -0
  17. unstructured_ingest-0.3.12/unstructured_ingest/embed/octoai.py +82 -0
  18. unstructured_ingest-0.3.12/unstructured_ingest/embed/openai.py +72 -0
  19. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/embed/togetherai.py +28 -1
  20. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/embed/voyageai.py +33 -1
  21. unstructured_ingest-0.3.12/unstructured_ingest/v2/errors.py +18 -0
  22. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/__init__.py +7 -0
  23. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/chroma.py +0 -1
  24. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/kafka/cloud.py +5 -2
  25. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/kafka/kafka.py +14 -3
  26. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/milvus.py +15 -6
  27. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/neo4j.py +2 -0
  28. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/onedrive.py +79 -25
  29. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/qdrant/qdrant.py +0 -1
  30. unstructured_ingest-0.3.12/unstructured_ingest/v2/processes/connectors/redisdb.py +182 -0
  31. unstructured_ingest-0.3.12/unstructured_ingest/v2/processes/connectors/vectara.py +350 -0
  32. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/unstructured_api.py +25 -2
  33. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12/unstructured_ingest.egg-info}/PKG-INFO +24 -20
  34. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest.egg-info/SOURCES.txt +5 -1
  35. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest.egg-info/requires.txt +24 -19
  36. unstructured_ingest-0.3.11/test/integration/connectors/test_kafka.py +0 -304
  37. unstructured_ingest-0.3.11/unstructured_ingest/__version__.py +0 -1
  38. unstructured_ingest-0.3.11/unstructured_ingest/embed/octoai.py +0 -41
  39. unstructured_ingest-0.3.11/unstructured_ingest/embed/openai.py +0 -36
  40. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/LICENSE.md +0 -0
  41. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/README.md +0 -0
  42. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/setup.cfg +0 -0
  43. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/__init__.py +0 -0
  44. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/__init__.py +0 -0
  45. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/chunkers/__init__.py +0 -0
  46. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/chunkers/test_chunkers.py +0 -0
  47. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/__init__.py +0 -0
  48. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/conftest.py +0 -0
  49. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/databricks/__init__.py +0 -0
  50. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/databricks/test_volumes_native.py +0 -0
  51. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/duckdb/__init__.py +0 -0
  52. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/duckdb/conftest.py +0 -0
  53. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/duckdb/test_duckdb.py +0 -0
  54. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/duckdb/test_motherduck.py +0 -0
  55. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/elasticsearch/__init__.py +0 -0
  56. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/elasticsearch/conftest.py +0 -0
  57. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/elasticsearch/test_elasticsearch.py +0 -0
  58. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/elasticsearch/test_opensearch.py +0 -0
  59. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/sql/__init__.py +0 -0
  60. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/sql/test_postgres.py +0 -0
  61. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/sql/test_singlestore.py +0 -0
  62. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/sql/test_snowflake.py +0 -0
  63. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/sql/test_sqlite.py +0 -0
  64. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/test_astradb.py +0 -0
  65. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/test_azure_ai_search.py +0 -0
  66. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/test_chroma.py +0 -0
  67. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/test_confluence.py +0 -0
  68. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/test_delta_table.py +0 -0
  69. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/test_lancedb.py +0 -0
  70. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/test_mongodb.py +0 -0
  71. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/test_neo4j.py +0 -0
  72. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/test_pinecone.py +0 -0
  73. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/test_qdrant.py +0 -0
  74. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/test_s3.py +0 -0
  75. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/utils/__init__.py +0 -0
  76. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/utils/constants.py +0 -0
  77. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/utils/docker.py +0 -0
  78. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/utils/docker_compose.py +0 -0
  79. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/utils/validation/__init__.py +0 -0
  80. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/utils/validation/destination.py +0 -0
  81. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/utils/validation/equality.py +0 -0
  82. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/utils/validation/source.py +0 -0
  83. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/utils/validation/utils.py +0 -0
  84. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/weaviate/__init__.py +0 -0
  85. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/weaviate/conftest.py +0 -0
  86. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/weaviate/test_cloud.py +0 -0
  87. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/connectors/weaviate/test_local.py +0 -0
  88. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/embedders/__init__.py +0 -0
  89. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/embedders/conftest.py +0 -0
  90. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/embedders/test_azure_openai.py +0 -0
  91. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/embedders/test_huggingface.py +0 -0
  92. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/embedders/test_mixedbread.py +0 -0
  93. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/embedders/test_vertexai.py +0 -0
  94. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/embedders/test_voyageai.py +0 -0
  95. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/embedders/utils.py +0 -0
  96. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/partitioners/__init__.py +0 -0
  97. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/integration/utils.py +0 -0
  98. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/__init__.py +0 -0
  99. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/embed/__init__.py +0 -0
  100. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/embed/test_mixedbreadai.py +0 -0
  101. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/embed/test_openai.py +0 -0
  102. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/embed/test_vertexai.py +0 -0
  103. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/embed/test_voyageai.py +0 -0
  104. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/test_chunking_utils.py +0 -0
  105. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/test_error.py +0 -0
  106. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/test_interfaces.py +0 -0
  107. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/test_logger.py +0 -0
  108. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/test_utils.py +0 -0
  109. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/v2/__init__.py +0 -0
  110. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/v2/chunkers/__init__.py +0 -0
  111. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/v2/chunkers/test_chunkers.py +0 -0
  112. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/v2/connectors/__init__.py +0 -0
  113. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/v2/connectors/test_confluence.py +0 -0
  114. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/v2/embedders/__init__.py +0 -0
  115. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/v2/embedders/test_bedrock.py +0 -0
  116. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/v2/embedders/test_huggingface.py +0 -0
  117. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/v2/embedders/test_mixedbread.py +0 -0
  118. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/v2/embedders/test_octoai.py +0 -0
  119. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/v2/embedders/test_openai.py +0 -0
  120. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/v2/embedders/test_togetherai.py +0 -0
  121. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/v2/embedders/test_vertexai.py +0 -0
  122. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/v2/embedders/test_voyageai.py +0 -0
  123. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/v2/partitioners/__init__.py +0 -0
  124. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/v2/partitioners/test_partitioner.py +0 -0
  125. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/v2/test_interfaces.py +0 -0
  126. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/v2/test_utils.py +0 -0
  127. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/v2/utils/__init__.py +0 -0
  128. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/test/unit/v2/utils/data_generator.py +0 -0
  129. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/__init__.py +0 -0
  130. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/__init__.py +0 -0
  131. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/base/__init__.py +0 -0
  132. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/base/cmd.py +0 -0
  133. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/base/dest.py +0 -0
  134. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/base/src.py +0 -0
  135. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cli.py +0 -0
  136. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmd_factory.py +0 -0
  137. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/__init__.py +0 -0
  138. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/airtable.py +0 -0
  139. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/astradb.py +0 -0
  140. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/azure_ai_search.py +0 -0
  141. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/biomed.py +0 -0
  142. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/chroma.py +0 -0
  143. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/clarifai.py +0 -0
  144. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/confluence.py +0 -0
  145. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/databricks_volumes.py +0 -0
  146. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/delta_table.py +0 -0
  147. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/discord.py +0 -0
  148. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/elasticsearch.py +0 -0
  149. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/fsspec/__init__.py +0 -0
  150. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/fsspec/azure.py +0 -0
  151. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/fsspec/box.py +0 -0
  152. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/fsspec/dropbox.py +0 -0
  153. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/fsspec/fsspec.py +0 -0
  154. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/fsspec/gcs.py +0 -0
  155. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/fsspec/s3.py +0 -0
  156. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/fsspec/sftp.py +0 -0
  157. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/github.py +0 -0
  158. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/gitlab.py +0 -0
  159. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/google_drive.py +0 -0
  160. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/hubspot.py +0 -0
  161. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/jira.py +0 -0
  162. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/kafka.py +0 -0
  163. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/local.py +0 -0
  164. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/mongodb.py +0 -0
  165. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/notion.py +0 -0
  166. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/onedrive.py +0 -0
  167. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/opensearch.py +0 -0
  168. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/outlook.py +0 -0
  169. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/pinecone.py +0 -0
  170. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/qdrant.py +0 -0
  171. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/reddit.py +0 -0
  172. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/salesforce.py +0 -0
  173. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/sharepoint.py +0 -0
  174. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/slack.py +0 -0
  175. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/sql.py +0 -0
  176. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/vectara.py +0 -0
  177. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/weaviate.py +0 -0
  178. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/cmds/wikipedia.py +0 -0
  179. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/common.py +0 -0
  180. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/interfaces.py +0 -0
  181. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/cli/utils.py +0 -0
  182. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/__init__.py +0 -0
  183. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/airtable.py +0 -0
  184. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/astradb.py +0 -0
  185. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/azure_ai_search.py +0 -0
  186. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/biomed.py +0 -0
  187. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/chroma.py +0 -0
  188. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/clarifai.py +0 -0
  189. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/confluence.py +0 -0
  190. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/databricks_volumes.py +0 -0
  191. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/delta_table.py +0 -0
  192. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/discord.py +0 -0
  193. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/elasticsearch.py +0 -0
  194. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/fsspec/__init__.py +0 -0
  195. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/fsspec/azure.py +0 -0
  196. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/fsspec/box.py +0 -0
  197. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/fsspec/dropbox.py +0 -0
  198. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/fsspec/fsspec.py +0 -0
  199. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/fsspec/gcs.py +0 -0
  200. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/fsspec/s3.py +0 -0
  201. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/fsspec/sftp.py +0 -0
  202. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/git.py +0 -0
  203. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/github.py +0 -0
  204. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/gitlab.py +0 -0
  205. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/google_drive.py +0 -0
  206. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/hubspot.py +0 -0
  207. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/jira.py +0 -0
  208. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/kafka.py +0 -0
  209. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/local.py +0 -0
  210. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/mongodb.py +0 -0
  211. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/__init__.py +0 -0
  212. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/client.py +0 -0
  213. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/connector.py +0 -0
  214. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/helpers.py +0 -0
  215. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/interfaces.py +0 -0
  216. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/__init__.py +0 -0
  217. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/block.py +0 -0
  218. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/__init__.py +0 -0
  219. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/bookmark.py +0 -0
  220. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/breadcrumb.py +0 -0
  221. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/bulleted_list_item.py +0 -0
  222. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/callout.py +0 -0
  223. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/child_database.py +0 -0
  224. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/child_page.py +0 -0
  225. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/code.py +0 -0
  226. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/column_list.py +0 -0
  227. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/divider.py +0 -0
  228. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/embed.py +0 -0
  229. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/equation.py +0 -0
  230. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/file.py +0 -0
  231. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/heading.py +0 -0
  232. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/image.py +0 -0
  233. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/link_preview.py +0 -0
  234. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/link_to_page.py +0 -0
  235. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/numbered_list.py +0 -0
  236. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/paragraph.py +0 -0
  237. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/pdf.py +0 -0
  238. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/quote.py +0 -0
  239. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/synced_block.py +0 -0
  240. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/table.py +0 -0
  241. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/table_of_contents.py +0 -0
  242. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/template.py +0 -0
  243. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/todo.py +0 -0
  244. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/toggle.py +0 -0
  245. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/unsupported.py +0 -0
  246. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/blocks/video.py +0 -0
  247. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database.py +0 -0
  248. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/__init__.py +0 -0
  249. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/checkbox.py +0 -0
  250. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/created_by.py +0 -0
  251. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/created_time.py +0 -0
  252. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/date.py +0 -0
  253. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/email.py +0 -0
  254. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/files.py +0 -0
  255. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/formula.py +0 -0
  256. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/last_edited_by.py +0 -0
  257. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/last_edited_time.py +0 -0
  258. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/multiselect.py +0 -0
  259. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/number.py +0 -0
  260. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/people.py +0 -0
  261. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/phone_number.py +0 -0
  262. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/relation.py +0 -0
  263. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/rich_text.py +0 -0
  264. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/rollup.py +0 -0
  265. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/select.py +0 -0
  266. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/status.py +0 -0
  267. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/title.py +0 -0
  268. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/unique_id.py +0 -0
  269. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/url.py +0 -0
  270. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/database_properties/verification.py +0 -0
  271. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/date.py +0 -0
  272. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/file.py +0 -0
  273. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/page.py +0 -0
  274. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/parent.py +0 -0
  275. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/rich_text.py +0 -0
  276. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/notion/types/user.py +0 -0
  277. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/onedrive.py +0 -0
  278. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/opensearch.py +0 -0
  279. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/outlook.py +0 -0
  280. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/pinecone.py +0 -0
  281. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/qdrant.py +0 -0
  282. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/reddit.py +0 -0
  283. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/registry.py +0 -0
  284. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/salesforce.py +0 -0
  285. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/sharepoint.py +0 -0
  286. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/slack.py +0 -0
  287. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/sql.py +0 -0
  288. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/vectara.py +0 -0
  289. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/weaviate.py +0 -0
  290. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/connector/wikipedia.py +0 -0
  291. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/embed/__init__.py +0 -0
  292. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/embed/azure_openai.py +0 -0
  293. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/embed/huggingface.py +0 -0
  294. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/embed/mixedbreadai.py +0 -0
  295. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/embed/vertexai.py +0 -0
  296. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/enhanced_dataclass/__init__.py +0 -0
  297. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/enhanced_dataclass/core.py +0 -0
  298. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/enhanced_dataclass/dataclasses.py +0 -0
  299. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/enhanced_dataclass/json_mixin.py +0 -0
  300. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/error.py +0 -0
  301. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/ingest_backoff/__init__.py +0 -0
  302. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/ingest_backoff/_common.py +0 -0
  303. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/ingest_backoff/_wrapper.py +0 -0
  304. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/interfaces.py +0 -0
  305. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/logger.py +0 -0
  306. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/main.py +0 -0
  307. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/pipeline/__init__.py +0 -0
  308. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/pipeline/copy.py +0 -0
  309. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/pipeline/doc_factory.py +0 -0
  310. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/pipeline/interfaces.py +0 -0
  311. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/pipeline/partition.py +0 -0
  312. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/pipeline/permissions.py +0 -0
  313. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/pipeline/pipeline.py +0 -0
  314. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/pipeline/reformat/__init__.py +0 -0
  315. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/pipeline/reformat/chunking.py +0 -0
  316. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/pipeline/reformat/embedding.py +0 -0
  317. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/pipeline/source.py +0 -0
  318. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/pipeline/utils.py +0 -0
  319. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/pipeline/write.py +0 -0
  320. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/processor.py +0 -0
  321. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/__init__.py +0 -0
  322. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/airtable.py +0 -0
  323. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/astradb.py +0 -0
  324. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/base_runner.py +0 -0
  325. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/biomed.py +0 -0
  326. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/confluence.py +0 -0
  327. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/delta_table.py +0 -0
  328. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/discord.py +0 -0
  329. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/elasticsearch.py +0 -0
  330. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/fsspec/__init__.py +0 -0
  331. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/fsspec/azure.py +0 -0
  332. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/fsspec/box.py +0 -0
  333. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/fsspec/dropbox.py +0 -0
  334. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/fsspec/fsspec.py +0 -0
  335. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/fsspec/gcs.py +0 -0
  336. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/fsspec/s3.py +0 -0
  337. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/fsspec/sftp.py +0 -0
  338. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/github.py +0 -0
  339. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/gitlab.py +0 -0
  340. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/google_drive.py +0 -0
  341. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/hubspot.py +0 -0
  342. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/jira.py +0 -0
  343. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/kafka.py +0 -0
  344. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/local.py +0 -0
  345. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/mongodb.py +0 -0
  346. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/notion.py +0 -0
  347. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/onedrive.py +0 -0
  348. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/opensearch.py +0 -0
  349. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/outlook.py +0 -0
  350. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/reddit.py +0 -0
  351. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/salesforce.py +0 -0
  352. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/sharepoint.py +0 -0
  353. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/slack.py +0 -0
  354. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/utils.py +0 -0
  355. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/wikipedia.py +0 -0
  356. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/__init__.py +0 -0
  357. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/astradb.py +0 -0
  358. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/azure_ai_search.py +0 -0
  359. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/base_writer.py +0 -0
  360. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/chroma.py +0 -0
  361. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/clarifai.py +0 -0
  362. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/databricks_volumes.py +0 -0
  363. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/delta_table.py +0 -0
  364. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/elasticsearch.py +0 -0
  365. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/fsspec/__init__.py +0 -0
  366. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/fsspec/azure.py +0 -0
  367. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/fsspec/box.py +0 -0
  368. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/fsspec/dropbox.py +0 -0
  369. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/fsspec/gcs.py +0 -0
  370. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/fsspec/s3.py +0 -0
  371. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/kafka.py +0 -0
  372. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/mongodb.py +0 -0
  373. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/opensearch.py +0 -0
  374. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/pinecone.py +0 -0
  375. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/qdrant.py +0 -0
  376. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/sql.py +0 -0
  377. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/vectara.py +0 -0
  378. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/runner/writers/weaviate.py +0 -0
  379. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/utils/__init__.py +0 -0
  380. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/utils/chunking.py +0 -0
  381. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/utils/compression.py +0 -0
  382. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/utils/data_prep.py +0 -0
  383. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/utils/dep_check.py +0 -0
  384. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/utils/google_filetype.py +0 -0
  385. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/utils/string_and_date_utils.py +0 -0
  386. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/utils/table.py +0 -0
  387. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/__init__.py +0 -0
  388. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/cli/__init__.py +0 -0
  389. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/cli/base/__init__.py +0 -0
  390. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/cli/base/cmd.py +0 -0
  391. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/cli/base/dest.py +0 -0
  392. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/cli/base/importer.py +0 -0
  393. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/cli/base/src.py +0 -0
  394. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/cli/cli.py +0 -0
  395. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/cli/cmds.py +0 -0
  396. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/cli/utils/__init__.py +0 -0
  397. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/cli/utils/click.py +0 -0
  398. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/cli/utils/model_conversion.py +0 -0
  399. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/constants.py +0 -0
  400. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/interfaces/__init__.py +0 -0
  401. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/interfaces/connector.py +0 -0
  402. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/interfaces/downloader.py +0 -0
  403. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/interfaces/file_data.py +0 -0
  404. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/interfaces/indexer.py +0 -0
  405. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/interfaces/process.py +0 -0
  406. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/interfaces/processor.py +0 -0
  407. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/interfaces/upload_stager.py +0 -0
  408. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/interfaces/uploader.py +0 -0
  409. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/logger.py +0 -0
  410. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/main.py +0 -0
  411. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/otel.py +0 -0
  412. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/pipeline/__init__.py +0 -0
  413. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/pipeline/interfaces.py +0 -0
  414. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/pipeline/otel.py +0 -0
  415. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/pipeline/pipeline.py +0 -0
  416. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/pipeline/steps/__init__.py +0 -0
  417. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/pipeline/steps/chunk.py +0 -0
  418. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/pipeline/steps/download.py +0 -0
  419. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/pipeline/steps/embed.py +0 -0
  420. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/pipeline/steps/filter.py +0 -0
  421. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/pipeline/steps/index.py +0 -0
  422. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/pipeline/steps/partition.py +0 -0
  423. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/pipeline/steps/stage.py +0 -0
  424. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/pipeline/steps/uncompress.py +0 -0
  425. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/pipeline/steps/upload.py +0 -0
  426. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/__init__.py +0 -0
  427. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/chunker.py +0 -0
  428. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connector_registry.py +0 -0
  429. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/airtable.py +0 -0
  430. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/astradb.py +0 -0
  431. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/azure_ai_search.py +0 -0
  432. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/confluence.py +0 -0
  433. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/couchbase.py +0 -0
  434. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/databricks/__init__.py +0 -0
  435. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/databricks/volumes.py +0 -0
  436. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/databricks/volumes_aws.py +0 -0
  437. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/databricks/volumes_azure.py +0 -0
  438. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/databricks/volumes_gcp.py +0 -0
  439. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/databricks/volumes_native.py +0 -0
  440. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/delta_table.py +0 -0
  441. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/duckdb/__init__.py +0 -0
  442. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/duckdb/base.py +0 -0
  443. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/duckdb/duckdb.py +0 -0
  444. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/duckdb/motherduck.py +0 -0
  445. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/elasticsearch/__init__.py +0 -0
  446. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/elasticsearch/elasticsearch.py +0 -0
  447. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/elasticsearch/opensearch.py +0 -0
  448. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/fsspec/__init__.py +0 -0
  449. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/fsspec/azure.py +0 -0
  450. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/fsspec/box.py +0 -0
  451. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/fsspec/dropbox.py +0 -0
  452. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/fsspec/fsspec.py +0 -0
  453. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/fsspec/gcs.py +0 -0
  454. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/fsspec/s3.py +0 -0
  455. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/fsspec/sftp.py +0 -0
  456. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/fsspec/utils.py +0 -0
  457. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/gitlab.py +0 -0
  458. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/google_drive.py +0 -0
  459. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/kafka/__init__.py +0 -0
  460. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/kafka/local.py +0 -0
  461. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/kdbai.py +0 -0
  462. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/lancedb/__init__.py +0 -0
  463. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/lancedb/aws.py +0 -0
  464. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/lancedb/azure.py +0 -0
  465. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/lancedb/cloud.py +0 -0
  466. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/lancedb/gcp.py +0 -0
  467. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/lancedb/lancedb.py +0 -0
  468. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/lancedb/local.py +0 -0
  469. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/local.py +0 -0
  470. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/mongodb.py +0 -0
  471. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/outlook.py +0 -0
  472. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/pinecone.py +0 -0
  473. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/qdrant/__init__.py +0 -0
  474. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/qdrant/cloud.py +0 -0
  475. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/qdrant/local.py +0 -0
  476. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/qdrant/server.py +0 -0
  477. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/salesforce.py +0 -0
  478. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/sharepoint.py +0 -0
  479. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/slack.py +0 -0
  480. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/sql/__init__.py +0 -0
  481. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/sql/postgres.py +0 -0
  482. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/sql/singlestore.py +0 -0
  483. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/sql/snowflake.py +0 -0
  484. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/sql/sql.py +0 -0
  485. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/sql/sqlite.py +0 -0
  486. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/utils.py +0 -0
  487. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/weaviate/__init__.py +0 -0
  488. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/weaviate/cloud.py +0 -0
  489. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/weaviate/embedded.py +0 -0
  490. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/weaviate/local.py +0 -0
  491. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/connectors/weaviate/weaviate.py +0 -0
  492. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/embedder.py +0 -0
  493. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/filter.py +0 -0
  494. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/partitioner.py +0 -0
  495. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/processes/uncompress.py +0 -0
  496. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest/v2/utils.py +0 -0
  497. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest.egg-info/dependency_links.txt +0 -0
  498. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/unstructured_ingest.egg-info/entry_points.txt +0 -0
  499. {unstructured_ingest-0.3.11 → unstructured_ingest-0.3.12}/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.11
3
+ Version: 0.3.12
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.13
23
23
  Description-Content-Type: text/markdown
24
24
  License-File: LICENSE.md
25
- Requires-Dist: opentelemetry-sdk
26
- Requires-Dist: dataclasses_json
27
25
  Requires-Dist: ndjson
28
- Requires-Dist: click
29
26
  Requires-Dist: tqdm
30
- Requires-Dist: python-dateutil
27
+ Requires-Dist: opentelemetry-sdk
28
+ Requires-Dist: click
29
+ Requires-Dist: dataclasses_json
31
30
  Requires-Dist: pydantic>=2.7
32
31
  Requires-Dist: pandas
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,13 +82,13 @@ 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
90
- Requires-Dist: boto3; extra == "delta-table"
91
90
  Requires-Dist: deltalake; extra == "delta-table"
91
+ Requires-Dist: boto3; extra == "delta-table"
92
92
  Provides-Extra: discord
93
93
  Requires-Dist: discord-py; extra == "discord"
94
94
  Provides-Extra: dropbox
@@ -103,15 +103,15 @@ Requires-Dist: gcsfs; extra == "gcs"
103
103
  Requires-Dist: fsspec; extra == "gcs"
104
104
  Requires-Dist: bs4; extra == "gcs"
105
105
  Provides-Extra: github
106
- Requires-Dist: pygithub>1.58.0; extra == "github"
107
106
  Requires-Dist: requests; extra == "github"
107
+ Requires-Dist: pygithub>1.58.0; extra == "github"
108
108
  Provides-Extra: gitlab
109
109
  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
@@ -125,23 +125,23 @@ Requires-Dist: pymilvus; extra == "milvus"
125
125
  Provides-Extra: mongodb
126
126
  Requires-Dist: pymongo; extra == "mongodb"
127
127
  Provides-Extra: neo4j
128
- Requires-Dist: cymple; extra == "neo4j"
129
128
  Requires-Dist: networkx; extra == "neo4j"
130
129
  Requires-Dist: neo4j; extra == "neo4j"
130
+ Requires-Dist: cymple; extra == "neo4j"
131
131
  Provides-Extra: notion
132
- Requires-Dist: htmlBuilder; extra == "notion"
133
132
  Requires-Dist: backoff; extra == "notion"
133
+ Requires-Dist: htmlBuilder; extra == "notion"
134
134
  Requires-Dist: httpx; extra == "notion"
135
135
  Requires-Dist: notion-client; extra == "notion"
136
136
  Provides-Extra: onedrive
137
- Requires-Dist: msal; extra == "onedrive"
138
- Requires-Dist: bs4; extra == "onedrive"
139
137
  Requires-Dist: Office365-REST-Python-Client; extra == "onedrive"
138
+ Requires-Dist: bs4; extra == "onedrive"
139
+ Requires-Dist: msal; extra == "onedrive"
140
140
  Provides-Extra: opensearch
141
141
  Requires-Dist: opensearch-py; extra == "opensearch"
142
142
  Provides-Extra: outlook
143
- Requires-Dist: msal; extra == "outlook"
144
143
  Requires-Dist: Office365-REST-Python-Client; extra == "outlook"
144
+ Requires-Dist: msal; extra == "outlook"
145
145
  Provides-Extra: pinecone
146
146
  Requires-Dist: pinecone-client>=3.7.1; extra == "pinecone"
147
147
  Provides-Extra: postgres
@@ -150,22 +150,24 @@ Provides-Extra: qdrant
150
150
  Requires-Dist: qdrant-client; extra == "qdrant"
151
151
  Provides-Extra: reddit
152
152
  Requires-Dist: praw; extra == "reddit"
153
+ Provides-Extra: redis
154
+ Requires-Dist: redis; extra == "redis"
153
155
  Provides-Extra: s3
154
- Requires-Dist: s3fs; extra == "s3"
155
156
  Requires-Dist: fsspec; extra == "s3"
157
+ Requires-Dist: s3fs; extra == "s3"
156
158
  Provides-Extra: sharepoint
157
- Requires-Dist: msal; extra == "sharepoint"
158
159
  Requires-Dist: Office365-REST-Python-Client; extra == "sharepoint"
160
+ Requires-Dist: msal; extra == "sharepoint"
159
161
  Provides-Extra: salesforce
160
162
  Requires-Dist: simple-salesforce; extra == "salesforce"
161
163
  Provides-Extra: sftp
162
- Requires-Dist: fsspec; extra == "sftp"
163
164
  Requires-Dist: paramiko; extra == "sftp"
165
+ Requires-Dist: fsspec; extra == "sftp"
164
166
  Provides-Extra: slack
165
167
  Requires-Dist: slack_sdk[optional]; extra == "slack"
166
168
  Provides-Extra: snowflake
167
- Requires-Dist: snowflake-connector-python; extra == "snowflake"
168
169
  Requires-Dist: psycopg2-binary; extra == "snowflake"
170
+ Requires-Dist: snowflake-connector-python; extra == "snowflake"
169
171
  Provides-Extra: wikipedia
170
172
  Requires-Dist: wikipedia; extra == "wikipedia"
171
173
  Provides-Extra: weaviate
@@ -176,6 +178,8 @@ Provides-Extra: singlestore
176
178
  Requires-Dist: singlestoredb; extra == "singlestore"
177
179
  Provides-Extra: vectara
178
180
  Requires-Dist: requests; extra == "vectara"
181
+ Requires-Dist: aiofiles; extra == "vectara"
182
+ Requires-Dist: httpx; extra == "vectara"
179
183
  Provides-Extra: embed-huggingface
180
184
  Requires-Dist: sentence-transformers; extra == "embed-huggingface"
181
185
  Provides-Extra: embed-octoai
@@ -74,3 +74,6 @@ omit=[
74
74
  "unstructured_ingest/ingest_backoff/*",
75
75
  "unstructured_ingest/enhanced_dataclass/*"
76
76
  ]
77
+
78
+ [tool.pytest.ini_options]
79
+ asyncio_default_fixture_loop_scope="function"
@@ -117,6 +117,7 @@ connectors_reqs = {
117
117
  "postgres": load_requirements("requirements/connectors/postgres.in"),
118
118
  "qdrant": load_requirements("requirements/connectors/qdrant.in"),
119
119
  "reddit": load_requirements("requirements/connectors/reddit.in"),
120
+ "redis": load_requirements("requirements/connectors/redis.in"),
120
121
  "s3": load_requirements("requirements/connectors/s3.in"),
121
122
  "sharepoint": load_requirements("requirements/connectors/sharepoint.in"),
122
123
  "salesforce": load_requirements("requirements/connectors/salesforce.in"),
@@ -174,6 +174,19 @@ def test_precheck_fails_on_nonexistent_collection(collection: str):
174
174
  uploader.precheck()
175
175
 
176
176
 
177
+ @pytest.mark.tags(CONNECTOR_TYPE, DESTINATION_TAG)
178
+ def test_precheck_fails_on_nonexisting_db(collection: str):
179
+ uploader = MilvusUploader(
180
+ connection_config=MilvusConnectionConfig(uri=DB_URI),
181
+ upload_config=MilvusUploaderConfig(db_name="nonexisting_db", collection_name=collection),
182
+ )
183
+ with pytest.raises(
184
+ DestinationConnectionError,
185
+ match="database not found",
186
+ ):
187
+ uploader.precheck()
188
+
189
+
177
190
  @pytest.mark.parametrize("upload_file_str", ["upload_file_ndjson", "upload_file"])
178
191
  def test_milvus_stager(
179
192
  request: TopRequest,
@@ -20,6 +20,9 @@ from unstructured_ingest.v2.processes.connectors.onedrive import (
20
20
 
21
21
 
22
22
  @pytest.fixture
23
+ @pytest.mark.xfail(
24
+ reason="Issues with test setup on the provider side."
25
+ ) # TODO: remove line when issues are addressed
23
26
  def onedrive_test_folder() -> str:
24
27
  """
25
28
  Pytest fixture that creates a test folder in OneDrive and deletes it after test run.
@@ -66,6 +69,9 @@ def get_connection_config():
66
69
 
67
70
  @pytest.mark.tags(CONNECTOR_TYPE, DESTINATION_TAG)
68
71
  @requires_env("MS_CLIENT_CRED", "MS_CLIENT_ID", "MS_TENANT_ID", "MS_USER_PNAME")
72
+ @pytest.mark.xfail(
73
+ reason="Issues with test setup on the provider side."
74
+ ) # TODO: remove line when issues are addressed
69
75
  def test_onedrive_destination(upload_file: Path, onedrive_test_folder: str):
70
76
  """
71
77
  Integration test for the OneDrive destination connector.
@@ -0,0 +1,119 @@
1
+ import asyncio
2
+ import json
3
+ import os
4
+ from pathlib import Path
5
+ from typing import Optional
6
+
7
+ import numpy as np
8
+ import pytest
9
+ from redis import exceptions as redis_exceptions
10
+ from redis.asyncio import Redis, from_url
11
+
12
+ from test.integration.connectors.utils.constants import DESTINATION_TAG
13
+ from test.integration.utils import requires_env
14
+ from unstructured_ingest.v2.interfaces.file_data import FileData, SourceIdentifiers
15
+ from unstructured_ingest.v2.processes.connectors.redisdb import (
16
+ CONNECTOR_TYPE as REDIS_CONNECTOR_TYPE,
17
+ )
18
+ from unstructured_ingest.v2.processes.connectors.redisdb import (
19
+ RedisAccessConfig,
20
+ RedisConnectionConfig,
21
+ RedisUploader,
22
+ RedisUploaderConfig,
23
+ )
24
+
25
+
26
+ async def delete_record(client: Redis, element_id: str) -> None:
27
+ await client.delete(element_id)
28
+
29
+
30
+ async def validate_upload(client: Redis, first_element: dict):
31
+ element_id = first_element["element_id"]
32
+ expected_text = first_element["text"]
33
+ expected_embeddings = first_element["embeddings"]
34
+ async with client.pipeline(transaction=True) as pipe:
35
+ try:
36
+ response = await pipe.json().get(element_id, "$").execute()
37
+ response = response[0][0]
38
+ except redis_exceptions.ResponseError:
39
+ response = await pipe.get(element_id).execute()
40
+ response = json.loads(response[0])
41
+
42
+ embedding_similarity = np.linalg.norm(
43
+ np.array(response["embeddings"]) - np.array(expected_embeddings)
44
+ )
45
+
46
+ assert response is not None
47
+ assert response["element_id"] == element_id
48
+ assert response["text"] == expected_text
49
+ assert embedding_similarity < 1e-10
50
+
51
+
52
+ async def redis_destination_test(
53
+ upload_file: Path,
54
+ tmp_path: Path,
55
+ connection_kwargs: dict,
56
+ uri: Optional[str] = None,
57
+ password: Optional[str] = None,
58
+ ):
59
+ uploader = RedisUploader(
60
+ connection_config=RedisConnectionConfig(
61
+ **connection_kwargs, access_config=RedisAccessConfig(uri=uri, password=password)
62
+ ),
63
+ upload_config=RedisUploaderConfig(batch_size=10),
64
+ )
65
+
66
+ file_data = FileData(
67
+ source_identifiers=SourceIdentifiers(fullpath=upload_file.name, filename=upload_file.name),
68
+ connector_type=REDIS_CONNECTOR_TYPE,
69
+ identifier="mock-file-data",
70
+ )
71
+ with upload_file.open() as upload_fp:
72
+ elements = json.load(upload_fp)
73
+ first_element = elements[0]
74
+
75
+ try:
76
+ if uploader.is_async():
77
+ await uploader.run_data_async(data=elements, file_data=file_data)
78
+
79
+ if uri:
80
+ async with from_url(uri) as client:
81
+ await validate_upload(client=client, first_element=first_element)
82
+ else:
83
+ async with Redis(**connection_kwargs, password=password) as client:
84
+ await validate_upload(client=client, first_element=first_element)
85
+ except Exception as e:
86
+ raise e
87
+ finally:
88
+ if uri:
89
+ async with from_url(uri) as client:
90
+ tasks = [delete_record(client, element["element_id"]) for element in elements]
91
+ await asyncio.gather(*tasks)
92
+ else:
93
+ async with Redis(**connection_kwargs, password=password) as client:
94
+ tasks = [delete_record(client, element["element_id"]) for element in elements]
95
+ await asyncio.gather(*tasks)
96
+
97
+
98
+ @pytest.mark.asyncio
99
+ @pytest.mark.tags(REDIS_CONNECTOR_TYPE, DESTINATION_TAG)
100
+ @requires_env("AZURE_REDIS_INGEST_TEST_PASSWORD")
101
+ async def test_redis_destination_azure_with_password(upload_file: Path, tmp_path: Path):
102
+ connection_kwargs = {
103
+ "host": "utic-dashboard-dev.redis.cache.windows.net",
104
+ "port": 6380,
105
+ "db": 0,
106
+ "ssl": True,
107
+ }
108
+ redis_pw = os.environ["AZURE_REDIS_INGEST_TEST_PASSWORD"]
109
+ await redis_destination_test(upload_file, tmp_path, connection_kwargs, password=redis_pw)
110
+
111
+
112
+ @pytest.mark.asyncio
113
+ @pytest.mark.tags(REDIS_CONNECTOR_TYPE, DESTINATION_TAG, "redis")
114
+ @requires_env("AZURE_REDIS_INGEST_TEST_PASSWORD")
115
+ async def test_redis_destination_azure_with_uri(upload_file: Path, tmp_path: Path):
116
+ connection_kwargs = {}
117
+ redis_pw = os.environ["AZURE_REDIS_INGEST_TEST_PASSWORD"]
118
+ uri = f"rediss://:{redis_pw}@utic-dashboard-dev.redis.cache.windows.net:6380/0"
119
+ await redis_destination_test(upload_file, tmp_path, connection_kwargs, uri=uri)
@@ -0,0 +1,270 @@
1
+ import json
2
+ import os
3
+ import time
4
+ from pathlib import Path
5
+ from typing import Generator
6
+ from uuid import uuid4
7
+
8
+ import pytest
9
+ import requests
10
+
11
+ from test.integration.connectors.utils.constants import DESTINATION_TAG
12
+ from test.integration.utils import requires_env
13
+ from unstructured_ingest.v2.interfaces.file_data import FileData, SourceIdentifiers
14
+ from unstructured_ingest.v2.logger import logger
15
+ from unstructured_ingest.v2.processes.connectors.vectara import (
16
+ CONNECTOR_TYPE as VECTARA_CONNECTOR_TYPE,
17
+ )
18
+ from unstructured_ingest.v2.processes.connectors.vectara import (
19
+ VectaraAccessConfig,
20
+ VectaraConnectionConfig,
21
+ VectaraUploader,
22
+ VectaraUploaderConfig,
23
+ VectaraUploadStager,
24
+ VectaraUploadStagerConfig,
25
+ )
26
+
27
+
28
+ def validate_upload(response: dict, expected_data: dict):
29
+ element_id = expected_data["element_id"]
30
+ expected_text = expected_data["text"]
31
+ filename = expected_data["metadata"]["filename"]
32
+ filetype = expected_data["metadata"]["filetype"]
33
+ page_number = expected_data["metadata"]["page_number"]
34
+
35
+ response = response["search_results"][0]
36
+
37
+ assert response is not None
38
+ assert response["text"] == expected_text
39
+ assert response["part_metadata"]["element_id"] == element_id
40
+ assert response["part_metadata"]["filename"] == filename
41
+ assert response["part_metadata"]["filetype"] == filetype
42
+ assert response["part_metadata"]["page_number"] == page_number
43
+
44
+
45
+ @requires_env("VECTARA_OAUTH_CLIENT_ID", "VECTARA_OAUTH_SECRET", "VECTARA_CUSTOMER_ID")
46
+ def _get_jwt_token():
47
+ """Connect to the server and get a JWT token."""
48
+ customer_id = os.environ["VECTARA_CUSTOMER_ID"]
49
+ token_endpoint = (
50
+ f"https://vectara-prod-{customer_id}.auth.us-west-2.amazoncognito.com/oauth2/token"
51
+ )
52
+ headers = {
53
+ "Content-Type": "application/x-www-form-urlencoded",
54
+ }
55
+ data = {
56
+ "grant_type": "client_credentials",
57
+ "client_id": os.environ["VECTARA_OAUTH_CLIENT_ID"],
58
+ "client_secret": os.environ["VECTARA_OAUTH_SECRET"],
59
+ }
60
+
61
+ response = requests.post(token_endpoint, headers=headers, data=data)
62
+ response.raise_for_status()
63
+ response_json = response.json()
64
+
65
+ return response_json.get("access_token")
66
+
67
+
68
+ def query_data(corpus_key: str, element_id: str) -> dict:
69
+
70
+ url = f"https://api.vectara.io/v2/corpora/{corpus_key}/query"
71
+
72
+ # the query below requires the corpus to have filter attributes for element_id
73
+
74
+ data = json.dumps(
75
+ {
76
+ "query": "string",
77
+ "search": {
78
+ "metadata_filter": f"part.element_id = '{element_id}'",
79
+ "lexical_interpolation": 1,
80
+ "limit": 10,
81
+ },
82
+ }
83
+ )
84
+
85
+ jwt_token = _get_jwt_token()
86
+ headers = {
87
+ "Content-Type": "application/json",
88
+ "Accept": "application/json",
89
+ "Authorization": f"Bearer {jwt_token}",
90
+ "X-source": "unstructured",
91
+ }
92
+
93
+ response = requests.post(url, headers=headers, data=data)
94
+ response.raise_for_status()
95
+ response_json = response.json()
96
+
97
+ return response_json
98
+
99
+
100
+ def create_corpora(corpus_key: str, corpus_name: str) -> None:
101
+ url = "https://api.vectara.io/v2/corpora"
102
+ data = json.dumps({"key": corpus_key, "name": corpus_name, "description": "integration test"})
103
+ jwt_token = _get_jwt_token()
104
+ headers = {
105
+ "Content-Type": "application/json",
106
+ "Accept": "application/json",
107
+ "Authorization": f"Bearer {jwt_token}",
108
+ "X-source": "unstructured",
109
+ }
110
+
111
+ response = requests.post(url, headers=headers, data=data)
112
+ response.raise_for_status()
113
+
114
+
115
+ def replace_filter_attributes(corpus_key: str) -> None:
116
+ url = f"https://api.vectara.io/v2/corpora/{corpus_key}/replace_filter_attributes"
117
+ data = json.dumps(
118
+ {
119
+ "filter_attributes": [
120
+ {"name": "element_id", "level": "part", "indexed": True, "type": "text"}
121
+ ]
122
+ }
123
+ )
124
+ jwt_token = _get_jwt_token()
125
+ headers = {
126
+ "Content-Type": "application/json",
127
+ "Accept": "application/json",
128
+ "Authorization": f"Bearer {jwt_token}",
129
+ "X-source": "unstructured",
130
+ }
131
+
132
+ response = requests.post(url, headers=headers, data=data)
133
+ response.raise_for_status()
134
+
135
+
136
+ def delete_corpora(corpus_key: str) -> None:
137
+ url = f"https://api.vectara.io/v2/corpora/{corpus_key}"
138
+
139
+ jwt_token = _get_jwt_token()
140
+ headers = {
141
+ "Content-Type": "application/json",
142
+ "Accept": "application/json",
143
+ "Authorization": f"Bearer {jwt_token}",
144
+ "X-source": "unstructured",
145
+ }
146
+
147
+ response = requests.delete(url, headers=headers)
148
+ response.raise_for_status()
149
+
150
+
151
+ def list_corpora() -> list:
152
+ url = "https://api.vectara.io/v2/corpora?limit=100"
153
+ jwt_token = _get_jwt_token()
154
+ headers = {
155
+ "Content-Type": "application/json",
156
+ "Accept": "application/json",
157
+ "Authorization": f"Bearer {jwt_token}",
158
+ "X-source": "unstructured",
159
+ }
160
+ response = requests.get(url, headers=headers)
161
+ response.raise_for_status()
162
+ response_json = response.json()
163
+ if response_json.get("corpora"):
164
+ return [item["key"] for item in response_json.get("corpora")]
165
+ else:
166
+ return []
167
+
168
+
169
+ def wait_for_ready(corpus_key: str, timeout=60, interval=2) -> None:
170
+ def is_ready_status():
171
+ corpora_list = list_corpora()
172
+ return corpus_key in corpora_list
173
+
174
+ start = time.time()
175
+ is_ready = is_ready_status()
176
+ while not is_ready and time.time() - start < timeout:
177
+ time.sleep(interval)
178
+ is_ready = is_ready_status()
179
+ if not is_ready:
180
+ raise TimeoutError("time out waiting for corpus to be ready")
181
+
182
+
183
+ def wait_for_delete(corpus_key: str, timeout=60, interval=2) -> None:
184
+ start = time.time()
185
+ while time.time() - start < timeout:
186
+ corpora_list = list_corpora()
187
+ if corpus_key not in corpora_list:
188
+ return
189
+ time.sleep(interval)
190
+
191
+ raise TimeoutError("time out waiting for corpus to delete")
192
+
193
+
194
+ @pytest.fixture
195
+ def corpora_util() -> Generator[str, None, None]:
196
+ random_id = str(uuid4()).split("-")[0]
197
+ corpus_key = f"ingest-test-{random_id}"
198
+ corpus_name = "ingest-test"
199
+ logger.info(f"Creating corpus with key: {corpus_key}")
200
+ try:
201
+ create_corpora(corpus_key, corpus_name)
202
+ replace_filter_attributes(corpus_key)
203
+ wait_for_ready(corpus_key=corpus_key)
204
+ yield corpus_key
205
+ except Exception as e:
206
+ logger.error(f"failed to create corpus {corpus_key}: {e}")
207
+ finally:
208
+ logger.info(f"deleting corpus: {corpus_key}")
209
+ delete_corpora(corpus_key)
210
+ wait_for_delete(corpus_key=corpus_key)
211
+
212
+
213
+ @pytest.mark.asyncio
214
+ @pytest.mark.tags(VECTARA_CONNECTOR_TYPE, DESTINATION_TAG, "vectara")
215
+ @requires_env("VECTARA_OAUTH_CLIENT_ID", "VECTARA_OAUTH_SECRET", "VECTARA_CUSTOMER_ID")
216
+ async def test_vectara_destination(
217
+ upload_file: Path, tmp_path: Path, corpora_util: str, retries=30, interval=10
218
+ ):
219
+ corpus_key = corpora_util
220
+ connection_kwargs = {
221
+ "customer_id": os.environ["VECTARA_CUSTOMER_ID"],
222
+ "corpus_key": corpus_key,
223
+ }
224
+
225
+ oauth_client_id = os.environ["VECTARA_OAUTH_CLIENT_ID"]
226
+ oauth_secret = os.environ["VECTARA_OAUTH_SECRET"]
227
+
228
+ file_data = FileData(
229
+ source_identifiers=SourceIdentifiers(fullpath=upload_file.name, filename=upload_file.name),
230
+ connector_type=VECTARA_CONNECTOR_TYPE,
231
+ identifier="mock-file-data",
232
+ )
233
+
234
+ stager_config = VectaraUploadStagerConfig(batch_size=10)
235
+ stager = VectaraUploadStager(upload_stager_config=stager_config)
236
+ new_upload_file = stager.run(
237
+ elements_filepath=upload_file,
238
+ output_dir=tmp_path,
239
+ output_filename=upload_file.name,
240
+ file_data=file_data,
241
+ )
242
+
243
+ uploader = VectaraUploader(
244
+ connection_config=VectaraConnectionConfig(
245
+ **connection_kwargs,
246
+ access_config=VectaraAccessConfig(
247
+ oauth_client_id=oauth_client_id, oauth_secret=oauth_secret
248
+ ),
249
+ ),
250
+ upload_config=VectaraUploaderConfig(),
251
+ )
252
+
253
+ with new_upload_file.open() as new_upload_fp:
254
+ elements_stager = json.load(new_upload_fp)
255
+
256
+ if uploader.is_async():
257
+ await uploader.run_data_async(data=elements_stager, file_data=file_data)
258
+
259
+ with upload_file.open() as upload_fp:
260
+ elements = json.load(upload_fp)
261
+ first_element = elements[0]
262
+
263
+ for i in range(retries):
264
+ response = query_data(corpus_key, first_element["element_id"])
265
+ if not response["search_results"]:
266
+ time.sleep(interval)
267
+ else:
268
+ break
269
+
270
+ validate_upload(response=response, expected_data=first_element)
@@ -2,9 +2,12 @@ import json
2
2
  import os
3
3
  from pathlib import Path
4
4
 
5
+ import pytest
6
+
5
7
  from test.integration.embedders.utils import validate_embedding_output, validate_raw_embedder
6
8
  from test.integration.utils import requires_env
7
9
  from unstructured_ingest.embed.bedrock import BedrockEmbeddingConfig, BedrockEmbeddingEncoder
10
+ from unstructured_ingest.v2.errors import UserAuthError, UserError
8
11
  from unstructured_ingest.v2.processes.embedder import Embedder, EmbedderConfig
9
12
 
10
13
 
@@ -47,3 +50,28 @@ def test_raw_bedrock_embedder(embedder_file: Path):
47
50
  expected_dimensions=(1536,),
48
51
  expected_is_unit_vector=False,
49
52
  )
53
+
54
+
55
+ def test_raw_bedrock_embedder_invalid_credentials(embedder_file: Path):
56
+ embedder = BedrockEmbeddingEncoder(
57
+ config=BedrockEmbeddingConfig(
58
+ aws_access_key_id="no_key",
59
+ aws_secret_access_key="no_secret",
60
+ )
61
+ )
62
+ with pytest.raises(UserAuthError):
63
+ embedder.get_exemplary_embedding()
64
+
65
+
66
+ @requires_env("AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY")
67
+ def test_raw_bedrock_embedder_invalid_model(embedder_file: Path):
68
+ aws_credentials = get_aws_credentials()
69
+ embedder = BedrockEmbeddingEncoder(
70
+ config=BedrockEmbeddingConfig(
71
+ aws_access_key_id=aws_credentials["aws_access_key_id"],
72
+ aws_secret_access_key=aws_credentials["aws_secret_access_key"],
73
+ model_name="invalid_model",
74
+ )
75
+ )
76
+ with pytest.raises(UserError):
77
+ embedder.get_exemplary_embedding()
@@ -2,9 +2,12 @@ import json
2
2
  import os
3
3
  from pathlib import Path
4
4
 
5
+ import pytest
6
+
5
7
  from test.integration.embedders.utils import validate_embedding_output, validate_raw_embedder
6
8
  from test.integration.utils import requires_env
7
9
  from unstructured_ingest.embed.octoai import OctoAiEmbeddingConfig, OctoAIEmbeddingEncoder
10
+ from unstructured_ingest.v2.errors import UserAuthError
8
11
  from unstructured_ingest.v2.processes.embedder import Embedder, EmbedderConfig
9
12
 
10
13
  API_KEY = "OCTOAI_API_KEY"
@@ -39,3 +42,14 @@ def test_raw_octoai_embedder(embedder_file: Path):
39
42
  validate_raw_embedder(
40
43
  embedder=embedder, embedder_file=embedder_file, expected_dimensions=(1024,)
41
44
  )
45
+
46
+
47
+ @pytest.mark.skip(reason="Unexpected connection error at the moment")
48
+ def test_raw_octoai_embedder_invalid_credentials():
49
+ embedder = OctoAIEmbeddingEncoder(
50
+ config=OctoAiEmbeddingConfig(
51
+ api_key="fake_api_key",
52
+ )
53
+ )
54
+ with pytest.raises(UserAuthError):
55
+ embedder.get_exemplary_embedding()
@@ -2,9 +2,12 @@ import json
2
2
  import os
3
3
  from pathlib import Path
4
4
 
5
+ import pytest
6
+
5
7
  from test.integration.embedders.utils import validate_embedding_output, validate_raw_embedder
6
8
  from test.integration.utils import requires_env
7
9
  from unstructured_ingest.embed.openai import OpenAIEmbeddingConfig, OpenAIEmbeddingEncoder
10
+ from unstructured_ingest.v2.errors import UserAuthError
8
11
  from unstructured_ingest.v2.processes.embedder import Embedder, EmbedderConfig
9
12
 
10
13
  API_KEY = "OPENAI_API_KEY"
@@ -39,3 +42,13 @@ def test_raw_openai_embedder(embedder_file: Path):
39
42
  validate_raw_embedder(
40
43
  embedder=embedder, embedder_file=embedder_file, expected_dimensions=(1536,)
41
44
  )
45
+
46
+
47
+ def test_raw_openai_embedder_invalid_credentials():
48
+ embedder = OpenAIEmbeddingEncoder(
49
+ config=OpenAIEmbeddingConfig(
50
+ api_key="fake_api_key",
51
+ )
52
+ )
53
+ with pytest.raises(UserAuthError):
54
+ embedder.get_exemplary_embedding()