unstructured-ingest 1.0.24__tar.gz → 1.0.28__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 (239) hide show
  1. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/PKG-INFO +1 -1
  2. unstructured_ingest-1.0.28/unstructured_ingest/__version__.py +1 -0
  3. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/embed/vertexai.py +1 -1
  4. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/callout.py +40 -3
  5. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/user.py +10 -6
  6. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/sharepoint.py +5 -1
  7. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/sql/snowflake.py +42 -12
  8. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/sql/sql.py +7 -3
  9. unstructured_ingest-1.0.24/unstructured_ingest/__version__.py +0 -1
  10. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/.gitignore +0 -0
  11. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/LICENSE.md +0 -0
  12. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/README.md +0 -0
  13. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/pyproject.toml +0 -0
  14. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/__init__.py +0 -0
  15. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/cli/README.md +0 -0
  16. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/cli/__init__.py +0 -0
  17. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/cli/base/__init__.py +0 -0
  18. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/cli/base/cmd.py +0 -0
  19. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/cli/base/dest.py +0 -0
  20. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/cli/base/importer.py +0 -0
  21. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/cli/base/src.py +0 -0
  22. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/cli/cli.py +0 -0
  23. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/cli/cmds.py +0 -0
  24. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/cli/utils/__init__.py +0 -0
  25. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/cli/utils/click.py +0 -0
  26. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/cli/utils/model_conversion.py +0 -0
  27. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/data_types/__init__.py +0 -0
  28. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/data_types/entities.py +0 -0
  29. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/data_types/file_data.py +0 -0
  30. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/embed/__init__.py +0 -0
  31. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/embed/azure_openai.py +0 -0
  32. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/embed/bedrock.py +0 -0
  33. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/embed/huggingface.py +0 -0
  34. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/embed/interfaces.py +0 -0
  35. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/embed/mixedbreadai.py +0 -0
  36. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/embed/octoai.py +0 -0
  37. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/embed/openai.py +0 -0
  38. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/embed/togetherai.py +0 -0
  39. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/embed/voyageai.py +0 -0
  40. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/error.py +0 -0
  41. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/errors_v2.py +0 -0
  42. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/interfaces/__init__.py +0 -0
  43. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/interfaces/connector.py +0 -0
  44. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/interfaces/downloader.py +0 -0
  45. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/interfaces/indexer.py +0 -0
  46. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/interfaces/process.py +0 -0
  47. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/interfaces/processor.py +0 -0
  48. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/interfaces/upload_stager.py +0 -0
  49. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/interfaces/uploader.py +0 -0
  50. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/logger.py +0 -0
  51. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/main.py +0 -0
  52. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/otel.py +0 -0
  53. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/pipeline/__init__.py +0 -0
  54. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/pipeline/interfaces.py +0 -0
  55. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/pipeline/otel.py +0 -0
  56. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/pipeline/pipeline.py +0 -0
  57. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/pipeline/steps/__init__.py +0 -0
  58. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/pipeline/steps/chunk.py +0 -0
  59. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/pipeline/steps/download.py +0 -0
  60. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/pipeline/steps/embed.py +0 -0
  61. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/pipeline/steps/filter.py +0 -0
  62. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/pipeline/steps/index.py +0 -0
  63. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/pipeline/steps/partition.py +0 -0
  64. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/pipeline/steps/stage.py +0 -0
  65. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/pipeline/steps/uncompress.py +0 -0
  66. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/pipeline/steps/upload.py +0 -0
  67. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/__init__.py +0 -0
  68. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/chunker.py +0 -0
  69. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connector_registry.py +0 -0
  70. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/__init__.py +0 -0
  71. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/airtable.py +0 -0
  72. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/assets/__init__.py +0 -0
  73. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/assets/databricks_delta_table_schema.sql +0 -0
  74. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/assets/weaviate_collection_config.json +0 -0
  75. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/astradb.py +0 -0
  76. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/azure_ai_search.py +0 -0
  77. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/chroma.py +0 -0
  78. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/confluence.py +0 -0
  79. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/couchbase.py +0 -0
  80. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/databricks/__init__.py +0 -0
  81. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/databricks/volumes.py +0 -0
  82. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/databricks/volumes_aws.py +0 -0
  83. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/databricks/volumes_azure.py +0 -0
  84. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/databricks/volumes_gcp.py +0 -0
  85. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/databricks/volumes_native.py +0 -0
  86. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/databricks/volumes_table.py +0 -0
  87. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/delta_table.py +0 -0
  88. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/discord.py +0 -0
  89. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/duckdb/__init__.py +0 -0
  90. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/duckdb/base.py +0 -0
  91. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/duckdb/duckdb.py +0 -0
  92. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/duckdb/motherduck.py +0 -0
  93. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/elasticsearch/__init__.py +0 -0
  94. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/elasticsearch/elasticsearch.py +0 -0
  95. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/elasticsearch/opensearch.py +0 -0
  96. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/fsspec/__init__.py +0 -0
  97. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/fsspec/azure.py +0 -0
  98. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/fsspec/box.py +0 -0
  99. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/fsspec/dropbox.py +0 -0
  100. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/fsspec/fsspec.py +0 -0
  101. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/fsspec/gcs.py +0 -0
  102. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/fsspec/s3.py +0 -0
  103. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/fsspec/sftp.py +0 -0
  104. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/fsspec/utils.py +0 -0
  105. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/github.py +0 -0
  106. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/gitlab.py +0 -0
  107. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/google_drive.py +0 -0
  108. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/ibm_watsonx/__init__.py +0 -0
  109. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/ibm_watsonx/ibm_watsonx_s3.py +0 -0
  110. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/jira.py +0 -0
  111. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/kafka/__init__.py +0 -0
  112. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/kafka/cloud.py +0 -0
  113. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/kafka/kafka.py +0 -0
  114. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/kafka/local.py +0 -0
  115. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/kdbai.py +0 -0
  116. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/lancedb/__init__.py +0 -0
  117. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/lancedb/aws.py +0 -0
  118. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/lancedb/azure.py +0 -0
  119. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/lancedb/cloud.py +0 -0
  120. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/lancedb/gcp.py +0 -0
  121. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/lancedb/lancedb.py +0 -0
  122. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/lancedb/local.py +0 -0
  123. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/local.py +0 -0
  124. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/milvus.py +0 -0
  125. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/mongodb.py +0 -0
  126. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/neo4j.py +0 -0
  127. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/__init__.py +0 -0
  128. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/client.py +0 -0
  129. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/connector.py +0 -0
  130. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/helpers.py +0 -0
  131. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/ingest_backoff/__init__.py +0 -0
  132. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/ingest_backoff/_common.py +0 -0
  133. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/ingest_backoff/_wrapper.py +0 -0
  134. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/ingest_backoff/types.py +0 -0
  135. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/interfaces.py +0 -0
  136. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/__init__.py +0 -0
  137. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/block.py +0 -0
  138. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/__init__.py +0 -0
  139. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/bookmark.py +0 -0
  140. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/breadcrumb.py +0 -0
  141. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/bulleted_list_item.py +0 -0
  142. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/child_database.py +0 -0
  143. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/child_page.py +0 -0
  144. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/code.py +0 -0
  145. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/column_list.py +0 -0
  146. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/divider.py +0 -0
  147. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/embed.py +0 -0
  148. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/equation.py +0 -0
  149. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/file.py +0 -0
  150. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/heading.py +0 -0
  151. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/image.py +0 -0
  152. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/link_preview.py +0 -0
  153. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/link_to_page.py +0 -0
  154. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/numbered_list.py +0 -0
  155. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/paragraph.py +0 -0
  156. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/pdf.py +0 -0
  157. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/quote.py +0 -0
  158. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/synced_block.py +0 -0
  159. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/table.py +0 -0
  160. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/table_of_contents.py +0 -0
  161. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/template.py +0 -0
  162. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/todo.py +0 -0
  163. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/toggle.py +0 -0
  164. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/unsupported.py +0 -0
  165. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/blocks/video.py +0 -0
  166. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database.py +0 -0
  167. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/__init__.py +0 -0
  168. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/checkbox.py +0 -0
  169. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/created_by.py +0 -0
  170. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/created_time.py +0 -0
  171. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/date.py +0 -0
  172. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/email.py +0 -0
  173. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/files.py +0 -0
  174. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/formula.py +0 -0
  175. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/last_edited_by.py +0 -0
  176. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/last_edited_time.py +0 -0
  177. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/multiselect.py +0 -0
  178. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/number.py +0 -0
  179. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/people.py +0 -0
  180. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/phone_number.py +0 -0
  181. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/relation.py +0 -0
  182. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/rich_text.py +0 -0
  183. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/rollup.py +0 -0
  184. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/select.py +0 -0
  185. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/status.py +0 -0
  186. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/title.py +0 -0
  187. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/unique_id.py +0 -0
  188. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/url.py +0 -0
  189. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/database_properties/verification.py +0 -0
  190. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/date.py +0 -0
  191. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/file.py +0 -0
  192. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/page.py +0 -0
  193. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/parent.py +0 -0
  194. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/notion/types/rich_text.py +0 -0
  195. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/onedrive.py +0 -0
  196. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/outlook.py +0 -0
  197. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/pinecone.py +0 -0
  198. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/qdrant/__init__.py +0 -0
  199. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/qdrant/cloud.py +0 -0
  200. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/qdrant/local.py +0 -0
  201. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/qdrant/qdrant.py +0 -0
  202. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/qdrant/server.py +0 -0
  203. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/redisdb.py +0 -0
  204. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/salesforce.py +0 -0
  205. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/slack.py +0 -0
  206. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/sql/__init__.py +0 -0
  207. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/sql/databricks_delta_tables.py +0 -0
  208. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/sql/postgres.py +0 -0
  209. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/sql/singlestore.py +0 -0
  210. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/sql/sqlite.py +0 -0
  211. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/sql/vastdb.py +0 -0
  212. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/utils.py +0 -0
  213. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/vectara.py +0 -0
  214. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/weaviate/__init__.py +0 -0
  215. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/weaviate/cloud.py +0 -0
  216. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/weaviate/embedded.py +0 -0
  217. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/weaviate/local.py +0 -0
  218. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/weaviate/weaviate.py +0 -0
  219. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/zendesk/__init__.py +0 -0
  220. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/zendesk/client.py +0 -0
  221. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/connectors/zendesk/zendesk.py +0 -0
  222. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/embedder.py +0 -0
  223. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/filter.py +0 -0
  224. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/partitioner.py +0 -0
  225. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/uncompress.py +0 -0
  226. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/utils/__init__.py +0 -0
  227. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/processes/utils/blob_storage.py +0 -0
  228. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/unstructured_api.py +0 -0
  229. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/utils/__init__.py +0 -0
  230. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/utils/chunking.py +0 -0
  231. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/utils/compression.py +0 -0
  232. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/utils/constants.py +0 -0
  233. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/utils/data_prep.py +0 -0
  234. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/utils/dep_check.py +0 -0
  235. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/utils/html.py +0 -0
  236. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/utils/ndjson.py +0 -0
  237. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/utils/pydantic_models.py +0 -0
  238. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/utils/string_and_date_utils.py +0 -0
  239. {unstructured_ingest-1.0.24 → unstructured_ingest-1.0.28}/unstructured_ingest/utils/table.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: unstructured_ingest
