unstructured-ingest 1.2.14__tar.gz → 1.2.18__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 (243) hide show
  1. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/PKG-INFO +1 -1
  2. unstructured_ingest-1.2.18/unstructured_ingest/__version__.py +1 -0
  3. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/embed/bedrock.py +45 -17
  4. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/databricks/volumes.py +3 -1
  5. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/google_drive.py +3 -1
  6. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/milvus.py +8 -0
  7. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/page.py +9 -2
  8. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/sql/snowflake.py +10 -11
  9. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/sql/sql.py +6 -0
  10. unstructured_ingest-1.2.14/unstructured_ingest/__version__.py +0 -1
  11. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/.gitignore +0 -0
  12. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/LICENSE.md +0 -0
  13. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/README.md +0 -0
  14. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/pyproject.toml +0 -0
  15. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/__init__.py +0 -0
  16. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/cli/README.md +0 -0
  17. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/cli/__init__.py +0 -0
  18. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/cli/base/__init__.py +0 -0
  19. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/cli/base/cmd.py +0 -0
  20. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/cli/base/dest.py +0 -0
  21. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/cli/base/importer.py +0 -0
  22. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/cli/base/src.py +0 -0
  23. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/cli/cli.py +0 -0
  24. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/cli/cmds.py +0 -0
  25. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/cli/utils/__init__.py +0 -0
  26. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/cli/utils/click.py +0 -0
  27. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/cli/utils/model_conversion.py +0 -0
  28. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/data_types/__init__.py +0 -0
  29. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/data_types/entities.py +0 -0
  30. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/data_types/file_data.py +0 -0
  31. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/embed/__init__.py +0 -0
  32. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/embed/azure_openai.py +0 -0
  33. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/embed/huggingface.py +0 -0
  34. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/embed/interfaces.py +0 -0
  35. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/embed/mixedbreadai.py +0 -0
  36. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/embed/octoai.py +0 -0
  37. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/embed/openai.py +0 -0
  38. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/embed/togetherai.py +0 -0
  39. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/embed/vertexai.py +0 -0
  40. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/embed/voyageai.py +0 -0
  41. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/error.py +0 -0
  42. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/errors_v2.py +0 -0
  43. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/interfaces/__init__.py +0 -0
  44. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/interfaces/connector.py +0 -0
  45. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/interfaces/downloader.py +0 -0
  46. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/interfaces/indexer.py +0 -0
  47. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/interfaces/process.py +0 -0
  48. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/interfaces/processor.py +0 -0
  49. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/interfaces/upload_stager.py +0 -0
  50. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/interfaces/uploader.py +0 -0
  51. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/logger.py +0 -0
  52. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/main.py +0 -0
  53. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/otel.py +0 -0
  54. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/pipeline/__init__.py +0 -0
  55. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/pipeline/interfaces.py +0 -0
  56. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/pipeline/otel.py +0 -0
  57. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/pipeline/pipeline.py +0 -0
  58. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/pipeline/steps/__init__.py +0 -0
  59. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/pipeline/steps/chunk.py +0 -0
  60. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/pipeline/steps/download.py +0 -0
  61. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/pipeline/steps/embed.py +0 -0
  62. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/pipeline/steps/filter.py +0 -0
  63. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/pipeline/steps/index.py +0 -0
  64. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/pipeline/steps/partition.py +0 -0
  65. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/pipeline/steps/stage.py +0 -0
  66. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/pipeline/steps/uncompress.py +0 -0
  67. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/pipeline/steps/upload.py +0 -0
  68. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/__init__.py +0 -0
  69. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/chunker.py +0 -0
  70. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connector_registry.py +0 -0
  71. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/__init__.py +0 -0
  72. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/airtable.py +0 -0
  73. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/assets/__init__.py +0 -0
  74. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/assets/databricks_delta_table_schema.sql +0 -0
  75. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/assets/weaviate_collection_config.json +0 -0
  76. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/astradb.py +0 -0
  77. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/azure_ai_search.py +0 -0
  78. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/chroma.py +0 -0
  79. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/confluence.py +0 -0
  80. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/couchbase.py +0 -0
  81. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/databricks/__init__.py +0 -0
  82. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/databricks/volumes_aws.py +0 -0
  83. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/databricks/volumes_azure.py +0 -0
  84. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/databricks/volumes_gcp.py +0 -0
  85. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/databricks/volumes_native.py +0 -0
  86. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/databricks/volumes_table.py +0 -0
  87. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/delta_table.py +0 -0
  88. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/discord.py +0 -0
  89. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/duckdb/__init__.py +0 -0
  90. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/duckdb/base.py +0 -0
  91. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/duckdb/duckdb.py +0 -0
  92. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/duckdb/motherduck.py +0 -0
  93. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/elasticsearch/__init__.py +0 -0
  94. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/elasticsearch/elasticsearch.py +0 -0
  95. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/elasticsearch/opensearch.py +0 -0
  96. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/fsspec/__init__.py +0 -0
  97. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/fsspec/azure.py +0 -0
  98. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/fsspec/box.py +0 -0
  99. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/fsspec/dropbox.py +0 -0
  100. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/fsspec/fsspec.py +0 -0
  101. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/fsspec/gcs.py +0 -0
  102. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/fsspec/s3.py +0 -0
  103. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/fsspec/sftp.py +0 -0
  104. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/fsspec/utils.py +0 -0
  105. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/github.py +0 -0
  106. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/gitlab.py +0 -0
  107. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/ibm_watsonx/__init__.py +0 -0
  108. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/ibm_watsonx/ibm_watsonx_s3.py +0 -0
  109. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/jira.py +0 -0
  110. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/kafka/__init__.py +0 -0
  111. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/kafka/cloud.py +0 -0
  112. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/kafka/kafka.py +0 -0
  113. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/kafka/local.py +0 -0
  114. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/kdbai.py +0 -0
  115. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/lancedb/__init__.py +0 -0
  116. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/lancedb/aws.py +0 -0
  117. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/lancedb/azure.py +0 -0
  118. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/lancedb/cloud.py +0 -0
  119. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/lancedb/gcp.py +0 -0
  120. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/lancedb/lancedb.py +0 -0
  121. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/lancedb/local.py +0 -0
  122. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/local.py +0 -0
  123. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/mongodb.py +0 -0
  124. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/neo4j.py +0 -0
  125. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/__init__.py +0 -0
  126. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/client.py +0 -0
  127. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/connector.py +0 -0
  128. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/helpers.py +0 -0
  129. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/ingest_backoff/__init__.py +0 -0
  130. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/ingest_backoff/_common.py +0 -0
  131. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/ingest_backoff/_wrapper.py +0 -0
  132. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/ingest_backoff/types.py +0 -0
  133. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/interfaces.py +0 -0
  134. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/__init__.py +0 -0
  135. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/block.py +0 -0
  136. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/__init__.py +0 -0
  137. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/bookmark.py +0 -0
  138. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/breadcrumb.py +0 -0
  139. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/bulleted_list_item.py +0 -0
  140. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/callout.py +0 -0
  141. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/child_database.py +0 -0
  142. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/child_page.py +0 -0
  143. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/code.py +0 -0
  144. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/column_list.py +0 -0
  145. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/divider.py +0 -0
  146. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/embed.py +0 -0
  147. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/equation.py +0 -0
  148. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/file.py +0 -0
  149. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/heading.py +0 -0
  150. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/image.py +0 -0
  151. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/link_preview.py +0 -0
  152. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/link_to_page.py +0 -0
  153. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/numbered_list.py +0 -0
  154. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/paragraph.py +0 -0
  155. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/pdf.py +0 -0
  156. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/quote.py +0 -0
  157. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/synced_block.py +0 -0
  158. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/table.py +0 -0
  159. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/table_of_contents.py +0 -0
  160. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/template.py +0 -0
  161. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/todo.py +0 -0
  162. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/toggle.py +0 -0
  163. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/unsupported.py +0 -0
  164. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/blocks/video.py +0 -0
  165. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database.py +0 -0
  166. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/__init__.py +0 -0
  167. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/checkbox.py +0 -0
  168. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/created_by.py +0 -0
  169. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/created_time.py +0 -0
  170. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/date.py +0 -0
  171. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/email.py +0 -0
  172. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/files.py +0 -0
  173. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/formula.py +0 -0
  174. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/last_edited_by.py +0 -0
  175. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/last_edited_time.py +0 -0
  176. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/multiselect.py +0 -0
  177. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/number.py +0 -0
  178. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/people.py +0 -0
  179. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/phone_number.py +0 -0
  180. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/relation.py +0 -0
  181. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/rich_text.py +0 -0
  182. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/rollup.py +0 -0
  183. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/select.py +0 -0
  184. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/status.py +0 -0
  185. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/title.py +0 -0
  186. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/unique_id.py +0 -0
  187. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/url.py +0 -0
  188. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/database_properties/verification.py +0 -0
  189. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/date.py +0 -0
  190. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/file.py +0 -0
  191. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/parent.py +0 -0
  192. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/rich_text.py +0 -0
  193. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/notion/types/user.py +0 -0
  194. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/onedrive.py +0 -0
  195. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/outlook.py +0 -0
  196. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/pinecone.py +0 -0
  197. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/qdrant/__init__.py +0 -0
  198. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/qdrant/cloud.py +0 -0
  199. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/qdrant/local.py +0 -0
  200. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/qdrant/qdrant.py +0 -0
  201. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/qdrant/server.py +0 -0
  202. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/redisdb.py +0 -0
  203. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/salesforce.py +0 -0
  204. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/sharepoint.py +0 -0
  205. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/slack.py +0 -0
  206. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/sql/__init__.py +0 -0
  207. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/sql/databricks_delta_tables.py +0 -0
  208. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/sql/postgres.py +0 -0
  209. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/sql/singlestore.py +0 -0
  210. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/sql/sqlite.py +0 -0
  211. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/sql/vastdb.py +0 -0
  212. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/utils.py +0 -0
  213. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/vectara.py +0 -0
  214. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/weaviate/__init__.py +0 -0
  215. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/weaviate/cloud.py +0 -0
  216. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/weaviate/embedded.py +0 -0
  217. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/weaviate/local.py +0 -0
  218. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/weaviate/weaviate.py +0 -0
  219. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/zendesk/__init__.py +0 -0
  220. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/zendesk/client.py +0 -0
  221. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/connectors/zendesk/zendesk.py +0 -0
  222. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/embedder.py +0 -0
  223. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/filter.py +0 -0
  224. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/partitioner.py +0 -0
  225. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/uncompress.py +0 -0
  226. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/utils/__init__.py +0 -0
  227. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/utils/blob_storage.py +0 -0
  228. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/utils/logging/connector.py +0 -0
  229. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/processes/utils/logging/sanitizer.py +0 -0
  230. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/unstructured_api.py +0 -0
  231. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/utils/__init__.py +0 -0
  232. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/utils/chunking.py +0 -0
  233. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/utils/compression.py +0 -0
  234. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/utils/constants.py +0 -0
  235. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/utils/data_prep.py +0 -0
  236. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/utils/dep_check.py +0 -0
  237. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/utils/filesystem.py +0 -0
  238. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/utils/html.py +0 -0
  239. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/utils/ndjson.py +0 -0
  240. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/utils/pydantic_models.py +0 -0
  241. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/utils/string_and_date_utils.py +0 -0
  242. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/utils/table.py +0 -0
  243. {unstructured_ingest-1.2.14 → unstructured_ingest-1.2.18}/unstructured_ingest/utils/tls.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: unstructured_ingest
