unstructured-ingest 0.5.15__tar.gz → 0.5.16__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of unstructured-ingest might be problematic. Click here for more details.
- {unstructured_ingest-0.5.15/unstructured_ingest.egg-info → unstructured_ingest-0.5.16}/PKG-INFO +19 -19
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_zendesk.py +31 -53
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/utils/validation/source.py +5 -3
- unstructured_ingest-0.5.16/unstructured_ingest/__version__.py +1 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/steps/download.py +3 -3
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/steps/index.py +4 -4
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/databricks/volumes_table.py +1 -1
- unstructured_ingest-0.5.16/unstructured_ingest/v2/processes/connectors/zendesk/client.py +308 -0
- unstructured_ingest-0.5.16/unstructured_ingest/v2/processes/connectors/zendesk/zendesk.py +234 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16/unstructured_ingest.egg-info}/PKG-INFO +19 -19
- unstructured_ingest-0.5.15/unstructured_ingest/__version__.py +0 -1
- unstructured_ingest-0.5.15/unstructured_ingest/v2/processes/connectors/zendesk/client.py +0 -243
- unstructured_ingest-0.5.15/unstructured_ingest/v2/processes/connectors/zendesk/zendesk.py +0 -425
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/LICENSE.md +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/MANIFEST.in +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/README.md +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/pyproject.toml +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/setup.cfg +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/setup.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/chunkers/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/chunkers/test_chunkers.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/conftest.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/databricks/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/databricks/test_volumes_native.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/discord/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/discord/test_discord.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/duckdb/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/duckdb/conftest.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/duckdb/test_duckdb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/duckdb/test_motherduck.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/elasticsearch/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/elasticsearch/conftest.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/elasticsearch/test_elasticsearch.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/elasticsearch/test_opensearch.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/sql/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/sql/test_databricks_delta_tables.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/sql/test_postgres.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/sql/test_singlestore.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/sql/test_snowflake.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/sql/test_sqlite.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/sql/test_vastdb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_astradb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_azure_ai_search.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_chroma.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_confluence.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_delta_table.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_dropbox.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_google_drive.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_jira.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_lancedb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_milvus.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_mongodb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_neo4j.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_notion.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_onedrive.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_pinecone.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_qdrant.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_redis.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_s3.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_sharepoint.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/test_vectara.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/utils/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/utils/constants.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/utils/docker.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/utils/docker_compose.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/utils/validation/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/utils/validation/destination.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/utils/validation/equality.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/utils/validation/utils.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/weaviate/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/weaviate/conftest.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/weaviate/test_cloud.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/connectors/weaviate/test_local.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/conftest.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/test_azure_openai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/test_bedrock.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/test_huggingface.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/test_mixedbread.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/test_octoai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/test_openai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/test_togetherai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/test_vertexai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/test_voyageai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/embedders/utils.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/partitioners/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/partitioners/test_partitioner.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/integration/utils.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/embed/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/embed/test_mixedbreadai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/embed/test_octoai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/embed/test_openai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/embed/test_vertexai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/embed/test_voyageai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/test_error.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/test_html.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/test_logger.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/test_utils.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/chunkers/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/chunkers/test_chunkers.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/connectors/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/connectors/databricks/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/connectors/databricks/test_volumes_table.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/connectors/motherduck/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/connectors/motherduck/test_base.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/connectors/sql/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/connectors/sql/test_sql.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/connectors/test_confluence.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/connectors/test_jira.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/embedders/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/embedders/test_bedrock.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/embedders/test_huggingface.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/embedders/test_mixedbread.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/embedders/test_octoai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/embedders/test_openai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/embedders/test_togetherai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/embedders/test_vertexai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/embedders/test_voyageai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/partitioners/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/partitioners/test_partitioner.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/test_interfaces.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/test_utils.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/utils/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/test/unit/v2/utils/data_generator.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/base/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/base/cmd.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/base/dest.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/base/src.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cli.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmd_factory.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/airtable.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/astradb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/azure_ai_search.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/biomed.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/chroma.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/clarifai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/confluence.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/databricks_volumes.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/delta_table.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/discord.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/elasticsearch.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/fsspec/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/fsspec/azure.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/fsspec/box.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/fsspec/dropbox.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/fsspec/fsspec.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/fsspec/gcs.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/fsspec/s3.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/fsspec/sftp.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/github.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/gitlab.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/google_drive.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/hubspot.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/jira.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/kafka.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/local.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/mongodb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/notion.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/onedrive.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/opensearch.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/outlook.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/pinecone.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/qdrant.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/reddit.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/salesforce.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/sharepoint.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/slack.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/sql.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/vectara.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/weaviate.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/cmds/wikipedia.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/common.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/interfaces.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/cli/utils.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/airtable.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/astradb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/azure_ai_search.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/biomed.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/chroma.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/clarifai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/confluence.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/databricks_volumes.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/delta_table.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/discord.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/elasticsearch.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/fsspec/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/fsspec/azure.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/fsspec/box.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/fsspec/dropbox.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/fsspec/fsspec.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/fsspec/gcs.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/fsspec/s3.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/fsspec/sftp.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/git.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/github.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/gitlab.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/google_drive.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/hubspot.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/jira.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/kafka.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/local.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/mongodb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/client.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/connector.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/helpers.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/interfaces.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/block.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/bookmark.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/breadcrumb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/bulleted_list_item.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/callout.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/child_database.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/child_page.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/code.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/column_list.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/divider.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/embed.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/equation.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/file.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/heading.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/image.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/link_preview.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/link_to_page.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/numbered_list.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/paragraph.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/pdf.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/quote.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/synced_block.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/table.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/table_of_contents.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/template.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/todo.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/toggle.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/unsupported.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/blocks/video.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/checkbox.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/created_by.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/created_time.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/date.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/email.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/files.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/formula.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/last_edited_by.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/last_edited_time.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/multiselect.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/number.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/people.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/phone_number.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/relation.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/rich_text.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/rollup.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/select.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/status.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/title.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/unique_id.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/url.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/database_properties/verification.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/date.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/file.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/page.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/parent.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/rich_text.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/notion/types/user.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/onedrive.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/opensearch.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/outlook.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/pinecone.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/qdrant.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/reddit.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/registry.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/salesforce.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/sharepoint.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/slack.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/sql.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/vectara.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/weaviate.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/connector/wikipedia.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/azure_openai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/bedrock.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/huggingface.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/interfaces.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/mixedbreadai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/octoai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/openai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/togetherai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/vertexai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/embed/voyageai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/enhanced_dataclass/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/enhanced_dataclass/core.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/enhanced_dataclass/dataclasses.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/enhanced_dataclass/json_mixin.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/error.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/ingest_backoff/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/ingest_backoff/_common.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/ingest_backoff/_wrapper.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/interfaces.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/logger.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/main.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/copy.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/doc_factory.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/interfaces.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/partition.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/permissions.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/pipeline.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/reformat/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/reformat/chunking.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/reformat/embedding.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/source.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/utils.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/pipeline/write.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/processor.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/airtable.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/astradb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/base_runner.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/biomed.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/confluence.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/delta_table.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/discord.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/elasticsearch.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/fsspec/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/fsspec/azure.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/fsspec/box.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/fsspec/dropbox.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/fsspec/fsspec.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/fsspec/gcs.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/fsspec/s3.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/fsspec/sftp.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/github.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/gitlab.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/google_drive.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/hubspot.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/jira.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/kafka.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/local.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/mongodb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/notion.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/onedrive.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/opensearch.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/outlook.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/reddit.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/salesforce.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/sharepoint.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/slack.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/utils.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/wikipedia.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/astradb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/azure_ai_search.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/base_writer.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/chroma.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/clarifai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/databricks_volumes.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/delta_table.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/elasticsearch.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/fsspec/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/fsspec/azure.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/fsspec/box.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/fsspec/dropbox.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/fsspec/gcs.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/fsspec/s3.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/kafka.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/mongodb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/opensearch.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/pinecone.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/qdrant.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/sql.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/vectara.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/runner/writers/weaviate.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/utils/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/utils/chunking.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/utils/compression.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/utils/data_prep.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/utils/dep_check.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/utils/google_filetype.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/utils/html.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/utils/ndjson.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/utils/string_and_date_utils.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/utils/table.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/base/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/base/cmd.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/base/dest.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/base/importer.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/base/src.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/cli.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/cmds.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/utils/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/utils/click.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/cli/utils/model_conversion.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/constants.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/errors.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/interfaces/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/interfaces/connector.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/interfaces/downloader.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/interfaces/file_data.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/interfaces/indexer.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/interfaces/process.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/interfaces/processor.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/interfaces/upload_stager.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/interfaces/uploader.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/logger.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/main.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/otel.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/interfaces.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/otel.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/pipeline.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/steps/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/steps/chunk.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/steps/embed.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/steps/filter.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/steps/partition.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/steps/stage.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/steps/uncompress.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/pipeline/steps/upload.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/chunker.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connector_registry.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/airtable.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/assets/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/assets/weaviate_collection_config.json +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/astradb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/azure_ai_search.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/chroma.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/confluence.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/couchbase.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/databricks/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/databricks/volumes.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/databricks/volumes_aws.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/databricks/volumes_azure.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/databricks/volumes_gcp.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/databricks/volumes_native.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/delta_table.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/discord.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/duckdb/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/duckdb/base.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/duckdb/duckdb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/duckdb/motherduck.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/elasticsearch/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/elasticsearch/elasticsearch.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/elasticsearch/opensearch.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/fsspec/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/fsspec/azure.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/fsspec/box.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/fsspec/dropbox.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/fsspec/fsspec.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/fsspec/gcs.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/fsspec/s3.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/fsspec/sftp.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/fsspec/utils.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/gitlab.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/google_drive.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/jira.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/kafka/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/kafka/cloud.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/kafka/kafka.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/kafka/local.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/kdbai.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/lancedb/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/lancedb/aws.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/lancedb/azure.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/lancedb/cloud.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/lancedb/gcp.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/lancedb/lancedb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/lancedb/local.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/local.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/milvus.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/mongodb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/neo4j.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/client.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/connector.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/helpers.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/interfaces.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/block.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/bookmark.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/breadcrumb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/bulleted_list_item.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/callout.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/child_database.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/child_page.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/code.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/column_list.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/divider.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/embed.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/equation.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/file.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/heading.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/image.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/link_preview.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/link_to_page.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/numbered_list.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/paragraph.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/pdf.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/quote.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/synced_block.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/table.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/table_of_contents.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/template.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/todo.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/toggle.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/unsupported.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/blocks/video.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/checkbox.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/created_by.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/created_time.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/date.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/email.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/files.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/formula.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/last_edited_by.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/last_edited_time.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/multiselect.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/number.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/people.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/phone_number.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/relation.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/rich_text.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/rollup.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/select.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/status.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/title.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/unique_id.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/url.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/database_properties/verification.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/date.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/file.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/page.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/parent.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/rich_text.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/notion/types/user.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/onedrive.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/outlook.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/pinecone.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/qdrant/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/qdrant/cloud.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/qdrant/local.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/qdrant/qdrant.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/qdrant/server.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/redisdb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/salesforce.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/sharepoint.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/slack.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/sql/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/sql/databricks_delta_tables.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/sql/postgres.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/sql/singlestore.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/sql/snowflake.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/sql/sql.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/sql/sqlite.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/sql/vastdb.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/utils.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/vectara.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/weaviate/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/weaviate/cloud.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/weaviate/embedded.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/weaviate/local.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/weaviate/weaviate.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/connectors/zendesk/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/embedder.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/filter.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/partitioner.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/uncompress.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/utils/__init__.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/processes/utils/blob_storage.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/unstructured_api.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest/v2/utils.py +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest.egg-info/SOURCES.txt +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest.egg-info/dependency_links.txt +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest.egg-info/entry_points.txt +0 -0
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest.egg-info/requires.txt +18 -18
- {unstructured_ingest-0.5.15 → unstructured_ingest-0.5.16}/unstructured_ingest.egg-info/top_level.txt +0 -0
{unstructured_ingest-0.5.15/unstructured_ingest.egg-info → unstructured_ingest-0.5.16}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: unstructured-ingest
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.16
|
|
4
4
|
Summary: A library that prepares raw documents for downstream ML tasks.
|
|
5
5
|
Home-page: https://github.com/Unstructured-IO/unstructured-ingest
|
|
6
6
|
Author: Unstructured Technologies
|
|
@@ -22,13 +22,13 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
|
22
22
|
Requires-Python: >=3.9.0,<3.14
|
|
23
23
|
Description-Content-Type: text/markdown
|
|
24
24
|
License-File: LICENSE.md
|
|
25
|
-
Requires-Dist: python-dateutil
|
|
26
25
|
Requires-Dist: tqdm
|
|
27
26
|
Requires-Dist: dataclasses_json
|
|
28
|
-
Requires-Dist: pydantic>=2.7
|
|
29
|
-
Requires-Dist: click
|
|
30
27
|
Requires-Dist: opentelemetry-sdk
|
|
28
|
+
Requires-Dist: python-dateutil
|
|
31
29
|
Requires-Dist: pandas
|
|
30
|
+
Requires-Dist: pydantic>=2.7
|
|
31
|
+
Requires-Dist: click
|
|
32
32
|
Provides-Extra: remote
|
|
33
33
|
Requires-Dist: unstructured-client>=0.30.0; extra == "remote"
|
|
34
34
|
Provides-Extra: csv
|
|
@@ -81,13 +81,13 @@ Requires-Dist: chromadb; extra == "chroma"
|
|
|
81
81
|
Provides-Extra: clarifai
|
|
82
82
|
Requires-Dist: clarifai; extra == "clarifai"
|
|
83
83
|
Provides-Extra: confluence
|
|
84
|
-
Requires-Dist: requests; extra == "confluence"
|
|
85
84
|
Requires-Dist: atlassian-python-api; extra == "confluence"
|
|
85
|
+
Requires-Dist: requests; extra == "confluence"
|
|
86
86
|
Provides-Extra: couchbase
|
|
87
87
|
Requires-Dist: couchbase; extra == "couchbase"
|
|
88
88
|
Provides-Extra: delta-table
|
|
89
|
-
Requires-Dist: boto3; extra == "delta-table"
|
|
90
89
|
Requires-Dist: deltalake; extra == "delta-table"
|
|
90
|
+
Requires-Dist: boto3; extra == "delta-table"
|
|
91
91
|
Provides-Extra: discord
|
|
92
92
|
Requires-Dist: discord.py; extra == "discord"
|
|
93
93
|
Provides-Extra: dropbox
|
|
@@ -98,19 +98,19 @@ Requires-Dist: duckdb; extra == "duckdb"
|
|
|
98
98
|
Provides-Extra: elasticsearch
|
|
99
99
|
Requires-Dist: elasticsearch[async]; extra == "elasticsearch"
|
|
100
100
|
Provides-Extra: gcs
|
|
101
|
-
Requires-Dist: gcsfs; extra == "gcs"
|
|
102
101
|
Requires-Dist: bs4; extra == "gcs"
|
|
102
|
+
Requires-Dist: gcsfs; extra == "gcs"
|
|
103
103
|
Requires-Dist: fsspec; extra == "gcs"
|
|
104
104
|
Provides-Extra: github
|
|
105
|
-
Requires-Dist: requests; extra == "github"
|
|
106
105
|
Requires-Dist: pygithub>1.58.0; extra == "github"
|
|
106
|
+
Requires-Dist: requests; extra == "github"
|
|
107
107
|
Provides-Extra: gitlab
|
|
108
108
|
Requires-Dist: python-gitlab; extra == "gitlab"
|
|
109
109
|
Provides-Extra: google-drive
|
|
110
110
|
Requires-Dist: google-api-python-client; extra == "google-drive"
|
|
111
111
|
Provides-Extra: hubspot
|
|
112
|
-
Requires-Dist: hubspot-api-client; extra == "hubspot"
|
|
113
112
|
Requires-Dist: urllib3; extra == "hubspot"
|
|
113
|
+
Requires-Dist: hubspot-api-client; extra == "hubspot"
|
|
114
114
|
Provides-Extra: jira
|
|
115
115
|
Requires-Dist: atlassian-python-api; extra == "jira"
|
|
116
116
|
Provides-Extra: kafka
|
|
@@ -124,23 +124,23 @@ Requires-Dist: pymilvus; extra == "milvus"
|
|
|
124
124
|
Provides-Extra: mongodb
|
|
125
125
|
Requires-Dist: pymongo; extra == "mongodb"
|
|
126
126
|
Provides-Extra: neo4j
|
|
127
|
-
Requires-Dist: cymple; extra == "neo4j"
|
|
128
|
-
Requires-Dist: networkx; extra == "neo4j"
|
|
129
127
|
Requires-Dist: neo4j-rust-ext; extra == "neo4j"
|
|
128
|
+
Requires-Dist: networkx; extra == "neo4j"
|
|
129
|
+
Requires-Dist: cymple; extra == "neo4j"
|
|
130
130
|
Provides-Extra: notion
|
|
131
|
-
Requires-Dist: htmlBuilder; extra == "notion"
|
|
132
|
-
Requires-Dist: httpx; extra == "notion"
|
|
133
131
|
Requires-Dist: backoff; extra == "notion"
|
|
132
|
+
Requires-Dist: httpx; extra == "notion"
|
|
133
|
+
Requires-Dist: htmlBuilder; extra == "notion"
|
|
134
134
|
Requires-Dist: notion-client; extra == "notion"
|
|
135
135
|
Provides-Extra: onedrive
|
|
136
136
|
Requires-Dist: bs4; extra == "onedrive"
|
|
137
|
-
Requires-Dist: msal; extra == "onedrive"
|
|
138
137
|
Requires-Dist: Office365-REST-Python-Client; extra == "onedrive"
|
|
138
|
+
Requires-Dist: msal; extra == "onedrive"
|
|
139
139
|
Provides-Extra: opensearch
|
|
140
140
|
Requires-Dist: opensearch-py; extra == "opensearch"
|
|
141
141
|
Provides-Extra: outlook
|
|
142
|
-
Requires-Dist: msal; extra == "outlook"
|
|
143
142
|
Requires-Dist: Office365-REST-Python-Client; extra == "outlook"
|
|
143
|
+
Requires-Dist: msal; extra == "outlook"
|
|
144
144
|
Provides-Extra: pinecone
|
|
145
145
|
Requires-Dist: pinecone-client>=3.7.1; extra == "pinecone"
|
|
146
146
|
Provides-Extra: postgres
|
|
@@ -155,8 +155,8 @@ Provides-Extra: s3
|
|
|
155
155
|
Requires-Dist: s3fs; extra == "s3"
|
|
156
156
|
Requires-Dist: fsspec; extra == "s3"
|
|
157
157
|
Provides-Extra: sharepoint
|
|
158
|
-
Requires-Dist: msal; extra == "sharepoint"
|
|
159
158
|
Requires-Dist: Office365-REST-Python-Client; extra == "sharepoint"
|
|
159
|
+
Requires-Dist: msal; extra == "sharepoint"
|
|
160
160
|
Provides-Extra: salesforce
|
|
161
161
|
Requires-Dist: simple-salesforce; extra == "salesforce"
|
|
162
162
|
Provides-Extra: sftp
|
|
@@ -182,12 +182,12 @@ Requires-Dist: httpx; extra == "vectara"
|
|
|
182
182
|
Requires-Dist: requests; extra == "vectara"
|
|
183
183
|
Requires-Dist: aiofiles; extra == "vectara"
|
|
184
184
|
Provides-Extra: vastdb
|
|
185
|
-
Requires-Dist: ibis; extra == "vastdb"
|
|
186
|
-
Requires-Dist: vastdb; extra == "vastdb"
|
|
187
185
|
Requires-Dist: pyarrow; extra == "vastdb"
|
|
186
|
+
Requires-Dist: vastdb; extra == "vastdb"
|
|
187
|
+
Requires-Dist: ibis; extra == "vastdb"
|
|
188
188
|
Provides-Extra: zendesk
|
|
189
|
-
Requires-Dist: httpx; extra == "zendesk"
|
|
190
189
|
Requires-Dist: bs4; extra == "zendesk"
|
|
190
|
+
Requires-Dist: httpx; extra == "zendesk"
|
|
191
191
|
Requires-Dist: aiofiles; extra == "zendesk"
|
|
192
192
|
Provides-Extra: embed-huggingface
|
|
193
193
|
Requires-Dist: sentence-transformers; extra == "embed-huggingface"
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import os
|
|
2
2
|
from pathlib import Path
|
|
3
|
-
from typing import Optional
|
|
4
3
|
|
|
5
4
|
import pytest
|
|
6
5
|
|
|
@@ -21,20 +20,20 @@ from unstructured_ingest.v2.processes.connectors.zendesk.zendesk import (
|
|
|
21
20
|
ZendeskIndexerConfig,
|
|
22
21
|
)
|
|
23
22
|
|
|
23
|
+
SUBDOMAIN = "unstructuredhelp"
|
|
24
|
+
EMAIL = "test@unstructured.io"
|
|
24
25
|
|
|
25
|
-
async def zendesk_source_test(
|
|
26
|
-
tmp_path: Path,
|
|
27
|
-
token: Optional[str] = None,
|
|
28
|
-
email: Optional[str] = None,
|
|
29
|
-
subdomain: Optional[str] = None,
|
|
30
|
-
):
|
|
31
26
|
|
|
32
|
-
|
|
27
|
+
@pytest.mark.asyncio
|
|
28
|
+
@pytest.mark.tags(SOURCE_TAG, CONNECTOR_TYPE, UNCATEGORIZED_TAG)
|
|
29
|
+
@requires_env("ZENDESK_TOKEN")
|
|
30
|
+
async def test_zendesk_source_tickets(temp_dir: Path):
|
|
31
|
+
access_config = ZendeskAccessConfig(api_token=os.environ["ZENDESK_TOKEN"])
|
|
33
32
|
connection_config = ZendeskConnectionConfig(
|
|
34
|
-
subdomain=
|
|
33
|
+
subdomain=SUBDOMAIN, email=EMAIL, access_config=access_config
|
|
35
34
|
)
|
|
36
35
|
|
|
37
|
-
index_config = ZendeskIndexerConfig(
|
|
36
|
+
index_config = ZendeskIndexerConfig(item_type="tickets")
|
|
38
37
|
|
|
39
38
|
indexer = ZendeskIndexer(
|
|
40
39
|
connection_config=connection_config,
|
|
@@ -43,7 +42,7 @@ async def zendesk_source_test(
|
|
|
43
42
|
)
|
|
44
43
|
|
|
45
44
|
# handle downloader.
|
|
46
|
-
download_config = ZendeskDownloaderConfig(download_dir=
|
|
45
|
+
download_config = ZendeskDownloaderConfig(download_dir=temp_dir)
|
|
47
46
|
|
|
48
47
|
downloader = ZendeskDownloader(
|
|
49
48
|
connection_config=connection_config,
|
|
@@ -57,26 +56,23 @@ async def zendesk_source_test(
|
|
|
57
56
|
downloader=downloader,
|
|
58
57
|
configs=SourceValidationConfigs(
|
|
59
58
|
test_id="zendesk-tickets",
|
|
60
|
-
expected_num_files=
|
|
59
|
+
expected_num_files=8,
|
|
61
60
|
validate_file_data=False,
|
|
62
61
|
validate_downloaded_files=True,
|
|
63
62
|
),
|
|
64
63
|
)
|
|
65
64
|
|
|
66
65
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
):
|
|
73
|
-
|
|
74
|
-
access_config = ZendeskAccessConfig(api_token=token)
|
|
66
|
+
@pytest.mark.asyncio
|
|
67
|
+
@pytest.mark.tags(SOURCE_TAG, CONNECTOR_TYPE, UNCATEGORIZED_TAG)
|
|
68
|
+
@requires_env("ZENDESK_TOKEN")
|
|
69
|
+
async def test_zendesk_source_articles(temp_dir):
|
|
70
|
+
access_config = ZendeskAccessConfig(api_token=os.environ["ZENDESK_TOKEN"])
|
|
75
71
|
connection_config = ZendeskConnectionConfig(
|
|
76
|
-
subdomain=
|
|
72
|
+
subdomain=SUBDOMAIN, email=EMAIL, access_config=access_config
|
|
77
73
|
)
|
|
78
74
|
|
|
79
|
-
index_config = ZendeskIndexerConfig(
|
|
75
|
+
index_config = ZendeskIndexerConfig(item_type="articles")
|
|
80
76
|
|
|
81
77
|
indexer = ZendeskIndexer(
|
|
82
78
|
connection_config=connection_config,
|
|
@@ -85,7 +81,7 @@ async def zendesk_source_articles_test(
|
|
|
85
81
|
)
|
|
86
82
|
|
|
87
83
|
# handle downloader.
|
|
88
|
-
download_config = ZendeskDownloaderConfig(download_dir=
|
|
84
|
+
download_config = ZendeskDownloaderConfig(download_dir=temp_dir, extract_images=True)
|
|
89
85
|
|
|
90
86
|
downloader = ZendeskDownloader(
|
|
91
87
|
connection_config=connection_config,
|
|
@@ -99,44 +95,26 @@ async def zendesk_source_articles_test(
|
|
|
99
95
|
downloader=downloader,
|
|
100
96
|
configs=SourceValidationConfigs(
|
|
101
97
|
test_id="zendesk-articles",
|
|
102
|
-
expected_num_files=
|
|
103
|
-
validate_file_data=
|
|
98
|
+
expected_num_files=8,
|
|
99
|
+
validate_file_data=True,
|
|
104
100
|
validate_downloaded_files=True,
|
|
105
101
|
),
|
|
106
102
|
)
|
|
107
103
|
|
|
108
104
|
|
|
109
|
-
@pytest.mark.asyncio
|
|
110
105
|
@pytest.mark.tags(SOURCE_TAG, CONNECTOR_TYPE, UNCATEGORIZED_TAG)
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
token=os.environ["ZENDESK_TOKEN"],
|
|
116
|
-
email="test@unstructured.io",
|
|
117
|
-
subdomain="unstructuredhelp",
|
|
106
|
+
def test_zendesk_source_articles_fail(temp_dir):
|
|
107
|
+
access_config = ZendeskAccessConfig(api_token="FAKE_TOKEN")
|
|
108
|
+
connection_config = ZendeskConnectionConfig(
|
|
109
|
+
subdomain=SUBDOMAIN, email=EMAIL, access_config=access_config
|
|
118
110
|
)
|
|
119
111
|
|
|
112
|
+
index_config = ZendeskIndexerConfig(item_type="tickets")
|
|
120
113
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
await zendesk_source_articles_test(
|
|
126
|
-
tmp_path=temp_dir,
|
|
127
|
-
token=os.environ["ZENDESK_TOKEN"],
|
|
128
|
-
email="test@unstructured.io",
|
|
129
|
-
subdomain="unstructuredhelp",
|
|
114
|
+
indexer = ZendeskIndexer(
|
|
115
|
+
connection_config=connection_config,
|
|
116
|
+
index_config=index_config,
|
|
117
|
+
connector_type=CONNECTOR_TYPE,
|
|
130
118
|
)
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
@pytest.mark.asyncio
|
|
134
|
-
@pytest.mark.tags(SOURCE_TAG, CONNECTOR_TYPE, UNCATEGORIZED_TAG)
|
|
135
|
-
async def test_zendesk_source_articles_fail(temp_dir):
|
|
136
119
|
with pytest.raises(expected_exception=UserAuthError):
|
|
137
|
-
|
|
138
|
-
tmp_path=temp_dir,
|
|
139
|
-
token="FORCE_FAIL_TOKEN",
|
|
140
|
-
email="test@unstructured.io",
|
|
141
|
-
subdomain="unstructuredhelp",
|
|
142
|
-
)
|
|
120
|
+
indexer.precheck()
|
|
@@ -103,7 +103,7 @@ def check_contents(
|
|
|
103
103
|
file_data_path = expected_output_dir / f"{file_data.identifier}.json"
|
|
104
104
|
with file_data_path.open("r") as file:
|
|
105
105
|
expected_file_data_contents = json.load(file)
|
|
106
|
-
current_file_data_contents = file_data.
|
|
106
|
+
current_file_data_contents = json.loads(file_data.model_dump_json())
|
|
107
107
|
expected_file_data_contents = configs.omit_ignored_fields(expected_file_data_contents)
|
|
108
108
|
current_file_data_contents = configs.omit_ignored_fields(current_file_data_contents)
|
|
109
109
|
diff = DeepDiff(expected_file_data_contents, current_file_data_contents)
|
|
@@ -184,7 +184,7 @@ def update_fixtures(
|
|
|
184
184
|
for file_data in all_file_data:
|
|
185
185
|
file_data_path = file_data_output_path / f"{file_data.identifier}.json"
|
|
186
186
|
with file_data_path.open(mode="w") as f:
|
|
187
|
-
|
|
187
|
+
f.write(file_data.model_dump_json(indent=2))
|
|
188
188
|
|
|
189
189
|
# Record file structure of download directory
|
|
190
190
|
download_files = get_files(dir_path=download_dir)
|
|
@@ -216,7 +216,9 @@ def run_all_validations(
|
|
|
216
216
|
len(predownload_file_data) == expected_number_indexed_file_data
|
|
217
217
|
), f"expected {expected_number_indexed_file_data} but got {len(predownload_file_data)}"
|
|
218
218
|
if expected_num_files := configs.expected_num_files:
|
|
219
|
-
assert
|
|
219
|
+
assert (
|
|
220
|
+
len(postdownload_file_data) == expected_num_files
|
|
221
|
+
), f"expected {expected_num_files} but got {len(postdownload_file_data)}"
|
|
220
222
|
|
|
221
223
|
for pre_data, post_data in zip(predownload_file_data, postdownload_file_data):
|
|
222
224
|
configs.run_file_data_validation(
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.5.16" # pragma: no cover
|
|
@@ -88,9 +88,9 @@ class DownloadStep(PipelineStep):
|
|
|
88
88
|
f"match size of local file: {file_size_bytes}, updating"
|
|
89
89
|
)
|
|
90
90
|
file_data.metadata.filesize_bytes = file_size_bytes
|
|
91
|
-
logger.debug(f"updating file data with new content: {file_data.
|
|
91
|
+
logger.debug(f"updating file data with new content: {file_data.model_dump_json()}")
|
|
92
92
|
with file_data_path.open("w") as file:
|
|
93
|
-
|
|
93
|
+
file.write(file_data.model_dump_json(indent=2))
|
|
94
94
|
|
|
95
95
|
async def _run_async(self, fn: Callable, file_data_path: str) -> list[DownloadStepResponse]:
|
|
96
96
|
file_data = file_data_from_file(path=file_data_path)
|
|
@@ -173,7 +173,7 @@ class DownloadStep(PipelineStep):
|
|
|
173
173
|
filepath = (self.cache_dir / filename).resolve()
|
|
174
174
|
filepath.parent.mkdir(parents=True, exist_ok=True)
|
|
175
175
|
with open(str(filepath), "w") as f:
|
|
176
|
-
|
|
176
|
+
f.write(file_data.model_dump_json(indent=2))
|
|
177
177
|
return str(filepath)
|
|
178
178
|
|
|
179
179
|
def get_hash(self, extras: Optional[list[str]]) -> str:
|
|
@@ -37,14 +37,14 @@ class IndexStep(PipelineStep):
|
|
|
37
37
|
@instrument(span_name=STEP_ID)
|
|
38
38
|
def run(self) -> Generator[str, None, None]:
|
|
39
39
|
for file_data in self.process.run():
|
|
40
|
-
logger.debug(f"generated file data: {file_data.
|
|
40
|
+
logger.debug(f"generated file data: {file_data.model_dump_json()}")
|
|
41
41
|
try:
|
|
42
42
|
record_hash = self.get_hash(extras=[file_data.identifier])
|
|
43
43
|
filename = f"{record_hash}.json"
|
|
44
44
|
filepath = (self.cache_dir / filename).resolve()
|
|
45
45
|
filepath.parent.mkdir(parents=True, exist_ok=True)
|
|
46
46
|
with open(str(filepath), "w") as f:
|
|
47
|
-
|
|
47
|
+
f.write(file_data.model_dump_json(indent=2))
|
|
48
48
|
yield str(filepath)
|
|
49
49
|
except Exception as e:
|
|
50
50
|
logger.error(f"failed to create index for file data: {file_data}", exc_info=True)
|
|
@@ -54,14 +54,14 @@ class IndexStep(PipelineStep):
|
|
|
54
54
|
|
|
55
55
|
async def run_async(self) -> AsyncGenerator[str, None]:
|
|
56
56
|
async for file_data in self.process.run_async():
|
|
57
|
-
logger.debug(f"generated file data: {file_data.
|
|
57
|
+
logger.debug(f"generated file data: {file_data.model_dump_json()}")
|
|
58
58
|
try:
|
|
59
59
|
record_hash = self.get_hash(extras=[file_data.identifier])
|
|
60
60
|
filename = f"{record_hash}.json"
|
|
61
61
|
filepath = (self.cache_dir / filename).resolve()
|
|
62
62
|
filepath.parent.mkdir(parents=True, exist_ok=True)
|
|
63
63
|
with open(str(filepath), "w") as f:
|
|
64
|
-
|
|
64
|
+
f.write(file_data.model_dump_json(indent=2))
|
|
65
65
|
yield str(filepath)
|
|
66
66
|
except Exception as e:
|
|
67
67
|
logger.error(f"failed to create index for file data: {file_data}", exc_info=True)
|
|
@@ -61,7 +61,7 @@ class DatabricksVolumeDeltaTableUploader(Uploader):
|
|
|
61
61
|
self.upload_config.database, ", ".join(databases)
|
|
62
62
|
)
|
|
63
63
|
)
|
|
64
|
-
cursor.execute("SHOW TABLES")
|
|
64
|
+
cursor.execute(f"SHOW TABLES IN {self.upload_config.database}")
|
|
65
65
|
table_names = [r[1] for r in cursor.fetchall()]
|
|
66
66
|
if self.upload_config.table_name not in table_names:
|
|
67
67
|
raise ValueError(
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
from dataclasses import dataclass, field
|
|
2
|
+
from datetime import datetime
|
|
3
|
+
from typing import TYPE_CHECKING, Any, AsyncGenerator, Literal, Optional, Union
|
|
4
|
+
|
|
5
|
+
from pydantic import BaseModel, Field, HttpUrl
|
|
6
|
+
|
|
7
|
+
from unstructured_ingest.utils.dep_check import requires_dependencies
|
|
8
|
+
from unstructured_ingest.utils.string_and_date_utils import fix_unescaped_unicode
|
|
9
|
+
from unstructured_ingest.v2.errors import ProviderError, RateLimitError, UserAuthError, UserError
|
|
10
|
+
from unstructured_ingest.v2.logger import logger
|
|
11
|
+
|
|
12
|
+
if TYPE_CHECKING:
|
|
13
|
+
from httpx import AsyncClient, Client
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class Attachment(BaseModel):
|
|
17
|
+
# https://developer.zendesk.com/api-reference/ticketing/tickets/ticket-attachments/#json-format
|
|
18
|
+
content_type: Optional[str] = None
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class Via(BaseModel):
|
|
22
|
+
# https://developer.zendesk.com/documentation/ticketing/reference-guides/via-object-reference/
|
|
23
|
+
channel: Union[int, str]
|
|
24
|
+
source: dict = Field(default_factory=dict)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class ZendeskComment(BaseModel):
|
|
28
|
+
# https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_comments/#json-format
|
|
29
|
+
attachments: list[Attachment] = Field(default_factory=list)
|
|
30
|
+
audit_id: Optional[int] = None
|
|
31
|
+
author_id: Optional[int] = None
|
|
32
|
+
body: Optional[str] = None
|
|
33
|
+
created_at: Optional[datetime] = None
|
|
34
|
+
html_body: Optional[str] = None
|
|
35
|
+
id: Optional[int] = None
|
|
36
|
+
metadata: Optional[dict] = None
|
|
37
|
+
plain_body: Optional[str] = None
|
|
38
|
+
public: Optional[bool] = None
|
|
39
|
+
comment_type: Literal["Comment", "VoiceComment"] = Field(alias="type")
|
|
40
|
+
uploads: list[str] = Field(default_factory=list)
|
|
41
|
+
via: Optional[Via] = None
|
|
42
|
+
|
|
43
|
+
def as_text(self) -> str:
|
|
44
|
+
all_data = self.model_dump()
|
|
45
|
+
filtered_data = {
|
|
46
|
+
k: v
|
|
47
|
+
for k, v in all_data.items()
|
|
48
|
+
if k in ["id", "author_id", "body", "created_at"] and v is not None
|
|
49
|
+
}
|
|
50
|
+
return "".join(
|
|
51
|
+
[f"{v}\n" for v in ["comment"] + [f"{k}: {v}" for k, v in filtered_data.items()]]
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class ZendeskTicket(BaseModel):
|
|
56
|
+
# https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/#json-format
|
|
57
|
+
allow_attachments: bool = True
|
|
58
|
+
allow_channelback: bool = True
|
|
59
|
+
assignee_email: Optional[str] = None
|
|
60
|
+
assignee_id: Optional[int] = None
|
|
61
|
+
attribute_value_ids: list[int] = Field(default_factory=list)
|
|
62
|
+
brand_id: Optional[int] = None
|
|
63
|
+
collaborator_ids: list[int] = Field(default_factory=list)
|
|
64
|
+
collaborators: list[Union[int, str, dict[str, str]]] = Field(default_factory=list)
|
|
65
|
+
comment: Optional[ZendeskComment] = None
|
|
66
|
+
created_at: Optional[datetime] = None
|
|
67
|
+
custom_fields: list[dict[str, Any]] = Field(default_factory=list)
|
|
68
|
+
custom_status_id: Optional[int] = None
|
|
69
|
+
description: Optional[str] = None
|
|
70
|
+
due_at: Optional[datetime] = None
|
|
71
|
+
email_cc_ids: list[int] = Field(default_factory=list)
|
|
72
|
+
email_ccs: list[dict[str, str]] = Field(default_factory=list)
|
|
73
|
+
external_id: Optional[str] = None
|
|
74
|
+
follower_ids: list[int] = Field(default_factory=list)
|
|
75
|
+
followers: list[dict[str, str]] = Field(default_factory=list)
|
|
76
|
+
followup_ids: list[int] = Field(default_factory=list)
|
|
77
|
+
forum_topic_id: Optional[int] = None
|
|
78
|
+
from_messaging_channel: bool
|
|
79
|
+
generated_timestamp: Optional[datetime] = None
|
|
80
|
+
group_id: Optional[int] = None
|
|
81
|
+
has_incidents: bool = False
|
|
82
|
+
id: Optional[int] = None
|
|
83
|
+
is_public: bool = False
|
|
84
|
+
macro_id: Optional[int] = None
|
|
85
|
+
macro_ids: list[int] = Field(default_factory=list)
|
|
86
|
+
metadata: dict[str, Any] = Field(default_factory=dict)
|
|
87
|
+
organization_id: Optional[int] = None
|
|
88
|
+
priority: Optional[Literal["urgent", "high", "normal", "low"]] = None
|
|
89
|
+
problem_id: Optional[int] = None
|
|
90
|
+
raw_subject: Optional[str] = None
|
|
91
|
+
recipient: Optional[str] = None
|
|
92
|
+
requester: dict[str, str] = Field(default_factory=dict)
|
|
93
|
+
requester_id: int
|
|
94
|
+
safe_update: Optional[bool] = None
|
|
95
|
+
satisfaction_rating: Optional[Union[str, dict[str, Any]]] = None
|
|
96
|
+
sharing_agreement_ids: list[int] = Field(default_factory=list)
|
|
97
|
+
status: Optional[Literal["new", "open", "pending", "hold", "solved", "closed"]] = None
|
|
98
|
+
subject: Optional[str] = None
|
|
99
|
+
submitter_id: Optional[int] = None
|
|
100
|
+
tags: list[str] = Field(default_factory=list)
|
|
101
|
+
ticket_form_id: Optional[int] = None
|
|
102
|
+
ticket_type: Optional[Literal["problem", "incident", "question", "task"]] = Field(
|
|
103
|
+
default=None, alias="type"
|
|
104
|
+
)
|
|
105
|
+
updated_at: Optional[datetime] = None
|
|
106
|
+
updated_stamp: Optional[str] = None
|
|
107
|
+
url: Optional[HttpUrl] = None
|
|
108
|
+
via: Optional[Via] = None
|
|
109
|
+
via_followup_source_id: Optional[int] = None
|
|
110
|
+
via_id: Optional[int] = None
|
|
111
|
+
voice_comment: Optional[dict] = None
|
|
112
|
+
|
|
113
|
+
def as_text(self) -> str:
|
|
114
|
+
all_data = self.model_dump()
|
|
115
|
+
filtered_data = {
|
|
116
|
+
k: v
|
|
117
|
+
for k, v in all_data.items()
|
|
118
|
+
if k in ["id", "subject", "description", "created_at"] and v is not None
|
|
119
|
+
}
|
|
120
|
+
return "".join(
|
|
121
|
+
[f"{v}\n" for v in ["ticket"] + [f"{k}: {v}" for k, v in filtered_data.items()]]
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
class ZendeskArticle(BaseModel):
|
|
126
|
+
# https://developer.zendesk.com/api-reference/help_center/help-center-api/articles/#json-format
|
|
127
|
+
author_id: Optional[int] = None
|
|
128
|
+
body: Optional[str] = None
|
|
129
|
+
comments_disabled: bool = False
|
|
130
|
+
content_tag_ids: list[str] = Field(default_factory=list)
|
|
131
|
+
created_at: Optional[datetime] = None
|
|
132
|
+
draft: bool = False
|
|
133
|
+
edited_at: Optional[datetime] = None
|
|
134
|
+
html_url: Optional[HttpUrl] = None
|
|
135
|
+
id: int
|
|
136
|
+
label_names: list[str] = Field(default_factory=list)
|
|
137
|
+
locale: str
|
|
138
|
+
outdated: bool = False
|
|
139
|
+
outdated_locales: list[str] = Field(default_factory=list)
|
|
140
|
+
permission_group_id: int
|
|
141
|
+
position: Optional[int] = None
|
|
142
|
+
promoted: bool = False
|
|
143
|
+
section_id: Optional[int] = None
|
|
144
|
+
source_locale: Optional[str] = None
|
|
145
|
+
title: str
|
|
146
|
+
updated_at: Optional[datetime] = None
|
|
147
|
+
url: Optional[HttpUrl] = None
|
|
148
|
+
user_segment_id: Optional[int] = None
|
|
149
|
+
user_segment_ids: list[int] = Field(default_factory=list)
|
|
150
|
+
vote_count: Optional[int] = None
|
|
151
|
+
vote_sum: Optional[int] = None
|
|
152
|
+
|
|
153
|
+
def as_html(self) -> str:
|
|
154
|
+
html = self.body
|
|
155
|
+
if title := self.title:
|
|
156
|
+
html = f"<h1>{title}</h1>{html}"
|
|
157
|
+
return fix_unescaped_unicode(f"<body class='Document' >{html}</body>")
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
class ZendeskArticleAttachment(BaseModel):
|
|
161
|
+
# https://developer.zendesk.com/api-reference/help_center/help-center-api/article_attachments/#json-format
|
|
162
|
+
article_id: Optional[int] = None
|
|
163
|
+
content_type: Optional[str] = None
|
|
164
|
+
content_url: Optional[HttpUrl] = None
|
|
165
|
+
created_at: Optional[datetime] = None
|
|
166
|
+
guide_media_id: Optional[str] = None
|
|
167
|
+
id: Optional[int] = None
|
|
168
|
+
inline: bool = False
|
|
169
|
+
locale: Optional[str] = None
|
|
170
|
+
size: Optional[int] = None
|
|
171
|
+
updated_at: Optional[datetime] = None
|
|
172
|
+
url: Optional[HttpUrl] = None
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
@dataclass
|
|
176
|
+
class ZendeskClient:
|
|
177
|
+
token: str
|
|
178
|
+
subdomain: str
|
|
179
|
+
email: str
|
|
180
|
+
max_page_size: int = 100
|
|
181
|
+
_async_client: "AsyncClient" = field(init=False, default=None)
|
|
182
|
+
_client: "Client" = field(init=False, default=None)
|
|
183
|
+
_base_url: str = field(init=False, default=None)
|
|
184
|
+
|
|
185
|
+
async def __aenter__(self) -> "ZendeskClient":
|
|
186
|
+
return self
|
|
187
|
+
|
|
188
|
+
async def __aexit__(self, exc_type, exc_val, exc_tb):
|
|
189
|
+
await self._async_client.aclose()
|
|
190
|
+
|
|
191
|
+
@requires_dependencies(["httpx"], extras="zendesk")
|
|
192
|
+
def __post_init__(self):
|
|
193
|
+
import httpx
|
|
194
|
+
|
|
195
|
+
auth = f"{self.email}/token", self.token
|
|
196
|
+
self._client = httpx.Client(auth=auth)
|
|
197
|
+
self._async_client = httpx.AsyncClient(auth=auth)
|
|
198
|
+
self._base_url = f"https://{self.subdomain}.zendesk.com/api/v2"
|
|
199
|
+
|
|
200
|
+
# Run check
|
|
201
|
+
try:
|
|
202
|
+
url_to_check = f"{self._base_url}/groups.json"
|
|
203
|
+
resp = self._client.head(url_to_check)
|
|
204
|
+
resp.raise_for_status()
|
|
205
|
+
except Exception as e:
|
|
206
|
+
raise self.wrap_error(e=e)
|
|
207
|
+
|
|
208
|
+
@requires_dependencies(["httpx"], extras="zendesk")
|
|
209
|
+
def wrap_error(self, e: Exception) -> Exception:
|
|
210
|
+
import httpx
|
|
211
|
+
|
|
212
|
+
if not isinstance(e, httpx.HTTPStatusError):
|
|
213
|
+
logger.error(f"unhandled exception from Zendesk client: {e}", exc_info=True)
|
|
214
|
+
return e
|
|
215
|
+
url = e.request.url
|
|
216
|
+
response_code = e.response.status_code
|
|
217
|
+
if response_code == 401:
|
|
218
|
+
logger.error(
|
|
219
|
+
f"Failed to connect via auth,"
|
|
220
|
+
f"{url} using zendesk response, status code {response_code}"
|
|
221
|
+
)
|
|
222
|
+
return UserAuthError(e)
|
|
223
|
+
if response_code == 429:
|
|
224
|
+
logger.error(
|
|
225
|
+
f"Failed to connect via rate limits"
|
|
226
|
+
f"{url} using zendesk response, status code {response_code}"
|
|
227
|
+
)
|
|
228
|
+
return RateLimitError(e)
|
|
229
|
+
if 400 <= response_code < 500:
|
|
230
|
+
logger.error(
|
|
231
|
+
f"Failed to connect to {url} using zendesk response, status code {response_code}"
|
|
232
|
+
)
|
|
233
|
+
return UserError(e)
|
|
234
|
+
if response_code > 500:
|
|
235
|
+
logger.error(
|
|
236
|
+
f"Failed to connect to {url} using zendesk response, status code {response_code}"
|
|
237
|
+
)
|
|
238
|
+
return ProviderError(e)
|
|
239
|
+
logger.error(f"unhandled http status error from Zendesk client: {e}", exc_info=True)
|
|
240
|
+
return e
|
|
241
|
+
|
|
242
|
+
async def fetch_content(self, url: str, content_key: str) -> AsyncGenerator[dict, None]:
|
|
243
|
+
url = f"{url}?page[size]={self.max_page_size}"
|
|
244
|
+
while True:
|
|
245
|
+
try:
|
|
246
|
+
response = await self._async_client.get(url)
|
|
247
|
+
response.raise_for_status()
|
|
248
|
+
except Exception as e:
|
|
249
|
+
raise self.wrap_error(e=e)
|
|
250
|
+
|
|
251
|
+
data = response.json()
|
|
252
|
+
for content in data[content_key]:
|
|
253
|
+
yield content
|
|
254
|
+
|
|
255
|
+
has_more = data.get("meta", {}).get("has_more", False)
|
|
256
|
+
if not has_more:
|
|
257
|
+
break
|
|
258
|
+
|
|
259
|
+
url = data["links"]["next"]
|
|
260
|
+
|
|
261
|
+
async def get_articles(self) -> AsyncGenerator[ZendeskArticle, None]:
|
|
262
|
+
"""
|
|
263
|
+
Retrieves article content from Zendesk asynchronously.
|
|
264
|
+
"""
|
|
265
|
+
article_url = f"https://{self.subdomain}.zendesk.com/api/v2/help_center/articles.json"
|
|
266
|
+
|
|
267
|
+
try:
|
|
268
|
+
async for article_dict in self.fetch_content(url=article_url, content_key="articles"):
|
|
269
|
+
yield ZendeskArticle.model_validate(article_dict)
|
|
270
|
+
except Exception as e:
|
|
271
|
+
raise self.wrap_error(e=e)
|
|
272
|
+
|
|
273
|
+
async def get_comments(self, ticket_id: int) -> AsyncGenerator[ZendeskComment, None]:
|
|
274
|
+
comments_url = f"https://{self.subdomain}.zendesk.com/api/v2/tickets/{ticket_id}/comments"
|
|
275
|
+
|
|
276
|
+
try:
|
|
277
|
+
async for comment_dict in self.fetch_content(url=comments_url, content_key="comments"):
|
|
278
|
+
yield ZendeskComment.model_validate(comment_dict)
|
|
279
|
+
except Exception as e:
|
|
280
|
+
raise self.wrap_error(e=e)
|
|
281
|
+
|
|
282
|
+
async def get_tickets(self) -> AsyncGenerator[ZendeskTicket, None]:
|
|
283
|
+
tickets_url = f"https://{self.subdomain}.zendesk.com/api/v2/tickets"
|
|
284
|
+
|
|
285
|
+
try:
|
|
286
|
+
async for ticket_dict in self.fetch_content(url=tickets_url, content_key="tickets"):
|
|
287
|
+
yield ZendeskTicket.model_validate(ticket_dict)
|
|
288
|
+
except Exception as e:
|
|
289
|
+
raise self.wrap_error(e=e)
|
|
290
|
+
|
|
291
|
+
async def get_article_attachments(
|
|
292
|
+
self, article_id: int
|
|
293
|
+
) -> AsyncGenerator[ZendeskArticleAttachment, None]:
|
|
294
|
+
"""
|
|
295
|
+
Handles article attachments such as images and stores them as UTF-8 encoded bytes.
|
|
296
|
+
"""
|
|
297
|
+
article_attachment_url = (
|
|
298
|
+
f"https://{self.subdomain}.zendesk.com/api/v2/help_center/"
|
|
299
|
+
f"articles/{article_id}/attachments"
|
|
300
|
+
)
|
|
301
|
+
|
|
302
|
+
try:
|
|
303
|
+
async for attachment_dict in self.fetch_content(
|
|
304
|
+
url=article_attachment_url, content_key="article_attachments"
|
|
305
|
+
):
|
|
306
|
+
yield ZendeskArticleAttachment.model_validate(attachment_dict)
|
|
307
|
+
except Exception as e:
|
|
308
|
+
raise self.wrap_error(e=e)
|