3
- Version: 1.0.24
3
+ Version: 1.0.28
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.0.28" # pragma: no cover
@@ -34,7 +34,7 @@ ApiKeyType = Secret[Annotated[dict, BeforeValidator(conform_string_to_dict)]]
34
34
  class VertexAIEmbeddingConfig(EmbeddingConfig):
35
35
  api_key: ApiKeyType = Field(description="API key for Vertex AI")
36
36
  embedder_model_name: Optional[str] = Field(
37
- default="textembedding-gecko@001", alias="model_name", description="Vertex AI model name"
37
+ default="text-embedding-005", alias="model_name", description="Vertex AI model name"
38
38
  )
39
39
 
40
40
  def wrap_error(self, e: Exception) -> Exception:
@@ -51,14 +51,49 @@ class ExternalIcon(FromJSONMixin, GetHTMLMixin):
51
51
  return None
52
52
 
53
53
 
54
+ @dataclass
55
+ class FileIconContent(FromJSONMixin):
56
+ url: str
57
+ expiry_time: Optional[str] = None # Add expiry_time if needed
58
+
59
+ @classmethod
60
+ def from_dict(cls, data: dict):
61
+ # Only include expiry_time if it exists in the dictionary
62
+ # Notion API might not always include it
63
+ init_data = {"url": data.get("url")}
64
+ if "expiry_time" in data:
65
+ init_data["expiry_time"] = data.get("expiry_time")
66
+ return cls(**init_data)
67
+
68
+
69
+ @dataclass
70
+ class FileIcon(FromJSONMixin, GetHTMLMixin):
71
+ file: FileIconContent
72
+ type: str = "file"
73
+
74
+ @classmethod
75
+ def from_dict(cls, data: dict):
76
+ return cls(file=FileIconContent.from_dict(data=data.pop("file")), **data)
77
+
78
+ def get_html(self) -> Optional[HtmlTag]:
79
+ # Render the file URL, similar to how ExternalIcon is handled
80
+ if self.file:
81
+ # Could potentially render an <img> tag, but sticking to URL for consistency
82
+ return A([Href(self.file.url)], [f"[File Icon: {self.file.url}]"])
83
+ else:
84
+ return None
85
+
86
+
54
87
  class Icon(FromJSONMixin):
