unstructured-ingest 0.3.13__py3-none-any.whl
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.
- test/__init__.py +0 -0
- test/integration/__init__.py +0 -0
- test/integration/chunkers/__init__.py +0 -0
- test/integration/chunkers/test_chunkers.py +31 -0
- test/integration/connectors/__init__.py +0 -0
- test/integration/connectors/conftest.py +38 -0
- test/integration/connectors/databricks/__init__.py +0 -0
- test/integration/connectors/databricks/test_volumes_native.py +269 -0
- test/integration/connectors/discord/__init__.py +0 -0
- test/integration/connectors/discord/test_discord.py +90 -0
- test/integration/connectors/duckdb/__init__.py +0 -0
- test/integration/connectors/duckdb/conftest.py +14 -0
- test/integration/connectors/duckdb/test_duckdb.py +89 -0
- test/integration/connectors/duckdb/test_motherduck.py +95 -0
- test/integration/connectors/elasticsearch/__init__.py +0 -0
- test/integration/connectors/elasticsearch/conftest.py +34 -0
- test/integration/connectors/elasticsearch/test_elasticsearch.py +330 -0
- test/integration/connectors/elasticsearch/test_opensearch.py +325 -0
- test/integration/connectors/sql/__init__.py +0 -0
- test/integration/connectors/sql/test_postgres.py +195 -0
- test/integration/connectors/sql/test_singlestore.py +176 -0
- test/integration/connectors/sql/test_snowflake.py +238 -0
- test/integration/connectors/sql/test_sqlite.py +162 -0
- test/integration/connectors/test_astradb.py +217 -0
- test/integration/connectors/test_azure_ai_search.py +255 -0
- test/integration/connectors/test_chroma.py +120 -0
- test/integration/connectors/test_confluence.py +113 -0
- test/integration/connectors/test_delta_table.py +185 -0
- test/integration/connectors/test_lancedb.py +247 -0
- test/integration/connectors/test_milvus.py +203 -0
- test/integration/connectors/test_mongodb.py +335 -0
- test/integration/connectors/test_neo4j.py +236 -0
- test/integration/connectors/test_notion.py +145 -0
- test/integration/connectors/test_onedrive.py +118 -0
- test/integration/connectors/test_pinecone.py +288 -0
- test/integration/connectors/test_qdrant.py +215 -0
- test/integration/connectors/test_redis.py +119 -0
- test/integration/connectors/test_s3.py +183 -0
- test/integration/connectors/test_vectara.py +270 -0
- test/integration/connectors/utils/__init__.py +0 -0
- test/integration/connectors/utils/constants.py +7 -0
- test/integration/connectors/utils/docker.py +151 -0
- test/integration/connectors/utils/docker_compose.py +59 -0
- test/integration/connectors/utils/validation/__init__.py +0 -0
- test/integration/connectors/utils/validation/destination.py +75 -0
- test/integration/connectors/utils/validation/equality.py +75 -0
- test/integration/connectors/utils/validation/source.py +299 -0
- test/integration/connectors/utils/validation/utils.py +36 -0
- test/integration/connectors/weaviate/__init__.py +0 -0
- test/integration/connectors/weaviate/conftest.py +15 -0
- test/integration/connectors/weaviate/test_cloud.py +34 -0
- test/integration/connectors/weaviate/test_local.py +131 -0
- test/integration/embedders/__init__.py +0 -0
- test/integration/embedders/conftest.py +13 -0
- test/integration/embedders/test_azure_openai.py +59 -0
- test/integration/embedders/test_bedrock.py +103 -0
- test/integration/embedders/test_huggingface.py +26 -0
- test/integration/embedders/test_mixedbread.py +71 -0
- test/integration/embedders/test_octoai.py +77 -0
- test/integration/embedders/test_openai.py +76 -0
- test/integration/embedders/test_togetherai.py +71 -0
- test/integration/embedders/test_vertexai.py +65 -0
- test/integration/embedders/test_voyageai.py +65 -0
- test/integration/embedders/utils.py +68 -0
- test/integration/partitioners/__init__.py +0 -0
- test/integration/partitioners/test_partitioner.py +75 -0
- test/integration/utils.py +15 -0
- test/unit/__init__.py +0 -0
- test/unit/embed/__init__.py +0 -0
- test/unit/embed/test_mixedbreadai.py +42 -0
- test/unit/embed/test_octoai.py +27 -0
- test/unit/embed/test_openai.py +20 -0
- test/unit/embed/test_vertexai.py +25 -0
- test/unit/embed/test_voyageai.py +24 -0
- test/unit/test_error.py +27 -0
- test/unit/test_logger.py +78 -0
- test/unit/test_utils.py +184 -0
- test/unit/v2/__init__.py +0 -0
- test/unit/v2/chunkers/__init__.py +0 -0
- test/unit/v2/chunkers/test_chunkers.py +49 -0
- test/unit/v2/connectors/__init__.py +0 -0
- test/unit/v2/connectors/test_confluence.py +39 -0
- test/unit/v2/embedders/__init__.py +0 -0
- test/unit/v2/embedders/test_bedrock.py +36 -0
- test/unit/v2/embedders/test_huggingface.py +48 -0
- test/unit/v2/embedders/test_mixedbread.py +37 -0
- test/unit/v2/embedders/test_octoai.py +35 -0
- test/unit/v2/embedders/test_openai.py +35 -0
- test/unit/v2/embedders/test_togetherai.py +37 -0
- test/unit/v2/embedders/test_vertexai.py +37 -0
- test/unit/v2/embedders/test_voyageai.py +38 -0
- test/unit/v2/partitioners/__init__.py +0 -0
- test/unit/v2/partitioners/test_partitioner.py +63 -0
- test/unit/v2/test_interfaces.py +26 -0
- test/unit/v2/test_utils.py +82 -0
- test/unit/v2/utils/__init__.py +0 -0
- test/unit/v2/utils/data_generator.py +32 -0
- unstructured_ingest/__init__.py +1 -0
- unstructured_ingest/__version__.py +1 -0
- unstructured_ingest/cli/__init__.py +14 -0
- unstructured_ingest/cli/base/__init__.py +0 -0
- unstructured_ingest/cli/base/cmd.py +19 -0
- unstructured_ingest/cli/base/dest.py +87 -0
- unstructured_ingest/cli/base/src.py +57 -0
- unstructured_ingest/cli/cli.py +37 -0
- unstructured_ingest/cli/cmd_factory.py +12 -0
- unstructured_ingest/cli/cmds/__init__.py +145 -0
- unstructured_ingest/cli/cmds/airtable.py +69 -0
- unstructured_ingest/cli/cmds/astradb.py +99 -0
- unstructured_ingest/cli/cmds/azure_ai_search.py +65 -0
- unstructured_ingest/cli/cmds/biomed.py +52 -0
- unstructured_ingest/cli/cmds/chroma.py +104 -0
- unstructured_ingest/cli/cmds/clarifai.py +71 -0
- unstructured_ingest/cli/cmds/confluence.py +69 -0
- unstructured_ingest/cli/cmds/databricks_volumes.py +163 -0
- unstructured_ingest/cli/cmds/delta_table.py +94 -0
- unstructured_ingest/cli/cmds/discord.py +47 -0
- unstructured_ingest/cli/cmds/elasticsearch.py +133 -0
- unstructured_ingest/cli/cmds/fsspec/__init__.py +0 -0
- unstructured_ingest/cli/cmds/fsspec/azure.py +94 -0
- unstructured_ingest/cli/cmds/fsspec/box.py +48 -0
- unstructured_ingest/cli/cmds/fsspec/dropbox.py +51 -0
- unstructured_ingest/cli/cmds/fsspec/fsspec.py +15 -0
- unstructured_ingest/cli/cmds/fsspec/gcs.py +71 -0
- unstructured_ingest/cli/cmds/fsspec/s3.py +74 -0
- unstructured_ingest/cli/cmds/fsspec/sftp.py +58 -0
- unstructured_ingest/cli/cmds/github.py +54 -0
- unstructured_ingest/cli/cmds/gitlab.py +54 -0
- unstructured_ingest/cli/cmds/google_drive.py +49 -0
- unstructured_ingest/cli/cmds/hubspot.py +70 -0
- unstructured_ingest/cli/cmds/jira.py +71 -0
- unstructured_ingest/cli/cmds/kafka.py +102 -0
- unstructured_ingest/cli/cmds/local.py +43 -0
- unstructured_ingest/cli/cmds/mongodb.py +72 -0
- unstructured_ingest/cli/cmds/notion.py +48 -0
- unstructured_ingest/cli/cmds/onedrive.py +66 -0
- unstructured_ingest/cli/cmds/opensearch.py +117 -0
- unstructured_ingest/cli/cmds/outlook.py +67 -0
- unstructured_ingest/cli/cmds/pinecone.py +71 -0
- unstructured_ingest/cli/cmds/qdrant.py +124 -0
- unstructured_ingest/cli/cmds/reddit.py +67 -0
- unstructured_ingest/cli/cmds/salesforce.py +58 -0
- unstructured_ingest/cli/cmds/sharepoint.py +66 -0
- unstructured_ingest/cli/cmds/slack.py +56 -0
- unstructured_ingest/cli/cmds/sql.py +66 -0
- unstructured_ingest/cli/cmds/vectara.py +66 -0
- unstructured_ingest/cli/cmds/weaviate.py +98 -0
- unstructured_ingest/cli/cmds/wikipedia.py +40 -0
- unstructured_ingest/cli/common.py +7 -0
- unstructured_ingest/cli/interfaces.py +663 -0
- unstructured_ingest/cli/utils.py +205 -0
- unstructured_ingest/connector/__init__.py +0 -0
- unstructured_ingest/connector/airtable.py +309 -0
- unstructured_ingest/connector/astradb.py +267 -0
- unstructured_ingest/connector/azure_ai_search.py +144 -0
- unstructured_ingest/connector/biomed.py +320 -0
- unstructured_ingest/connector/chroma.py +158 -0
- unstructured_ingest/connector/clarifai.py +122 -0
- unstructured_ingest/connector/confluence.py +285 -0
- unstructured_ingest/connector/databricks_volumes.py +137 -0
- unstructured_ingest/connector/delta_table.py +203 -0
- unstructured_ingest/connector/discord.py +180 -0
- unstructured_ingest/connector/elasticsearch.py +396 -0
- unstructured_ingest/connector/fsspec/__init__.py +0 -0
- unstructured_ingest/connector/fsspec/azure.py +78 -0
- unstructured_ingest/connector/fsspec/box.py +109 -0
- unstructured_ingest/connector/fsspec/dropbox.py +160 -0
- unstructured_ingest/connector/fsspec/fsspec.py +359 -0
- unstructured_ingest/connector/fsspec/gcs.py +82 -0
- unstructured_ingest/connector/fsspec/s3.py +62 -0
- unstructured_ingest/connector/fsspec/sftp.py +81 -0
- unstructured_ingest/connector/git.py +124 -0
- unstructured_ingest/connector/github.py +174 -0
- unstructured_ingest/connector/gitlab.py +142 -0
- unstructured_ingest/connector/google_drive.py +348 -0
- unstructured_ingest/connector/hubspot.py +278 -0
- unstructured_ingest/connector/jira.py +469 -0
- unstructured_ingest/connector/kafka.py +293 -0
- unstructured_ingest/connector/local.py +139 -0
- unstructured_ingest/connector/mongodb.py +284 -0
- unstructured_ingest/connector/notion/__init__.py +0 -0
- unstructured_ingest/connector/notion/client.py +248 -0
- unstructured_ingest/connector/notion/connector.py +469 -0
- unstructured_ingest/connector/notion/helpers.py +584 -0
- unstructured_ingest/connector/notion/interfaces.py +32 -0
- unstructured_ingest/connector/notion/types/__init__.py +0 -0
- unstructured_ingest/connector/notion/types/block.py +96 -0
- unstructured_ingest/connector/notion/types/blocks/__init__.py +63 -0
- unstructured_ingest/connector/notion/types/blocks/bookmark.py +40 -0
- unstructured_ingest/connector/notion/types/blocks/breadcrumb.py +21 -0
- unstructured_ingest/connector/notion/types/blocks/bulleted_list_item.py +31 -0
- unstructured_ingest/connector/notion/types/blocks/callout.py +94 -0
- unstructured_ingest/connector/notion/types/blocks/child_database.py +23 -0
- unstructured_ingest/connector/notion/types/blocks/child_page.py +23 -0
- unstructured_ingest/connector/notion/types/blocks/code.py +43 -0
- unstructured_ingest/connector/notion/types/blocks/column_list.py +35 -0
- unstructured_ingest/connector/notion/types/blocks/divider.py +22 -0
- unstructured_ingest/connector/notion/types/blocks/embed.py +36 -0
- unstructured_ingest/connector/notion/types/blocks/equation.py +23 -0
- unstructured_ingest/connector/notion/types/blocks/file.py +49 -0
- unstructured_ingest/connector/notion/types/blocks/heading.py +37 -0
- unstructured_ingest/connector/notion/types/blocks/image.py +21 -0
- unstructured_ingest/connector/notion/types/blocks/link_preview.py +24 -0
- unstructured_ingest/connector/notion/types/blocks/link_to_page.py +29 -0
- unstructured_ingest/connector/notion/types/blocks/numbered_list.py +29 -0
- unstructured_ingest/connector/notion/types/blocks/paragraph.py +31 -0
- unstructured_ingest/connector/notion/types/blocks/pdf.py +49 -0
- unstructured_ingest/connector/notion/types/blocks/quote.py +37 -0
- unstructured_ingest/connector/notion/types/blocks/synced_block.py +57 -0
- unstructured_ingest/connector/notion/types/blocks/table.py +63 -0
- unstructured_ingest/connector/notion/types/blocks/table_of_contents.py +23 -0
- unstructured_ingest/connector/notion/types/blocks/template.py +30 -0
- unstructured_ingest/connector/notion/types/blocks/todo.py +42 -0
- unstructured_ingest/connector/notion/types/blocks/toggle.py +37 -0
- unstructured_ingest/connector/notion/types/blocks/unsupported.py +20 -0
- unstructured_ingest/connector/notion/types/blocks/video.py +22 -0
- unstructured_ingest/connector/notion/types/database.py +73 -0
- unstructured_ingest/connector/notion/types/database_properties/__init__.py +106 -0
- unstructured_ingest/connector/notion/types/database_properties/checkbox.py +38 -0
- unstructured_ingest/connector/notion/types/database_properties/created_by.py +35 -0
- unstructured_ingest/connector/notion/types/database_properties/created_time.py +34 -0
- unstructured_ingest/connector/notion/types/database_properties/date.py +41 -0
- unstructured_ingest/connector/notion/types/database_properties/email.py +36 -0
- unstructured_ingest/connector/notion/types/database_properties/files.py +37 -0
- unstructured_ingest/connector/notion/types/database_properties/formula.py +49 -0
- unstructured_ingest/connector/notion/types/database_properties/last_edited_by.py +34 -0
- unstructured_ingest/connector/notion/types/database_properties/last_edited_time.py +34 -0
- unstructured_ingest/connector/notion/types/database_properties/multiselect.py +73 -0
- unstructured_ingest/connector/notion/types/database_properties/number.py +49 -0
- unstructured_ingest/connector/notion/types/database_properties/people.py +40 -0
- unstructured_ingest/connector/notion/types/database_properties/phone_number.py +36 -0
- unstructured_ingest/connector/notion/types/database_properties/relation.py +67 -0
- unstructured_ingest/connector/notion/types/database_properties/rich_text.py +43 -0
- unstructured_ingest/connector/notion/types/database_properties/rollup.py +56 -0
- unstructured_ingest/connector/notion/types/database_properties/select.py +68 -0
- unstructured_ingest/connector/notion/types/database_properties/status.py +80 -0
- unstructured_ingest/connector/notion/types/database_properties/title.py +37 -0
- unstructured_ingest/connector/notion/types/database_properties/unique_id.py +50 -0
- unstructured_ingest/connector/notion/types/database_properties/url.py +37 -0
- unstructured_ingest/connector/notion/types/database_properties/verification.py +78 -0
- unstructured_ingest/connector/notion/types/date.py +26 -0
- unstructured_ingest/connector/notion/types/file.py +51 -0
- unstructured_ingest/connector/notion/types/page.py +45 -0
- unstructured_ingest/connector/notion/types/parent.py +66 -0
- unstructured_ingest/connector/notion/types/rich_text.py +189 -0
- unstructured_ingest/connector/notion/types/user.py +76 -0
- unstructured_ingest/connector/onedrive.py +232 -0
- unstructured_ingest/connector/opensearch.py +218 -0
- unstructured_ingest/connector/outlook.py +285 -0
- unstructured_ingest/connector/pinecone.py +140 -0
- unstructured_ingest/connector/qdrant.py +144 -0
- unstructured_ingest/connector/reddit.py +166 -0
- unstructured_ingest/connector/registry.py +109 -0
- unstructured_ingest/connector/salesforce.py +301 -0
- unstructured_ingest/connector/sharepoint.py +573 -0
- unstructured_ingest/connector/slack.py +224 -0
- unstructured_ingest/connector/sql.py +199 -0
- unstructured_ingest/connector/vectara.py +253 -0
- unstructured_ingest/connector/weaviate.py +190 -0
- unstructured_ingest/connector/wikipedia.py +208 -0
- unstructured_ingest/embed/__init__.py +0 -0
- unstructured_ingest/embed/azure_openai.py +31 -0
- unstructured_ingest/embed/bedrock.py +193 -0
- unstructured_ingest/embed/huggingface.py +52 -0
- unstructured_ingest/embed/interfaces.py +117 -0
- unstructured_ingest/embed/mixedbreadai.py +233 -0
- unstructured_ingest/embed/octoai.py +130 -0
- unstructured_ingest/embed/openai.py +116 -0
- unstructured_ingest/embed/togetherai.py +106 -0
- unstructured_ingest/embed/vertexai.py +126 -0
- unstructured_ingest/embed/voyageai.py +130 -0
- unstructured_ingest/enhanced_dataclass/__init__.py +4 -0
- unstructured_ingest/enhanced_dataclass/core.py +99 -0
- unstructured_ingest/enhanced_dataclass/dataclasses.py +54 -0
- unstructured_ingest/enhanced_dataclass/json_mixin.py +125 -0
- unstructured_ingest/error.py +49 -0
- unstructured_ingest/ingest_backoff/__init__.py +3 -0
- unstructured_ingest/ingest_backoff/_common.py +102 -0
- unstructured_ingest/ingest_backoff/_wrapper.py +122 -0
- unstructured_ingest/interfaces.py +852 -0
- unstructured_ingest/logger.py +130 -0
- unstructured_ingest/main.py +11 -0
- unstructured_ingest/pipeline/__init__.py +22 -0
- unstructured_ingest/pipeline/copy.py +19 -0
- unstructured_ingest/pipeline/doc_factory.py +12 -0
- unstructured_ingest/pipeline/interfaces.py +270 -0
- unstructured_ingest/pipeline/partition.py +60 -0
- unstructured_ingest/pipeline/permissions.py +12 -0
- unstructured_ingest/pipeline/pipeline.py +117 -0
- unstructured_ingest/pipeline/reformat/__init__.py +0 -0
- unstructured_ingest/pipeline/reformat/chunking.py +134 -0
- unstructured_ingest/pipeline/reformat/embedding.py +64 -0
- unstructured_ingest/pipeline/source.py +77 -0
- unstructured_ingest/pipeline/utils.py +6 -0
- unstructured_ingest/pipeline/write.py +18 -0
- unstructured_ingest/processor.py +93 -0
- unstructured_ingest/runner/__init__.py +104 -0
- unstructured_ingest/runner/airtable.py +35 -0
- unstructured_ingest/runner/astradb.py +34 -0
- unstructured_ingest/runner/base_runner.py +89 -0
- unstructured_ingest/runner/biomed.py +45 -0
- unstructured_ingest/runner/confluence.py +35 -0
- unstructured_ingest/runner/delta_table.py +34 -0
- unstructured_ingest/runner/discord.py +35 -0
- unstructured_ingest/runner/elasticsearch.py +40 -0
- unstructured_ingest/runner/fsspec/__init__.py +0 -0
- unstructured_ingest/runner/fsspec/azure.py +30 -0
- unstructured_ingest/runner/fsspec/box.py +28 -0
- unstructured_ingest/runner/fsspec/dropbox.py +30 -0
- unstructured_ingest/runner/fsspec/fsspec.py +40 -0
- unstructured_ingest/runner/fsspec/gcs.py +28 -0
- unstructured_ingest/runner/fsspec/s3.py +28 -0
- unstructured_ingest/runner/fsspec/sftp.py +28 -0
- unstructured_ingest/runner/github.py +37 -0
- unstructured_ingest/runner/gitlab.py +37 -0
- unstructured_ingest/runner/google_drive.py +35 -0
- unstructured_ingest/runner/hubspot.py +35 -0
- unstructured_ingest/runner/jira.py +35 -0
- unstructured_ingest/runner/kafka.py +34 -0
- unstructured_ingest/runner/local.py +23 -0
- unstructured_ingest/runner/mongodb.py +34 -0
- unstructured_ingest/runner/notion.py +61 -0
- unstructured_ingest/runner/onedrive.py +35 -0
- unstructured_ingest/runner/opensearch.py +40 -0
- unstructured_ingest/runner/outlook.py +33 -0
- unstructured_ingest/runner/reddit.py +35 -0
- unstructured_ingest/runner/salesforce.py +33 -0
- unstructured_ingest/runner/sharepoint.py +35 -0
- unstructured_ingest/runner/slack.py +33 -0
- unstructured_ingest/runner/utils.py +47 -0
- unstructured_ingest/runner/wikipedia.py +35 -0
- unstructured_ingest/runner/writers/__init__.py +48 -0
- unstructured_ingest/runner/writers/astradb.py +22 -0
- unstructured_ingest/runner/writers/azure_ai_search.py +24 -0
- unstructured_ingest/runner/writers/base_writer.py +26 -0
- unstructured_ingest/runner/writers/chroma.py +22 -0
- unstructured_ingest/runner/writers/clarifai.py +19 -0
- unstructured_ingest/runner/writers/databricks_volumes.py +25 -0
- unstructured_ingest/runner/writers/delta_table.py +24 -0
- unstructured_ingest/runner/writers/elasticsearch.py +24 -0
- unstructured_ingest/runner/writers/fsspec/__init__.py +0 -0
- unstructured_ingest/runner/writers/fsspec/azure.py +24 -0
- unstructured_ingest/runner/writers/fsspec/box.py +21 -0
- unstructured_ingest/runner/writers/fsspec/dropbox.py +21 -0
- unstructured_ingest/runner/writers/fsspec/gcs.py +19 -0
- unstructured_ingest/runner/writers/fsspec/s3.py +21 -0
- unstructured_ingest/runner/writers/kafka.py +21 -0
- unstructured_ingest/runner/writers/mongodb.py +21 -0
- unstructured_ingest/runner/writers/opensearch.py +26 -0
- unstructured_ingest/runner/writers/pinecone.py +21 -0
- unstructured_ingest/runner/writers/qdrant.py +19 -0
- unstructured_ingest/runner/writers/sql.py +22 -0
- unstructured_ingest/runner/writers/vectara.py +22 -0
- unstructured_ingest/runner/writers/weaviate.py +21 -0
- unstructured_ingest/utils/__init__.py +0 -0
- unstructured_ingest/utils/chunking.py +56 -0
- unstructured_ingest/utils/compression.py +118 -0
- unstructured_ingest/utils/data_prep.py +200 -0
- unstructured_ingest/utils/dep_check.py +78 -0
- unstructured_ingest/utils/google_filetype.py +9 -0
- unstructured_ingest/utils/string_and_date_utils.py +49 -0
- unstructured_ingest/utils/table.py +73 -0
- unstructured_ingest/v2/__init__.py +1 -0
- unstructured_ingest/v2/cli/__init__.py +0 -0
- unstructured_ingest/v2/cli/base/__init__.py +4 -0
- unstructured_ingest/v2/cli/base/cmd.py +269 -0
- unstructured_ingest/v2/cli/base/dest.py +85 -0
- unstructured_ingest/v2/cli/base/importer.py +34 -0
- unstructured_ingest/v2/cli/base/src.py +85 -0
- unstructured_ingest/v2/cli/cli.py +24 -0
- unstructured_ingest/v2/cli/cmds.py +14 -0
- unstructured_ingest/v2/cli/utils/__init__.py +0 -0
- unstructured_ingest/v2/cli/utils/click.py +237 -0
- unstructured_ingest/v2/cli/utils/model_conversion.py +222 -0
- unstructured_ingest/v2/constants.py +2 -0
- unstructured_ingest/v2/errors.py +18 -0
- unstructured_ingest/v2/interfaces/__init__.py +32 -0
- unstructured_ingest/v2/interfaces/connector.py +50 -0
- unstructured_ingest/v2/interfaces/downloader.py +89 -0
- unstructured_ingest/v2/interfaces/file_data.py +116 -0
- unstructured_ingest/v2/interfaces/indexer.py +30 -0
- unstructured_ingest/v2/interfaces/process.py +19 -0
- unstructured_ingest/v2/interfaces/processor.py +88 -0
- unstructured_ingest/v2/interfaces/upload_stager.py +102 -0
- unstructured_ingest/v2/interfaces/uploader.py +53 -0
- unstructured_ingest/v2/logger.py +126 -0
- unstructured_ingest/v2/main.py +11 -0
- unstructured_ingest/v2/otel.py +111 -0
- unstructured_ingest/v2/pipeline/__init__.py +0 -0
- unstructured_ingest/v2/pipeline/interfaces.py +211 -0
- unstructured_ingest/v2/pipeline/otel.py +32 -0
- unstructured_ingest/v2/pipeline/pipeline.py +384 -0
- unstructured_ingest/v2/pipeline/steps/__init__.py +0 -0
- unstructured_ingest/v2/pipeline/steps/chunk.py +80 -0
- unstructured_ingest/v2/pipeline/steps/download.py +207 -0
- unstructured_ingest/v2/pipeline/steps/embed.py +79 -0
- unstructured_ingest/v2/pipeline/steps/filter.py +35 -0
- unstructured_ingest/v2/pipeline/steps/index.py +86 -0
- unstructured_ingest/v2/pipeline/steps/partition.py +79 -0
- unstructured_ingest/v2/pipeline/steps/stage.py +65 -0
- unstructured_ingest/v2/pipeline/steps/uncompress.py +50 -0
- unstructured_ingest/v2/pipeline/steps/upload.py +58 -0
- unstructured_ingest/v2/processes/__init__.py +18 -0
- unstructured_ingest/v2/processes/chunker.py +124 -0
- unstructured_ingest/v2/processes/connector_registry.py +69 -0
- unstructured_ingest/v2/processes/connectors/__init__.py +117 -0
- unstructured_ingest/v2/processes/connectors/airtable.py +235 -0
- unstructured_ingest/v2/processes/connectors/astradb.py +402 -0
- unstructured_ingest/v2/processes/connectors/azure_ai_search.py +276 -0
- unstructured_ingest/v2/processes/connectors/chroma.py +190 -0
- unstructured_ingest/v2/processes/connectors/confluence.py +207 -0
- unstructured_ingest/v2/processes/connectors/couchbase.py +334 -0
- unstructured_ingest/v2/processes/connectors/databricks/__init__.py +52 -0
- unstructured_ingest/v2/processes/connectors/databricks/volumes.py +208 -0
- unstructured_ingest/v2/processes/connectors/databricks/volumes_aws.py +87 -0
- unstructured_ingest/v2/processes/connectors/databricks/volumes_azure.py +102 -0
- unstructured_ingest/v2/processes/connectors/databricks/volumes_gcp.py +85 -0
- unstructured_ingest/v2/processes/connectors/databricks/volumes_native.py +86 -0
- unstructured_ingest/v2/processes/connectors/delta_table.py +191 -0
- unstructured_ingest/v2/processes/connectors/discord.py +158 -0
- unstructured_ingest/v2/processes/connectors/duckdb/__init__.py +15 -0
- unstructured_ingest/v2/processes/connectors/duckdb/base.py +100 -0
- unstructured_ingest/v2/processes/connectors/duckdb/duckdb.py +127 -0
- unstructured_ingest/v2/processes/connectors/duckdb/motherduck.py +126 -0
- unstructured_ingest/v2/processes/connectors/elasticsearch/__init__.py +19 -0
- unstructured_ingest/v2/processes/connectors/elasticsearch/elasticsearch.py +470 -0
- unstructured_ingest/v2/processes/connectors/elasticsearch/opensearch.py +195 -0
- unstructured_ingest/v2/processes/connectors/fsspec/__init__.py +37 -0
- unstructured_ingest/v2/processes/connectors/fsspec/azure.py +197 -0
- unstructured_ingest/v2/processes/connectors/fsspec/box.py +170 -0
- unstructured_ingest/v2/processes/connectors/fsspec/dropbox.py +168 -0
- unstructured_ingest/v2/processes/connectors/fsspec/fsspec.py +332 -0
- unstructured_ingest/v2/processes/connectors/fsspec/gcs.py +197 -0
- unstructured_ingest/v2/processes/connectors/fsspec/s3.py +185 -0
- unstructured_ingest/v2/processes/connectors/fsspec/sftp.py +171 -0
- unstructured_ingest/v2/processes/connectors/fsspec/utils.py +17 -0
- unstructured_ingest/v2/processes/connectors/gitlab.py +268 -0
- unstructured_ingest/v2/processes/connectors/google_drive.py +348 -0
- unstructured_ingest/v2/processes/connectors/kafka/__init__.py +17 -0
- unstructured_ingest/v2/processes/connectors/kafka/cloud.py +121 -0
- unstructured_ingest/v2/processes/connectors/kafka/kafka.py +273 -0
- unstructured_ingest/v2/processes/connectors/kafka/local.py +103 -0
- unstructured_ingest/v2/processes/connectors/kdbai.py +148 -0
- unstructured_ingest/v2/processes/connectors/lancedb/__init__.py +30 -0
- unstructured_ingest/v2/processes/connectors/lancedb/aws.py +43 -0
- unstructured_ingest/v2/processes/connectors/lancedb/azure.py +43 -0
- unstructured_ingest/v2/processes/connectors/lancedb/cloud.py +42 -0
- unstructured_ingest/v2/processes/connectors/lancedb/gcp.py +44 -0
- unstructured_ingest/v2/processes/connectors/lancedb/lancedb.py +169 -0
- unstructured_ingest/v2/processes/connectors/lancedb/local.py +44 -0
- unstructured_ingest/v2/processes/connectors/local.py +217 -0
- unstructured_ingest/v2/processes/connectors/milvus.py +225 -0
- unstructured_ingest/v2/processes/connectors/mongodb.py +361 -0
- unstructured_ingest/v2/processes/connectors/neo4j.py +385 -0
- unstructured_ingest/v2/processes/connectors/notion/__init__.py +0 -0
- unstructured_ingest/v2/processes/connectors/notion/client.py +349 -0
- unstructured_ingest/v2/processes/connectors/notion/connector.py +346 -0
- unstructured_ingest/v2/processes/connectors/notion/helpers.py +448 -0
- unstructured_ingest/v2/processes/connectors/notion/interfaces.py +32 -0
- unstructured_ingest/v2/processes/connectors/notion/types/__init__.py +0 -0
- unstructured_ingest/v2/processes/connectors/notion/types/block.py +96 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/__init__.py +63 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/bookmark.py +40 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/breadcrumb.py +21 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/bulleted_list_item.py +31 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/callout.py +94 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/child_database.py +23 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/child_page.py +23 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/code.py +43 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/column_list.py +35 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/divider.py +22 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/embed.py +36 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/equation.py +23 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/file.py +49 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/heading.py +37 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/image.py +21 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/link_preview.py +24 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/link_to_page.py +29 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/numbered_list.py +29 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/paragraph.py +31 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/pdf.py +49 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/quote.py +37 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/synced_block.py +57 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/table.py +63 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/table_of_contents.py +23 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/template.py +30 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/todo.py +42 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/toggle.py +37 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/unsupported.py +20 -0
- unstructured_ingest/v2/processes/connectors/notion/types/blocks/video.py +22 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database.py +73 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/__init__.py +106 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/checkbox.py +38 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/created_by.py +35 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/created_time.py +34 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/date.py +41 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/email.py +36 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/files.py +37 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/formula.py +49 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/last_edited_by.py +34 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/last_edited_time.py +34 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/multiselect.py +73 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/number.py +49 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/people.py +41 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/phone_number.py +36 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/relation.py +67 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/rich_text.py +43 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/rollup.py +56 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/select.py +69 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/status.py +81 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/title.py +37 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/unique_id.py +50 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/url.py +37 -0
- unstructured_ingest/v2/processes/connectors/notion/types/database_properties/verification.py +78 -0
- unstructured_ingest/v2/processes/connectors/notion/types/date.py +29 -0
- unstructured_ingest/v2/processes/connectors/notion/types/file.py +54 -0
- unstructured_ingest/v2/processes/connectors/notion/types/page.py +45 -0
- unstructured_ingest/v2/processes/connectors/notion/types/parent.py +66 -0
- unstructured_ingest/v2/processes/connectors/notion/types/rich_text.py +189 -0
- unstructured_ingest/v2/processes/connectors/notion/types/user.py +79 -0
- unstructured_ingest/v2/processes/connectors/onedrive.py +447 -0
- unstructured_ingest/v2/processes/connectors/outlook.py +239 -0
- unstructured_ingest/v2/processes/connectors/pinecone.py +277 -0
- unstructured_ingest/v2/processes/connectors/qdrant/__init__.py +16 -0
- unstructured_ingest/v2/processes/connectors/qdrant/cloud.py +59 -0
- unstructured_ingest/v2/processes/connectors/qdrant/local.py +58 -0
- unstructured_ingest/v2/processes/connectors/qdrant/qdrant.py +160 -0
- unstructured_ingest/v2/processes/connectors/qdrant/server.py +60 -0
- unstructured_ingest/v2/processes/connectors/redisdb.py +182 -0
- unstructured_ingest/v2/processes/connectors/salesforce.py +303 -0
- unstructured_ingest/v2/processes/connectors/sharepoint.py +448 -0
- unstructured_ingest/v2/processes/connectors/slack.py +248 -0
- unstructured_ingest/v2/processes/connectors/sql/__init__.py +27 -0
- unstructured_ingest/v2/processes/connectors/sql/postgres.py +162 -0
- unstructured_ingest/v2/processes/connectors/sql/singlestore.py +166 -0
- unstructured_ingest/v2/processes/connectors/sql/snowflake.py +210 -0
- unstructured_ingest/v2/processes/connectors/sql/sql.py +434 -0
- unstructured_ingest/v2/processes/connectors/sql/sqlite.py +168 -0
- unstructured_ingest/v2/processes/connectors/utils.py +29 -0
- unstructured_ingest/v2/processes/connectors/vectara.py +350 -0
- unstructured_ingest/v2/processes/connectors/weaviate/__init__.py +22 -0
- unstructured_ingest/v2/processes/connectors/weaviate/cloud.py +165 -0
- unstructured_ingest/v2/processes/connectors/weaviate/embedded.py +90 -0
- unstructured_ingest/v2/processes/connectors/weaviate/local.py +73 -0
- unstructured_ingest/v2/processes/connectors/weaviate/weaviate.py +267 -0
- unstructured_ingest/v2/processes/embedder.py +195 -0
- unstructured_ingest/v2/processes/filter.py +60 -0
- unstructured_ingest/v2/processes/partitioner.py +188 -0
- unstructured_ingest/v2/processes/uncompress.py +61 -0
- unstructured_ingest/v2/unstructured_api.py +128 -0
- unstructured_ingest/v2/utils.py +61 -0
- unstructured_ingest-0.3.13.dist-info/LICENSE.md +201 -0
- unstructured_ingest-0.3.13.dist-info/METADATA +205 -0
- unstructured_ingest-0.3.13.dist-info/RECORD +557 -0
- unstructured_ingest-0.3.13.dist-info/WHEEL +5 -0
- unstructured_ingest-0.3.13.dist-info/entry_points.txt +2 -0
- unstructured_ingest-0.3.13.dist-info/top_level.txt +2 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import typing as t
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
import click
|
|
5
|
+
|
|
6
|
+
from unstructured_ingest.cli.base.src import BaseSrcCmd
|
|
7
|
+
from unstructured_ingest.cli.interfaces import (
|
|
8
|
+
CliConfig,
|
|
9
|
+
DelimitedString,
|
|
10
|
+
)
|
|
11
|
+
from unstructured_ingest.connector.confluence import SimpleConfluenceConfig
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@dataclass
|
|
15
|
+
class ConfluenceCliConfig(SimpleConfluenceConfig, CliConfig):
|
|
16
|
+
@staticmethod
|
|
17
|
+
def get_cli_options() -> t.List[click.Option]:
|
|
18
|
+
options = [
|
|
19
|
+
click.Option(
|
|
20
|
+
["--api-token"],
|
|
21
|
+
required=True,
|
|
22
|
+
help="API Token to authenticate into Confluence Cloud. "
|
|
23
|
+
"Check "
|
|
24
|
+
"https://developer.atlassian.com/cloud/confluence/basic-auth-for-rest-apis/ "
|
|
25
|
+
"for more info.",
|
|
26
|
+
),
|
|
27
|
+
click.Option(
|
|
28
|
+
["--url"],
|
|
29
|
+
required=True,
|
|
30
|
+
help='URL to Confluence Cloud, e.g. "unstructured-ingest-test.atlassian.net"',
|
|
31
|
+
),
|
|
32
|
+
click.Option(
|
|
33
|
+
["--user-email"],
|
|
34
|
+
required=True,
|
|
35
|
+
help="Email to authenticate into Confluence Cloud",
|
|
36
|
+
),
|
|
37
|
+
click.Option(
|
|
38
|
+
["--spaces"],
|
|
39
|
+
default=None,
|
|
40
|
+
type=DelimitedString(),
|
|
41
|
+
help="A list of confluence space ids to be fetched. From each fetched space, "
|
|
42
|
+
"--num-of-docs-from-each-space number of docs will be ingested. "
|
|
43
|
+
"--spaces and --num-of-spaces cannot be used at the same time",
|
|
44
|
+
),
|
|
45
|
+
click.Option(
|
|
46
|
+
["--max-num-of-docs-from-each-space"],
|
|
47
|
+
default=100,
|
|
48
|
+
help="Number of documents to be aimed to be ingested from each fetched "
|
|
49
|
+
"confluence space. If any space has fewer documents, all the documents from "
|
|
50
|
+
"that space will be ingested. Documents are not necessarily "
|
|
51
|
+
"ingested in order of creation date.",
|
|
52
|
+
),
|
|
53
|
+
click.Option(
|
|
54
|
+
["--max-num-of-spaces"],
|
|
55
|
+
default=500,
|
|
56
|
+
help="Number of confluence space ids to be fetched. From each fetched space, "
|
|
57
|
+
"--num-of-docs-from-each-space number of docs will be ingested. "
|
|
58
|
+
"--spaces and --num-of-spaces cannot be used at the same time",
|
|
59
|
+
),
|
|
60
|
+
]
|
|
61
|
+
return options
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def get_base_src_cmd() -> BaseSrcCmd:
|
|
65
|
+
cmd_cls = BaseSrcCmd(
|
|
66
|
+
cmd_name="confluence",
|
|
67
|
+
cli_config=ConfluenceCliConfig,
|
|
68
|
+
)
|
|
69
|
+
return cmd_cls
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import typing as t
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
import click
|
|
5
|
+
|
|
6
|
+
from unstructured_ingest.cli.interfaces import CliConfig
|
|
7
|
+
from unstructured_ingest.connector.databricks_volumes import (
|
|
8
|
+
DatabricksVolumesWriteConfig,
|
|
9
|
+
SimpleDatabricksVolumesConfig,
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
CMD_NAME = "databricks-volumes"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@dataclass
|
|
16
|
+
class DatabricksVolumesCliConfig(SimpleDatabricksVolumesConfig, CliConfig):
|
|
17
|
+
@staticmethod
|
|
18
|
+
def get_cli_options() -> t.List[click.Option]:
|
|
19
|
+
options = [
|
|
20
|
+
click.Option(
|
|
21
|
+
["--host"],
|
|
22
|
+
type=str,
|
|
23
|
+
default=None,
|
|
24
|
+
help="The Databricks host URL for either the "
|
|
25
|
+
"Databricks workspace endpoint or the "
|
|
26
|
+
"Databricks accounts endpoint.",
|
|
27
|
+
),
|
|
28
|
+
click.Option(
|
|
29
|
+
["--account-id"],
|
|
30
|
+
type=str,
|
|
31
|
+
default=None,
|
|
32
|
+
help="The Databricks account ID for the Databricks "
|
|
33
|
+
"accounts endpoint. Only has effect when Host is "
|
|
34
|
+
"either https://accounts.cloud.databricks.com/ (AWS), "
|
|
35
|
+
"https://accounts.azuredatabricks.net/ (Azure), "
|
|
36
|
+
"or https://accounts.gcp.databricks.com/ (GCP).",
|
|
37
|
+
),
|
|
38
|
+
click.Option(
|
|
39
|
+
["--username"],
|
|
40
|
+
type=str,
|
|
41
|
+
default=None,
|
|
42
|
+
help="The Databricks username part of basic authentication. "
|
|
43
|
+
"Only possible when Host is *.cloud.databricks.com (AWS).",
|
|
44
|
+
),
|
|
45
|
+
click.Option(
|
|
46
|
+
["--password"],
|
|
47
|
+
type=str,
|
|
48
|
+
default=None,
|
|
49
|
+
help="The Databricks password part of basic authentication. "
|
|
50
|
+
"Only possible when Host is *.cloud.databricks.com (AWS).",
|
|
51
|
+
),
|
|
52
|
+
click.Option(["--client-id"], type=str, default=None),
|
|
53
|
+
click.Option(["--client-secret"], type=str, default=None),
|
|
54
|
+
click.Option(
|
|
55
|
+
["--token"],
|
|
56
|
+
type=str,
|
|
57
|
+
default=None,
|
|
58
|
+
help="The Databricks personal access token (PAT) (AWS, Azure, and GCP) or "
|
|
59
|
+
"Azure Active Directory (Azure AD) token (Azure).",
|
|
60
|
+
),
|
|
61
|
+
click.Option(
|
|
62
|
+
["--azure-workspace-resource-id"],
|
|
63
|
+
type=str,
|
|
64
|
+
default=None,
|
|
65
|
+
help="The Azure Resource Manager ID for the Azure Databricks workspace, "
|
|
66
|
+
"which is exchanged for a Databricks host URL.",
|
|
67
|
+
),
|
|
68
|
+
click.Option(
|
|
69
|
+
["--azure-client-secret"],
|
|
70
|
+
type=str,
|
|
71
|
+
default=None,
|
|
72
|
+
help="The Azure AD service principal’s client secret.",
|
|
73
|
+
),
|
|
74
|
+
click.Option(
|
|
75
|
+
["--azure-client-id"],
|
|
76
|
+
type=str,
|
|
77
|
+
default=None,
|
|
78
|
+
help="The Azure AD service principal’s application ID.",
|
|
79
|
+
),
|
|
80
|
+
click.Option(
|
|
81
|
+
["--azure-tenant-id"],
|
|
82
|
+
type=str,
|
|
83
|
+
default=None,
|
|
84
|
+
help="The Azure AD service principal’s tenant ID.",
|
|
85
|
+
),
|
|
86
|
+
click.Option(
|
|
87
|
+
["--azure-environment"],
|
|
88
|
+
type=str,
|
|
89
|
+
default=None,
|
|
90
|
+
help="The Azure environment type (such as Public, UsGov, China, and Germany) for a "
|
|
91
|
+
"specific set of API endpoints. Defaults to PUBLIC.",
|
|
92
|
+
),
|
|
93
|
+
click.Option(
|
|
94
|
+
["--auth-type"],
|
|
95
|
+
type=str,
|
|
96
|
+
default=None,
|
|
97
|
+
help="When multiple auth attributes are available in the "
|
|
98
|
+
"environment, use the auth type specified by this "
|
|
99
|
+
"argument. This argument also holds the currently "
|
|
100
|
+
"selected auth.",
|
|
101
|
+
),
|
|
102
|
+
click.Option(["--cluster-id"], type=str, default=None),
|
|
103
|
+
click.Option(["--google-credentials"], type=str, default=None),
|
|
104
|
+
click.Option(["--google-service-account"], type=str, default=None),
|
|
105
|
+
]
|
|
106
|
+
return options
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
@dataclass
|
|
110
|
+
class DatabricksVolumesCliWriteConfig(DatabricksVolumesWriteConfig, CliConfig):
|
|
111
|
+
@staticmethod
|
|
112
|
+
def get_cli_options() -> t.List[click.Option]:
|
|
113
|
+
options = [
|
|
114
|
+
click.Option(
|
|
115
|
+
["--volume"], type=str, required=True, help="Name of volume in the Unity Catalog"
|
|
116
|
+
),
|
|
117
|
+
click.Option(
|
|
118
|
+
["--catalog"],
|
|
119
|
+
type=str,
|
|
120
|
+
required=True,
|
|
121
|
+
help="Name of the catalog in the Databricks Unity Catalog service",
|
|
122
|
+
),
|
|
123
|
+
click.Option(
|
|
124
|
+
["--volume-path"],
|
|
125
|
+
type=str,
|
|
126
|
+
required=False,
|
|
127
|
+
default=None,
|
|
128
|
+
help="Optional path within the volume to write to",
|
|
129
|
+
),
|
|
130
|
+
click.Option(
|
|
131
|
+
["--overwrite"],
|
|
132
|
+
type=bool,
|
|
133
|
+
is_flag=True,
|
|
134
|
+
help="If true, an existing file will be overwritten.",
|
|
135
|
+
),
|
|
136
|
+
click.Option(
|
|
137
|
+
["--encoding"],
|
|
138
|
+
type=str,
|
|
139
|
+
required=True,
|
|
140
|
+
default="utf-8",
|
|
141
|
+
help="Encoding applied to the data when written to the volume",
|
|
142
|
+
),
|
|
143
|
+
click.Option(
|
|
144
|
+
["--schema"],
|
|
145
|
+
type=str,
|
|
146
|
+
required=True,
|
|
147
|
+
default="default",
|
|
148
|
+
help="Schema associated with the volume to write to in the Unity Catalog service",
|
|
149
|
+
),
|
|
150
|
+
]
|
|
151
|
+
return options
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
def get_base_dest_cmd():
|
|
155
|
+
from unstructured_ingest.cli.base.dest import BaseDestCmd
|
|
156
|
+
|
|
157
|
+
cmd_cls = BaseDestCmd(
|
|
158
|
+
cmd_name=CMD_NAME,
|
|
159
|
+
cli_config=DatabricksVolumesCliConfig,
|
|
160
|
+
additional_cli_options=[DatabricksVolumesCliWriteConfig],
|
|
161
|
+
write_config=DatabricksVolumesWriteConfig,
|
|
162
|
+
)
|
|
163
|
+
return cmd_cls
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import typing as t
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
import click
|
|
5
|
+
|
|
6
|
+
from unstructured_ingest.cli.base.src import BaseSrcCmd
|
|
7
|
+
from unstructured_ingest.cli.interfaces import CliConfig, Dict
|
|
8
|
+
from unstructured_ingest.connector.delta_table import DeltaTableWriteConfig, SimpleDeltaTableConfig
|
|
9
|
+
|
|
10
|
+
CMD_NAME = "delta-table"
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@dataclass
|
|
14
|
+
class DeltaTableCliConfig(SimpleDeltaTableConfig, CliConfig):
|
|
15
|
+
@staticmethod
|
|
16
|
+
def get_cli_options() -> t.List[click.Option]:
|
|
17
|
+
options = [
|
|
18
|
+
click.Option(
|
|
19
|
+
["--table-uri"],
|
|
20
|
+
required=True,
|
|
21
|
+
help="the path of the DeltaTable",
|
|
22
|
+
),
|
|
23
|
+
click.Option(
|
|
24
|
+
["--version"],
|
|
25
|
+
default=None,
|
|
26
|
+
type=int,
|
|
27
|
+
help="version of the DeltaTable",
|
|
28
|
+
),
|
|
29
|
+
click.Option(
|
|
30
|
+
["--storage_options"],
|
|
31
|
+
required=False,
|
|
32
|
+
type=Dict(),
|
|
33
|
+
default=None,
|
|
34
|
+
help="a dictionary of the options to use for the storage backend, "
|
|
35
|
+
"passed in as a json string",
|
|
36
|
+
),
|
|
37
|
+
click.Option(
|
|
38
|
+
["--without-files"],
|
|
39
|
+
is_flag=True,
|
|
40
|
+
default=False,
|
|
41
|
+
help="If set, will load table without tracking files.",
|
|
42
|
+
),
|
|
43
|
+
]
|
|
44
|
+
return options
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
@dataclass
|
|
48
|
+
class DeltaTableCliWriteConfig(DeltaTableWriteConfig, CliConfig):
|
|
49
|
+
@staticmethod
|
|
50
|
+
def get_cli_options() -> t.List[click.Option]:
|
|
51
|
+
options = [
|
|
52
|
+
click.Option(
|
|
53
|
+
["--overwrite-schema"],
|
|
54
|
+
is_flag=True,
|
|
55
|
+
default=False,
|
|
56
|
+
help="Flag to overwrite schema of destination table",
|
|
57
|
+
),
|
|
58
|
+
click.Option(
|
|
59
|
+
["--drop-empty-cols"],
|
|
60
|
+
is_flag=True,
|
|
61
|
+
default=False,
|
|
62
|
+
help="Flag to drop any columns that have no content",
|
|
63
|
+
),
|
|
64
|
+
click.Option(
|
|
65
|
+
["--mode"],
|
|
66
|
+
default="error",
|
|
67
|
+
type=click.Choice(["error", "append", "overwrite", "ignore"]),
|
|
68
|
+
help="How to handle existing data. Default is to error if table already exists. "
|
|
69
|
+
"If 'append', will add new data. "
|
|
70
|
+
"If 'overwrite', will replace table with new data. "
|
|
71
|
+
"If 'ignore', will not write anything if table already exists.",
|
|
72
|
+
),
|
|
73
|
+
]
|
|
74
|
+
return options
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
def get_base_src_cmd() -> BaseSrcCmd:
|
|
78
|
+
cmd_cls = BaseSrcCmd(
|
|
79
|
+
cmd_name=CMD_NAME,
|
|
80
|
+
cli_config=DeltaTableCliConfig,
|
|
81
|
+
)
|
|
82
|
+
return cmd_cls
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
def get_base_dest_cmd():
|
|
86
|
+
from unstructured_ingest.cli.base.dest import BaseDestCmd
|
|
87
|
+
|
|
88
|
+
cmd_cls = BaseDestCmd(
|
|
89
|
+
cmd_name=CMD_NAME,
|
|
90
|
+
cli_config=DeltaTableCliConfig,
|
|
91
|
+
additional_cli_options=[DeltaTableCliWriteConfig],
|
|
92
|
+
write_config=DeltaTableWriteConfig,
|
|
93
|
+
)
|
|
94
|
+
return cmd_cls
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import typing as t
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
import click
|
|
5
|
+
|
|
6
|
+
from unstructured_ingest.cli.base.src import BaseSrcCmd
|
|
7
|
+
from unstructured_ingest.cli.interfaces import (
|
|
8
|
+
CliConfig,
|
|
9
|
+
DelimitedString,
|
|
10
|
+
)
|
|
11
|
+
from unstructured_ingest.connector.discord import SimpleDiscordConfig
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@dataclass
|
|
15
|
+
class DiscordCliConfig(SimpleDiscordConfig, CliConfig):
|
|
16
|
+
@staticmethod
|
|
17
|
+
def get_cli_options() -> t.List[click.Option]:
|
|
18
|
+
options = [
|
|
19
|
+
click.Option(
|
|
20
|
+
["--token"],
|
|
21
|
+
required=True,
|
|
22
|
+
help="Bot token used to access Discord API, must have "
|
|
23
|
+
"READ_MESSAGE_HISTORY scope for the bot user",
|
|
24
|
+
),
|
|
25
|
+
click.Option(
|
|
26
|
+
["--channels"],
|
|
27
|
+
required=True,
|
|
28
|
+
type=DelimitedString(),
|
|
29
|
+
help="Comma-delimited list of discord channel ids to ingest from.",
|
|
30
|
+
),
|
|
31
|
+
click.Option(
|
|
32
|
+
["--period"],
|
|
33
|
+
default=None,
|
|
34
|
+
type=click.IntRange(0),
|
|
35
|
+
help="Number of days to go back in the history of "
|
|
36
|
+
"discord channels, must be a number",
|
|
37
|
+
),
|
|
38
|
+
]
|
|
39
|
+
return options
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def get_base_src_cmd() -> BaseSrcCmd:
|
|
43
|
+
cmd_cls = BaseSrcCmd(
|
|
44
|
+
cmd_name="discord",
|
|
45
|
+
cli_config=DiscordCliConfig,
|
|
46
|
+
)
|
|
47
|
+
return cmd_cls
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import typing as t
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
import click
|
|
5
|
+
|
|
6
|
+
from unstructured_ingest.cli.base.src import BaseSrcCmd
|
|
7
|
+
from unstructured_ingest.cli.interfaces import CliConfig, DelimitedString
|
|
8
|
+
from unstructured_ingest.connector.elasticsearch import (
|
|
9
|
+
ElasticsearchWriteConfig,
|
|
10
|
+
SimpleElasticsearchConfig,
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
CMD_NAME = "elasticsearch"
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
@dataclass
|
|
17
|
+
class ElasticsearchCliConfig(SimpleElasticsearchConfig, CliConfig):
|
|
18
|
+
@staticmethod
|
|
19
|
+
def get_cli_options() -> t.List[click.Option]:
|
|
20
|
+
options = [
|
|
21
|
+
click.Option(
|
|
22
|
+
["--index-name"],
|
|
23
|
+
required=True,
|
|
24
|
+
type=str,
|
|
25
|
+
help="Name of the Elasticsearch index to pull data from, or upload data to.",
|
|
26
|
+
),
|
|
27
|
+
click.Option(
|
|
28
|
+
["--hosts"],
|
|
29
|
+
type=DelimitedString(),
|
|
30
|
+
help='List of the Elasticsearch hosts to connect to, e.g. "http://localhost:9200"',
|
|
31
|
+
),
|
|
32
|
+
click.Option(
|
|
33
|
+
["--fields"],
|
|
34
|
+
type=DelimitedString(),
|
|
35
|
+
default=[],
|
|
36
|
+
help="If provided, will limit the fields returned by Elasticsearch "
|
|
37
|
+
"to this comma-delimited list",
|
|
38
|
+
),
|
|
39
|
+
click.Option(
|
|
40
|
+
["--username"], type=str, default=None, help="username when using basic auth"
|
|
41
|
+
),
|
|
42
|
+
click.Option(
|
|
43
|
+
["--password"],
|
|
44
|
+
type=str,
|
|
45
|
+
default=None,
|
|
46
|
+
help="password when using basic auth or connecting to a cloud instance",
|
|
47
|
+
),
|
|
48
|
+
click.Option(
|
|
49
|
+
["--cloud-id"], type=str, default=None, help="id used to connect to Elastic Cloud"
|
|
50
|
+
),
|
|
51
|
+
click.Option(
|
|
52
|
+
["--es-api-key"], type=str, default=None, help="api key used for authentication"
|
|
53
|
+
),
|
|
54
|
+
click.Option(
|
|
55
|
+
["--api-key-id"],
|
|
56
|
+
type=str,
|
|
57
|
+
default=None,
|
|
58
|
+
help="id associated with api key used for authentication: "
|
|
59
|
+
"https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html", # noqa: E501
|
|
60
|
+
),
|
|
61
|
+
click.Option(
|
|
62
|
+
["--bearer-auth"],
|
|
63
|
+
type=str,
|
|
64
|
+
default=None,
|
|
65
|
+
help="bearer token used for HTTP bearer authentication",
|
|
66
|
+
),
|
|
67
|
+
click.Option(
|
|
68
|
+
["--ca-certs"],
|
|
69
|
+
type=click.Path(),
|
|
70
|
+
default=None,
|
|
71
|
+
),
|
|
72
|
+
click.Option(
|
|
73
|
+
["--ssl-assert-fingerprint"],
|
|
74
|
+
type=str,
|
|
75
|
+
default=None,
|
|
76
|
+
help="SHA256 fingerprint value",
|
|
77
|
+
),
|
|
78
|
+
click.Option(
|
|
79
|
+
["--batch-size"],
|
|
80
|
+
default=100,
|
|
81
|
+
type=click.IntRange(0),
|
|
82
|
+
help="how many records to read at a time per process",
|
|
83
|
+
),
|
|
84
|
+
]
|
|
85
|
+
return options
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
@dataclass
|
|
89
|
+
class ElasticsearchCliWriteConfig(ElasticsearchWriteConfig, CliConfig):
|
|
90
|
+
@staticmethod
|
|
91
|
+
def get_cli_options() -> t.List[click.Option]:
|
|
92
|
+
options = [
|
|
93
|
+
click.Option(
|
|
94
|
+
["--batch-size-bytes"],
|
|
95
|
+
required=False,
|
|
96
|
+
default=15_000_000,
|
|
97
|
+
type=int,
|
|
98
|
+
help="Size limit (in bytes) for each batch of items to be uploaded. Check"
|
|
99
|
+
" https://www.elastic.co/guide/en/elasticsearch/guide/current/bulk.html"
|
|
100
|
+
"#_how_big_is_too_big for more information.",
|
|
101
|
+
),
|
|
102
|
+
click.Option(
|
|
103
|
+
["--num-processes"],
|
|
104
|
+
required=False,
|
|
105
|
+
default=1,
|
|
106
|
+
type=int,
|
|
107
|
+
help="Number of processes to be used while uploading content",
|
|
108
|
+
),
|
|
109
|
+
]
|
|
110
|
+
return options
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
def get_base_src_cmd() -> BaseSrcCmd:
|
|
114
|
+
cmd_cls = BaseSrcCmd(
|
|
115
|
+
cmd_name="elasticsearch",
|
|
116
|
+
cli_config=ElasticsearchCliConfig,
|
|
117
|
+
)
|
|
118
|
+
return cmd_cls
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
def get_base_dest_cmd():
|
|
122
|
+
from unstructured_ingest.cli.base.dest import BaseDestCmd
|
|
123
|
+
|
|
124
|
+
cmd_cls = BaseDestCmd(
|
|
125
|
+
cmd_name="elasticsearch",
|
|
126
|
+
cli_config=ElasticsearchCliConfig,
|
|
127
|
+
additional_cli_options=[ElasticsearchCliWriteConfig],
|
|
128
|
+
addition_configs={
|
|
129
|
+
"connector_config": SimpleElasticsearchConfig,
|
|
130
|
+
"write_config": ElasticsearchCliWriteConfig,
|
|
131
|
+
},
|
|
132
|
+
)
|
|
133
|
+
return cmd_cls
|
|
File without changes
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import typing as t
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
import click
|
|
5
|
+
|
|
6
|
+
from unstructured_ingest.cli.base.src import BaseSrcCmd
|
|
7
|
+
from unstructured_ingest.cli.interfaces import (
|
|
8
|
+
CliConfig,
|
|
9
|
+
)
|
|
10
|
+
from unstructured_ingest.connector.fsspec.azure import (
|
|
11
|
+
AzureWriteConfig,
|
|
12
|
+
SimpleAzureBlobStorageConfig,
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
CMD_NAME = "azure"
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@dataclass
|
|
19
|
+
class AzureCliConfig(SimpleAzureBlobStorageConfig, CliConfig):
|
|
20
|
+
@staticmethod
|
|
21
|
+
def get_cli_options() -> t.List[click.Option]:
|
|
22
|
+
options = [
|
|
23
|
+
click.Option(
|
|
24
|
+
["--account-key"],
|
|
25
|
+
default=None,
|
|
26
|
+
help="The storage account key. This is used for shared key "
|
|
27
|
+
"authentication. If any of account key, sas token or "
|
|
28
|
+
"client_id are not specified, anonymous access will be used.",
|
|
29
|
+
),
|
|
30
|
+
click.Option(
|
|
31
|
+
["--account-name"],
|
|
32
|
+
default=None,
|
|
33
|
+
help="The storage account name. This is used to authenticate "
|
|
34
|
+
"requests signed with an account key and to construct "
|
|
35
|
+
"the storage endpoint. It is required unless a connection "
|
|
36
|
+
"string is given, or if a custom domain is used with "
|
|
37
|
+
"anonymous authentication.",
|
|
38
|
+
),
|
|
39
|
+
click.Option(
|
|
40
|
+
["--connection-string"],
|
|
41
|
+
default=None,
|
|
42
|
+
help="If specified, this will override all other parameters. See "
|
|
43
|
+
"http://azure.microsoft.com/en-us/documentation/articles/storage-configure-connection-string/ " # noqa: E501
|
|
44
|
+
"for the connection string format.",
|
|
45
|
+
),
|
|
46
|
+
click.Option(
|
|
47
|
+
["--sas_token"],
|
|
48
|
+
default=None,
|
|
49
|
+
help="A shared access signature token to use to authenticate "
|
|
50
|
+
"requests instead of the account key. If account key and "
|
|
51
|
+
"sas token are both specified, account key will be used "
|
|
52
|
+
"to sign. If any of account key, sas token or client_id "
|
|
53
|
+
"are not specified, anonymous access will be used.",
|
|
54
|
+
),
|
|
55
|
+
]
|
|
56
|
+
return options
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
@dataclass
|
|
60
|
+
class AzureCliWriteConfig(AzureWriteConfig, CliConfig):
|
|
61
|
+
@staticmethod
|
|
62
|
+
def get_cli_options() -> t.List[click.Option]:
|
|
63
|
+
options = [
|
|
64
|
+
click.Option(
|
|
65
|
+
["--overwrite"],
|
|
66
|
+
is_flag=True,
|
|
67
|
+
default=False,
|
|
68
|
+
show_default=True,
|
|
69
|
+
help="If set, will overwrite content if content already exists",
|
|
70
|
+
)
|
|
71
|
+
]
|
|
72
|
+
return options
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def get_base_src_cmd() -> BaseSrcCmd:
|
|
76
|
+
cmd_cls = BaseSrcCmd(
|
|
77
|
+
cmd_name=CMD_NAME,
|
|
78
|
+
cli_config=AzureCliConfig,
|
|
79
|
+
is_fsspec=True,
|
|
80
|
+
)
|
|
81
|
+
return cmd_cls
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
def get_base_dest_cmd():
|
|
85
|
+
from unstructured_ingest.cli.base.dest import BaseDestCmd
|
|
86
|
+
|
|
87
|
+
cmd_cls = BaseDestCmd(
|
|
88
|
+
cmd_name=CMD_NAME,
|
|
89
|
+
cli_config=AzureCliConfig,
|
|
90
|
+
write_config=AzureCliWriteConfig,
|
|
91
|
+
is_fsspec=True,
|
|
92
|
+
additional_cli_options=[AzureCliWriteConfig],
|
|
93
|
+
)
|
|
94
|
+
return cmd_cls
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import typing as t
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
|
|
4
|
+
import click
|
|
5
|
+
|
|
6
|
+
from unstructured_ingest.cli.base.src import BaseSrcCmd
|
|
7
|
+
from unstructured_ingest.cli.interfaces import (
|
|
8
|
+
CliConfig,
|
|
9
|
+
)
|
|
10
|
+
from unstructured_ingest.connector.fsspec.box import BoxWriteConfig, SimpleBoxConfig
|
|
11
|
+
|
|
12
|
+
CMD_NAME = "box"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@dataclass
|
|
16
|
+
class BoxCliConfig(SimpleBoxConfig, CliConfig):
|
|
17
|
+
@staticmethod
|
|
18
|
+
def get_cli_options() -> t.List[click.Option]:
|
|
19
|
+
options = [
|
|
20
|
+
click.Option(
|
|
21
|
+
["--box-app-config"],
|
|
22
|
+
default=None,
|
|
23
|
+
type=click.Path(),
|
|
24
|
+
help="Path to Box app credentials as json file.",
|
|
25
|
+
),
|
|
26
|
+
]
|
|
27
|
+
return options
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def get_base_src_cmd() -> BaseSrcCmd:
|
|
31
|
+
cmd_cls = BaseSrcCmd(
|
|
32
|
+
cmd_name=CMD_NAME,
|
|
33
|
+
cli_config=BoxCliConfig,
|
|
34
|
+
is_fsspec=True,
|
|
35
|
+
)
|
|
36
|
+
return cmd_cls
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def get_base_dest_cmd():
|
|
40
|
+
from unstructured_ingest.cli.base.dest import BaseDestCmd
|
|
41
|
+
|
|
42
|
+
cmd_cls = BaseDestCmd(
|
|
43
|
+
cmd_name=CMD_NAME,
|
|
44
|
+
cli_config=BoxCliConfig,
|
|
45
|
+
write_config=BoxWriteConfig,
|
|
46
|
+
is_fsspec=True,
|
|
47
|
+
)
|
|
48
|
+
return cmd_cls
|