3
- Version: 1.2.14
3
+ Version: 1.2.18
4
4
  Summary: Local ETL data pipeline to get data RAG ready
5
5
  Author-email: Unstructured Technologies <devops@unstructuredai.io>
6
6
  License-Expression: Apache-2.0
@@ -0,0 +1 @@
1
+ __version__ = "1.2.18" # pragma: no cover
@@ -27,12 +27,24 @@ if TYPE_CHECKING:
27
27
  from botocore.client import BaseClient
28
28
 
29
29
  class BedrockRuntimeClient(BaseClient):
30
- def invoke_model(self, body: str, modelId: str, accept: str, contentType: str) -> dict:
30
+ def invoke_model(
31
+ self,
32
+ body: str,
33
+ modelId: str,
34
+ accept: str,
35
+ contentType: str,
36
+ inferenceProfileId: str = None,
37
+ ) -> dict:
31
38
  pass
32
39
 
33
40
  class AsyncBedrockRuntimeClient(BaseClient):
34
41
  async def invoke_model(
35
- self, body: str, modelId: str, accept: str, contentType: str
42
+ self,
43
+ body: str,
44
+ modelId: str,
45
+ accept: str,
46
+ contentType: str,
47
+ inferenceProfileId: str = None,
36
48
  ) -> dict:
37
49
  pass
38
50
 
@@ -63,10 +75,10 @@ class BedrockEmbeddingConfig(EmbeddingConfig):
63
75
  description="aws secret access key", default=None
64
76
  )
65
77
  region_name: str = Field(
66
- description="aws region name",
78
+ description="aws region name",
67
79
  default_factory=lambda: (
68
- os.getenv("BEDROCK_REGION_NAME") or
69
- os.getenv("AWS_DEFAULT_REGION") or
80
+ os.getenv("BEDROCK_REGION_NAME") or
81
+ os.getenv("AWS_DEFAULT_REGION") or
70
82
  "us-west-2"
71
83
  )
72
84
  )
@@ -79,6 +91,10 @@ class BedrockEmbeddingConfig(EmbeddingConfig):
79
91
  alias="model_name",
80
92
  description="AWS Bedrock model name",
81
93
  )
94
+ inference_profile_id: str | None = Field(
95
+ description="AWS Bedrock inference profile ID",
96
+ default_factory=lambda: os.getenv("BEDROCK_INFERENCE_PROFILE_ID"),
97
+ )
82
98
 
83
99
  def wrap_error(self, e: Exception) -> Exception:
84
100
  if is_internal_error(e=e):
@@ -218,12 +234,18 @@ class BedrockEmbeddingEncoder(BaseEmbeddingEncoder):
218
234
  bedrock_client = self.config.get_client()