55
88
  @classmethod
56
- def from_dict(cls, data: dict) -> Union[EmojiIcon, ExternalIcon]:
89
+ def from_dict(cls, data: dict) -> Union[EmojiIcon, ExternalIcon, FileIcon]:
57
90
  t = data.get("type")
58
91
  if t == "emoji":
59
92
  return EmojiIcon.from_dict(data)
60
93
  elif t == "external":
61
94
  return ExternalIcon.from_dict(data)
95
+ elif t == "file":
96
+ return FileIcon.from_dict(data)
62
97
  else:
63
98
  raise ValueError(f"Unexpected icon type: {t} ({data})")
64
99
 
@@ -66,7 +101,7 @@ class Icon(FromJSONMixin):
66
101
  @dataclass
67
102
  class Callout(BlockBase):
68
103
  color: str
69
- icon: Optional[Union[EmojiIcon, ExternalIcon]] = None
104
+ icon: Optional[Union[EmojiIcon, ExternalIcon, FileIcon]] = None
70
105
  rich_text: List[RichText] = field(default_factory=list)
71
106
 
72
107
  @staticmethod
@@ -76,9 +111,11 @@ class Callout(BlockBase):
76
111
  @classmethod
77
112
  def from_dict(cls, data: dict):
78
113
  rich_text = data.pop("rich_text", [])
