unstructured-ingest 0.5.15__tar.gz → 0.5.16__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 (595) hide show
  1. {unstructured_ingest-0.5.15/unstructured_ingest.egg-info → unstructured_ingest-0.5.16}/PKG-INFO +19 -19
  2. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_zendesk.py +31 -53
  3. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/utils/validation/source.py +5 -3
  4. unstructured_ingest-0.5.16/unstructured_ingest/__version__.py +1 -0
  5. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/steps/download.py +3 -3
  6. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/steps/index.py +4 -4
  7. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/databricks/volumes_table.py +1 -1
  8. unstructured_ingest-0.5.16/unstructured_ingest/v2/processes/connectors/zendesk/client.py +308 -0
  9. unstructured_ingest-0.5.16/unstructured_ingest/v2/processes/connectors/zendesk/zendesk.py +234 -0
  10. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16/unstructured_ingest.egg-info}/PKG-INFO +19 -19
  11. unstructured_ingest-0.5.15/unstructured_ingest/__version__.py +0 -1
  12. unstructured_ingest-0.5.15/unstructured_ingest/v2/processes/connectors/zendesk/client.py +0 -243
  13. unstructured_ingest-0.5.15/unstructured_ingest/v2/processes/connectors/zendesk/zendesk.py +0 -425
  14. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/LICENSE.md +0 -0
  15. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/MANIFEST.in +0 -0
  16. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/README.md +0 -0
  17. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/pyproject.toml +0 -0
  18. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/setup.cfg +0 -0
  19. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/setup.py +0 -0
  20. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/__init__.py +0 -0
  21. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/__init__.py +0 -0
  22. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/chunkers/__init__.py +0 -0
  23. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/chunkers/test_chunkers.py +0 -0
  24. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/__init__.py +0 -0
  25. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/conftest.py +0 -0
  26. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/databricks/__init__.py +0 -0
  27. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/databricks/test_volumes_native.py +0 -0
  28. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/discord/__init__.py +0 -0
  29. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/discord/test_discord.py +0 -0
  30. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/duckdb/__init__.py +0 -0
  31. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/duckdb/conftest.py +0 -0
  32. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/duckdb/test_duckdb.py +0 -0
  33. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/duckdb/test_motherduck.py +0 -0
  34. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/elasticsearch/__init__.py +0 -0
  35. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/elasticsearch/conftest.py +0 -0
  36. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/elasticsearch/test_elasticsearch.py +0 -0
  37. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/elasticsearch/test_opensearch.py +0 -0
  38. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/sql/__init__.py +0 -0
  39. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/sql/test_databricks_delta_tables.py +0 -0
  40. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/sql/test_postgres.py +0 -0
  41. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/sql/test_singlestore.py +0 -0
  42. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/sql/test_snowflake.py +0 -0
  43. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/sql/test_sqlite.py +0 -0
  44. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/sql/test_vastdb.py +0 -0
  45. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_astradb.py +0 -0
  46. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_azure_ai_search.py +0 -0
  47. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_chroma.py +0 -0
  48. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_confluence.py +0 -0
  49. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_delta_table.py +0 -0
  50. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_dropbox.py +0 -0
  51. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_google_drive.py +0 -0
  52. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_jira.py +0 -0
  53. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_lancedb.py +0 -0
  54. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_milvus.py +0 -0
  55. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_mongodb.py +0 -0
  56. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_neo4j.py +0 -0
  57. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_notion.py +0 -0
  58. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_onedrive.py +0 -0
  59. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_pinecone.py +0 -0
  60. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_qdrant.py +0 -0
  61. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_redis.py +0 -0
  62. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_s3.py +0 -0
  63. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_sharepoint.py +0 -0
  64. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_vectara.py +0 -0
  65. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/utils/__init__.py +0 -0
  66. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/utils/constants.py +0 -0
  67. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/utils/docker.py +0 -0
  68. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/utils/docker_compose.py +0 -0
  69. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/utils/validation/__init__.py +0 -0
  70. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/utils/validation/destination.py +0 -0
  71. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/utils/validation/equality.py +0 -0
  72. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/utils/validation/utils.py +0 -0
  73. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/weaviate/__init__.py +0 -0
  74. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/weaviate/conftest.py +0 -0
  75. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/weaviate/test_cloud.py +0 -0
  76. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/weaviate/test_local.py +0 -0
  77. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/__init__.py +0 -0
  78. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/conftest.py +0 -0
  79. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/test_azure_openai.py +0 -0
  80. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/test_bedrock.py +0 -0
  81. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/test_huggingface.py +0 -0
  82. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/test_mixedbread.py +0 -0
  83. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/test_octoai.py +0 -0
  84. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/test_openai.py +0 -0
  85. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/test_togetherai.py +0 -0
  86. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/test_vertexai.py +0 -0
  87. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/test_voyageai.py +0 -0
  88. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/utils.py +0 -0
  89. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/partitioners/__init__.py +0 -0
  90. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/partitioners/test_partitioner.py +0 -0
  91. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/utils.py +0 -0
  92. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/__init__.py +0 -0
  93. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/embed/__init__.py +0 -0
  94. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/embed/test_mixedbreadai.py +0 -0
  95. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/embed/test_octoai.py +0 -0
  96. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/embed/test_openai.py +0 -0
  97. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/embed/test_vertexai.py +0 -0
  98. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/embed/test_voyageai.py +0 -0
  99. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/test_error.py +0 -0
  100. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/test_html.py +0 -0
  101. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/test_logger.py +0 -0
  102. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/test_utils.py +0 -0
  103. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/__init__.py +0 -0
  104. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/chunkers/__init__.py +0 -0
  105. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/chunkers/test_chunkers.py +0 -0
  106. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/connectors/__init__.py +0 -0
  107. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/connectors/databricks/__init__.py +0 -0
  108. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/connectors/databricks/test_volumes_table.py +0 -0
  109. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/connectors/motherduck/__init__.py +0 -0
  110. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/connectors/motherduck/test_base.py +0 -0
  111. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/connectors/sql/__init__.py +0 -0
  112. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/connectors/sql/test_sql.py +0 -0
  113. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/connectors/test_confluence.py +0 -0
  114. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/connectors/test_jira.py +0 -0
  115. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/embedders/__init__.py +0 -0
  116. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/embedders/test_bedrock.py +0 -0
  117. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/embedders/test_huggingface.py +0 -0
  118. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/embedders/test_mixedbread.py +0 -0
  119. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/embedders/test_octoai.py +0 -0
  120. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/embedders/test_openai.py +0 -0
  121. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/embedders/test_togetherai.py +0 -0
  122. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/embedders/test_vertexai.py +0 -0
  123. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/embedders/test_voyageai.py +0 -0
  124. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/partitioners/__init__.py +0 -0
  125. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/partitioners/test_partitioner.py +0 -0
  126. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/test_interfaces.py +0 -0
  127. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/test_utils.py +0 -0
  128. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/utils/__init__.py +0 -0
  129. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/utils/data_generator.py +0 -0
  130. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/__init__.py +0 -0
  131. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/__init__.py +0 -0
  132. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/base/__init__.py +0 -0
  133. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/base/cmd.py +0 -0
  134. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/base/dest.py +0 -0
  135. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/base/src.py +0 -0
  136. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cli.py +0 -0
  137. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmd_factory.py +0 -0
  138. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/__init__.py +0 -0
  139. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/airtable.py +0 -0
  140. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/astradb.py +0 -0
  141. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/azure_ai_search.py +0 -0
  142. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/biomed.py +0 -0
  143. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/chroma.py +0 -0
  144. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/clarifai.py +0 -0
  145. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/confluence.py +0 -0
  146. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/databricks_volumes.py +0 -0
  147. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/delta_table.py +0 -0
  148. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/discord.py +0 -0
  149. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/elasticsearch.py +0 -0
  150. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/fsspec/__init__.py +0 -0
  151. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/fsspec/azure.py +0 -0
  152. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/fsspec/box.py +0 -0
  153. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/fsspec/dropbox.py +0 -0
  154. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/fsspec/fsspec.py +0 -0
  155. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/fsspec/gcs.py +0 -0
  156. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/fsspec/s3.py +0 -0
  157. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/fsspec/sftp.py +0 -0
  158. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/github.py +0 -0
  159. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/gitlab.py +0 -0
  160. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/google_drive.py +0 -0
  161. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/hubspot.py +0 -0
  162. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/jira.py +0 -0
  163. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/kafka.py +0 -0
  164. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/local.py +0 -0
  165. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/mongodb.py +0 -0
  166. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/notion.py +0 -0
  167. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/onedrive.py +0 -0
  168. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/opensearch.py +0 -0
  169. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/outlook.py +0 -0
  170. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/pinecone.py +0 -0
  171. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/qdrant.py +0 -0
  172. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/reddit.py +0 -0
  173. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/salesforce.py +0 -0
  174. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/sharepoint.py +0 -0
  175. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/slack.py +0 -0
  176. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/sql.py +0 -0
  177. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/vectara.py +0 -0
  178. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/weaviate.py +0 -0
  179. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/wikipedia.py +0 -0
  180. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/common.py +0 -0
  181. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/interfaces.py +0 -0
  182. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/utils.py +0 -0
  183. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/__init__.py +0 -0
  184. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/airtable.py +0 -0
  185. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/astradb.py +0 -0
  186. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/azure_ai_search.py +0 -0
  187. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/biomed.py +0 -0
  188. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/chroma.py +0 -0
  189. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/clarifai.py +0 -0
  190. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/confluence.py +0 -0
  191. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/databricks_volumes.py +0 -0
  192. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/delta_table.py +0 -0
  193. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/discord.py +0 -0
  194. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/elasticsearch.py +0 -0
  195. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/fsspec/__init__.py +0 -0
  196. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/fsspec/azure.py +0 -0
  197. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/fsspec/box.py +0 -0
  198. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/fsspec/dropbox.py +0 -0
  199. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/fsspec/fsspec.py +0 -0
  200. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/fsspec/gcs.py +0 -0
  201. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/fsspec/s3.py +0 -0
  202. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/fsspec/sftp.py +0 -0
  203. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/git.py +0 -0
  204. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/github.py +0 -0
  205. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/gitlab.py +0 -0
  206. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/google_drive.py +0 -0
  207. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/hubspot.py +0 -0
  208. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/jira.py +0 -0
  209. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/kafka.py +0 -0
  210. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/local.py +0 -0
  211. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/mongodb.py +0 -0
  212. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/__init__.py +0 -0
  213. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/client.py +0 -0
  214. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/connector.py +0 -0
  215. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/helpers.py +0 -0
  216. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/interfaces.py +0 -0
  217. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/__init__.py +0 -0
  218. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/block.py +0 -0
  219. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/__init__.py +0 -0
  220. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/bookmark.py +0 -0
  221. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/breadcrumb.py +0 -0
  222. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/bulleted_list_item.py +0 -0
  223. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/callout.py +0 -0
  224. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/child_database.py +0 -0
  225. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/child_page.py +0 -0
  226. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/code.py +0 -0
  227. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/column_list.py +0 -0
  228. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/divider.py +0 -0
  229. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/embed.py +0 -0
  230. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/equation.py +0 -0
  231. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/file.py +0 -0
  232. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/heading.py +0 -0
  233. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/image.py +0 -0
  234. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/link_preview.py +0 -0
  235. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/link_to_page.py +0 -0
  236. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/numbered_list.py +0 -0
  237. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/paragraph.py +0 -0
  238. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/pdf.py +0 -0
  239. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/quote.py +0 -0
  240. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/synced_block.py +0 -0
  241. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/table.py +0 -0
  242. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/table_of_contents.py +0 -0
  243. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/template.py +0 -0
  244. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/todo.py +0 -0
  245. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/toggle.py +0 -0
  246. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/unsupported.py +0 -0
  247. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/video.py +0 -0
  248. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database.py +0 -0
  249. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/__init__.py +0 -0
  250. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/checkbox.py +0 -0
  251. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/created_by.py +0 -0
  252. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/created_time.py +0 -0
  253. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/date.py +0 -0
  254. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/email.py +0 -0
  255. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/files.py +0 -0
  256. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/formula.py +0 -0
  257. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/last_edited_by.py +0 -0
  258. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/last_edited_time.py +0 -0
  259. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/multiselect.py +0 -0
  260. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/number.py +0 -0
  261. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/people.py +0 -0
  262. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/phone_number.py +0 -0
  263. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/relation.py +0 -0
  264. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/rich_text.py +0 -0
  265. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/rollup.py +0 -0
  266. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/select.py +0 -0
  267. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/status.py +0 -0
  268. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/title.py +0 -0
  269. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/unique_id.py +0 -0
  270. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/url.py +0 -0
  271. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/verification.py +0 -0
  272. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/date.py +0 -0
  273. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/file.py +0 -0
  274. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/page.py +0 -0
  275. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/parent.py +0 -0
  276. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/rich_text.py +0 -0
  277. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/user.py +0 -0
  278. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/onedrive.py +0 -0
  279. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/opensearch.py +0 -0
  280. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/outlook.py +0 -0
  281. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/pinecone.py +0 -0
  282. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/qdrant.py +0 -0
  283. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/reddit.py +0 -0
  284. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/registry.py +0 -0
  285. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/salesforce.py +0 -0
  286. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/sharepoint.py +0 -0
  287. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/slack.py +0 -0
  288. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/sql.py +0 -0
  289. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/vectara.py +0 -0
  290. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/weaviate.py +0 -0
  291. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/wikipedia.py +0 -0
  292. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/__init__.py +0 -0
  293. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/azure_openai.py +0 -0
  294. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/bedrock.py +0 -0
  295. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/huggingface.py +0 -0
  296. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/interfaces.py +0 -0
  297. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/mixedbreadai.py +0 -0
  298. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/octoai.py +0 -0
  299. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/openai.py +0 -0
  300. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/togetherai.py +0 -0
  301. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/vertexai.py +0 -0
  302. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/voyageai.py +0 -0
  303. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/enhanced_dataclass/__init__.py +0 -0
  304. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/enhanced_dataclass/core.py +0 -0
  305. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/enhanced_dataclass/dataclasses.py +0 -0
  306. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/enhanced_dataclass/json_mixin.py +0 -0
  307. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/error.py +0 -0
  308. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/ingest_backoff/__init__.py +0 -0
  309. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/ingest_backoff/_common.py +0 -0
  310. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/ingest_backoff/_wrapper.py +0 -0
  311. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/interfaces.py +0 -0
  312. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/logger.py +0 -0
  313. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/main.py +0 -0
  314. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/__init__.py +0 -0
  315. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/copy.py +0 -0
  316. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/doc_factory.py +0 -0
  317. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/interfaces.py +0 -0
  318. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/partition.py +0 -0
  319. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/permissions.py +0 -0
  320. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/pipeline.py +0 -0
  321. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/reformat/__init__.py +0 -0
  322. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/reformat/chunking.py +0 -0
  323. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/reformat/embedding.py +0 -0
  324. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/source.py +0 -0
  325. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/utils.py +0 -0
  326. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/write.py +0 -0
  327. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/processor.py +0 -0
  328. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/__init__.py +0 -0
  329. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/airtable.py +0 -0
  330. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/astradb.py +0 -0
  331. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/base_runner.py +0 -0
  332. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/biomed.py +0 -0
  333. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/confluence.py +0 -0
  334. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/delta_table.py +0 -0
  335. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/discord.py +0 -0
  336. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/elasticsearch.py +0 -0
  337. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/fsspec/__init__.py +0 -0
  338. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/fsspec/azure.py +0 -0
  339. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/fsspec/box.py +0 -0
  340. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/fsspec/dropbox.py +0 -0
  341. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/fsspec/fsspec.py +0 -0
  342. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/fsspec/gcs.py +0 -0
  343. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/fsspec/s3.py +0 -0
  344. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/fsspec/sftp.py +0 -0
  345. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/github.py +0 -0
  346. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/gitlab.py +0 -0
  347. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/google_drive.py +0 -0
  348. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/hubspot.py +0 -0
  349. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/jira.py +0 -0
  350. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/kafka.py +0 -0
  351. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/local.py +0 -0
  352. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/mongodb.py +0 -0
  353. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/notion.py +0 -0
  354. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/onedrive.py +0 -0
  355. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/opensearch.py +0 -0
  356. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/outlook.py +0 -0
  357. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/reddit.py +0 -0
  358. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/salesforce.py +0 -0
  359. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/sharepoint.py +0 -0
  360. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/slack.py +0 -0
  361. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/utils.py +0 -0
  362. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/wikipedia.py +0 -0
  363. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/__init__.py +0 -0
  364. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/astradb.py +0 -0
  365. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/azure_ai_search.py +0 -0
  366. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/base_writer.py +0 -0
  367. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/chroma.py +0 -0
  368. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/clarifai.py +0 -0
  369. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/databricks_volumes.py +0 -0
  370. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/delta_table.py +0 -0
  371. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/elasticsearch.py +0 -0
  372. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/fsspec/__init__.py +0 -0
  373. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/fsspec/azure.py +0 -0
  374. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/fsspec/box.py +0 -0
  375. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/fsspec/dropbox.py +0 -0
  376. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/fsspec/gcs.py +0 -0
  377. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/fsspec/s3.py +0 -0
  378. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/kafka.py +0 -0
  379. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/mongodb.py +0 -0
  380. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/opensearch.py +0 -0
  381. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/pinecone.py +0 -0
  382. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/qdrant.py +0 -0
  383. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/sql.py +0 -0
  384. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/vectara.py +0 -0
  385. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/weaviate.py +0 -0
  386. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/utils/__init__.py +0 -0
  387. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/utils/chunking.py +0 -0
  388. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/utils/compression.py +0 -0
  389. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/utils/data_prep.py +0 -0
  390. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/utils/dep_check.py +0 -0
  391. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/utils/google_filetype.py +0 -0
  392. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/utils/html.py +0 -0
  393. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/utils/ndjson.py +0 -0
  394. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/utils/string_and_date_utils.py +0 -0
  395. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/utils/table.py +0 -0
  396. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/__init__.py +0 -0
  397. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/__init__.py +0 -0
  398. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/base/__init__.py +0 -0
  399. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/base/cmd.py +0 -0
  400. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/base/dest.py +0 -0
  401. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/base/importer.py +0 -0
  402. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/base/src.py +0 -0
  403. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/cli.py +0 -0
  404. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/cmds.py +0 -0
  405. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/utils/__init__.py +0 -0
  406. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/utils/click.py +0 -0
  407. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/utils/model_conversion.py +0 -0
  408. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/constants.py +0 -0
  409. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/errors.py +0 -0
  410. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/interfaces/__init__.py +0 -0
  411. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/interfaces/connector.py +0 -0
  412. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/interfaces/downloader.py +0 -0
  413. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/interfaces/file_data.py +0 -0
  414. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/interfaces/indexer.py +0 -0
  415. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/interfaces/process.py +0 -0
  416. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/interfaces/processor.py +0 -0
  417. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/interfaces/upload_stager.py +0 -0
  418. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/interfaces/uploader.py +0 -0
  419. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/logger.py +0 -0
  420. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/main.py +0 -0
  421. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/otel.py +0 -0
  422. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/__init__.py +0 -0
  423. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/interfaces.py +0 -0
  424. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/otel.py +0 -0
  425. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/pipeline.py +0 -0
  426. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/steps/__init__.py +0 -0
  427. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/steps/chunk.py +0 -0
  428. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/steps/embed.py +0 -0
  429. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/steps/filter.py +0 -0
  430. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/steps/partition.py +0 -0
  431. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/steps/stage.py +0 -0
  432. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/steps/uncompress.py +0 -0
  433. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/steps/upload.py +0 -0
  434. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/__init__.py +0 -0
  435. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/chunker.py +0 -0
  436. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connector_registry.py +0 -0
  437. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/__init__.py +0 -0
  438. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/airtable.py +0 -0
  439. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/assets/__init__.py +0 -0
  440. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/assets/weaviate_collection_config.json +0 -0
  441. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/astradb.py +0 -0
  442. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/azure_ai_search.py +0 -0
  443. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/chroma.py +0 -0
  444. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/confluence.py +0 -0
  445. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/couchbase.py +0 -0
  446. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/databricks/__init__.py +0 -0
  447. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/databricks/volumes.py +0 -0
  448. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/databricks/volumes_aws.py +0 -0
  449. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/databricks/volumes_azure.py +0 -0
  450. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/databricks/volumes_gcp.py +0 -0
  451. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/databricks/volumes_native.py +0 -0
  452. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/delta_table.py +0 -0
  453. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/discord.py +0 -0
  454. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/duckdb/__init__.py +0 -0
  455. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/duckdb/base.py +0 -0
  456. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/duckdb/duckdb.py +0 -0
  457. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/duckdb/motherduck.py +0 -0
  458. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/elasticsearch/__init__.py +0 -0
  459. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/elasticsearch/elasticsearch.py +0 -0
  460. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/elasticsearch/opensearch.py +0 -0
  461. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/fsspec/__init__.py +0 -0
  462. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/fsspec/azure.py +0 -0
  463. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/fsspec/box.py +0 -0
  464. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/fsspec/dropbox.py +0 -0
  465. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/fsspec/fsspec.py +0 -0
  466. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/fsspec/gcs.py +0 -0
  467. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/fsspec/s3.py +0 -0
  468. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/fsspec/sftp.py +0 -0
  469. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/fsspec/utils.py +0 -0
  470. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/gitlab.py +0 -0
  471. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/google_drive.py +0 -0
  472. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/jira.py +0 -0
  473. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/kafka/__init__.py +0 -0
  474. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/kafka/cloud.py +0 -0
  475. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/kafka/kafka.py +0 -0
  476. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/kafka/local.py +0 -0
  477. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/kdbai.py +0 -0
  478. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/lancedb/__init__.py +0 -0
  479. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/lancedb/aws.py +0 -0
  480. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/lancedb/azure.py +0 -0
  481. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/lancedb/cloud.py +0 -0
  482. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/lancedb/gcp.py +0 -0
  483. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/lancedb/lancedb.py +0 -0
  484. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/lancedb/local.py +0 -0
  485. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/local.py +0 -0
  486. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/milvus.py +0 -0
  487. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/mongodb.py +0 -0
  488. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/neo4j.py +0 -0
  489. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/__init__.py +0 -0
  490. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/client.py +0 -0
  491. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/connector.py +0 -0
  492. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/helpers.py +0 -0
  493. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/interfaces.py +0 -0
  494. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/__init__.py +0 -0
  495. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/block.py +0 -0
  496. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/__init__.py +0 -0
  497. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/bookmark.py +0 -0
  498. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/breadcrumb.py +0 -0
  499. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/bulleted_list_item.py +0 -0
  500. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/callout.py +0 -0
  501. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/child_database.py +0 -0
  502. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/child_page.py +0 -0
  503. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/code.py +0 -0
  504. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/column_list.py +0 -0
  505. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/divider.py +0 -0
  506. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/embed.py +0 -0
  507. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/equation.py +0 -0
  508. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/file.py +0 -0
  509. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/heading.py +0 -0
  510. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/image.py +0 -0
  511. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/link_preview.py +0 -0
  512. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/link_to_page.py +0 -0
  513. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/numbered_list.py +0 -0
  514. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/paragraph.py +0 -0
  515. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/pdf.py +0 -0
  516. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/quote.py +0 -0
  517. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/synced_block.py +0 -0
  518. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/table.py +0 -0
  519. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/table_of_contents.py +0 -0
  520. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/template.py +0 -0
  521. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/todo.py +0 -0
  522. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/toggle.py +0 -0
  523. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/unsupported.py +0 -0
  524. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/video.py +0 -0
  525. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database.py +0 -0
  526. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/__init__.py +0 -0
  527. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/checkbox.py +0 -0
  528. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/created_by.py +0 -0
  529. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/created_time.py +0 -0
  530. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/date.py +0 -0
  531. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/email.py +0 -0
  532. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/files.py +0 -0
  533. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/formula.py +0 -0
  534. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/last_edited_by.py +0 -0
  535. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/last_edited_time.py +0 -0
  536. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/multiselect.py +0 -0
  537. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/number.py +0 -0
  538. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/people.py +0 -0
  539. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/phone_number.py +0 -0
  540. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/relation.py +0 -0
  541. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/rich_text.py +0 -0
  542. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/rollup.py +0 -0
  543. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/select.py +0 -0
  544. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/status.py +0 -0
  545. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/title.py +0 -0
  546. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/unique_id.py +0 -0
  547. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/url.py +0 -0
  548. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/verification.py +0 -0
  549. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/date.py +0 -0
  550. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/file.py +0 -0
  551. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/page.py +0 -0
  552. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/parent.py +0 -0
  553. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/rich_text.py +0 -0
  554. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/user.py +0 -0
  555. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/onedrive.py +0 -0
  556. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/outlook.py +0 -0
  557. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/pinecone.py +0 -0
  558. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/qdrant/__init__.py +0 -0
  559. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/qdrant/cloud.py +0 -0
  560. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/qdrant/local.py +0 -0
  561. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/qdrant/qdrant.py +0 -0
  562. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/qdrant/server.py +0 -0
  563. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/redisdb.py +0 -0
  564. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/salesforce.py +0 -0
  565. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/sharepoint.py +0 -0
  566. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/slack.py +0 -0
  567. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/sql/__init__.py +0 -0
  568. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/sql/databricks_delta_tables.py +0 -0
  569. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/sql/postgres.py +0 -0
  570. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/sql/singlestore.py +0 -0
  571. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/sql/snowflake.py +0 -0
  572. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/sql/sql.py +0 -0
  573. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/sql/sqlite.py +0 -0
  574. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/sql/vastdb.py +0 -0
  575. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/utils.py +0 -0
  576. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/vectara.py +0 -0
  577. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/weaviate/__init__.py +0 -0
  578. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/weaviate/cloud.py +0 -0
  579. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/weaviate/embedded.py +0 -0
  580. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/weaviate/local.py +0 -0
  581. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/weaviate/weaviate.py +0 -0
  582. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/zendesk/__init__.py +0 -0
  583. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/embedder.py +0 -0
  584. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/filter.py +0 -0
  585. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/partitioner.py +0 -0
  586. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/uncompress.py +0 -0
  587. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/utils/__init__.py +0 -0
  588. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/utils/blob_storage.py +0 -0
  589. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/unstructured_api.py +0 -0
  590. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/utils.py +0 -0
  591. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest.egg-info/SOURCES.txt +0 -0
  592. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest.egg-info/dependency_links.txt +0 -0
  593. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest.egg-info/entry_points.txt +0 -0
  594. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest.egg-info/requires.txt +18 -18
  595. {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: unstructured-ingest
3
- Version: 0.5.15
3
+ Version: 0.5.16
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,13 +22,13 @@ 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: python-dateutil
26
25
  Requires-Dist: tqdm
27
26
  Requires-Dist: dataclasses_json
28
- Requires-Dist: pydantic>=2.7
29
- Requires-Dist: click
30
27
  Requires-Dist: opentelemetry-sdk
28
+ Requires-Dist: python-dateutil
31
29
  Requires-Dist: pandas
30
+ Requires-Dist: pydantic>=2.7
31
+ Requires-Dist: click
32
32
  Provides-Extra: remote
33
33
  Requires-Dist: unstructured-client>=0.30.0; extra == "remote"
34
34
  Provides-Extra: csv
@@ -81,13 +81,13 @@ Requires-Dist: chromadb; extra == "chroma"
81
81
  Provides-Extra: clarifai
82
82
  Requires-Dist: clarifai; extra == "clarifai"
83
83
  Provides-Extra: confluence
84
- Requires-Dist: requests; extra == "confluence"
85
84
  Requires-Dist: atlassian-python-api; extra == "confluence"
85
+ Requires-Dist: requests; extra == "confluence"
86
86
  Provides-Extra: couchbase
87
87
  Requires-Dist: couchbase; extra == "couchbase"
88
88
  Provides-Extra: delta-table
89
- Requires-Dist: boto3; extra == "delta-table"
90
89
  Requires-Dist: deltalake; extra == "delta-table"
90
+ Requires-Dist: boto3; extra == "delta-table"
91
91
  Provides-Extra: discord
92
92
  Requires-Dist: discord.py; extra == "discord"
93
93
  Provides-Extra: dropbox
@@ -98,19 +98,19 @@ Requires-Dist: duckdb; extra == "duckdb"
98
98
  Provides-Extra: elasticsearch
99
99
  Requires-Dist: elasticsearch[async]; extra == "elasticsearch"
100
100
  Provides-Extra: gcs
101
- Requires-Dist: gcsfs; extra == "gcs"
102
101
  Requires-Dist: bs4; extra == "gcs"
102
+ Requires-Dist: gcsfs; extra == "gcs"
103
103
  Requires-Dist: fsspec; extra == "gcs"
104
104
  Provides-Extra: github
105
- Requires-Dist: requests; extra == "github"
106
105
  Requires-Dist: pygithub>1.58.0; extra == "github"
106
+ Requires-Dist: requests; extra == "github"
107
107
  Provides-Extra: gitlab
108
108
  Requires-Dist: python-gitlab; extra == "gitlab"
109
109
  Provides-Extra: google-drive
110
110
  Requires-Dist: google-api-python-client; extra == "google-drive"
111
111
  Provides-Extra: hubspot
112
- Requires-Dist: hubspot-api-client; extra == "hubspot"
113
112
  Requires-Dist: urllib3; extra == "hubspot"
113
+ Requires-Dist: hubspot-api-client; extra == "hubspot"
114
114
  Provides-Extra: jira
115
115
  Requires-Dist: atlassian-python-api; extra == "jira"
116
116
  Provides-Extra: kafka
@@ -124,23 +124,23 @@ Requires-Dist: pymilvus; extra == "milvus"
124
124
  Provides-Extra: mongodb
125
125
  Requires-Dist: pymongo; extra == "mongodb"
126
126
  Provides-Extra: neo4j
127
- Requires-Dist: cymple; extra == "neo4j"
128
- Requires-Dist: networkx; extra == "neo4j"
129
127
  Requires-Dist: neo4j-rust-ext; extra == "neo4j"
128
+ Requires-Dist: networkx; extra == "neo4j"
129
+ Requires-Dist: cymple; extra == "neo4j"
130
130
  Provides-Extra: notion
131
- Requires-Dist: htmlBuilder; extra == "notion"
132
- Requires-Dist: httpx; extra == "notion"
133
131
  Requires-Dist: backoff; extra == "notion"
132
+ Requires-Dist: httpx; extra == "notion"
133
+ Requires-Dist: htmlBuilder; extra == "notion"
134
134
  Requires-Dist: notion-client; extra == "notion"
135
135
  Provides-Extra: onedrive
136
136
  Requires-Dist: bs4; extra == "onedrive"
137
- Requires-Dist: msal; extra == "onedrive"
138
137
  Requires-Dist: Office365-REST-Python-Client; extra == "onedrive"
138
+ Requires-Dist: msal; extra == "onedrive"
139
139
  Provides-Extra: opensearch
140
140
  Requires-Dist: opensearch-py; extra == "opensearch"
141
141
  Provides-Extra: outlook
142
- Requires-Dist: msal; extra == "outlook"
143
142
  Requires-Dist: Office365-REST-Python-Client; extra == "outlook"
143
+ Requires-Dist: msal; extra == "outlook"
144
144
  Provides-Extra: pinecone
145
145
  Requires-Dist: pinecone-client>=3.7.1; extra == "pinecone"
146
146
  Provides-Extra: postgres
@@ -155,8 +155,8 @@ Provides-Extra: s3
155
155
  Requires-Dist: s3fs; extra == "s3"
156
156
  Requires-Dist: fsspec; extra == "s3"
157
157
  Provides-Extra: sharepoint
158
- Requires-Dist: msal; extra == "sharepoint"
159
158
  Requires-Dist: Office365-REST-Python-Client; extra == "sharepoint"
159
+ Requires-Dist: msal; extra == "sharepoint"
160
160
  Provides-Extra: salesforce
161
161
  Requires-Dist: simple-salesforce; extra == "salesforce"
162
162
  Provides-Extra: sftp
@@ -182,12 +182,12 @@ Requires-Dist: httpx; extra == "vectara"
182
182
  Requires-Dist: requests; extra == "vectara"
183
183
  Requires-Dist: aiofiles; extra == "vectara"
184
184
  Provides-Extra: vastdb
185
- Requires-Dist: ibis; extra == "vastdb"
186
- Requires-Dist: vastdb; extra == "vastdb"
187
185
  Requires-Dist: pyarrow; extra == "vastdb"
186
+ Requires-Dist: vastdb; extra == "vastdb"
187
+ Requires-Dist: ibis; extra == "vastdb"
188
188
  Provides-Extra: zendesk
189
- Requires-Dist: httpx; extra == "zendesk"
190
189
  Requires-Dist: bs4; extra == "zendesk"
190
+ Requires-Dist: httpx; extra == "zendesk"
191
191
  Requires-Dist: aiofiles; extra == "zendesk"
192
192
  Provides-Extra: embed-huggingface
193
193
  Requires-Dist: sentence-transformers; extra == "embed-huggingface"
@@ -1,6 +1,5 @@
1
1
  import os
2
2
  from pathlib import Path
3
- from typing import Optional
4
3
 
5
4
  import pytest
6
5
 
@@ -21,20 +20,20 @@ from unstructured_ingest.v2.processes.connectors.zendesk.zendesk import (
21
20
  ZendeskIndexerConfig,
22
21
  )
23
22
 
23
+ SUBDOMAIN = "unstructuredhelp"
24
+ EMAIL = "test@unstructured.io"
24
25
 
25
- async def zendesk_source_test(
26
- tmp_path: Path,
27
- token: Optional[str] = None,
28
- email: Optional[str] = None,
29
- subdomain: Optional[str] = None,
30
- ):
31
26
 
32
- access_config = ZendeskAccessConfig(api_token=token)
27
+ @pytest.mark.asyncio
28
+ @pytest.mark.tags(SOURCE_TAG, CONNECTOR_TYPE, UNCATEGORIZED_TAG)
29
+ @requires_env("ZENDESK_TOKEN")
30
+ async def test_zendesk_source_tickets(temp_dir: Path):
31
+ access_config = ZendeskAccessConfig(api_token=os.environ["ZENDESK_TOKEN"])
33
32
  connection_config = ZendeskConnectionConfig(
34
- subdomain=subdomain, email=email, access_config=access_config
33
+ subdomain=SUBDOMAIN, email=EMAIL, access_config=access_config
35
34
  )
36
35
 
37
- index_config = ZendeskIndexerConfig(batch_size=2, item_type="tickets")
36
+ index_config = ZendeskIndexerConfig(item_type="tickets")
38
37
 
39
38
  indexer = ZendeskIndexer(
40
39
  connection_config=connection_config,
@@ -43,7 +42,7 @@ async def zendesk_source_test(
43
42
  )
44
43
 
45
44
  # handle downloader.
46
- download_config = ZendeskDownloaderConfig(download_dir=tmp_path)
45
+ download_config = ZendeskDownloaderConfig(download_dir=temp_dir)
47
46
 
48
47
  downloader = ZendeskDownloader(
49
48
  connection_config=connection_config,
@@ -57,26 +56,23 @@ async def zendesk_source_test(
57
56
  downloader=downloader,
58
57
  configs=SourceValidationConfigs(
59
58
  test_id="zendesk-tickets",
60
- expected_num_files=4,
59
+ expected_num_files=8,
61
60
  validate_file_data=False,
62
61
  validate_downloaded_files=True,
63
62
  ),
64
63
  )
65
64
 
66
65
 
67
- async def zendesk_source_articles_test(
68
- tmp_path: Path,
69
- token: Optional[str] = None,
70
- email: Optional[str] = None,
71
- subdomain: Optional[str] = None,
72
- ):
73
-
74
- access_config = ZendeskAccessConfig(api_token=token)
66
+ @pytest.mark.asyncio
67
+ @pytest.mark.tags(SOURCE_TAG, CONNECTOR_TYPE, UNCATEGORIZED_TAG)
68
+ @requires_env("ZENDESK_TOKEN")
69
+ async def test_zendesk_source_articles(temp_dir):
70
+ access_config = ZendeskAccessConfig(api_token=os.environ["ZENDESK_TOKEN"])
75
71
  connection_config = ZendeskConnectionConfig(
76
- subdomain=subdomain, email=email, access_config=access_config
72
+ subdomain=SUBDOMAIN, email=EMAIL, access_config=access_config
77
73
  )
78
74
 
79
- index_config = ZendeskIndexerConfig(batch_size=2, item_type="articles")
75
+ index_config = ZendeskIndexerConfig(item_type="articles")
80
76
 
81
77
  indexer = ZendeskIndexer(
82
78
  connection_config=connection_config,
@@ -85,7 +81,7 @@ async def zendesk_source_articles_test(
85
81
  )
86
82
 
87
83
  # handle downloader.
88
- download_config = ZendeskDownloaderConfig(download_dir=tmp_path, extract_images=True)
84
+ download_config = ZendeskDownloaderConfig(download_dir=temp_dir, extract_images=True)
89
85
 
90
86
  downloader = ZendeskDownloader(
91
87
  connection_config=connection_config,
@@ -99,44 +95,26 @@ async def zendesk_source_articles_test(
99
95
  downloader=downloader,
100
96
  configs=SourceValidationConfigs(
101
97
  test_id="zendesk-articles",
102
- expected_num_files=4,
103
- validate_file_data=False,
98
+ expected_num_files=8,
99
+ validate_file_data=True,
104
100
  validate_downloaded_files=True,
105
101
  ),
106
102
  )
107
103
 
108
104
 
109
- @pytest.mark.asyncio
110
105
  @pytest.mark.tags(SOURCE_TAG, CONNECTOR_TYPE, UNCATEGORIZED_TAG)
111
- @requires_env("ZENDESK_TOKEN")
112
- async def test_zendesk_source(temp_dir):
113
- await zendesk_source_test(
114
- tmp_path=temp_dir,
115
- token=os.environ["ZENDESK_TOKEN"],
116
- email="test@unstructured.io",
117
- subdomain="unstructuredhelp",
106
+ def test_zendesk_source_articles_fail(temp_dir):
107
+ access_config = ZendeskAccessConfig(api_token="FAKE_TOKEN")
108
+ connection_config = ZendeskConnectionConfig(
109
+ subdomain=SUBDOMAIN, email=EMAIL, access_config=access_config
118
110
  )
119
111
 
112
+ index_config = ZendeskIndexerConfig(item_type="tickets")
120
113
 
121
- @pytest.mark.asyncio
122
- @pytest.mark.tags(SOURCE_TAG, CONNECTOR_TYPE, UNCATEGORIZED_TAG)
123
- @requires_env("ZENDESK_TOKEN")
124
- async def test_zendesk_source_articles(temp_dir):
125
- await zendesk_source_articles_test(
126
- tmp_path=temp_dir,
127
- token=os.environ["ZENDESK_TOKEN"],
128
- email="test@unstructured.io",
129
- subdomain="unstructuredhelp",
114
+ indexer = ZendeskIndexer(
115
+ connection_config=connection_config,
116
+ index_config=index_config,
117
+ connector_type=CONNECTOR_TYPE,
130
118
  )
131
-
132
-
133
- @pytest.mark.asyncio
134
- @pytest.mark.tags(SOURCE_TAG, CONNECTOR_TYPE, UNCATEGORIZED_TAG)
135
- async def test_zendesk_source_articles_fail(temp_dir):
136
119
  with pytest.raises(expected_exception=UserAuthError):
137
- await zendesk_source_articles_test(
138
- tmp_path=temp_dir,
139
- token="FORCE_FAIL_TOKEN",
140
- email="test@unstructured.io",
141
- subdomain="unstructuredhelp",
142
- )
120
+ indexer.precheck()
@@ -103,7 +103,7 @@ def check_contents(
103
103
  file_data_path = expected_output_dir / f"{file_data.identifier}.json"
104
104
  with file_data_path.open("r") as file:
105
105
  expected_file_data_contents = json.load(file)
106
- current_file_data_contents = file_data.model_dump()
106
+ current_file_data_contents = json.loads(file_data.model_dump_json())
107
107
  expected_file_data_contents = configs.omit_ignored_fields(expected_file_data_contents)
108
108
  current_file_data_contents = configs.omit_ignored_fields(current_file_data_contents)
109
109
  diff = DeepDiff(expected_file_data_contents, current_file_data_contents)
@@ -184,7 +184,7 @@ def update_fixtures(
184
184
  for file_data in all_file_data:
185
185
  file_data_path = file_data_output_path / f"{file_data.identifier}.json"
186
186
  with file_data_path.open(mode="w") as f:
187
- json.dump(file_data.model_dump(), f, indent=2)
187
+ f.write(file_data.model_dump_json(indent=2))
188
188
 
189
189
  # Record file structure of download directory
190
190
  download_files = get_files(dir_path=download_dir)
@@ -216,7 +216,9 @@ def run_all_validations(
216
216
  len(predownload_file_data) == expected_number_indexed_file_data
217
217
  ), f"expected {expected_number_indexed_file_data} but got {len(predownload_file_data)}"
218
218
  if expected_num_files := configs.expected_num_files:
219
- assert len(postdownload_file_data) == expected_num_files
219
+ assert (
220
+ len(postdownload_file_data) == expected_num_files
221
+ ), f"expected {expected_num_files} but got {len(postdownload_file_data)}"
220
222
 
221
223
  for pre_data, post_data in zip(predownload_file_data, postdownload_file_data):
222
224
  configs.run_file_data_validation(
@@ -0,0 +1 @@
1
+ __version__ = "0.5.16" # pragma: no cover
@@ -88,9 +88,9 @@ class DownloadStep(PipelineStep):
88
88
  f"match size of local file: {file_size_bytes}, updating"
89
89
  )
90
90
  file_data.metadata.filesize_bytes = file_size_bytes
91
- logger.debug(f"updating file data with new content: {file_data.model_dump()}")
91
+ logger.debug(f"updating file data with new content: {file_data.model_dump_json()}")
92
92
  with file_data_path.open("w") as file:
93
- json.dump(file_data.model_dump(), file, indent=2)
93
+ file.write(file_data.model_dump_json(indent=2))
94
94
 
95
95
  async def _run_async(self, fn: Callable, file_data_path: str) -> list[DownloadStepResponse]:
96
96
  file_data = file_data_from_file(path=file_data_path)
@@ -173,7 +173,7 @@ class DownloadStep(PipelineStep):
173
173
  filepath = (self.cache_dir / filename).resolve()
174
174
  filepath.parent.mkdir(parents=True, exist_ok=True)
175
175
  with open(str(filepath), "w") as f:
176
- json.dump(file_data.model_dump(), f, indent=2)
176
+ f.write(file_data.model_dump_json(indent=2))
177
177
  return str(filepath)
178
178
 
179
179
  def get_hash(self, extras: Optional[list[str]]) -> str:
@@ -37,14 +37,14 @@ class IndexStep(PipelineStep):
37
37
  @instrument(span_name=STEP_ID)
38
38
  def run(self) -> Generator[str, None, None]:
39
39
  for file_data in self.process.run():
40
- logger.debug(f"generated file data: {file_data.model_dump()}")
40
+ logger.debug(f"generated file data: {file_data.model_dump_json()}")
41
41
  try:
42
42
  record_hash = self.get_hash(extras=[file_data.identifier])
43
43
  filename = f"{record_hash}.json"
44
44
  filepath = (self.cache_dir / filename).resolve()
45
45
  filepath.parent.mkdir(parents=True, exist_ok=True)
46
46
  with open(str(filepath), "w") as f:
47
- json.dump(file_data.model_dump(), f, indent=2)
47
+ f.write(file_data.model_dump_json(indent=2))
48
48
  yield str(filepath)
49
49
  except Exception as e:
50
50
  logger.error(f"failed to create index for file data: {file_data}", exc_info=True)
@@ -54,14 +54,14 @@ class IndexStep(PipelineStep):
54
54
 
55
55
  async def run_async(self) -> AsyncGenerator[str, None]:
56
56
  async for file_data in self.process.run_async():
57
- logger.debug(f"generated file data: {file_data.model_dump()}")
57
+ logger.debug(f"generated file data: {file_data.model_dump_json()}")
58
58
  try:
59
59
  record_hash = self.get_hash(extras=[file_data.identifier])
60
60
  filename = f"{record_hash}.json"
61
61
  filepath = (self.cache_dir / filename).resolve()
62
62
  filepath.parent.mkdir(parents=True, exist_ok=True)
63
63
  with open(str(filepath), "w") as f:
64
- json.dump(file_data.model_dump(), f, indent=2)
64
+ f.write(file_data.model_dump_json(indent=2))
65
65
  yield str(filepath)
66
66
  except Exception as e:
67
67
  logger.error(f"failed to create index for file data: {file_data}", exc_info=True)
@@ -61,7 +61,7 @@ class DatabricksVolumeDeltaTableUploader(Uploader):
61
61
  self.upload_config.database, ", ".join(databases)
62
62
  )
63
63
  )
64
- cursor.execute("SHOW TABLES")
64
+ cursor.execute(f"SHOW TABLES IN {self.upload_config.database}")
65
65
  table_names = [r[1] for r in cursor.fetchall()]
66
66
  if self.upload_config.table_name not in table_names:
67
67
  raise ValueError(
@@ -0,0 +1,308 @@
1
+ from dataclasses import dataclass, field
2
+ from datetime import datetime
3
+ from typing import TYPE_CHECKING, Any, AsyncGenerator, Literal, Optional, Union
4
+
5
+ from pydantic import BaseModel, Field, HttpUrl
6
+
7
+ from unstructured_ingest.utils.dep_check import requires_dependencies
8
+ from unstructured_ingest.utils.string_and_date_utils import fix_unescaped_unicode
9
+ from unstructured_ingest.v2.errors import ProviderError, RateLimitError, UserAuthError, UserError
10
+ from unstructured_ingest.v2.logger import logger
11
+
12
+ if TYPE_CHECKING:
13
+ from httpx import AsyncClient, Client
14
+
15
+
16
+ class Attachment(BaseModel):
17
+ # https://developer.zendesk.com/api-reference/ticketing/tickets/ticket-attachments/#json-format
18
+ content_type: Optional[str] = None
19
+
20
+
21
+ class Via(BaseModel):
22
+ # https://developer.zendesk.com/documentation/ticketing/reference-guides/via-object-reference/
23
+ channel: Union[int, str]
24
+ source: dict = Field(default_factory=dict)
25
+
26
+
27
+ class ZendeskComment(BaseModel):
28
+ # https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_comments/#json-format
29
+ attachments: list[Attachment] = Field(default_factory=list)
30
+ audit_id: Optional[int] = None
31
+ author_id: Optional[int] = None
32
+ body: Optional[str] = None
33
+ created_at: Optional[datetime] = None
34
+ html_body: Optional[str] = None
35
+ id: Optional[int] = None
36
+ metadata: Optional[dict] = None
37
+ plain_body: Optional[str] = None
38
+ public: Optional[bool] = None
39
+ comment_type: Literal["Comment", "VoiceComment"] = Field(alias="type")
40
+ uploads: list[str] = Field(default_factory=list)
41
+ via: Optional[Via] = None
42
+
43
+ def as_text(self) -> str:
44
+ all_data = self.model_dump()
45
+ filtered_data = {
46
+ k: v
47
+ for k, v in all_data.items()
48
+ if k in ["id", "author_id", "body", "created_at"] and v is not None
49
+ }
50
+ return "".join(
51
+ [f"{v}\n" for v in ["comment"] + [f"{k}: {v}" for k, v in filtered_data.items()]]
52
+ )
53
+
54
+
55
+ class ZendeskTicket(BaseModel):
56
+ # https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/#json-format
57
+ allow_attachments: bool = True
58
+ allow_channelback: bool = True
59
+ assignee_email: Optional[str] = None
60
+ assignee_id: Optional[int] = None
61
+ attribute_value_ids: list[int] = Field(default_factory=list)
62
+ brand_id: Optional[int] = None
63
+ collaborator_ids: list[int] = Field(default_factory=list)
64
+ collaborators: list[Union[int, str, dict[str, str]]] = Field(default_factory=list)
65
+ comment: Optional[ZendeskComment] = None
66
+ created_at: Optional[datetime] = None
67
+ custom_fields: list[dict[str, Any]] = Field(default_factory=list)
68
+ custom_status_id: Optional[int] = None
69
+ description: Optional[str] = None
70
+ due_at: Optional[datetime] = None
71
+ email_cc_ids: list[int] = Field(default_factory=list)
72
+ email_ccs: list[dict[str, str]] = Field(default_factory=list)
73
+ external_id: Optional[str] = None
74
+ follower_ids: list[int] = Field(default_factory=list)
75
+ followers: list[dict[str, str]] = Field(default_factory=list)
76
+ followup_ids: list[int] = Field(default_factory=list)
77
+ forum_topic_id: Optional[int] = None
78
+ from_messaging_channel: bool
79
+ generated_timestamp: Optional[datetime] = None
80
+ group_id: Optional[int] = None
81
+ has_incidents: bool = False
82
+ id: Optional[int] = None
83
+ is_public: bool = False
84
+ macro_id: Optional[int] = None
85
+ macro_ids: list[int] = Field(default_factory=list)
86
+ metadata: dict[str, Any] = Field(default_factory=dict)
87
+ organization_id: Optional[int] = None
88
+ priority: Optional[Literal["urgent", "high", "normal", "low"]] = None
89
+ problem_id: Optional[int] = None
90
+ raw_subject: Optional[str] = None
91
+ recipient: Optional[str] = None
92
+ requester: dict[str, str] = Field(default_factory=dict)
93
+ requester_id: int
94
+ safe_update: Optional[bool] = None
95
+ satisfaction_rating: Optional[Union[str, dict[str, Any]]] = None
96
+ sharing_agreement_ids: list[int] = Field(default_factory=list)
97
+ status: Optional[Literal["new", "open", "pending", "hold", "solved", "closed"]] = None
98
+ subject: Optional[str] = None
99
+ submitter_id: Optional[int] = None
100
+ tags: list[str] = Field(default_factory=list)
101
+ ticket_form_id: Optional[int] = None
102
+ ticket_type: Optional[Literal["problem", "incident", "question", "task"]] = Field(
103
+ default=None, alias="type"
104
+ )
105
+ updated_at: Optional[datetime] = None
106
+ updated_stamp: Optional[str] = None
107
+ url: Optional[HttpUrl] = None
108
+ via: Optional[Via] = None
109
+ via_followup_source_id: Optional[int] = None
110
+ via_id: Optional[int] = None
111
+ voice_comment: Optional[dict] = None
112
+
113
+ def as_text(self) -> str:
114
+ all_data = self.model_dump()
115
+ filtered_data = {
116
+ k: v
117
+ for k, v in all_data.items()
118
+ if k in ["id", "subject", "description", "created_at"] and v is not None
119
+ }
120
+ return "".join(
121
+ [f"{v}\n" for v in ["ticket"] + [f"{k}: {v}" for k, v in filtered_data.items()]]
122
+ )
123
+
124
+
125
+ class ZendeskArticle(BaseModel):
126
+ # https://developer.zendesk.com/api-reference/help_center/help-center-api/articles/#json-format
127
+ author_id: Optional[int] = None
128
+ body: Optional[str] = None
129
+ comments_disabled: bool = False
130
+ content_tag_ids: list[str] = Field(default_factory=list)
131
+ created_at: Optional[datetime] = None
132
+ draft: bool = False
133
+ edited_at: Optional[datetime] = None
134
+ html_url: Optional[HttpUrl] = None
135
+ id: int
136
+ label_names: list[str] = Field(default_factory=list)
137
+ locale: str
138
+ outdated: bool = False
139
+ outdated_locales: list[str] = Field(default_factory=list)
140
+ permission_group_id: int
141
+ position: Optional[int] = None
142
+ promoted: bool = False
143
+ section_id: Optional[int] = None
144
+ source_locale: Optional[str] = None
145
+ title: str
146
+ updated_at: Optional[datetime] = None
147
+ url: Optional[HttpUrl] = None
148
+ user_segment_id: Optional[int] = None
149
+ user_segment_ids: list[int] = Field(default_factory=list)
150
+ vote_count: Optional[int] = None
151
+ vote_sum: Optional[int] = None
152
+
153
+ def as_html(self) -> str:
154
+ html = self.body
155
+ if title := self.title:
156
+ html = f"<h1>{title}</h1>{html}"
157
+ return fix_unescaped_unicode(f"<body class='Document' >{html}</body>")
158
+
159
+
160
+ class ZendeskArticleAttachment(BaseModel):
161
+ # https://developer.zendesk.com/api-reference/help_center/help-center-api/article_attachments/#json-format
162
+ article_id: Optional[int] = None
163
+ content_type: Optional[str] = None
164
+ content_url: Optional[HttpUrl] = None
165
+ created_at: Optional[datetime] = None
166
+ guide_media_id: Optional[str] = None
167
+ id: Optional[int] = None
168
+ inline: bool = False
169
+ locale: Optional[str] = None
170
+ size: Optional[int] = None
171
+ updated_at: Optional[datetime] = None
172
+ url: Optional[HttpUrl] = None
173
+
174
+
175
+ @dataclass
176
+ class ZendeskClient:
177
+ token: str
178
+ subdomain: str
179
+ email: str
180
+ max_page_size: int = 100
181
+ _async_client: "AsyncClient" = field(init=False, default=None)
182
+ _client: "Client" = field(init=False, default=None)
183
+ _base_url: str = field(init=False, default=None)
184
+
185
+ async def __aenter__(self) -> "ZendeskClient":
186
+ return self
187
+
188
+ async def __aexit__(self, exc_type, exc_val, exc_tb):
189
+ await self._async_client.aclose()
190
+
191
+ @requires_dependencies(["httpx"], extras="zendesk")
192
+ def __post_init__(self):
193
+ import httpx
194
+
195
+ auth = f"{self.email}/token", self.token
196
+ self._client = httpx.Client(auth=auth)
197
+ self._async_client = httpx.AsyncClient(auth=auth)
198
+ self._base_url = f"https://{self.subdomain}.zendesk.com/api/v2"
199
+
200
+ # Run check
201
+ try:
202
+ url_to_check = f"{self._base_url}/groups.json"
203
+ resp = self._client.head(url_to_check)
204
+ resp.raise_for_status()
205
+ except Exception as e:
206
+ raise self.wrap_error(e=e)
207
+
208
+ @requires_dependencies(["httpx"], extras="zendesk")
209
+ def wrap_error(self, e: Exception) -> Exception:
210
+ import httpx
211
+
212
+ if not isinstance(e, httpx.HTTPStatusError):
213
+ logger.error(f"unhandled exception from Zendesk client: {e}", exc_info=True)
214
+ return e
215
+ url = e.request.url
216
+ response_code = e.response.status_code
217
+ if response_code == 401:
218
+ logger.error(
219
+ f"Failed to connect via auth,"
220
+ f"{url} using zendesk response, status code {response_code}"
221
+ )
222
+ return UserAuthError(e)
223
+ if response_code == 429:
224
+ logger.error(
225
+ f"Failed to connect via rate limits"
226
+ f"{url} using zendesk response, status code {response_code}"
227
+ )
228
+ return RateLimitError(e)
229
+ if 400 <= response_code < 500:
230
+ logger.error(
231
+ f"Failed to connect to {url} using zendesk response, status code {response_code}"
232
+ )
233
+ return UserError(e)
234
+ if response_code > 500:
235
+ logger.error(
236
+ f"Failed to connect to {url} using zendesk response, status code {response_code}"
237
+ )
238
+ return ProviderError(e)
239
+ logger.error(f"unhandled http status error from Zendesk client: {e}", exc_info=True)
240
+ return e
241
+
242
+ async def fetch_content(self, url: str, content_key: str) -> AsyncGenerator[dict, None]:
243
+ url = f"{url}?page[size]={self.max_page_size}"
244
+ while True:
245
+ try:
246
+ response = await self._async_client.get(url)
247
+ response.raise_for_status()
248
+ except Exception as e:
249
+ raise self.wrap_error(e=e)
250
+
251
+ data = response.json()
252
+ for content in data[content_key]:
253
+ yield content
254
+
255
+ has_more = data.get("meta", {}).get("has_more", False)
256
+ if not has_more:
257
+ break
258
+
259
+ url = data["links"]["next"]
260
+
261
+ async def get_articles(self) -> AsyncGenerator[ZendeskArticle, None]:
262
+ """
263
+ Retrieves article content from Zendesk asynchronously.
264
+ """
265
+ article_url = f"https://{self.subdomain}.zendesk.com/api/v2/help_center/articles.json"
266
+
267
+ try:
268
+ async for article_dict in self.fetch_content(url=article_url, content_key="articles"):
269
+ yield ZendeskArticle.model_validate(article_dict)
270
+ except Exception as e:
271
+ raise self.wrap_error(e=e)
272
+
273
+ async def get_comments(self, ticket_id: int) -> AsyncGenerator[ZendeskComment, None]:
274
+ comments_url = f"https://{self.subdomain}.zendesk.com/api/v2/tickets/{ticket_id}/comments"
275
+
276
+ try:
277
+ async for comment_dict in self.fetch_content(url=comments_url, content_key="comments"):
278
+ yield ZendeskComment.model_validate(comment_dict)
279
+ except Exception as e:
280
+ raise self.wrap_error(e=e)
281
+
282
+ async def get_tickets(self) -> AsyncGenerator[ZendeskTicket, None]:
283
+ tickets_url = f"https://{self.subdomain}.zendesk.com/api/v2/tickets"
284
+
285
+ try:
286
+ async for ticket_dict in self.fetch_content(url=tickets_url, content_key="tickets"):
287
+ yield ZendeskTicket.model_validate(ticket_dict)
288
+ except Exception as e:
289
+ raise self.wrap_error(e=e)
290
+
291
+ async def get_article_attachments(
292
+ self, article_id: int
293
+ ) -> AsyncGenerator[ZendeskArticleAttachment, None]:
294
+ """
295
+ Handles article attachments such as images and stores them as UTF-8 encoded bytes.
296
+ """
297
+ article_attachment_url = (
298
+ f"https://{self.subdomain}.zendesk.com/api/v2/help_center/"
299
+ f"articles/{article_id}/attachments"
300
+ )
301
+
302
+ try:
303
+ async for attachment_dict in self.fetch_content(
304
+ url=article_attachment_url, content_key="article_attachments"
305
+ ):
306
+ yield ZendeskArticleAttachment.model_validate(attachment_dict)
307
+ except Exception as e:
308
+ raise self.wrap_error(e=e)