219
235
  # invoke bedrock API
220
236
  try:
221
- response = bedrock_client.invoke_model(
222
- body=json.dumps(body),
223
- modelId=self.config.embedder_model_name,
224
- accept="application/json",
225
- contentType="application/json",
226
- )
237
+ invoke_params = {
238
+ "body": json.dumps(body),
239
+ "modelId": self.config.embedder_model_name,
240
+ "accept": "application/json",
241
+ "contentType": "application/json",
242
+ }
243
+
244
+ # Add inference profile if configured
245
+ if self.config.inference_profile_id:
246
+ invoke_params["inferenceProfileId"] = self.config.inference_profile_id
247
+
248
+ response = bedrock_client.invoke_model(**invoke_params)
227
249
  except Exception as e:
228
250
  raise self.wrap_error(e=e)
229
251
 
@@ -264,12 +286,18 @@ class AsyncBedrockEmbeddingEncoder(AsyncBaseEmbeddingEncoder):
264
286
  async with self.config.get_async_client() as bedrock_client:
265
287
  # invoke bedrock API
266
288
  try:
267
- response = await bedrock_client.invoke_model(
268
- body=json.dumps(body),
269
- modelId=self.config.embedder_model_name,
270
- accept="application/json",
271
- contentType="application/json",
272
- )
289
+ invoke_params = {
290
+ "body": json.dumps(body),
291
+ "modelId": self.config.embedder_model_name,
292
+ "accept": "application/json",
293
+ "contentType": "application/json",
294
+ }
295
+
296
+ # Add inference profile if configured
297
+ if self.config.inference_profile_id:
298
+ invoke_params["inferenceProfileId"] = self.config.inference_profile_id
299
+
300
+ response = await bedrock_client.invoke_model(**invoke_params)
273
301
  except Exception as e:
274
302
  raise self.wrap_error(e=e)
275
303
  async with response.get("body") as client_response:
@@ -76,7 +76,9 @@ class DatabricksVolumesConnectionConfig(ConnectionConfig, ABC):
76
76
  if isinstance(e, ValueError):
77
77
  error_message = e.args[0]
78
78
  message_split = error_message.split(":")
79
- if message_split[0].endswith("auth"):
79
+ if (message_split[0].endswith("auth")) or (
80
+ "Client authentication failed" in error_message
81
+ ):
80
82
  return UserAuthError(e)
81
83
  if isinstance(e, DatabricksError):
82
84
  reverse_mapping = {v: k for k, v in STATUS_CODE_MAPPING.items()}
@@ -189,6 +189,9 @@ class GoogleDriveIndexer(Indexer):
189
189
  """
190
190
  count = 0
191
191
  stack = [folder_id]
192
+ # Pre-compute lower-case extension set for O(1) lookup
193
+ valid_exts = set(e.lower() for e in extensions) if extensions else None
194
+
192
195
  while stack:
193
196
  current_folder = stack.pop()
194
197
  # Always list all items under the current folder.
@@ -212,7 +215,6 @@ class GoogleDriveIndexer(Indexer):
212
215
  if extensions:
213
216
  # Use a case-insensitive comparison for the file extension.
214
217
  file_ext = (item.get("fileExtension") or "").lower()
215
- valid_exts = [e.lower() for e in extensions]
216
218
  if file_ext in valid_exts:
217
219
  count += 1
218
220
  else:
@@ -1,6 +1,7 @@
1
1
  import json
2
2
  from contextlib import contextmanager
3
3
  from dataclasses import dataclass, field
4
+ from datetime import datetime
4
5
  from typing import TYPE_CHECKING, Any, Generator, Optional
5
6
 
6
7
  from dateutil import parser
@@ -97,6 +98,13 @@ class MilvusUploadStager(UploadStager):
97
98
  return timestamp
98
99
  except ValueError:
99
100
  pass
101
+
102
+ try:
103
+ dt = datetime.fromisoformat(date_string.replace("Z", "+00:00"))
104
+ return dt.timestamp()
105
+ except ValueError:
106
+ pass
107
+
100
108
  return parser.parse(date_string).timestamp()
101
109
 
102
110
  def conform_dict(self, element_dict: dict, file_data: FileData) -> dict:
@@ -1,5 +1,5 @@
1
1
  # https://developers.notion.com/reference/page
2
- from dataclasses import dataclass
2
+ from dataclasses import dataclass, fields
3
3
  from typing import Optional
4
4
 
5
5
  from unstructured_ingest.processes.connectors.notion.interfaces import FromJSONMixin
@@ -28,18 +28,25 @@ class Page(FromJSONMixin):
28
28
 
29
29
  @classmethod
30
30
  def from_dict(cls, data: dict):
31
+ data = data.copy() # Don't modify the original
31
32
  created_by = data.pop("created_by")
32
33
  last_edited_by = data.pop("last_edited_by")
33
34
  icon = data.pop("icon")
34
35
  cover = data.pop("cover")
35
36
  parent = data.pop("parent")
37
+
38
+ # Filter data to only include fields that exist in the dataclass
39
+ filtered_data = {
40
+ k: v for k, v in data.items() if k in {field.name for field in fields(cls)}
41
+ }
42
+
36
43
  page = cls(
37
44
  created_by=PartialUser.from_dict(created_by),
38
45
  last_edited_by=PartialUser.from_dict(last_edited_by),
39
46
  icon=FileObject.from_dict(icon) if icon else None,
40
47
  cover=FileObject.from_dict(cover) if cover else None,
41
48
  parent=Parent.from_dict(parent),
42
- **data,
49
+ **filtered_data,
43
50
  )
44
51
 
45
52
  return page
@@ -233,18 +233,19 @@ class SnowflakeUploader(SQLUploader):
233
233
  output.append(tuple(parsed))
234
234
  return output
235
235
 
236
- def _parse_values(self, columns: list[str]) -> str:
236
+ def _parse_select(self, columns: list[str]) -> str:
237
237
  embeddings_dimension = self.embeddings_dimension
238
238
  parsed_values = []
239
- for col in columns:
239
+ for i, col in enumerate(columns):
240
+ argument_selector = f"${i + 1}"
240
241
  if col in _VECTOR_COLUMNS and embeddings_dimension:
241
242
  parsed_values.append(
242
- f"PARSE_JSON({self.values_delimiter})::VECTOR(FLOAT,{embeddings_dimension})"
243
+ f"PARSE_JSON({argument_selector})::VECTOR(FLOAT,{embeddings_dimension})"
243
244
  )
244
245
  elif col in _ARRAY_COLUMNS or col in _VECTOR_COLUMNS:
245
- parsed_values.append(f"PARSE_JSON({self.values_delimiter})")
246
+ parsed_values.append(f"PARSE_JSON({argument_selector})")
246
247
  else:
247
- parsed_values.append(self.values_delimiter)
248
+ parsed_values.append(argument_selector)
248
249
  return ",".join(parsed_values)
249
250
 
250
251
  def upload_dataframe(self, df: "DataFrame", file_data: FileData) -> None:
@@ -262,10 +263,11 @@ class SnowflakeUploader(SQLUploader):
262
263
  df.replace({np.nan: None}, inplace=True)
263
264
 
264
265
  columns = list(df.columns)
265
- stmt = "INSERT INTO {table_name} ({columns}) SELECT {values}".format(
266
+ stmt = "INSERT INTO {table_name} ({columns}) SELECT {select} FROM VALUES ({values})".format(
266
267
  table_name=self.upload_config.table_name,
267
268
  columns=",".join(columns),
268
- values=self._parse_values(columns),
269
+ select=self._parse_select(columns),
270
+ values=",".join([self.values_delimiter for _ in columns]),
269
271
  )
270
272
  logger.info(
271
273
  f"writing a total of {len(df)} elements via"
@@ -276,10 +278,7 @@ class SnowflakeUploader(SQLUploader):
276
278
  for rows in split_dataframe(df=df, chunk_size=self.upload_config.batch_size):
277
279
  with self.connection_config.get_cursor() as cursor:
278
280
  values = self.prepare_data(columns, tuple(rows.itertuples(index=False, name=None)))
279
- # TODO: executemany break on 'Binding data in type (list) is not supported'
280
- for val in values:
281
- logger.debug(f"running query: {stmt}\nwith values: {val}")
282
- cursor.execute(stmt, val)
281
+ cursor.executemany(stmt, values)
283
282
 
284
283
 
285
284
  snowflake_source_entry = SourceRegistryEntry(
@@ -64,6 +64,12 @@ def parse_date_string(date_value: Union[str, int]) -> datetime:
64
64
  return datetime.fromtimestamp(timestamp)
65
65
  except Exception as e:
66
66
  logger.debug(f"date {date_value} string not a timestamp: {e}")
67
+
68
+ if isinstance(date_value, str):
69
+ try:
70
+ return datetime.fromisoformat(date_value)
71
+ except Exception:
72
+ pass
67
73
  return parser.parse(date_value)
68
74
 
69
75
 
@@ -1 +0,0 @@
1
- __version__ = "1.2.14" # pragma: no cover