114
+ icon_data = data.pop("icon", None)
115
+ icon = Icon.from_dict(icon_data) if icon_data else None
79
116
  return cls(
80
117
  color=data["color"],
81
- icon=Icon.from_dict(data.pop("icon")),
118
+ icon=icon,
82
119
  rich_text=[RichText.from_dict(rt) for rt in rich_text],
83
120
  )
84
121
 
@@ -36,14 +36,16 @@ class User(FromJSONMixin, GetHTMLMixin):
36
36
  def get_text(self) -> Optional[str]:
37
37
  text = self.name
38
38
  if self.avatar_url:
39
- text = f"[{text}]({self.avatar_url}"
39
+ text = f"[{text}]({self.avatar_url})"
40
40
  return text
41
41
 
42
42
  def get_html(self) -> Optional[HtmlTag]:
43
- if self.avatar_url:
43
+ if self.avatar_url and self.name:
44
44
  return A([Href(self.avatar_url)], self.name)
45
- else:
45
+ elif self.name:
46
46
  return Div([], self.name)
47
+ else:
48
+ return Div([], "")
47
49
 
48
50
 
49
51
  @dataclass
@@ -69,11 +71,13 @@ class Bots(FromJSONMixin, GetHTMLMixin):
69
71
  def get_text(self) -> Optional[str]:
70
72
  text = self.name
71
73
  if self.avatar_url:
72
- text = f"[{text}]({self.avatar_url}"
74
+ text = f"[{text}]({self.avatar_url})"
73
75
  return text
74
76
 
75
77
  def get_html(self) -> Optional[HtmlTag]:
76
- if self.avatar_url:
78
+ if self.avatar_url and self.name:
77
79
  return A([Href(self.avatar_url)], self.name)
78
- else:
80
+ elif self.name:
79
81
  return Div([], self.name)
82
+ else:
83
+ return Div([], "")
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import asyncio
4
4
  from dataclasses import dataclass
5
- from typing import TYPE_CHECKING, Any, AsyncIterator
5
+ from typing import TYPE_CHECKING, Any, AsyncIterator, Optional
6
6
 
7
7
  from pydantic import Field
8
8
 
@@ -39,6 +39,10 @@ class SharepointAccessConfig(OnedriveAccessConfig):
39
39
 
40
40
 
41
41
  class SharepointConnectionConfig(OnedriveConnectionConfig):
42
+ user_pname: Optional[str] = Field(
43
+ default=None,
44
+ description="User principal name or service account, usually your Azure AD email.",
45
+ )
42
46
  site: str = Field(
43
47
  description="Sharepoint site url. Process either base url e.g \
44
48
  https://[tenant].sharepoint.com or relative sites \
@@ -37,8 +37,8 @@ if TYPE_CHECKING:
37
37
 
38
38
  CONNECTOR_TYPE = "snowflake"
39
39
 
40
+ EMBEDDINGS_COLUMN = "embeddings"
40
41
  _ARRAY_COLUMNS = (
41
- "embeddings",
42
42
  "languages",
43
43
  "link_urls",
44
44
  "link_texts",
@@ -47,6 +47,7 @@ _ARRAY_COLUMNS = (
47
47
  "emphasized_text_contents",
48
48
  "emphasized_text_tags",
49
49
  )
50
+ _VECTOR_COLUMNS = (EMBEDDINGS_COLUMN,)
50
51
 
51
52
 
52
53
  class SnowflakeAccessConfig(SQLAccessConfig):
@@ -174,6 +175,33 @@ class SnowflakeUploader(SQLUploader):
174
175
  connector_type: str = CONNECTOR_TYPE
175
176
  values_delimiter: str = "?"
176
177
 
178
+ _embeddings_dimension: Optional[int] = None
179
+
180
+ @property
181
+ def embeddings_dimension(self) -> Optional[int]:
182
+ """
183
+ Get the dimension of the embeddings column in the Snowflake table.
184
+ If the column is not present or is not of type VECTOR, returns None.
185
+ """
186
+ if self._embeddings_dimension is None:
187
+ with self.connection_config.get_cursor() as cursor:
188
+ embeddings_column = cursor.execute(
189
+ f"SHOW COLUMNS LIKE '{EMBEDDINGS_COLUMN}' IN {self.upload_config.table_name}"
190
+ ).fetchone()
191
+ if embeddings_column:
192
+ data_type = {}
193
+ if isinstance(embeddings_column, dict):
194
+ data_type = json.loads(embeddings_column.get("data_type", "{}"))
195
+ elif isinstance(embeddings_column, tuple):
196
+ data_type = json.loads(embeddings_column[3] or "{}")
197
+ if isinstance(data_type, dict) and data_type.get("type") == "VECTOR":
198
+ self._embeddings_dimension = data_type.get("dimension")
199
+ # If the _embeddings_dimension is still None, it means the column
200
+ # is not present or not a VECTOR type
201
+ if self._embeddings_dimension is None:
202
+ self._embeddings_dimension = 0
203
+ return self._embeddings_dimension
204
+
177
205
  @requires_dependencies(["pandas"], extras="snowflake")
178
206
  def run(self, path: Path, file_data: FileData, **kwargs: Any) -> None:
179
207
  super().run(path=path, file_data=file_data, **kwargs)
@@ -193,7 +221,7 @@ class SnowflakeUploader(SQLUploader):
193
221
  parsed.append(None)
194
222
  else:
195
223
  parsed.append(parse_date_string(value))
196
- elif column_name in _ARRAY_COLUMNS:
224
+ elif column_name in _ARRAY_COLUMNS or column_name in _VECTOR_COLUMNS:
197
225
  if not isinstance(value, list) and (
198
226
  value is None or pd.isna(value)
199
227
  ): # pandas is nan
@@ -206,16 +234,18 @@ class SnowflakeUploader(SQLUploader):
206
234
  return output
207
235
 
208
236
  def _parse_values(self, columns: list[str]) -> str:
209
- return ",".join(
210
- [
211
- (
212
- f"PARSE_JSON({self.values_delimiter})"
213
- if col in _ARRAY_COLUMNS
214
- else self.values_delimiter
237
+ embeddings_dimension = self.embeddings_dimension
238
+ parsed_values = []
239
+ for col in columns:
240
+ if col in _VECTOR_COLUMNS and embeddings_dimension:
241
+ parsed_values.append(
242
+ f"PARSE_JSON({self.values_delimiter})::VECTOR(FLOAT,{embeddings_dimension})"
215
243
  )
216
- for col in columns
217
- ]
218
- )
244
+ elif col in _ARRAY_COLUMNS or col in _VECTOR_COLUMNS:
245
+ parsed_values.append(f"PARSE_JSON({self.values_delimiter})")
246
+ else:
247
+ parsed_values.append(self.values_delimiter)
248
+ return ",".join(parsed_values)
219
249
 
220
250
  def upload_dataframe(self, df: "DataFrame", file_data: FileData) -> None:
221
251
  import numpy as np
@@ -228,8 +258,8 @@ class SnowflakeUploader(SQLUploader):
228
258
  f"record id column "
229
259
  f"{self.upload_config.record_id_key}, skipping delete"
230
260
  )
261
+ df = self._fit_to_schema(df=df, add_missing_columns=True, case_sensitive=False)
231
262
  df.replace({np.nan: None}, inplace=True)
232
- self._fit_to_schema(df=df)
233
263
 
234
264
  columns = list(df.columns)
235
265
  stmt = "INSERT INTO {table_name} ({columns}) SELECT {values}".format(
@@ -339,12 +339,16 @@ class SQLUploader(Uploader):
339
339
  output.append(tuple(parsed))
340
340
  return output
341
341
 
342
- def _fit_to_schema(self, df: "DataFrame", add_missing_columns: bool = True) -> "DataFrame":
342
+ def _fit_to_schema(
343
+ self, df: "DataFrame", add_missing_columns: bool = True, case_sensitive: bool = True
344
+ ) -> "DataFrame":
343
345
  import pandas as pd
344
346
 
345
347
  table_columns = self.get_table_columns()
346
- columns = set(df.columns)
347
- schema_fields = set(table_columns)
348
+ columns = set(df.columns if case_sensitive else df.columns.str.lower())
349
+ schema_fields = set(
350
+ table_columns if case_sensitive else {col.lower() for col in table_columns}
351
+ )
348
352
  columns_to_drop = columns - schema_fields
349
353
  missing_columns = schema_fields - columns
350
354
 
@@ -1 +0,0 @@
1
- __version__ = "1.0.24" # pragma: no cover