llama-cloud 0.1.41__py3-none-any.whl → 1.0.0b4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- llama_cloud/__init__.py +101 -816
- llama_cloud/_base_client.py +2124 -0
- llama_cloud/_client.py +795 -0
- llama_cloud/_compat.py +219 -0
- llama_cloud/_constants.py +14 -0
- llama_cloud/_exceptions.py +108 -0
- llama_cloud/_files.py +127 -0
- llama_cloud/_models.py +872 -0
- llama_cloud/_polling.py +182 -0
- llama_cloud/_qs.py +150 -0
- llama_cloud/_resource.py +43 -0
- llama_cloud/_response.py +832 -0
- llama_cloud/_streaming.py +333 -0
- llama_cloud/_types.py +270 -0
- llama_cloud/_utils/__init__.py +64 -0
- llama_cloud/_utils/_compat.py +45 -0
- llama_cloud/_utils/_datetime_parse.py +136 -0
- llama_cloud/_utils/_logs.py +25 -0
- llama_cloud/_utils/_proxy.py +65 -0
- llama_cloud/_utils/_reflection.py +42 -0
- llama_cloud/_utils/_resources_proxy.py +24 -0
- llama_cloud/_utils/_streams.py +12 -0
- llama_cloud/_utils/_sync.py +58 -0
- llama_cloud/_utils/_transform.py +457 -0
- llama_cloud/_utils/_typing.py +156 -0
- llama_cloud/_utils/_utils.py +421 -0
- llama_cloud/_version.py +4 -0
- llama_cloud/lib/__init__.py +0 -0
- llama_cloud/lib/index/__init__.py +13 -0
- llama_cloud/lib/index/api_utils.py +300 -0
- llama_cloud/lib/index/base.py +1041 -0
- llama_cloud/lib/index/composite_retriever.py +272 -0
- llama_cloud/lib/index/retriever.py +233 -0
- llama_cloud/pagination.py +465 -0
- llama_cloud/py.typed +0 -0
- llama_cloud/resources/__init__.py +136 -107
- llama_cloud/resources/beta/__init__.py +102 -1
- llama_cloud/resources/beta/agent_data.py +1041 -0
- llama_cloud/resources/beta/batch/__init__.py +33 -0
- llama_cloud/resources/beta/batch/batch.py +664 -0
- llama_cloud/resources/beta/batch/job_items.py +348 -0
- llama_cloud/resources/beta/beta.py +262 -0
- llama_cloud/resources/beta/directories/__init__.py +33 -0
- llama_cloud/resources/beta/directories/directories.py +719 -0
- llama_cloud/resources/beta/directories/files.py +913 -0
- llama_cloud/resources/beta/parse_configurations.py +743 -0
- llama_cloud/resources/beta/sheets.py +1130 -0
- llama_cloud/resources/beta/split.py +917 -0
- llama_cloud/resources/classifier/__init__.py +32 -1
- llama_cloud/resources/classifier/classifier.py +588 -0
- llama_cloud/resources/classifier/jobs.py +563 -0
- llama_cloud/resources/data_sinks.py +579 -0
- llama_cloud/resources/data_sources.py +651 -0
- llama_cloud/resources/extraction/__init__.py +61 -0
- llama_cloud/resources/extraction/extraction.py +609 -0
- llama_cloud/resources/extraction/extraction_agents/__init__.py +33 -0
- llama_cloud/resources/extraction/extraction_agents/extraction_agents.py +633 -0
- llama_cloud/resources/extraction/extraction_agents/schema.py +308 -0
- llama_cloud/resources/extraction/jobs.py +1106 -0
- llama_cloud/resources/extraction/runs.py +498 -0
- llama_cloud/resources/files.py +784 -0
- llama_cloud/resources/parsing.py +1296 -0
- llama_cloud/resources/pipelines/__init__.py +98 -24
- llama_cloud/resources/pipelines/data_sources.py +529 -0
- llama_cloud/resources/pipelines/documents.py +810 -0
- llama_cloud/resources/pipelines/files.py +682 -0
- llama_cloud/resources/pipelines/images.py +513 -0
- llama_cloud/resources/pipelines/metadata.py +265 -0
- llama_cloud/resources/pipelines/pipelines.py +1525 -0
- llama_cloud/resources/pipelines/sync.py +243 -0
- llama_cloud/resources/projects.py +276 -0
- llama_cloud/resources/retrievers/__init__.py +32 -1
- llama_cloud/resources/retrievers/retriever.py +238 -0
- llama_cloud/resources/retrievers/retrievers.py +920 -0
- llama_cloud/types/__init__.py +171 -721
- llama_cloud/types/advanced_mode_transform_config.py +102 -38
- llama_cloud/types/advanced_mode_transform_config_param.py +102 -0
- llama_cloud/types/auto_transform_config.py +11 -25
- llama_cloud/types/auto_transform_config_param.py +17 -0
- llama_cloud/types/azure_openai_embedding.py +62 -0
- llama_cloud/types/azure_openai_embedding_config.py +17 -0
- llama_cloud/types/azure_openai_embedding_config_param.py +17 -0
- llama_cloud/types/azure_openai_embedding_param.py +61 -0
- llama_cloud/types/b_box.py +37 -0
- llama_cloud/types/bedrock_embedding.py +49 -46
- llama_cloud/types/bedrock_embedding_config.py +10 -27
- llama_cloud/types/bedrock_embedding_config_param.py +17 -0
- llama_cloud/types/bedrock_embedding_param.py +48 -0
- llama_cloud/types/beta/__init__.py +59 -0
- llama_cloud/types/beta/agent_data.py +26 -0
- llama_cloud/types/beta/agent_data_agent_data_params.py +20 -0
- llama_cloud/types/beta/agent_data_aggregate_params.py +79 -0
- llama_cloud/types/beta/agent_data_aggregate_response.py +17 -0
- llama_cloud/types/beta/agent_data_delete_by_query_params.py +43 -0
- llama_cloud/types/beta/agent_data_delete_by_query_response.py +11 -0
- llama_cloud/types/beta/agent_data_delete_params.py +14 -0
- llama_cloud/types/beta/agent_data_delete_response.py +8 -0
- llama_cloud/types/beta/agent_data_get_params.py +14 -0
- llama_cloud/types/beta/agent_data_search_params.py +69 -0
- llama_cloud/types/beta/agent_data_update_params.py +16 -0
- llama_cloud/types/beta/batch/__init__.py +12 -0
- llama_cloud/types/beta/batch/job_item_get_processing_results_params.py +17 -0
- llama_cloud/types/beta/batch/job_item_get_processing_results_response.py +409 -0
- llama_cloud/types/beta/batch/job_item_list_params.py +23 -0
- llama_cloud/types/beta/batch/job_item_list_response.py +42 -0
- llama_cloud/types/beta/batch_cancel_params.py +21 -0
- llama_cloud/types/beta/batch_cancel_response.py +23 -0
- llama_cloud/types/beta/batch_create_params.py +399 -0
- llama_cloud/types/beta/batch_create_response.py +63 -0
- llama_cloud/types/beta/batch_get_status_params.py +14 -0
- llama_cloud/types/beta/batch_get_status_response.py +73 -0
- llama_cloud/types/beta/batch_list_params.py +29 -0
- llama_cloud/types/beta/batch_list_response.py +63 -0
- llama_cloud/types/beta/directories/__init__.py +15 -0
- llama_cloud/types/beta/directories/file_add_params.py +26 -0
- llama_cloud/types/beta/directories/file_add_response.py +42 -0
- llama_cloud/types/beta/directories/file_delete_params.py +16 -0
- llama_cloud/types/beta/directories/file_get_params.py +16 -0
- llama_cloud/types/beta/directories/file_get_response.py +42 -0
- llama_cloud/types/beta/directories/file_list_params.py +28 -0
- llama_cloud/types/beta/directories/file_list_response.py +42 -0
- llama_cloud/types/beta/directories/file_update_params.py +27 -0
- llama_cloud/types/beta/directories/file_update_response.py +42 -0
- llama_cloud/types/beta/directories/file_upload_params.py +24 -0
- llama_cloud/types/beta/directories/file_upload_response.py +42 -0
- llama_cloud/types/beta/directory_create_params.py +23 -0
- llama_cloud/types/beta/directory_create_response.py +36 -0
- llama_cloud/types/beta/directory_delete_params.py +14 -0
- llama_cloud/types/beta/directory_get_params.py +14 -0
- llama_cloud/types/beta/directory_get_response.py +36 -0
- llama_cloud/types/beta/directory_list_params.py +24 -0
- llama_cloud/types/beta/directory_list_response.py +36 -0
- llama_cloud/types/beta/directory_update_params.py +20 -0
- llama_cloud/types/beta/directory_update_response.py +36 -0
- llama_cloud/types/beta/parse_configuration.py +40 -0
- llama_cloud/types/beta/parse_configuration_create_params.py +34 -0
- llama_cloud/types/beta/parse_configuration_delete_params.py +14 -0
- llama_cloud/types/beta/parse_configuration_get_params.py +14 -0
- llama_cloud/types/beta/parse_configuration_list_params.py +24 -0
- llama_cloud/types/beta/parse_configuration_query_response.py +28 -0
- llama_cloud/types/beta/parse_configuration_update_params.py +22 -0
- llama_cloud/types/beta/sheet_create_params.py +22 -0
- llama_cloud/types/beta/sheet_delete_job_params.py +14 -0
- llama_cloud/types/beta/sheet_get_params.py +16 -0
- llama_cloud/types/beta/sheet_get_result_table_params.py +20 -0
- llama_cloud/types/beta/sheet_list_params.py +20 -0
- llama_cloud/types/beta/sheets_job.py +88 -0
- llama_cloud/types/beta/sheets_parsing_config.py +49 -0
- llama_cloud/types/beta/sheets_parsing_config_param.py +51 -0
- llama_cloud/types/beta/split_category.py +17 -0
- llama_cloud/types/beta/split_category_param.py +18 -0
- llama_cloud/types/beta/split_create_params.py +36 -0
- llama_cloud/types/beta/split_create_response.py +48 -0
- llama_cloud/types/beta/split_document_input.py +15 -0
- llama_cloud/types/beta/split_document_input_param.py +17 -0
- llama_cloud/types/beta/split_get_params.py +14 -0
- llama_cloud/types/beta/split_get_response.py +48 -0
- llama_cloud/types/beta/split_list_params.py +18 -0
- llama_cloud/types/beta/split_list_response.py +48 -0
- llama_cloud/types/beta/split_result_response.py +15 -0
- llama_cloud/types/beta/split_segment_response.py +20 -0
- llama_cloud/types/classifier/__init__.py +15 -0
- llama_cloud/types/classifier/classifier_rule.py +25 -0
- llama_cloud/types/classifier/classifier_rule_param.py +27 -0
- llama_cloud/types/classifier/classify_job.py +51 -0
- llama_cloud/types/classifier/classify_job_param.py +53 -0
- llama_cloud/types/classifier/classify_parsing_configuration.py +21 -0
- llama_cloud/types/classifier/classify_parsing_configuration_param.py +23 -0
- llama_cloud/types/classifier/job_create_params.py +30 -0
- llama_cloud/types/classifier/job_get_params.py +14 -0
- llama_cloud/types/classifier/job_get_results_params.py +14 -0
- llama_cloud/types/classifier/job_get_results_response.py +66 -0
- llama_cloud/types/classifier/job_list_params.py +18 -0
- llama_cloud/types/cohere_embedding.py +37 -40
- llama_cloud/types/cohere_embedding_config.py +10 -27
- llama_cloud/types/cohere_embedding_config_param.py +17 -0
- llama_cloud/types/cohere_embedding_param.py +36 -0
- llama_cloud/types/composite_retrieval_mode.py +4 -18
- llama_cloud/types/composite_retrieval_result.py +52 -37
- llama_cloud/types/data_sink.py +46 -39
- llama_cloud/types/data_sink_create_param.py +41 -0
- llama_cloud/types/data_sink_create_params.py +44 -0
- llama_cloud/types/data_sink_list_params.py +14 -0
- llama_cloud/types/data_sink_list_response.py +10 -0
- llama_cloud/types/data_sink_update_params.py +40 -0
- llama_cloud/types/data_source.py +67 -39
- llama_cloud/types/data_source_create_params.py +65 -0
- llama_cloud/types/data_source_list_params.py +14 -0
- llama_cloud/types/data_source_list_response.py +10 -0
- llama_cloud/types/data_source_reader_version_metadata.py +8 -27
- llama_cloud/types/data_source_update_params.py +61 -0
- llama_cloud/types/extraction/__init__.py +25 -0
- llama_cloud/types/extraction/extract_agent.py +41 -0
- llama_cloud/types/extraction/extract_config.py +118 -0
- llama_cloud/types/extraction/extract_config_param.py +118 -0
- llama_cloud/types/extraction/extract_job.py +32 -0
- llama_cloud/types/extraction/extract_run.py +64 -0
- llama_cloud/types/extraction/extraction_agent_create_params.py +25 -0
- llama_cloud/types/extraction/extraction_agent_list_params.py +17 -0
- llama_cloud/types/extraction/extraction_agent_list_response.py +10 -0
- llama_cloud/types/extraction/extraction_agent_update_params.py +18 -0
- llama_cloud/types/extraction/extraction_agents/__init__.py +8 -0
- llama_cloud/types/extraction/extraction_agents/schema_generate_schema_params.py +23 -0
- llama_cloud/types/extraction/extraction_agents/schema_generate_schema_response.py +14 -0
- llama_cloud/types/extraction/extraction_agents/schema_validate_schema_params.py +12 -0
- llama_cloud/types/extraction/extraction_agents/schema_validate_schema_response.py +13 -0
- llama_cloud/types/extraction/job_create_params.py +38 -0
- llama_cloud/types/extraction/job_file_params.py +29 -0
- llama_cloud/types/extraction/job_get_result_params.py +14 -0
- llama_cloud/types/extraction/job_get_result_response.py +27 -0
- llama_cloud/types/extraction/job_list_params.py +11 -0
- llama_cloud/types/extraction/job_list_response.py +10 -0
- llama_cloud/types/extraction/run_delete_params.py +14 -0
- llama_cloud/types/extraction/run_get_by_job_params.py +14 -0
- llama_cloud/types/extraction/run_get_params.py +14 -0
- llama_cloud/types/extraction/run_list_params.py +15 -0
- llama_cloud/types/extraction/webhook_configuration.py +43 -0
- llama_cloud/types/extraction/webhook_configuration_param.py +43 -0
- llama_cloud/types/extraction_run_params.py +45 -0
- llama_cloud/types/fail_page_mode.py +4 -26
- llama_cloud/types/file.py +48 -40
- llama_cloud/types/file_create_params.py +28 -0
- llama_cloud/types/file_create_response.py +38 -0
- llama_cloud/types/file_delete_params.py +14 -0
- llama_cloud/types/file_get_params.py +16 -0
- llama_cloud/types/file_list_params.py +40 -0
- llama_cloud/types/file_list_response.py +38 -0
- llama_cloud/types/file_query_params.py +61 -0
- llama_cloud/types/file_query_response.py +47 -27
- llama_cloud/types/gemini_embedding.py +40 -39
- llama_cloud/types/gemini_embedding_config.py +10 -27
- llama_cloud/types/gemini_embedding_config_param.py +17 -0
- llama_cloud/types/gemini_embedding_param.py +39 -0
- llama_cloud/types/hugging_face_inference_api_embedding.py +62 -46
- llama_cloud/types/hugging_face_inference_api_embedding_config.py +11 -28
- llama_cloud/types/hugging_face_inference_api_embedding_config_param.py +17 -0
- llama_cloud/types/hugging_face_inference_api_embedding_param.py +60 -0
- llama_cloud/types/list_item.py +48 -0
- llama_cloud/types/llama_parse_parameters.py +251 -130
- llama_cloud/types/llama_parse_parameters_param.py +261 -0
- llama_cloud/types/llama_parse_supported_file_extensions.py +84 -310
- llama_cloud/types/managed_ingestion_status_response.py +39 -37
- llama_cloud/types/message_role.py +4 -46
- llama_cloud/types/metadata_filters.py +45 -29
- llama_cloud/types/metadata_filters_param.py +58 -0
- llama_cloud/types/openai_embedding.py +56 -0
- llama_cloud/types/openai_embedding_config.py +17 -0
- llama_cloud/types/openai_embedding_config_param.py +17 -0
- llama_cloud/types/openai_embedding_param.py +55 -0
- llama_cloud/types/page_figure_node_with_score.py +32 -29
- llama_cloud/types/page_screenshot_node_with_score.py +23 -29
- llama_cloud/types/parsing_create_params.py +586 -0
- llama_cloud/types/parsing_create_response.py +33 -0
- llama_cloud/types/parsing_get_params.py +27 -0
- llama_cloud/types/parsing_get_response.py +364 -0
- llama_cloud/types/parsing_languages.py +94 -0
- llama_cloud/types/parsing_list_params.py +23 -0
- llama_cloud/types/parsing_list_response.py +33 -0
- llama_cloud/types/parsing_mode.py +13 -46
- llama_cloud/types/parsing_upload_file_params.py +14 -0
- llama_cloud/types/parsing_upload_file_response.py +33 -0
- llama_cloud/types/pipeline.py +180 -62
- llama_cloud/types/pipeline_create_params.py +95 -0
- llama_cloud/types/pipeline_get_status_params.py +12 -0
- llama_cloud/types/pipeline_list_params.py +23 -0
- llama_cloud/types/pipeline_list_response.py +12 -0
- llama_cloud/types/pipeline_metadata_config.py +9 -30
- llama_cloud/types/pipeline_metadata_config_param.py +17 -0
- llama_cloud/types/pipeline_retrieve_params.py +74 -0
- llama_cloud/types/pipeline_retrieve_response.py +63 -0
- llama_cloud/types/pipeline_type.py +4 -18
- llama_cloud/types/pipeline_update_params.py +90 -0
- llama_cloud/types/pipeline_upsert_params.py +95 -0
- llama_cloud/types/pipelines/__init__.py +38 -0
- llama_cloud/types/pipelines/cloud_document.py +29 -0
- llama_cloud/types/pipelines/cloud_document_create_param.py +30 -0
- llama_cloud/types/pipelines/data_source_get_data_sources_response.py +10 -0
- llama_cloud/types/pipelines/data_source_sync_params.py +16 -0
- llama_cloud/types/pipelines/data_source_update_data_sources_params.py +25 -0
- llama_cloud/types/pipelines/data_source_update_data_sources_response.py +10 -0
- llama_cloud/types/pipelines/data_source_update_params.py +15 -0
- llama_cloud/types/pipelines/document_create_params.py +14 -0
- llama_cloud/types/pipelines/document_create_response.py +10 -0
- llama_cloud/types/pipelines/document_get_chunks_response.py +10 -0
- llama_cloud/types/pipelines/document_list_params.py +22 -0
- llama_cloud/types/pipelines/document_upsert_params.py +14 -0
- llama_cloud/types/pipelines/document_upsert_response.py +10 -0
- llama_cloud/types/pipelines/file_create_params.py +22 -0
- llama_cloud/types/pipelines/file_create_response.py +10 -0
- llama_cloud/types/pipelines/file_get_status_counts_params.py +14 -0
- llama_cloud/types/pipelines/file_get_status_counts_response.py +24 -0
- llama_cloud/types/pipelines/file_list_params.py +22 -0
- llama_cloud/types/pipelines/file_update_params.py +15 -0
- llama_cloud/types/pipelines/image_get_page_figure_params.py +18 -0
- llama_cloud/types/pipelines/image_get_page_screenshot_params.py +16 -0
- llama_cloud/types/pipelines/image_list_page_figures_params.py +14 -0
- llama_cloud/types/pipelines/image_list_page_figures_response.py +34 -0
- llama_cloud/types/pipelines/image_list_page_screenshots_params.py +14 -0
- llama_cloud/types/pipelines/image_list_page_screenshots_response.py +25 -0
- llama_cloud/types/pipelines/metadata_create_params.py +13 -0
- llama_cloud/types/pipelines/metadata_create_response.py +8 -0
- llama_cloud/types/pipelines/pipeline_data_source.py +96 -0
- llama_cloud/types/pipelines/pipeline_file.py +70 -0
- llama_cloud/types/pipelines/text_node.py +89 -0
- llama_cloud/types/preset_retrieval_params.py +61 -49
- llama_cloud/types/preset_retrieval_params_param.py +71 -0
- llama_cloud/types/presigned_url.py +13 -29
- llama_cloud/types/project.py +24 -36
- llama_cloud/types/project_get_params.py +12 -0
- llama_cloud/types/project_list_params.py +14 -0
- llama_cloud/types/project_list_response.py +10 -0
- llama_cloud/types/re_rank_config_param.py +18 -0
- llama_cloud/types/retrieval_mode.py +4 -26
- llama_cloud/types/retriever.py +31 -38
- llama_cloud/types/retriever_create_params.py +26 -0
- llama_cloud/types/retriever_get_params.py +14 -0
- llama_cloud/types/retriever_list_params.py +16 -0
- llama_cloud/types/retriever_list_response.py +12 -0
- llama_cloud/types/retriever_pipeline.py +26 -34
- llama_cloud/types/retriever_pipeline_param.py +28 -0
- llama_cloud/types/retriever_search_params.py +38 -0
- llama_cloud/types/retriever_update_params.py +19 -0
- llama_cloud/types/retriever_upsert_params.py +26 -0
- llama_cloud/types/retrievers/__init__.py +5 -0
- llama_cloud/types/retrievers/retriever_search_params.py +32 -0
- llama_cloud/types/shared/__init__.py +21 -0
- llama_cloud/types/shared/cloud_astra_db_vector_store.py +39 -0
- llama_cloud/types/shared/cloud_az_storage_blob_data_source.py +34 -0
- llama_cloud/types/shared/cloud_azure_ai_search_vector_store.py +30 -0
- llama_cloud/types/shared/cloud_box_data_source.py +31 -0
- llama_cloud/types/shared/cloud_confluence_data_source.py +53 -0
- llama_cloud/types/shared/cloud_jira_data_source.py +30 -0
- llama_cloud/types/shared/cloud_jira_data_source_v2.py +49 -0
- llama_cloud/types/shared/cloud_milvus_vector_store.py +21 -0
- llama_cloud/types/shared/cloud_mongodb_atlas_vector_search.py +36 -0
- llama_cloud/types/shared/cloud_notion_page_data_source.py +19 -0
- llama_cloud/types/shared/cloud_one_drive_data_source.py +32 -0
- llama_cloud/types/shared/cloud_pinecone_vector_store.py +32 -0
- llama_cloud/types/shared/cloud_postgres_vector_store.py +35 -0
- llama_cloud/types/shared/cloud_qdrant_vector_store.py +35 -0
- llama_cloud/types/shared/cloud_s3_data_source.py +28 -0
- llama_cloud/types/shared/cloud_sharepoint_data_source.py +55 -0
- llama_cloud/types/shared/cloud_slack_data_source.py +31 -0
- llama_cloud/types/shared/failure_handling_config.py +16 -0
- llama_cloud/types/shared/pg_vector_hnsw_settings.py +27 -0
- llama_cloud/types/shared_params/__init__.py +21 -0
- llama_cloud/types/shared_params/cloud_astra_db_vector_store.py +42 -0
- llama_cloud/types/shared_params/cloud_az_storage_blob_data_source.py +41 -0
- llama_cloud/types/shared_params/cloud_azure_ai_search_vector_store.py +34 -0
- llama_cloud/types/shared_params/cloud_box_data_source.py +40 -0
- llama_cloud/types/shared_params/cloud_confluence_data_source.py +58 -0
- llama_cloud/types/shared_params/cloud_jira_data_source.py +34 -0
- llama_cloud/types/shared_params/cloud_jira_data_source_v2.py +54 -0
- llama_cloud/types/shared_params/cloud_milvus_vector_store.py +24 -0
- llama_cloud/types/shared_params/cloud_mongodb_atlas_vector_search.py +39 -0
- llama_cloud/types/shared_params/cloud_notion_page_data_source.py +23 -0
- llama_cloud/types/shared_params/cloud_one_drive_data_source.py +37 -0
- llama_cloud/types/shared_params/cloud_pinecone_vector_store.py +35 -0
- llama_cloud/types/shared_params/cloud_postgres_vector_store.py +39 -0
- llama_cloud/types/shared_params/cloud_qdrant_vector_store.py +37 -0
- llama_cloud/types/shared_params/cloud_s3_data_source.py +32 -0
- llama_cloud/types/shared_params/cloud_sharepoint_data_source.py +60 -0
- llama_cloud/types/shared_params/cloud_slack_data_source.py +35 -0
- llama_cloud/types/shared_params/failure_handling_config.py +16 -0
- llama_cloud/types/shared_params/pg_vector_hnsw_settings.py +26 -0
- llama_cloud/types/sparse_model_config.py +16 -30
- llama_cloud/types/sparse_model_config_param.py +25 -0
- llama_cloud/types/status_enum.py +4 -34
- llama_cloud/types/vertex_ai_embedding_config.py +10 -27
- llama_cloud/types/vertex_ai_embedding_config_param.py +17 -0
- llama_cloud/types/vertex_text_embedding.py +47 -45
- llama_cloud/types/vertex_text_embedding_param.py +45 -0
- llama_cloud-1.0.0b4.dist-info/METADATA +546 -0
- llama_cloud-1.0.0b4.dist-info/RECORD +376 -0
- {llama_cloud-0.1.41.dist-info → llama_cloud-1.0.0b4.dist-info}/WHEEL +1 -1
- llama_cloud-1.0.0b4.dist-info/licenses/LICENSE +7 -0
- llama_cloud/client.py +0 -108
- llama_cloud/core/__init__.py +0 -17
- llama_cloud/core/api_error.py +0 -15
- llama_cloud/core/client_wrapper.py +0 -51
- llama_cloud/core/datetime_utils.py +0 -28
- llama_cloud/core/jsonable_encoder.py +0 -106
- llama_cloud/core/remove_none_from_dict.py +0 -11
- llama_cloud/environment.py +0 -7
- llama_cloud/errors/__init__.py +0 -5
- llama_cloud/errors/unprocessable_entity_error.py +0 -9
- llama_cloud/resources/admin/__init__.py +0 -2
- llama_cloud/resources/admin/client.py +0 -196
- llama_cloud/resources/agent_deployments/__init__.py +0 -2
- llama_cloud/resources/agent_deployments/client.py +0 -160
- llama_cloud/resources/alpha/__init__.py +0 -2
- llama_cloud/resources/alpha/client.py +0 -112
- llama_cloud/resources/beta/client.py +0 -2664
- llama_cloud/resources/chat_apps/__init__.py +0 -2
- llama_cloud/resources/chat_apps/client.py +0 -616
- llama_cloud/resources/classifier/client.py +0 -444
- llama_cloud/resources/data_sinks/__init__.py +0 -5
- llama_cloud/resources/data_sinks/client.py +0 -535
- llama_cloud/resources/data_sinks/types/__init__.py +0 -5
- llama_cloud/resources/data_sinks/types/data_sink_update_component.py +0 -22
- llama_cloud/resources/data_sources/__init__.py +0 -5
- llama_cloud/resources/data_sources/client.py +0 -548
- llama_cloud/resources/data_sources/types/__init__.py +0 -6
- llama_cloud/resources/data_sources/types/data_source_update_component.py +0 -28
- llama_cloud/resources/data_sources/types/data_source_update_custom_metadata_value.py +0 -7
- llama_cloud/resources/embedding_model_configs/__init__.py +0 -23
- llama_cloud/resources/embedding_model_configs/client.py +0 -420
- llama_cloud/resources/embedding_model_configs/types/__init__.py +0 -23
- llama_cloud/resources/embedding_model_configs/types/embedding_model_config_create_embedding_config.py +0 -89
- llama_cloud/resources/evals/__init__.py +0 -2
- llama_cloud/resources/evals/client.py +0 -85
- llama_cloud/resources/files/__init__.py +0 -5
- llama_cloud/resources/files/client.py +0 -1454
- llama_cloud/resources/files/types/__init__.py +0 -5
- llama_cloud/resources/files/types/file_create_from_url_resource_info_value.py +0 -7
- llama_cloud/resources/jobs/__init__.py +0 -2
- llama_cloud/resources/jobs/client.py +0 -164
- llama_cloud/resources/llama_extract/__init__.py +0 -27
- llama_cloud/resources/llama_extract/client.py +0 -2082
- llama_cloud/resources/llama_extract/types/__init__.py +0 -25
- llama_cloud/resources/llama_extract/types/extract_agent_create_data_schema.py +0 -9
- llama_cloud/resources/llama_extract/types/extract_agent_create_data_schema_zero_value.py +0 -7
- llama_cloud/resources/llama_extract/types/extract_agent_update_data_schema.py +0 -9
- llama_cloud/resources/llama_extract/types/extract_agent_update_data_schema_zero_value.py +0 -7
- llama_cloud/resources/llama_extract/types/extract_job_create_batch_data_schema_override.py +0 -9
- llama_cloud/resources/llama_extract/types/extract_job_create_batch_data_schema_override_zero_value.py +0 -7
- llama_cloud/resources/llama_extract/types/extract_schema_validate_request_data_schema.py +0 -9
- llama_cloud/resources/llama_extract/types/extract_schema_validate_request_data_schema_zero_value.py +0 -7
- llama_cloud/resources/llama_extract/types/extract_stateless_request_data_schema.py +0 -9
- llama_cloud/resources/llama_extract/types/extract_stateless_request_data_schema_zero_value.py +0 -7
- llama_cloud/resources/organizations/__init__.py +0 -2
- llama_cloud/resources/organizations/client.py +0 -1448
- llama_cloud/resources/parsing/__init__.py +0 -2
- llama_cloud/resources/parsing/client.py +0 -2392
- llama_cloud/resources/pipelines/client.py +0 -3436
- llama_cloud/resources/pipelines/types/__init__.py +0 -29
- llama_cloud/resources/pipelines/types/pipeline_file_update_custom_metadata_value.py +0 -7
- llama_cloud/resources/pipelines/types/pipeline_update_embedding_config.py +0 -89
- llama_cloud/resources/pipelines/types/pipeline_update_transform_config.py +0 -8
- llama_cloud/resources/pipelines/types/retrieval_params_search_filters_inference_schema_value.py +0 -7
- llama_cloud/resources/projects/__init__.py +0 -2
- llama_cloud/resources/projects/client.py +0 -636
- llama_cloud/resources/retrievers/client.py +0 -837
- llama_cloud/resources/users/__init__.py +0 -2
- llama_cloud/resources/users/client.py +0 -155
- llama_cloud/types/advanced_mode_transform_config_chunking_config.py +0 -67
- llama_cloud/types/advanced_mode_transform_config_segmentation_config.py +0 -45
- llama_cloud/types/agent_data.py +0 -40
- llama_cloud/types/agent_deployment_list.py +0 -32
- llama_cloud/types/agent_deployment_summary.py +0 -39
- llama_cloud/types/aggregate_group.py +0 -37
- llama_cloud/types/azure_open_ai_embedding.py +0 -49
- llama_cloud/types/azure_open_ai_embedding_config.py +0 -34
- llama_cloud/types/base_plan.py +0 -53
- llama_cloud/types/base_plan_metronome_plan_type.py +0 -17
- llama_cloud/types/base_plan_name.py +0 -57
- llama_cloud/types/base_plan_plan_frequency.py +0 -25
- llama_cloud/types/batch.py +0 -47
- llama_cloud/types/batch_item.py +0 -40
- llama_cloud/types/batch_paginated_list.py +0 -35
- llama_cloud/types/batch_public_output.py +0 -36
- llama_cloud/types/billing_period.py +0 -32
- llama_cloud/types/box_auth_mechanism.py +0 -17
- llama_cloud/types/character_chunking_config.py +0 -32
- llama_cloud/types/chat_app.py +0 -46
- llama_cloud/types/chat_app_response.py +0 -43
- llama_cloud/types/chat_data.py +0 -35
- llama_cloud/types/chat_message.py +0 -43
- llama_cloud/types/chunk_mode.py +0 -29
- llama_cloud/types/classification_result.py +0 -39
- llama_cloud/types/classifier_rule.py +0 -43
- llama_cloud/types/classify_job.py +0 -47
- llama_cloud/types/classify_job_results.py +0 -38
- llama_cloud/types/classify_parsing_configuration.py +0 -38
- llama_cloud/types/cloud_astra_db_vector_store.py +0 -51
- llama_cloud/types/cloud_az_storage_blob_data_source.py +0 -41
- llama_cloud/types/cloud_azure_ai_search_vector_store.py +0 -45
- llama_cloud/types/cloud_box_data_source.py +0 -42
- llama_cloud/types/cloud_confluence_data_source.py +0 -59
- llama_cloud/types/cloud_document.py +0 -40
- llama_cloud/types/cloud_document_create.py +0 -40
- llama_cloud/types/cloud_jira_data_source.py +0 -42
- llama_cloud/types/cloud_jira_data_source_v_2.py +0 -52
- llama_cloud/types/cloud_jira_data_source_v_2_api_version.py +0 -21
- llama_cloud/types/cloud_milvus_vector_store.py +0 -40
- llama_cloud/types/cloud_mongo_db_atlas_vector_search.py +0 -52
- llama_cloud/types/cloud_notion_page_data_source.py +0 -35
- llama_cloud/types/cloud_one_drive_data_source.py +0 -39
- llama_cloud/types/cloud_pinecone_vector_store.py +0 -49
- llama_cloud/types/cloud_postgres_vector_store.py +0 -44
- llama_cloud/types/cloud_qdrant_vector_store.py +0 -51
- llama_cloud/types/cloud_s_3_data_source.py +0 -39
- llama_cloud/types/cloud_sharepoint_data_source.py +0 -42
- llama_cloud/types/cloud_slack_data_source.py +0 -39
- llama_cloud/types/composite_retrieved_text_node.py +0 -42
- llama_cloud/types/composite_retrieved_text_node_with_score.py +0 -34
- llama_cloud/types/configurable_data_sink_names.py +0 -41
- llama_cloud/types/configurable_data_source_names.py +0 -57
- llama_cloud/types/credit_type.py +0 -32
- llama_cloud/types/data_sink_component.py +0 -22
- llama_cloud/types/data_sink_create.py +0 -39
- llama_cloud/types/data_sink_create_component.py +0 -22
- llama_cloud/types/data_source_component.py +0 -28
- llama_cloud/types/data_source_create.py +0 -41
- llama_cloud/types/data_source_create_component.py +0 -28
- llama_cloud/types/data_source_create_custom_metadata_value.py +0 -7
- llama_cloud/types/data_source_custom_metadata_value.py +0 -7
- llama_cloud/types/data_source_reader_version_metadata_reader_version.py +0 -25
- llama_cloud/types/data_source_update_dispatcher_config.py +0 -38
- llama_cloud/types/delete_params.py +0 -39
- llama_cloud/types/document_chunk_mode.py +0 -17
- llama_cloud/types/document_ingestion_job_params.py +0 -43
- llama_cloud/types/element_segmentation_config.py +0 -29
- llama_cloud/types/embedding_model_config.py +0 -43
- llama_cloud/types/embedding_model_config_embedding_config.py +0 -89
- llama_cloud/types/embedding_model_config_update.py +0 -33
- llama_cloud/types/embedding_model_config_update_embedding_config.py +0 -89
- llama_cloud/types/eval_execution_params.py +0 -41
- llama_cloud/types/extract_agent.py +0 -48
- llama_cloud/types/extract_agent_data_schema_value.py +0 -5
- llama_cloud/types/extract_config.py +0 -66
- llama_cloud/types/extract_config_priority.py +0 -29
- llama_cloud/types/extract_job.py +0 -38
- llama_cloud/types/extract_job_create.py +0 -46
- llama_cloud/types/extract_job_create_data_schema_override.py +0 -9
- llama_cloud/types/extract_job_create_data_schema_override_zero_value.py +0 -7
- llama_cloud/types/extract_job_create_priority.py +0 -29
- llama_cloud/types/extract_mode.py +0 -29
- llama_cloud/types/extract_models.py +0 -53
- llama_cloud/types/extract_resultset.py +0 -42
- llama_cloud/types/extract_resultset_data.py +0 -11
- llama_cloud/types/extract_resultset_data_item_value.py +0 -7
- llama_cloud/types/extract_resultset_data_zero_value.py +0 -7
- llama_cloud/types/extract_resultset_extraction_metadata_value.py +0 -7
- llama_cloud/types/extract_run.py +0 -55
- llama_cloud/types/extract_run_data.py +0 -11
- llama_cloud/types/extract_run_data_item_value.py +0 -5
- llama_cloud/types/extract_run_data_schema_value.py +0 -5
- llama_cloud/types/extract_run_data_zero_value.py +0 -5
- llama_cloud/types/extract_run_extraction_metadata_value.py +0 -7
- llama_cloud/types/extract_schema_generate_response.py +0 -38
- llama_cloud/types/extract_schema_generate_response_data_schema_value.py +0 -7
- llama_cloud/types/extract_schema_validate_response.py +0 -32
- llama_cloud/types/extract_schema_validate_response_data_schema_value.py +0 -7
- llama_cloud/types/extract_state.py +0 -29
- llama_cloud/types/extract_target.py +0 -17
- llama_cloud/types/failure_handling_config.py +0 -37
- llama_cloud/types/file_classification.py +0 -41
- llama_cloud/types/file_count_by_status_response.py +0 -37
- llama_cloud/types/file_create.py +0 -41
- llama_cloud/types/file_create_permission_info_value.py +0 -7
- llama_cloud/types/file_create_resource_info_value.py +0 -5
- llama_cloud/types/file_data.py +0 -36
- llama_cloud/types/file_filter.py +0 -40
- llama_cloud/types/file_id_presigned_url.py +0 -38
- llama_cloud/types/file_parse_public.py +0 -36
- llama_cloud/types/file_permission_info_value.py +0 -5
- llama_cloud/types/file_resource_info_value.py +0 -5
- llama_cloud/types/file_store_info_response.py +0 -34
- llama_cloud/types/file_store_info_response_status.py +0 -25
- llama_cloud/types/filter_condition.py +0 -29
- llama_cloud/types/filter_operation.py +0 -46
- llama_cloud/types/filter_operation_eq.py +0 -6
- llama_cloud/types/filter_operation_gt.py +0 -6
- llama_cloud/types/filter_operation_gte.py +0 -6
- llama_cloud/types/filter_operation_includes_item.py +0 -6
- llama_cloud/types/filter_operation_lt.py +0 -6
- llama_cloud/types/filter_operation_lte.py +0 -6
- llama_cloud/types/filter_operator.py +0 -73
- llama_cloud/types/free_credits_usage.py +0 -34
- llama_cloud/types/http_validation_error.py +0 -32
- llama_cloud/types/hugging_face_inference_api_embedding_token.py +0 -5
- llama_cloud/types/ingestion_error_response.py +0 -34
- llama_cloud/types/input_message.py +0 -40
- llama_cloud/types/job_name_mapping.py +0 -49
- llama_cloud/types/job_names.py +0 -81
- llama_cloud/types/job_record.py +0 -58
- llama_cloud/types/job_record_parameters.py +0 -111
- llama_cloud/types/job_record_with_usage_metrics.py +0 -36
- llama_cloud/types/l_lama_parse_transform_config.py +0 -37
- llama_cloud/types/legacy_parse_job_config.py +0 -207
- llama_cloud/types/license_info_response.py +0 -34
- llama_cloud/types/llama_extract_feature_availability.py +0 -34
- llama_cloud/types/llama_extract_mode_availability.py +0 -38
- llama_cloud/types/llama_extract_mode_availability_status.py +0 -17
- llama_cloud/types/llama_extract_settings.py +0 -67
- llama_cloud/types/llama_parse_parameters_priority.py +0 -29
- llama_cloud/types/llm_model_data.py +0 -38
- llama_cloud/types/llm_parameters.py +0 -39
- llama_cloud/types/load_files_job_config.py +0 -35
- llama_cloud/types/managed_ingestion_status.py +0 -41
- llama_cloud/types/managed_open_ai_embedding.py +0 -36
- llama_cloud/types/managed_open_ai_embedding_config.py +0 -34
- llama_cloud/types/message_annotation.py +0 -33
- llama_cloud/types/metadata_filter.py +0 -44
- llama_cloud/types/metadata_filter_value.py +0 -5
- llama_cloud/types/metadata_filters_filters_item.py +0 -8
- llama_cloud/types/multimodal_parse_resolution.py +0 -17
- llama_cloud/types/node_relationship.py +0 -44
- llama_cloud/types/none_chunking_config.py +0 -29
- llama_cloud/types/none_segmentation_config.py +0 -29
- llama_cloud/types/object_type.py +0 -33
- llama_cloud/types/open_ai_embedding.py +0 -47
- llama_cloud/types/open_ai_embedding_config.py +0 -34
- llama_cloud/types/organization.py +0 -43
- llama_cloud/types/organization_create.py +0 -35
- llama_cloud/types/page_figure_metadata.py +0 -37
- llama_cloud/types/page_screenshot_metadata.py +0 -34
- llama_cloud/types/page_segmentation_config.py +0 -31
- llama_cloud/types/paginated_extract_runs_response.py +0 -39
- llama_cloud/types/paginated_jobs_history_with_metrics.py +0 -35
- llama_cloud/types/paginated_list_cloud_documents_response.py +0 -35
- llama_cloud/types/paginated_list_pipeline_files_response.py +0 -35
- llama_cloud/types/paginated_response_agent_data.py +0 -34
- llama_cloud/types/paginated_response_aggregate_group.py +0 -34
- llama_cloud/types/paginated_response_classify_job.py +0 -34
- llama_cloud/types/paginated_response_quota_configuration.py +0 -36
- llama_cloud/types/parse_configuration.py +0 -44
- llama_cloud/types/parse_configuration_create.py +0 -41
- llama_cloud/types/parse_configuration_filter.py +0 -40
- llama_cloud/types/parse_configuration_query_response.py +0 -38
- llama_cloud/types/parse_job_config.py +0 -149
- llama_cloud/types/parse_job_config_priority.py +0 -29
- llama_cloud/types/parse_plan_level.py +0 -21
- llama_cloud/types/parser_languages.py +0 -361
- llama_cloud/types/parsing_history_item.py +0 -39
- llama_cloud/types/parsing_job.py +0 -35
- llama_cloud/types/parsing_job_json_result.py +0 -32
- llama_cloud/types/parsing_job_markdown_result.py +0 -32
- llama_cloud/types/parsing_job_structured_result.py +0 -32
- llama_cloud/types/parsing_job_text_result.py +0 -32
- llama_cloud/types/partition_names.py +0 -45
- llama_cloud/types/permission.py +0 -40
- llama_cloud/types/pg_vector_distance_method.py +0 -43
- llama_cloud/types/pg_vector_hnsw_settings.py +0 -45
- llama_cloud/types/pg_vector_vector_type.py +0 -35
- llama_cloud/types/pipeline_configuration_hashes.py +0 -37
- llama_cloud/types/pipeline_create.py +0 -65
- llama_cloud/types/pipeline_create_embedding_config.py +0 -89
- llama_cloud/types/pipeline_create_transform_config.py +0 -8
- llama_cloud/types/pipeline_data_source.py +0 -55
- llama_cloud/types/pipeline_data_source_component.py +0 -28
- llama_cloud/types/pipeline_data_source_create.py +0 -36
- llama_cloud/types/pipeline_data_source_custom_metadata_value.py +0 -7
- llama_cloud/types/pipeline_data_source_status.py +0 -33
- llama_cloud/types/pipeline_deployment.py +0 -37
- llama_cloud/types/pipeline_embedding_config.py +0 -100
- llama_cloud/types/pipeline_file.py +0 -58
- llama_cloud/types/pipeline_file_config_hash_value.py +0 -5
- llama_cloud/types/pipeline_file_create.py +0 -37
- llama_cloud/types/pipeline_file_create_custom_metadata_value.py +0 -7
- llama_cloud/types/pipeline_file_custom_metadata_value.py +0 -7
- llama_cloud/types/pipeline_file_permission_info_value.py +0 -7
- llama_cloud/types/pipeline_file_resource_info_value.py +0 -7
- llama_cloud/types/pipeline_file_status.py +0 -33
- llama_cloud/types/pipeline_file_update_dispatcher_config.py +0 -38
- llama_cloud/types/pipeline_file_updater_config.py +0 -44
- llama_cloud/types/pipeline_managed_ingestion_job_params.py +0 -37
- llama_cloud/types/pipeline_status.py +0 -17
- llama_cloud/types/pipeline_transform_config.py +0 -31
- llama_cloud/types/plan_limits.py +0 -53
- llama_cloud/types/playground_session.py +0 -51
- llama_cloud/types/pooling.py +0 -29
- llama_cloud/types/preset_composite_retrieval_params.py +0 -37
- llama_cloud/types/preset_retrieval_params_search_filters_inference_schema_value.py +0 -7
- llama_cloud/types/project_create.py +0 -35
- llama_cloud/types/prompt_conf.py +0 -38
- llama_cloud/types/public_model_name.py +0 -97
- llama_cloud/types/quota_configuration.py +0 -53
- llama_cloud/types/quota_configuration_configuration_type.py +0 -33
- llama_cloud/types/quota_configuration_status.py +0 -21
- llama_cloud/types/quota_rate_limit_configuration_value.py +0 -38
- llama_cloud/types/quota_rate_limit_configuration_value_denominator_units.py +0 -29
- llama_cloud/types/re_rank_config.py +0 -35
- llama_cloud/types/re_ranker_type.py +0 -41
- llama_cloud/types/recurring_credit_grant.py +0 -44
- llama_cloud/types/related_node_info.py +0 -36
- llama_cloud/types/related_node_info_node_type.py +0 -7
- llama_cloud/types/retrieve_results.py +0 -56
- llama_cloud/types/retriever_create.py +0 -37
- llama_cloud/types/role.py +0 -40
- llama_cloud/types/schema_generation_availability.py +0 -33
- llama_cloud/types/schema_generation_availability_status.py +0 -17
- llama_cloud/types/schema_relax_mode.py +0 -25
- llama_cloud/types/semantic_chunking_config.py +0 -32
- llama_cloud/types/sentence_chunking_config.py +0 -34
- llama_cloud/types/sparse_model_type.py +0 -33
- llama_cloud/types/struct_mode.py +0 -33
- llama_cloud/types/struct_parse_conf.py +0 -63
- llama_cloud/types/supported_llm_model.py +0 -40
- llama_cloud/types/supported_llm_model_names.py +0 -69
- llama_cloud/types/text_node.py +0 -67
- llama_cloud/types/text_node_relationships_value.py +0 -7
- llama_cloud/types/text_node_with_score.py +0 -39
- llama_cloud/types/token_chunking_config.py +0 -33
- llama_cloud/types/update_user_response.py +0 -33
- llama_cloud/types/usage_and_plan.py +0 -34
- llama_cloud/types/usage_metric_response.py +0 -34
- llama_cloud/types/usage_response.py +0 -43
- llama_cloud/types/usage_response_active_alerts_item.py +0 -37
- llama_cloud/types/user_job_record.py +0 -32
- llama_cloud/types/user_organization.py +0 -47
- llama_cloud/types/user_organization_create.py +0 -38
- llama_cloud/types/user_organization_delete.py +0 -37
- llama_cloud/types/user_organization_role.py +0 -42
- llama_cloud/types/user_summary.py +0 -38
- llama_cloud/types/validation_error.py +0 -34
- llama_cloud/types/validation_error_loc_item.py +0 -5
- llama_cloud/types/vertex_embedding_mode.py +0 -38
- llama_cloud/types/webhook_configuration.py +0 -39
- llama_cloud/types/webhook_configuration_webhook_events_item.py +0 -57
- llama_cloud-0.1.41.dist-info/LICENSE +0 -21
- llama_cloud-0.1.41.dist-info/METADATA +0 -106
- llama_cloud-0.1.41.dist-info/RECORD +0 -385
|
@@ -0,0 +1,1296 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import json
|
|
6
|
+
from typing import Union, Iterable, Optional, cast
|
|
7
|
+
from typing_extensions import Literal
|
|
8
|
+
|
|
9
|
+
import httpx
|
|
10
|
+
|
|
11
|
+
from ..types import parsing_get_params, parsing_list_params, parsing_create_params, parsing_upload_file_params
|
|
12
|
+
from .._files import to_httpx_files, async_to_httpx_files
|
|
13
|
+
from .._types import Body, Omit, Query, Headers, NotGiven, FileTypes, SequenceNotStr, omit, not_given
|
|
14
|
+
from .._utils import maybe_transform, async_maybe_transform
|
|
15
|
+
from .._compat import cached_property
|
|
16
|
+
from .._polling import BackoffStrategy, poll_until_complete, poll_until_complete_async
|
|
17
|
+
from .._resource import SyncAPIResource, AsyncAPIResource
|
|
18
|
+
from .._response import (
|
|
19
|
+
to_raw_response_wrapper,
|
|
20
|
+
to_streamed_response_wrapper,
|
|
21
|
+
async_to_raw_response_wrapper,
|
|
22
|
+
async_to_streamed_response_wrapper,
|
|
23
|
+
)
|
|
24
|
+
from ..pagination import SyncPaginatedCursor, AsyncPaginatedCursor
|
|
25
|
+
from .._base_client import AsyncPaginator, make_request_options
|
|
26
|
+
from ..types.parsing_get_response import ParsingGetResponse
|
|
27
|
+
from ..types.parsing_list_response import ParsingListResponse
|
|
28
|
+
from ..types.parsing_create_response import ParsingCreateResponse
|
|
29
|
+
|
|
30
|
+
__all__ = ["ParsingResource", "AsyncParsingResource"]
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class ParsingResource(SyncAPIResource):
|
|
34
|
+
@cached_property
|
|
35
|
+
def with_raw_response(self) -> ParsingResourceWithRawResponse:
|
|
36
|
+
"""
|
|
37
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
38
|
+
the raw response object instead of the parsed content.
|
|
39
|
+
|
|
40
|
+
For more information, see https://www.github.com/run-llama/llama-cloud-py#accessing-raw-response-data-eg-headers
|
|
41
|
+
"""
|
|
42
|
+
return ParsingResourceWithRawResponse(self)
|
|
43
|
+
|
|
44
|
+
@cached_property
|
|
45
|
+
def with_streaming_response(self) -> ParsingResourceWithStreamingResponse:
|
|
46
|
+
"""
|
|
47
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
48
|
+
|
|
49
|
+
For more information, see https://www.github.com/run-llama/llama-cloud-py#with_streaming_response
|
|
50
|
+
"""
|
|
51
|
+
return ParsingResourceWithStreamingResponse(self)
|
|
52
|
+
|
|
53
|
+
def create(
|
|
54
|
+
self,
|
|
55
|
+
*,
|
|
56
|
+
tier: Literal["fast", "cost_effective", "agentic", "agentic_plus"],
|
|
57
|
+
version: Union[Literal["2026-01-08", "2025-12-31", "2025-12-18", "2025-12-11", "latest"], str],
|
|
58
|
+
organization_id: Optional[str] | Omit = omit,
|
|
59
|
+
project_id: Optional[str] | Omit = omit,
|
|
60
|
+
agentic_options: Optional[parsing_create_params.AgenticOptions] | Omit = omit,
|
|
61
|
+
client_name: Optional[str] | Omit = omit,
|
|
62
|
+
crop_box: parsing_create_params.CropBox | Omit = omit,
|
|
63
|
+
disable_cache: Optional[bool] | Omit = omit,
|
|
64
|
+
fast_options: Optional[object] | Omit = omit,
|
|
65
|
+
upload_file: Optional[FileTypes] | Omit = omit,
|
|
66
|
+
file_id: Optional[str] | Omit = omit,
|
|
67
|
+
http_proxy: Optional[str] | Omit = omit,
|
|
68
|
+
input_options: parsing_create_params.InputOptions | Omit = omit,
|
|
69
|
+
output_options: parsing_create_params.OutputOptions | Omit = omit,
|
|
70
|
+
page_ranges: parsing_create_params.PageRanges | Omit = omit,
|
|
71
|
+
processing_control: parsing_create_params.ProcessingControl | Omit = omit,
|
|
72
|
+
processing_options: parsing_create_params.ProcessingOptions | Omit = omit,
|
|
73
|
+
source_url: Optional[str] | Omit = omit,
|
|
74
|
+
webhook_configurations: Iterable[parsing_create_params.WebhookConfiguration] | Omit = omit,
|
|
75
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
76
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
77
|
+
extra_headers: Headers | None = None,
|
|
78
|
+
extra_query: Query | None = None,
|
|
79
|
+
extra_body: Body | None = None,
|
|
80
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
81
|
+
) -> ParsingCreateResponse:
|
|
82
|
+
"""
|
|
83
|
+
Parse a file by file ID, URL, or direct file upload.
|
|
84
|
+
|
|
85
|
+
Args:
|
|
86
|
+
tier: The parsing tier to use
|
|
87
|
+
|
|
88
|
+
version: Version of the tier configuration
|
|
89
|
+
|
|
90
|
+
agentic_options: Options for agentic tier parsing (with AI agents).
|
|
91
|
+
|
|
92
|
+
client_name: Name of the client making the parsing request
|
|
93
|
+
|
|
94
|
+
crop_box: Document crop box boundaries
|
|
95
|
+
|
|
96
|
+
disable_cache: Whether to disable caching for this parsing job
|
|
97
|
+
|
|
98
|
+
fast_options: Options for fast tier parsing (without AI).
|
|
99
|
+
|
|
100
|
+
upload_file: File to upload and parse (uses multipart/form-data upload endpoint)
|
|
101
|
+
|
|
102
|
+
file_id: ID of an existing file in the project to parse
|
|
103
|
+
|
|
104
|
+
http_proxy: HTTP proxy URL for network requests (only used with source_url)
|
|
105
|
+
|
|
106
|
+
input_options: Input format-specific parsing options
|
|
107
|
+
|
|
108
|
+
output_options: Output format and styling options
|
|
109
|
+
|
|
110
|
+
page_ranges: Page range selection options
|
|
111
|
+
|
|
112
|
+
processing_control: Job processing control and failure handling
|
|
113
|
+
|
|
114
|
+
processing_options: Processing options shared across all tiers
|
|
115
|
+
|
|
116
|
+
source_url: Source URL to fetch document from
|
|
117
|
+
|
|
118
|
+
webhook_configurations: List of webhook configurations for notifications
|
|
119
|
+
|
|
120
|
+
extra_headers: Send extra headers
|
|
121
|
+
|
|
122
|
+
extra_query: Add additional query parameters to the request
|
|
123
|
+
|
|
124
|
+
extra_body: Add additional JSON properties to the request
|
|
125
|
+
|
|
126
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
127
|
+
"""
|
|
128
|
+
# If file is provided, use multipart upload endpoint
|
|
129
|
+
if upload_file is not omit and upload_file is not None:
|
|
130
|
+
# Prepare configuration as JSON string
|
|
131
|
+
configuration = {
|
|
132
|
+
"tier": tier,
|
|
133
|
+
"version": version,
|
|
134
|
+
"agentic_options": agentic_options if agentic_options is not omit else None,
|
|
135
|
+
"client_name": client_name if client_name is not omit else None,
|
|
136
|
+
"crop_box": crop_box if crop_box is not omit else None,
|
|
137
|
+
"disable_cache": disable_cache if disable_cache is not omit else None,
|
|
138
|
+
"fast_options": fast_options if fast_options is not omit else None,
|
|
139
|
+
"http_proxy": http_proxy if http_proxy is not omit else None,
|
|
140
|
+
"input_options": input_options if input_options is not omit else None,
|
|
141
|
+
"output_options": output_options if output_options is not omit else None,
|
|
142
|
+
"page_ranges": page_ranges if page_ranges is not omit else None,
|
|
143
|
+
"processing_control": processing_control if processing_control is not omit else None,
|
|
144
|
+
"processing_options": processing_options if processing_options is not omit else None,
|
|
145
|
+
"source_url": source_url if source_url is not omit else None,
|
|
146
|
+
"webhook_configurations": webhook_configurations if webhook_configurations is not omit else None,
|
|
147
|
+
}
|
|
148
|
+
# Remove None values
|
|
149
|
+
configuration = {k: v for k, v in configuration.items() if v is not None}
|
|
150
|
+
|
|
151
|
+
# Convert file for upload
|
|
152
|
+
httpx_files = to_httpx_files({"file": cast(FileTypes, upload_file)})
|
|
153
|
+
|
|
154
|
+
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
|
|
155
|
+
return self._post(
|
|
156
|
+
"/api/v2/parse/upload",
|
|
157
|
+
body={"configuration": json.dumps(configuration)},
|
|
158
|
+
files=httpx_files,
|
|
159
|
+
options=make_request_options(
|
|
160
|
+
extra_headers=extra_headers,
|
|
161
|
+
extra_query=extra_query,
|
|
162
|
+
extra_body=extra_body,
|
|
163
|
+
timeout=timeout,
|
|
164
|
+
query=maybe_transform(
|
|
165
|
+
{
|
|
166
|
+
"organization_id": organization_id,
|
|
167
|
+
"project_id": project_id,
|
|
168
|
+
},
|
|
169
|
+
parsing_upload_file_params.ParsingUploadFileParams,
|
|
170
|
+
),
|
|
171
|
+
),
|
|
172
|
+
cast_to=ParsingCreateResponse,
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
# Otherwise use regular JSON endpoint
|
|
176
|
+
return self._post(
|
|
177
|
+
"/api/v2/parse",
|
|
178
|
+
body=maybe_transform(
|
|
179
|
+
{
|
|
180
|
+
"tier": tier,
|
|
181
|
+
"version": version,
|
|
182
|
+
"agentic_options": agentic_options,
|
|
183
|
+
"client_name": client_name,
|
|
184
|
+
"crop_box": crop_box,
|
|
185
|
+
"disable_cache": disable_cache,
|
|
186
|
+
"fast_options": fast_options,
|
|
187
|
+
"file_id": file_id,
|
|
188
|
+
"http_proxy": http_proxy,
|
|
189
|
+
"input_options": input_options,
|
|
190
|
+
"output_options": output_options,
|
|
191
|
+
"page_ranges": page_ranges,
|
|
192
|
+
"processing_control": processing_control,
|
|
193
|
+
"processing_options": processing_options,
|
|
194
|
+
"source_url": source_url,
|
|
195
|
+
"webhook_configurations": webhook_configurations,
|
|
196
|
+
},
|
|
197
|
+
parsing_create_params.ParsingCreateParams,
|
|
198
|
+
),
|
|
199
|
+
options=make_request_options(
|
|
200
|
+
extra_headers=extra_headers,
|
|
201
|
+
extra_query=extra_query,
|
|
202
|
+
extra_body=extra_body,
|
|
203
|
+
timeout=timeout,
|
|
204
|
+
query=maybe_transform(
|
|
205
|
+
{
|
|
206
|
+
"organization_id": organization_id,
|
|
207
|
+
"project_id": project_id,
|
|
208
|
+
},
|
|
209
|
+
parsing_create_params.ParsingCreateParams,
|
|
210
|
+
),
|
|
211
|
+
),
|
|
212
|
+
cast_to=ParsingCreateResponse,
|
|
213
|
+
)
|
|
214
|
+
|
|
215
|
+
def list(
|
|
216
|
+
self,
|
|
217
|
+
*,
|
|
218
|
+
organization_id: Optional[str] | Omit = omit,
|
|
219
|
+
page_size: Optional[int] | Omit = omit,
|
|
220
|
+
page_token: Optional[str] | Omit = omit,
|
|
221
|
+
project_id: Optional[str] | Omit = omit,
|
|
222
|
+
status: Optional[Literal["PENDING", "RUNNING", "COMPLETED", "FAILED", "CANCELLED"]] | Omit = omit,
|
|
223
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
224
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
225
|
+
extra_headers: Headers | None = None,
|
|
226
|
+
extra_query: Query | None = None,
|
|
227
|
+
extra_body: Body | None = None,
|
|
228
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
229
|
+
) -> SyncPaginatedCursor[ParsingListResponse]:
|
|
230
|
+
"""
|
|
231
|
+
List parse jobs for the current project with optional status filtering and
|
|
232
|
+
pagination.
|
|
233
|
+
|
|
234
|
+
Args:
|
|
235
|
+
page_size: Number of items per page
|
|
236
|
+
|
|
237
|
+
page_token: Token for pagination
|
|
238
|
+
|
|
239
|
+
status: Filter by job status (PENDING, RUNNING, COMPLETED, FAILED, CANCELLED)
|
|
240
|
+
|
|
241
|
+
extra_headers: Send extra headers
|
|
242
|
+
|
|
243
|
+
extra_query: Add additional query parameters to the request
|
|
244
|
+
|
|
245
|
+
extra_body: Add additional JSON properties to the request
|
|
246
|
+
|
|
247
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
248
|
+
"""
|
|
249
|
+
return self._get_api_list(
|
|
250
|
+
"/api/v2/parse",
|
|
251
|
+
page=SyncPaginatedCursor[ParsingListResponse],
|
|
252
|
+
options=make_request_options(
|
|
253
|
+
extra_headers=extra_headers,
|
|
254
|
+
extra_query=extra_query,
|
|
255
|
+
extra_body=extra_body,
|
|
256
|
+
timeout=timeout,
|
|
257
|
+
query=maybe_transform(
|
|
258
|
+
{
|
|
259
|
+
"organization_id": organization_id,
|
|
260
|
+
"page_size": page_size,
|
|
261
|
+
"page_token": page_token,
|
|
262
|
+
"project_id": project_id,
|
|
263
|
+
"status": status,
|
|
264
|
+
},
|
|
265
|
+
parsing_list_params.ParsingListParams,
|
|
266
|
+
),
|
|
267
|
+
),
|
|
268
|
+
model=ParsingListResponse,
|
|
269
|
+
)
|
|
270
|
+
|
|
271
|
+
def get(
|
|
272
|
+
self,
|
|
273
|
+
job_id: str,
|
|
274
|
+
*,
|
|
275
|
+
expand: SequenceNotStr[str] | Omit = omit,
|
|
276
|
+
image_filenames: Optional[str] | Omit = omit,
|
|
277
|
+
organization_id: Optional[str] | Omit = omit,
|
|
278
|
+
project_id: Optional[str] | Omit = omit,
|
|
279
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
280
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
281
|
+
extra_headers: Headers | None = None,
|
|
282
|
+
extra_query: Query | None = None,
|
|
283
|
+
extra_body: Body | None = None,
|
|
284
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
285
|
+
) -> ParsingGetResponse:
|
|
286
|
+
"""
|
|
287
|
+
Retrieve parse job with optional content or metadata.
|
|
288
|
+
|
|
289
|
+
Args:
|
|
290
|
+
expand: Fields to include: text, markdown, items, metadata, text_content_metadata,
|
|
291
|
+
markdown_content_metadata, items_content_metadata, metadata_content_metadata,
|
|
292
|
+
xlsx_content_metadata, output_pdf_content_metadata, images_content_metadata.
|
|
293
|
+
Metadata fields include presigned URLs.
|
|
294
|
+
|
|
295
|
+
image_filenames: Filter to specific image filenames (optional). Example: image_0.png,image_1.jpg
|
|
296
|
+
|
|
297
|
+
extra_headers: Send extra headers
|
|
298
|
+
|
|
299
|
+
extra_query: Add additional query parameters to the request
|
|
300
|
+
|
|
301
|
+
extra_body: Add additional JSON properties to the request
|
|
302
|
+
|
|
303
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
304
|
+
"""
|
|
305
|
+
if not job_id:
|
|
306
|
+
raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}")
|
|
307
|
+
return self._get(
|
|
308
|
+
f"/api/v2/parse/{job_id}",
|
|
309
|
+
options=make_request_options(
|
|
310
|
+
extra_headers=extra_headers,
|
|
311
|
+
extra_query=extra_query,
|
|
312
|
+
extra_body=extra_body,
|
|
313
|
+
timeout=timeout,
|
|
314
|
+
query=maybe_transform(
|
|
315
|
+
{
|
|
316
|
+
"expand": expand,
|
|
317
|
+
"image_filenames": image_filenames,
|
|
318
|
+
"organization_id": organization_id,
|
|
319
|
+
"project_id": project_id,
|
|
320
|
+
},
|
|
321
|
+
parsing_get_params.ParsingGetParams,
|
|
322
|
+
),
|
|
323
|
+
),
|
|
324
|
+
cast_to=ParsingGetResponse,
|
|
325
|
+
)
|
|
326
|
+
|
|
327
|
+
def parse(
|
|
328
|
+
self,
|
|
329
|
+
*,
|
|
330
|
+
tier: Literal["fast", "cost_effective", "agentic", "agentic_plus"],
|
|
331
|
+
version: Union[Literal["2026-01-08", "2025-12-31", "2025-12-18", "2025-12-11", "latest"], str],
|
|
332
|
+
organization_id: Optional[str] | Omit = omit,
|
|
333
|
+
project_id: Optional[str] | Omit = omit,
|
|
334
|
+
agentic_options: Optional[parsing_create_params.AgenticOptions] | Omit = omit,
|
|
335
|
+
client_name: Optional[str] | Omit = omit,
|
|
336
|
+
crop_box: parsing_create_params.CropBox | Omit = omit,
|
|
337
|
+
disable_cache: Optional[bool] | Omit = omit,
|
|
338
|
+
expand: SequenceNotStr[str] | Omit = omit,
|
|
339
|
+
fast_options: Optional[object] | Omit = omit,
|
|
340
|
+
upload_file: Optional[FileTypes] | Omit = omit,
|
|
341
|
+
file_id: Optional[str] | Omit = omit,
|
|
342
|
+
http_proxy: Optional[str] | Omit = omit,
|
|
343
|
+
input_options: parsing_create_params.InputOptions | Omit = omit,
|
|
344
|
+
output_options: parsing_create_params.OutputOptions | Omit = omit,
|
|
345
|
+
page_ranges: parsing_create_params.PageRanges | Omit = omit,
|
|
346
|
+
processing_control: parsing_create_params.ProcessingControl | Omit = omit,
|
|
347
|
+
processing_options: parsing_create_params.ProcessingOptions | Omit = omit,
|
|
348
|
+
source_url: Optional[str] | Omit = omit,
|
|
349
|
+
webhook_configurations: Iterable[parsing_create_params.WebhookConfiguration] | Omit = omit,
|
|
350
|
+
image_filenames: Optional[str] | Omit = omit,
|
|
351
|
+
# Polling parameters
|
|
352
|
+
polling_interval: float = 1.0,
|
|
353
|
+
max_interval: float = 5.0,
|
|
354
|
+
timeout: float = 300.0,
|
|
355
|
+
backoff: BackoffStrategy = "linear",
|
|
356
|
+
verbose: bool = False,
|
|
357
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
358
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
359
|
+
extra_headers: Headers | None = None,
|
|
360
|
+
extra_query: Query | None = None,
|
|
361
|
+
extra_body: Body | None = None,
|
|
362
|
+
) -> ParsingGetResponse:
|
|
363
|
+
"""
|
|
364
|
+
Parse a file and wait for it to complete, returning the result.
|
|
365
|
+
|
|
366
|
+
This is a convenience method that combines create(), wait_for_completion(),
|
|
367
|
+
and get() into a single call for the most common end-to-end workflow.
|
|
368
|
+
|
|
369
|
+
Args:
|
|
370
|
+
tier: The parsing tier to use
|
|
371
|
+
|
|
372
|
+
version: Version of the tier configuration
|
|
373
|
+
|
|
374
|
+
organization_id: Optional organization ID
|
|
375
|
+
|
|
376
|
+
project_id: Optional project ID
|
|
377
|
+
|
|
378
|
+
agentic_options: Options for agentic tier parsing (with AI agents).
|
|
379
|
+
|
|
380
|
+
client_name: Name of the client making the parsing request
|
|
381
|
+
|
|
382
|
+
crop_box: Document crop box boundaries
|
|
383
|
+
|
|
384
|
+
disable_cache: Whether to disable caching for this parsing job
|
|
385
|
+
|
|
386
|
+
expand: Fields to include: text, markdown, items, text_content_metadata,
|
|
387
|
+
markdown_content_metadata, items_content_metadata, xlsx_content_metadata,
|
|
388
|
+
output_pdf_content_metadata, images_content_metadata. Metadata fields include
|
|
389
|
+
presigned URLs.
|
|
390
|
+
|
|
391
|
+
fast_options: Options for fast tier parsing (without AI).
|
|
392
|
+
|
|
393
|
+
file: File to upload and parse
|
|
394
|
+
|
|
395
|
+
file_id: ID of an existing file in the project to parse
|
|
396
|
+
|
|
397
|
+
http_proxy: HTTP proxy URL for network requests (only used with source_url)
|
|
398
|
+
|
|
399
|
+
input_options: Input format-specific parsing options
|
|
400
|
+
|
|
401
|
+
output_options: Output format and styling options
|
|
402
|
+
|
|
403
|
+
page_ranges: Page range selection options
|
|
404
|
+
|
|
405
|
+
processing_control: Job processing control and failure handling
|
|
406
|
+
|
|
407
|
+
processing_options: Processing options shared across all tiers
|
|
408
|
+
|
|
409
|
+
source_url: Source URL to fetch document from
|
|
410
|
+
|
|
411
|
+
webhook_configurations: List of webhook configurations for notifications
|
|
412
|
+
|
|
413
|
+
image_filenames: Comma-delimited list of image filenames to fetch.
|
|
414
|
+
|
|
415
|
+
polling_interval: Initial polling interval in seconds (default: 1.0)
|
|
416
|
+
|
|
417
|
+
max_interval: Maximum polling interval for backoff in seconds (default: 5.0)
|
|
418
|
+
|
|
419
|
+
timeout: Maximum time to wait in seconds (default: 300.0)
|
|
420
|
+
|
|
421
|
+
backoff: Backoff strategy for polling intervals. Options:
|
|
422
|
+
- "constant": Keep the same polling interval
|
|
423
|
+
- "linear": Increase interval by 1 second each poll (default)
|
|
424
|
+
- "exponential": Double the interval each poll
|
|
425
|
+
|
|
426
|
+
verbose: Print progress indicators every 10 polls (default: False)
|
|
427
|
+
|
|
428
|
+
extra_headers: Send extra headers
|
|
429
|
+
|
|
430
|
+
extra_query: Add additional query parameters to the request
|
|
431
|
+
|
|
432
|
+
extra_body: Add additional JSON properties to the request
|
|
433
|
+
|
|
434
|
+
Returns:
|
|
435
|
+
The parse result (ParsingGetResponse) with job status and optional result data
|
|
436
|
+
|
|
437
|
+
Raises:
|
|
438
|
+
PollingTimeoutError: If the job doesn't complete within the timeout period
|
|
439
|
+
|
|
440
|
+
PollingError: If the job fails or is cancelled
|
|
441
|
+
|
|
442
|
+
Example:
|
|
443
|
+
```python
|
|
444
|
+
from llama_cloud import LlamaCloud
|
|
445
|
+
|
|
446
|
+
client = LlamaCloud(api_key="...")
|
|
447
|
+
|
|
448
|
+
# One-shot: parse, wait for completion, and get result
|
|
449
|
+
result = client.parsing.parse(
|
|
450
|
+
tier="fast",
|
|
451
|
+
version="latest",
|
|
452
|
+
source_url="https://example.com/document.pdf",
|
|
453
|
+
expand=["text", "markdown"],
|
|
454
|
+
verbose=True,
|
|
455
|
+
)
|
|
456
|
+
|
|
457
|
+
# Result is ready to use immediately
|
|
458
|
+
print(result.text)
|
|
459
|
+
print(result.markdown)
|
|
460
|
+
```
|
|
461
|
+
"""
|
|
462
|
+
# Create the parsing job
|
|
463
|
+
job = self.create(
|
|
464
|
+
tier=tier,
|
|
465
|
+
version=version,
|
|
466
|
+
organization_id=organization_id,
|
|
467
|
+
project_id=project_id,
|
|
468
|
+
agentic_options=agentic_options,
|
|
469
|
+
client_name=client_name,
|
|
470
|
+
crop_box=crop_box,
|
|
471
|
+
disable_cache=disable_cache,
|
|
472
|
+
fast_options=fast_options,
|
|
473
|
+
upload_file=upload_file,
|
|
474
|
+
file_id=file_id,
|
|
475
|
+
http_proxy=http_proxy,
|
|
476
|
+
input_options=input_options,
|
|
477
|
+
output_options=output_options,
|
|
478
|
+
page_ranges=page_ranges,
|
|
479
|
+
processing_control=processing_control,
|
|
480
|
+
processing_options=processing_options,
|
|
481
|
+
source_url=source_url,
|
|
482
|
+
webhook_configurations=webhook_configurations,
|
|
483
|
+
extra_headers=extra_headers,
|
|
484
|
+
extra_query=extra_query,
|
|
485
|
+
extra_body=extra_body,
|
|
486
|
+
)
|
|
487
|
+
|
|
488
|
+
# Wait for completion
|
|
489
|
+
self.wait_for_completion(
|
|
490
|
+
job.id,
|
|
491
|
+
organization_id=organization_id,
|
|
492
|
+
project_id=project_id,
|
|
493
|
+
polling_interval=polling_interval,
|
|
494
|
+
max_interval=max_interval,
|
|
495
|
+
timeout=timeout,
|
|
496
|
+
backoff=backoff,
|
|
497
|
+
verbose=verbose,
|
|
498
|
+
extra_headers=extra_headers,
|
|
499
|
+
extra_query=extra_query,
|
|
500
|
+
extra_body=extra_body,
|
|
501
|
+
)
|
|
502
|
+
|
|
503
|
+
# Get and return the result
|
|
504
|
+
return self.get(
|
|
505
|
+
job.id,
|
|
506
|
+
image_filenames=image_filenames,
|
|
507
|
+
expand=expand,
|
|
508
|
+
organization_id=organization_id,
|
|
509
|
+
project_id=project_id,
|
|
510
|
+
extra_headers=extra_headers,
|
|
511
|
+
extra_query=extra_query,
|
|
512
|
+
extra_body=extra_body,
|
|
513
|
+
)
|
|
514
|
+
|
|
515
|
+
def wait_for_completion(
|
|
516
|
+
self,
|
|
517
|
+
job_id: str,
|
|
518
|
+
*,
|
|
519
|
+
organization_id: Optional[str] | Omit = omit,
|
|
520
|
+
project_id: Optional[str] | Omit = omit,
|
|
521
|
+
polling_interval: float = 1.0,
|
|
522
|
+
max_interval: float = 5.0,
|
|
523
|
+
timeout: float = 300.0,
|
|
524
|
+
backoff: BackoffStrategy = "linear",
|
|
525
|
+
verbose: bool = False,
|
|
526
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
527
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
528
|
+
extra_headers: Headers | None = None,
|
|
529
|
+
extra_query: Query | None = None,
|
|
530
|
+
extra_body: Body | None = None,
|
|
531
|
+
) -> ParsingCreateResponse:
|
|
532
|
+
"""
|
|
533
|
+
Wait for a parse job to complete by polling until it reaches a terminal state.
|
|
534
|
+
|
|
535
|
+
This method polls the job status at regular intervals until the job completes
|
|
536
|
+
successfully or fails. It uses configurable backoff strategies to optimize
|
|
537
|
+
polling behavior.
|
|
538
|
+
|
|
539
|
+
Args:
|
|
540
|
+
job_id: The ID of the parse job to wait for
|
|
541
|
+
|
|
542
|
+
organization_id: Optional organization ID
|
|
543
|
+
|
|
544
|
+
project_id: Optional project ID
|
|
545
|
+
|
|
546
|
+
polling_interval: Initial polling interval in seconds (default: 1.0)
|
|
547
|
+
|
|
548
|
+
max_interval: Maximum polling interval for backoff in seconds (default: 5.0)
|
|
549
|
+
|
|
550
|
+
timeout: Maximum time to wait in seconds (default: 300.0)
|
|
551
|
+
|
|
552
|
+
backoff: Backoff strategy for polling intervals. Options:
|
|
553
|
+
- "constant": Keep the same polling interval
|
|
554
|
+
- "linear": Increase interval by 1 second each poll (default)
|
|
555
|
+
- "exponential": Double the interval each poll
|
|
556
|
+
|
|
557
|
+
verbose: Print progress indicators every 10 polls (default: False)
|
|
558
|
+
|
|
559
|
+
extra_headers: Send extra headers
|
|
560
|
+
|
|
561
|
+
extra_query: Add additional query parameters to the request
|
|
562
|
+
|
|
563
|
+
extra_body: Add additional JSON properties to the request
|
|
564
|
+
|
|
565
|
+
Returns:
|
|
566
|
+
The completed parse job
|
|
567
|
+
|
|
568
|
+
Raises:
|
|
569
|
+
PollingTimeoutError: If the job doesn't complete within the timeout period
|
|
570
|
+
|
|
571
|
+
PollingError: If the job fails or is cancelled
|
|
572
|
+
|
|
573
|
+
Example:
|
|
574
|
+
```python
|
|
575
|
+
from llama_cloud import LlamaCloud
|
|
576
|
+
|
|
577
|
+
client = LlamaCloud(api_key="...")
|
|
578
|
+
|
|
579
|
+
# Create a parse job
|
|
580
|
+
job = client.parsing.create(tier="fast", version="latest", source_url="https://example.com/doc.pdf")
|
|
581
|
+
|
|
582
|
+
# Wait for it to complete
|
|
583
|
+
completed_job = client.parsing.wait_for_completion(job.id, verbose=True)
|
|
584
|
+
|
|
585
|
+
# Get the result
|
|
586
|
+
result = client.parsing.get(job.id, expand=["text"])
|
|
587
|
+
```
|
|
588
|
+
"""
|
|
589
|
+
if not job_id:
|
|
590
|
+
raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}")
|
|
591
|
+
|
|
592
|
+
def get_status() -> ParsingCreateResponse:
|
|
593
|
+
response = self.get(
|
|
594
|
+
job_id,
|
|
595
|
+
organization_id=organization_id,
|
|
596
|
+
project_id=project_id,
|
|
597
|
+
extra_headers=extra_headers,
|
|
598
|
+
extra_query=extra_query,
|
|
599
|
+
extra_body=extra_body,
|
|
600
|
+
)
|
|
601
|
+
# Convert ParsingGetResponse to ParsingCreateResponse (just the job part)
|
|
602
|
+
return ParsingCreateResponse(
|
|
603
|
+
id=response.job.id,
|
|
604
|
+
project_id=response.job.project_id,
|
|
605
|
+
status=response.job.status,
|
|
606
|
+
created_at=response.job.created_at,
|
|
607
|
+
error_message=response.job.error_message,
|
|
608
|
+
updated_at=response.job.updated_at,
|
|
609
|
+
)
|
|
610
|
+
|
|
611
|
+
def is_complete(job: ParsingCreateResponse) -> bool:
|
|
612
|
+
return job.status == "COMPLETED"
|
|
613
|
+
|
|
614
|
+
def is_error(job: ParsingCreateResponse) -> bool:
|
|
615
|
+
return job.status in ("FAILED", "CANCELLED")
|
|
616
|
+
|
|
617
|
+
def get_error_message(job: ParsingCreateResponse) -> str:
|
|
618
|
+
error_parts = [f"Job {job_id} failed with status: {job.status}"]
|
|
619
|
+
if job.error_message:
|
|
620
|
+
error_parts.append(f"Error: {job.error_message}")
|
|
621
|
+
return " | ".join(error_parts)
|
|
622
|
+
|
|
623
|
+
return poll_until_complete(
|
|
624
|
+
get_status_fn=get_status,
|
|
625
|
+
is_complete_fn=is_complete,
|
|
626
|
+
is_error_fn=is_error,
|
|
627
|
+
get_error_message_fn=get_error_message,
|
|
628
|
+
polling_interval=polling_interval,
|
|
629
|
+
max_interval=max_interval,
|
|
630
|
+
timeout=timeout,
|
|
631
|
+
backoff=backoff,
|
|
632
|
+
verbose=verbose,
|
|
633
|
+
)
|
|
634
|
+
|
|
635
|
+
|
|
636
|
+
class AsyncParsingResource(AsyncAPIResource):
|
|
637
|
+
@cached_property
|
|
638
|
+
def with_raw_response(self) -> AsyncParsingResourceWithRawResponse:
|
|
639
|
+
"""
|
|
640
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
641
|
+
the raw response object instead of the parsed content.
|
|
642
|
+
|
|
643
|
+
For more information, see https://www.github.com/run-llama/llama-cloud-py#accessing-raw-response-data-eg-headers
|
|
644
|
+
"""
|
|
645
|
+
return AsyncParsingResourceWithRawResponse(self)
|
|
646
|
+
|
|
647
|
+
@cached_property
|
|
648
|
+
def with_streaming_response(self) -> AsyncParsingResourceWithStreamingResponse:
|
|
649
|
+
"""
|
|
650
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
651
|
+
|
|
652
|
+
For more information, see https://www.github.com/run-llama/llama-cloud-py#with_streaming_response
|
|
653
|
+
"""
|
|
654
|
+
return AsyncParsingResourceWithStreamingResponse(self)
|
|
655
|
+
|
|
656
|
+
async def create(
|
|
657
|
+
self,
|
|
658
|
+
*,
|
|
659
|
+
tier: Literal["fast", "cost_effective", "agentic", "agentic_plus"],
|
|
660
|
+
version: Union[Literal["2026-01-08", "2025-12-31", "2025-12-18", "2025-12-11", "latest"], str],
|
|
661
|
+
organization_id: Optional[str] | Omit = omit,
|
|
662
|
+
project_id: Optional[str] | Omit = omit,
|
|
663
|
+
agentic_options: Optional[parsing_create_params.AgenticOptions] | Omit = omit,
|
|
664
|
+
client_name: Optional[str] | Omit = omit,
|
|
665
|
+
crop_box: parsing_create_params.CropBox | Omit = omit,
|
|
666
|
+
disable_cache: Optional[bool] | Omit = omit,
|
|
667
|
+
fast_options: Optional[object] | Omit = omit,
|
|
668
|
+
upload_file: Optional[FileTypes] | Omit = omit,
|
|
669
|
+
file_id: Optional[str] | Omit = omit,
|
|
670
|
+
http_proxy: Optional[str] | Omit = omit,
|
|
671
|
+
input_options: parsing_create_params.InputOptions | Omit = omit,
|
|
672
|
+
output_options: parsing_create_params.OutputOptions | Omit = omit,
|
|
673
|
+
page_ranges: parsing_create_params.PageRanges | Omit = omit,
|
|
674
|
+
processing_control: parsing_create_params.ProcessingControl | Omit = omit,
|
|
675
|
+
processing_options: parsing_create_params.ProcessingOptions | Omit = omit,
|
|
676
|
+
source_url: Optional[str] | Omit = omit,
|
|
677
|
+
webhook_configurations: Iterable[parsing_create_params.WebhookConfiguration] | Omit = omit,
|
|
678
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
679
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
680
|
+
extra_headers: Headers | None = None,
|
|
681
|
+
extra_query: Query | None = None,
|
|
682
|
+
extra_body: Body | None = None,
|
|
683
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
684
|
+
) -> ParsingCreateResponse:
|
|
685
|
+
"""
|
|
686
|
+
Parse a file by file ID, URL, or direct file upload.
|
|
687
|
+
|
|
688
|
+
Args:
|
|
689
|
+
tier: The parsing tier to use
|
|
690
|
+
|
|
691
|
+
version: Version of the tier configuration
|
|
692
|
+
|
|
693
|
+
agentic_options: Options for agentic tier parsing (with AI agents).
|
|
694
|
+
|
|
695
|
+
client_name: Name of the client making the parsing request
|
|
696
|
+
|
|
697
|
+
crop_box: Document crop box boundaries
|
|
698
|
+
|
|
699
|
+
disable_cache: Whether to disable caching for this parsing job
|
|
700
|
+
|
|
701
|
+
fast_options: Options for fast tier parsing (without AI).
|
|
702
|
+
|
|
703
|
+
upload_file: File to upload and parse (uses multipart/form-data upload endpoint)
|
|
704
|
+
|
|
705
|
+
file_id: ID of an existing file in the project to parse
|
|
706
|
+
|
|
707
|
+
http_proxy: HTTP proxy URL for network requests (only used with source_url)
|
|
708
|
+
|
|
709
|
+
input_options: Input format-specific parsing options
|
|
710
|
+
|
|
711
|
+
output_options: Output format and styling options
|
|
712
|
+
|
|
713
|
+
page_ranges: Page range selection options
|
|
714
|
+
|
|
715
|
+
processing_control: Job processing control and failure handling
|
|
716
|
+
|
|
717
|
+
processing_options: Processing options shared across all tiers
|
|
718
|
+
|
|
719
|
+
source_url: Source URL to fetch document from
|
|
720
|
+
|
|
721
|
+
webhook_configurations: List of webhook configurations for notifications
|
|
722
|
+
|
|
723
|
+
extra_headers: Send extra headers
|
|
724
|
+
|
|
725
|
+
extra_query: Add additional query parameters to the request
|
|
726
|
+
|
|
727
|
+
extra_body: Add additional JSON properties to the request
|
|
728
|
+
|
|
729
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
730
|
+
"""
|
|
731
|
+
# If upload_file is provided, use multipart upload endpoint
|
|
732
|
+
if upload_file is not omit and upload_file is not None:
|
|
733
|
+
# Prepare configuration as JSON string
|
|
734
|
+
configuration = {
|
|
735
|
+
"tier": tier,
|
|
736
|
+
"version": version,
|
|
737
|
+
"agentic_options": agentic_options if agentic_options is not omit else None,
|
|
738
|
+
"client_name": client_name if client_name is not omit else None,
|
|
739
|
+
"crop_box": crop_box if crop_box is not omit else None,
|
|
740
|
+
"disable_cache": disable_cache if disable_cache is not omit else None,
|
|
741
|
+
"fast_options": fast_options if fast_options is not omit else None,
|
|
742
|
+
"http_proxy": http_proxy if http_proxy is not omit else None,
|
|
743
|
+
"input_options": input_options if input_options is not omit else None,
|
|
744
|
+
"output_options": output_options if output_options is not omit else None,
|
|
745
|
+
"page_ranges": page_ranges if page_ranges is not omit else None,
|
|
746
|
+
"processing_control": processing_control if processing_control is not omit else None,
|
|
747
|
+
"processing_options": processing_options if processing_options is not omit else None,
|
|
748
|
+
"source_url": source_url if source_url is not omit else None,
|
|
749
|
+
"webhook_configurations": webhook_configurations if webhook_configurations is not omit else None,
|
|
750
|
+
}
|
|
751
|
+
# Remove None values
|
|
752
|
+
configuration = {k: v for k, v in configuration.items() if v is not None}
|
|
753
|
+
|
|
754
|
+
# Convert file for upload
|
|
755
|
+
httpx_files = await async_to_httpx_files({"file": cast(FileTypes, upload_file)})
|
|
756
|
+
|
|
757
|
+
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
|
|
758
|
+
return await self._post(
|
|
759
|
+
"/api/v2/parse/upload",
|
|
760
|
+
body={"configuration": json.dumps(configuration)},
|
|
761
|
+
files=httpx_files,
|
|
762
|
+
options=make_request_options(
|
|
763
|
+
extra_headers=extra_headers,
|
|
764
|
+
extra_query=extra_query,
|
|
765
|
+
extra_body=extra_body,
|
|
766
|
+
timeout=timeout,
|
|
767
|
+
query=await async_maybe_transform(
|
|
768
|
+
{
|
|
769
|
+
"organization_id": organization_id,
|
|
770
|
+
"project_id": project_id,
|
|
771
|
+
},
|
|
772
|
+
parsing_upload_file_params.ParsingUploadFileParams,
|
|
773
|
+
),
|
|
774
|
+
),
|
|
775
|
+
cast_to=ParsingCreateResponse,
|
|
776
|
+
)
|
|
777
|
+
|
|
778
|
+
# Otherwise use regular JSON endpoint
|
|
779
|
+
return await self._post(
|
|
780
|
+
"/api/v2/parse",
|
|
781
|
+
body=await async_maybe_transform(
|
|
782
|
+
{
|
|
783
|
+
"tier": tier,
|
|
784
|
+
"version": version,
|
|
785
|
+
"agentic_options": agentic_options,
|
|
786
|
+
"client_name": client_name,
|
|
787
|
+
"crop_box": crop_box,
|
|
788
|
+
"disable_cache": disable_cache,
|
|
789
|
+
"fast_options": fast_options,
|
|
790
|
+
"file_id": file_id,
|
|
791
|
+
"http_proxy": http_proxy,
|
|
792
|
+
"input_options": input_options,
|
|
793
|
+
"output_options": output_options,
|
|
794
|
+
"page_ranges": page_ranges,
|
|
795
|
+
"processing_control": processing_control,
|
|
796
|
+
"processing_options": processing_options,
|
|
797
|
+
"source_url": source_url,
|
|
798
|
+
"webhook_configurations": webhook_configurations,
|
|
799
|
+
},
|
|
800
|
+
parsing_create_params.ParsingCreateParams,
|
|
801
|
+
),
|
|
802
|
+
options=make_request_options(
|
|
803
|
+
extra_headers=extra_headers,
|
|
804
|
+
extra_query=extra_query,
|
|
805
|
+
extra_body=extra_body,
|
|
806
|
+
timeout=timeout,
|
|
807
|
+
query=await async_maybe_transform(
|
|
808
|
+
{
|
|
809
|
+
"organization_id": organization_id,
|
|
810
|
+
"project_id": project_id,
|
|
811
|
+
},
|
|
812
|
+
parsing_create_params.ParsingCreateParams,
|
|
813
|
+
),
|
|
814
|
+
),
|
|
815
|
+
cast_to=ParsingCreateResponse,
|
|
816
|
+
)
|
|
817
|
+
|
|
818
|
+
def list(
|
|
819
|
+
self,
|
|
820
|
+
*,
|
|
821
|
+
organization_id: Optional[str] | Omit = omit,
|
|
822
|
+
page_size: Optional[int] | Omit = omit,
|
|
823
|
+
page_token: Optional[str] | Omit = omit,
|
|
824
|
+
project_id: Optional[str] | Omit = omit,
|
|
825
|
+
status: Optional[Literal["PENDING", "RUNNING", "COMPLETED", "FAILED", "CANCELLED"]] | Omit = omit,
|
|
826
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
827
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
828
|
+
extra_headers: Headers | None = None,
|
|
829
|
+
extra_query: Query | None = None,
|
|
830
|
+
extra_body: Body | None = None,
|
|
831
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
832
|
+
) -> AsyncPaginator[ParsingListResponse, AsyncPaginatedCursor[ParsingListResponse]]:
|
|
833
|
+
"""
|
|
834
|
+
List parse jobs for the current project with optional status filtering and
|
|
835
|
+
pagination.
|
|
836
|
+
|
|
837
|
+
Args:
|
|
838
|
+
page_size: Number of items per page
|
|
839
|
+
|
|
840
|
+
page_token: Token for pagination
|
|
841
|
+
|
|
842
|
+
status: Filter by job status (PENDING, RUNNING, COMPLETED, FAILED, CANCELLED)
|
|
843
|
+
|
|
844
|
+
extra_headers: Send extra headers
|
|
845
|
+
|
|
846
|
+
extra_query: Add additional query parameters to the request
|
|
847
|
+
|
|
848
|
+
extra_body: Add additional JSON properties to the request
|
|
849
|
+
|
|
850
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
851
|
+
"""
|
|
852
|
+
return self._get_api_list(
|
|
853
|
+
"/api/v2/parse",
|
|
854
|
+
page=AsyncPaginatedCursor[ParsingListResponse],
|
|
855
|
+
options=make_request_options(
|
|
856
|
+
extra_headers=extra_headers,
|
|
857
|
+
extra_query=extra_query,
|
|
858
|
+
extra_body=extra_body,
|
|
859
|
+
timeout=timeout,
|
|
860
|
+
query=maybe_transform(
|
|
861
|
+
{
|
|
862
|
+
"organization_id": organization_id,
|
|
863
|
+
"page_size": page_size,
|
|
864
|
+
"page_token": page_token,
|
|
865
|
+
"project_id": project_id,
|
|
866
|
+
"status": status,
|
|
867
|
+
},
|
|
868
|
+
parsing_list_params.ParsingListParams,
|
|
869
|
+
),
|
|
870
|
+
),
|
|
871
|
+
model=ParsingListResponse,
|
|
872
|
+
)
|
|
873
|
+
|
|
874
|
+
async def get(
|
|
875
|
+
self,
|
|
876
|
+
job_id: str,
|
|
877
|
+
*,
|
|
878
|
+
expand: SequenceNotStr[str] | Omit = omit,
|
|
879
|
+
image_filenames: Optional[str] | Omit = omit,
|
|
880
|
+
organization_id: Optional[str] | Omit = omit,
|
|
881
|
+
project_id: Optional[str] | Omit = omit,
|
|
882
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
883
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
884
|
+
extra_headers: Headers | None = None,
|
|
885
|
+
extra_query: Query | None = None,
|
|
886
|
+
extra_body: Body | None = None,
|
|
887
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
888
|
+
) -> ParsingGetResponse:
|
|
889
|
+
"""
|
|
890
|
+
Retrieve parse job with optional content or metadata.
|
|
891
|
+
|
|
892
|
+
Args:
|
|
893
|
+
expand: Fields to include: text, markdown, items, metadata, text_content_metadata,
|
|
894
|
+
markdown_content_metadata, items_content_metadata, metadata_content_metadata,
|
|
895
|
+
xlsx_content_metadata, output_pdf_content_metadata, images_content_metadata.
|
|
896
|
+
Metadata fields include presigned URLs.
|
|
897
|
+
|
|
898
|
+
image_filenames: Filter to specific image filenames (optional). Example: image_0.png,image_1.jpg
|
|
899
|
+
|
|
900
|
+
extra_headers: Send extra headers
|
|
901
|
+
|
|
902
|
+
extra_query: Add additional query parameters to the request
|
|
903
|
+
|
|
904
|
+
extra_body: Add additional JSON properties to the request
|
|
905
|
+
|
|
906
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
907
|
+
"""
|
|
908
|
+
if not job_id:
|
|
909
|
+
raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}")
|
|
910
|
+
return await self._get(
|
|
911
|
+
f"/api/v2/parse/{job_id}",
|
|
912
|
+
options=make_request_options(
|
|
913
|
+
extra_headers=extra_headers,
|
|
914
|
+
extra_query=extra_query,
|
|
915
|
+
extra_body=extra_body,
|
|
916
|
+
timeout=timeout,
|
|
917
|
+
query=await async_maybe_transform(
|
|
918
|
+
{
|
|
919
|
+
"expand": expand,
|
|
920
|
+
"image_filenames": image_filenames,
|
|
921
|
+
"organization_id": organization_id,
|
|
922
|
+
"project_id": project_id,
|
|
923
|
+
},
|
|
924
|
+
parsing_get_params.ParsingGetParams,
|
|
925
|
+
),
|
|
926
|
+
),
|
|
927
|
+
cast_to=ParsingGetResponse,
|
|
928
|
+
)
|
|
929
|
+
|
|
930
|
+
async def parse(
|
|
931
|
+
self,
|
|
932
|
+
*,
|
|
933
|
+
tier: Literal["fast", "cost_effective", "agentic", "agentic_plus"],
|
|
934
|
+
version: Union[Literal["2026-01-08", "2025-12-31", "2025-12-18", "2025-12-11", "latest"], str],
|
|
935
|
+
organization_id: Optional[str] | Omit = omit,
|
|
936
|
+
project_id: Optional[str] | Omit = omit,
|
|
937
|
+
agentic_options: Optional[parsing_create_params.AgenticOptions] | Omit = omit,
|
|
938
|
+
client_name: Optional[str] | Omit = omit,
|
|
939
|
+
crop_box: parsing_create_params.CropBox | Omit = omit,
|
|
940
|
+
disable_cache: Optional[bool] | Omit = omit,
|
|
941
|
+
expand: SequenceNotStr[str] | Omit = omit,
|
|
942
|
+
fast_options: Optional[object] | Omit = omit,
|
|
943
|
+
upload_file: Optional[FileTypes] | Omit = omit,
|
|
944
|
+
file_id: Optional[str] | Omit = omit,
|
|
945
|
+
http_proxy: Optional[str] | Omit = omit,
|
|
946
|
+
input_options: parsing_create_params.InputOptions | Omit = omit,
|
|
947
|
+
output_options: parsing_create_params.OutputOptions | Omit = omit,
|
|
948
|
+
page_ranges: parsing_create_params.PageRanges | Omit = omit,
|
|
949
|
+
processing_control: parsing_create_params.ProcessingControl | Omit = omit,
|
|
950
|
+
processing_options: parsing_create_params.ProcessingOptions | Omit = omit,
|
|
951
|
+
source_url: Optional[str] | Omit = omit,
|
|
952
|
+
webhook_configurations: Iterable[parsing_create_params.WebhookConfiguration] | Omit = omit,
|
|
953
|
+
image_filenames: Optional[str] | Omit = omit,
|
|
954
|
+
# Polling parameters
|
|
955
|
+
polling_interval: float = 1.0,
|
|
956
|
+
max_interval: float = 5.0,
|
|
957
|
+
timeout: float = 300.0,
|
|
958
|
+
backoff: BackoffStrategy = "linear",
|
|
959
|
+
verbose: bool = False,
|
|
960
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
961
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
962
|
+
extra_headers: Headers | None = None,
|
|
963
|
+
extra_query: Query | None = None,
|
|
964
|
+
extra_body: Body | None = None,
|
|
965
|
+
) -> ParsingGetResponse:
|
|
966
|
+
"""
|
|
967
|
+
Parse a file and wait for it to complete, returning the result.
|
|
968
|
+
|
|
969
|
+
This is a convenience method that combines create(), wait_for_completion(),
|
|
970
|
+
and get() into a single call for the most common end-to-end workflow.
|
|
971
|
+
|
|
972
|
+
Args:
|
|
973
|
+
tier: The parsing tier to use
|
|
974
|
+
|
|
975
|
+
version: Version of the tier configuration
|
|
976
|
+
|
|
977
|
+
organization_id: Optional organization ID
|
|
978
|
+
|
|
979
|
+
project_id: Optional project ID
|
|
980
|
+
|
|
981
|
+
agentic_options: Options for agentic tier parsing (with AI agents).
|
|
982
|
+
|
|
983
|
+
client_name: Name of the client making the parsing request
|
|
984
|
+
|
|
985
|
+
crop_box: Document crop box boundaries
|
|
986
|
+
|
|
987
|
+
disable_cache: Whether to disable caching for this parsing job
|
|
988
|
+
|
|
989
|
+
expand: Fields to include: text, markdown, items, text_content_metadata,
|
|
990
|
+
markdown_content_metadata, items_content_metadata, xlsx_content_metadata,
|
|
991
|
+
output_pdf_content_metadata, images_content_metadata. Metadata fields include
|
|
992
|
+
presigned URLs.
|
|
993
|
+
|
|
994
|
+
fast_options: Options for fast tier parsing (without AI).
|
|
995
|
+
|
|
996
|
+
upload_file: File to upload and parse
|
|
997
|
+
|
|
998
|
+
file_id: ID of an existing file in the project to parse
|
|
999
|
+
|
|
1000
|
+
http_proxy: HTTP proxy URL for network requests (only used with source_url)
|
|
1001
|
+
|
|
1002
|
+
input_options: Input format-specific parsing options
|
|
1003
|
+
|
|
1004
|
+
output_options: Output format and styling options
|
|
1005
|
+
|
|
1006
|
+
page_ranges: Page range selection options
|
|
1007
|
+
|
|
1008
|
+
processing_control: Job processing control and failure handling
|
|
1009
|
+
|
|
1010
|
+
processing_options: Processing options shared across all tiers
|
|
1011
|
+
|
|
1012
|
+
source_url: Source URL to fetch document from
|
|
1013
|
+
|
|
1014
|
+
webhook_configurations: List of webhook configurations for notifications
|
|
1015
|
+
|
|
1016
|
+
image_filenames: Comma-delimited list of image filenames to fetch.
|
|
1017
|
+
|
|
1018
|
+
polling_interval: Initial polling interval in seconds (default: 1.0)
|
|
1019
|
+
|
|
1020
|
+
max_interval: Maximum polling interval for backoff in seconds (default: 5.0)
|
|
1021
|
+
|
|
1022
|
+
timeout: Maximum time to wait in seconds (default: 300.0)
|
|
1023
|
+
|
|
1024
|
+
backoff: Backoff strategy for polling intervals. Options:
|
|
1025
|
+
- "constant": Keep the same polling interval
|
|
1026
|
+
- "linear": Increase interval by 1 second each poll (default)
|
|
1027
|
+
- "exponential": Double the interval each poll
|
|
1028
|
+
|
|
1029
|
+
verbose: Print progress indicators every 10 polls (default: False)
|
|
1030
|
+
|
|
1031
|
+
extra_headers: Send extra headers
|
|
1032
|
+
|
|
1033
|
+
extra_query: Add additional query parameters to the request
|
|
1034
|
+
|
|
1035
|
+
extra_body: Add additional JSON properties to the request
|
|
1036
|
+
|
|
1037
|
+
Returns:
|
|
1038
|
+
The parse result (ParsingGetResponse) with job status and optional result data
|
|
1039
|
+
|
|
1040
|
+
Raises:
|
|
1041
|
+
PollingTimeoutError: If the job doesn't complete within the timeout period
|
|
1042
|
+
|
|
1043
|
+
PollingError: If the job fails or is cancelled
|
|
1044
|
+
|
|
1045
|
+
Example:
|
|
1046
|
+
```python
|
|
1047
|
+
from llama_cloud import AsyncLlamaCloud
|
|
1048
|
+
|
|
1049
|
+
client = AsyncLlamaCloud(api_key="...")
|
|
1050
|
+
|
|
1051
|
+
# One-shot: parse, wait for completion, and get result
|
|
1052
|
+
result = await client.parsing.parse(
|
|
1053
|
+
tier="fast",
|
|
1054
|
+
version="latest",
|
|
1055
|
+
source_url="https://example.com/document.pdf",
|
|
1056
|
+
expand=["text", "markdown"],
|
|
1057
|
+
verbose=True,
|
|
1058
|
+
)
|
|
1059
|
+
|
|
1060
|
+
# Result is ready to use immediately
|
|
1061
|
+
print(result.text)
|
|
1062
|
+
print(result.markdown)
|
|
1063
|
+
```
|
|
1064
|
+
"""
|
|
1065
|
+
# Create the parsing job
|
|
1066
|
+
job = await self.create(
|
|
1067
|
+
tier=tier,
|
|
1068
|
+
organization_id=organization_id,
|
|
1069
|
+
project_id=project_id,
|
|
1070
|
+
agentic_options=agentic_options,
|
|
1071
|
+
client_name=client_name,
|
|
1072
|
+
crop_box=crop_box,
|
|
1073
|
+
disable_cache=disable_cache,
|
|
1074
|
+
fast_options=fast_options,
|
|
1075
|
+
upload_file=upload_file,
|
|
1076
|
+
file_id=file_id,
|
|
1077
|
+
http_proxy=http_proxy,
|
|
1078
|
+
input_options=input_options,
|
|
1079
|
+
output_options=output_options,
|
|
1080
|
+
page_ranges=page_ranges,
|
|
1081
|
+
processing_control=processing_control,
|
|
1082
|
+
processing_options=processing_options,
|
|
1083
|
+
source_url=source_url,
|
|
1084
|
+
version=version,
|
|
1085
|
+
webhook_configurations=webhook_configurations,
|
|
1086
|
+
extra_headers=extra_headers,
|
|
1087
|
+
extra_query=extra_query,
|
|
1088
|
+
extra_body=extra_body,
|
|
1089
|
+
)
|
|
1090
|
+
|
|
1091
|
+
# Wait for completion
|
|
1092
|
+
await self.wait_for_completion(
|
|
1093
|
+
job.id,
|
|
1094
|
+
organization_id=organization_id,
|
|
1095
|
+
project_id=project_id,
|
|
1096
|
+
polling_interval=polling_interval,
|
|
1097
|
+
max_interval=max_interval,
|
|
1098
|
+
timeout=timeout,
|
|
1099
|
+
backoff=backoff,
|
|
1100
|
+
verbose=verbose,
|
|
1101
|
+
extra_headers=extra_headers,
|
|
1102
|
+
extra_query=extra_query,
|
|
1103
|
+
extra_body=extra_body,
|
|
1104
|
+
)
|
|
1105
|
+
|
|
1106
|
+
# Get and return the result
|
|
1107
|
+
return await self.get(
|
|
1108
|
+
job.id,
|
|
1109
|
+
image_filenames=image_filenames,
|
|
1110
|
+
expand=expand,
|
|
1111
|
+
organization_id=organization_id,
|
|
1112
|
+
project_id=project_id,
|
|
1113
|
+
extra_headers=extra_headers,
|
|
1114
|
+
extra_query=extra_query,
|
|
1115
|
+
extra_body=extra_body,
|
|
1116
|
+
)
|
|
1117
|
+
|
|
1118
|
+
async def wait_for_completion(
|
|
1119
|
+
self,
|
|
1120
|
+
job_id: str,
|
|
1121
|
+
*,
|
|
1122
|
+
organization_id: Optional[str] | Omit = omit,
|
|
1123
|
+
project_id: Optional[str] | Omit = omit,
|
|
1124
|
+
polling_interval: float = 1.0,
|
|
1125
|
+
max_interval: float = 5.0,
|
|
1126
|
+
timeout: float = 300.0,
|
|
1127
|
+
backoff: BackoffStrategy = "linear",
|
|
1128
|
+
verbose: bool = False,
|
|
1129
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
1130
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
1131
|
+
extra_headers: Headers | None = None,
|
|
1132
|
+
extra_query: Query | None = None,
|
|
1133
|
+
extra_body: Body | None = None,
|
|
1134
|
+
) -> ParsingCreateResponse:
|
|
1135
|
+
"""
|
|
1136
|
+
Wait for a parse job to complete by polling until it reaches a terminal state.
|
|
1137
|
+
|
|
1138
|
+
This method polls the job status at regular intervals until the job completes
|
|
1139
|
+
successfully or fails. It uses configurable backoff strategies to optimize
|
|
1140
|
+
polling behavior.
|
|
1141
|
+
|
|
1142
|
+
Args:
|
|
1143
|
+
job_id: The ID of the parse job to wait for
|
|
1144
|
+
|
|
1145
|
+
organization_id: Optional organization ID
|
|
1146
|
+
|
|
1147
|
+
project_id: Optional project ID
|
|
1148
|
+
|
|
1149
|
+
polling_interval: Initial polling interval in seconds (default: 1.0)
|
|
1150
|
+
|
|
1151
|
+
max_interval: Maximum polling interval for backoff in seconds (default: 5.0)
|
|
1152
|
+
|
|
1153
|
+
timeout: Maximum time to wait in seconds (default: 300.0)
|
|
1154
|
+
|
|
1155
|
+
backoff: Backoff strategy for polling intervals. Options:
|
|
1156
|
+
- "constant": Keep the same polling interval
|
|
1157
|
+
- "linear": Increase interval by 1 second each poll (default)
|
|
1158
|
+
- "exponential": Double the interval each poll
|
|
1159
|
+
|
|
1160
|
+
verbose: Print progress indicators every 10 polls (default: False)
|
|
1161
|
+
|
|
1162
|
+
extra_headers: Send extra headers
|
|
1163
|
+
|
|
1164
|
+
extra_query: Add additional query parameters to the request
|
|
1165
|
+
|
|
1166
|
+
extra_body: Add additional JSON properties to the request
|
|
1167
|
+
|
|
1168
|
+
Returns:
|
|
1169
|
+
The completed parse job
|
|
1170
|
+
|
|
1171
|
+
Raises:
|
|
1172
|
+
PollingTimeoutError: If the job doesn't complete within the timeout period
|
|
1173
|
+
|
|
1174
|
+
PollingError: If the job fails or is cancelled
|
|
1175
|
+
|
|
1176
|
+
Example:
|
|
1177
|
+
```python
|
|
1178
|
+
from llama_cloud import AsyncLlamaCloud
|
|
1179
|
+
|
|
1180
|
+
client = AsyncLlamaCloud(api_key="...")
|
|
1181
|
+
|
|
1182
|
+
# Create a parse job
|
|
1183
|
+
job = await client.parsing.create(tier="fast", version="latest", source_url="https://example.com/doc.pdf")
|
|
1184
|
+
|
|
1185
|
+
# Wait for it to complete
|
|
1186
|
+
completed_job = await client.parsing.wait_for_completion(job.id, verbose=True)
|
|
1187
|
+
|
|
1188
|
+
# Get the result
|
|
1189
|
+
result = await client.parsing.get(job.id, expand=["text"])
|
|
1190
|
+
```
|
|
1191
|
+
"""
|
|
1192
|
+
if not job_id:
|
|
1193
|
+
raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}")
|
|
1194
|
+
|
|
1195
|
+
async def get_status() -> ParsingCreateResponse:
|
|
1196
|
+
response = await self.get(
|
|
1197
|
+
job_id,
|
|
1198
|
+
organization_id=organization_id,
|
|
1199
|
+
project_id=project_id,
|
|
1200
|
+
extra_headers=extra_headers,
|
|
1201
|
+
extra_query=extra_query,
|
|
1202
|
+
extra_body=extra_body,
|
|
1203
|
+
)
|
|
1204
|
+
# Convert ParsingGetResponse to ParsingCreateResponse (just the job part)
|
|
1205
|
+
return ParsingCreateResponse(
|
|
1206
|
+
id=response.job.id,
|
|
1207
|
+
project_id=response.job.project_id,
|
|
1208
|
+
status=response.job.status,
|
|
1209
|
+
created_at=response.job.created_at,
|
|
1210
|
+
error_message=response.job.error_message,
|
|
1211
|
+
updated_at=response.job.updated_at,
|
|
1212
|
+
)
|
|
1213
|
+
|
|
1214
|
+
def is_complete(job: ParsingCreateResponse) -> bool:
|
|
1215
|
+
return job.status == "COMPLETED"
|
|
1216
|
+
|
|
1217
|
+
def is_error(job: ParsingCreateResponse) -> bool:
|
|
1218
|
+
return job.status in ("FAILED", "CANCELLED")
|
|
1219
|
+
|
|
1220
|
+
def get_error_message(job: ParsingCreateResponse) -> str:
|
|
1221
|
+
error_parts = [f"Job {job_id} failed with status: {job.status}"]
|
|
1222
|
+
if job.error_message:
|
|
1223
|
+
error_parts.append(f"Error: {job.error_message}")
|
|
1224
|
+
return " | ".join(error_parts)
|
|
1225
|
+
|
|
1226
|
+
return await poll_until_complete_async(
|
|
1227
|
+
get_status_fn=get_status,
|
|
1228
|
+
is_complete_fn=is_complete,
|
|
1229
|
+
is_error_fn=is_error,
|
|
1230
|
+
get_error_message_fn=get_error_message,
|
|
1231
|
+
polling_interval=polling_interval,
|
|
1232
|
+
max_interval=max_interval,
|
|
1233
|
+
timeout=timeout,
|
|
1234
|
+
backoff=backoff,
|
|
1235
|
+
verbose=verbose,
|
|
1236
|
+
)
|
|
1237
|
+
|
|
1238
|
+
|
|
1239
|
+
class ParsingResourceWithRawResponse:
|
|
1240
|
+
def __init__(self, parsing: ParsingResource) -> None:
|
|
1241
|
+
self._parsing = parsing
|
|
1242
|
+
|
|
1243
|
+
self.create = to_raw_response_wrapper(
|
|
1244
|
+
parsing.create,
|
|
1245
|
+
)
|
|
1246
|
+
self.list = to_raw_response_wrapper(
|
|
1247
|
+
parsing.list,
|
|
1248
|
+
)
|
|
1249
|
+
self.get = to_raw_response_wrapper(
|
|
1250
|
+
parsing.get,
|
|
1251
|
+
)
|
|
1252
|
+
|
|
1253
|
+
|
|
1254
|
+
class AsyncParsingResourceWithRawResponse:
|
|
1255
|
+
def __init__(self, parsing: AsyncParsingResource) -> None:
|
|
1256
|
+
self._parsing = parsing
|
|
1257
|
+
|
|
1258
|
+
self.create = async_to_raw_response_wrapper(
|
|
1259
|
+
parsing.create,
|
|
1260
|
+
)
|
|
1261
|
+
self.list = async_to_raw_response_wrapper(
|
|
1262
|
+
parsing.list,
|
|
1263
|
+
)
|
|
1264
|
+
self.get = async_to_raw_response_wrapper(
|
|
1265
|
+
parsing.get,
|
|
1266
|
+
)
|
|
1267
|
+
|
|
1268
|
+
|
|
1269
|
+
class ParsingResourceWithStreamingResponse:
|
|
1270
|
+
def __init__(self, parsing: ParsingResource) -> None:
|
|
1271
|
+
self._parsing = parsing
|
|
1272
|
+
|
|
1273
|
+
self.create = to_streamed_response_wrapper(
|
|
1274
|
+
parsing.create,
|
|
1275
|
+
)
|
|
1276
|
+
self.list = to_streamed_response_wrapper(
|
|
1277
|
+
parsing.list,
|
|
1278
|
+
)
|
|
1279
|
+
self.get = to_streamed_response_wrapper(
|
|
1280
|
+
parsing.get,
|
|
1281
|
+
)
|
|
1282
|
+
|
|
1283
|
+
|
|
1284
|
+
class AsyncParsingResourceWithStreamingResponse:
|
|
1285
|
+
def __init__(self, parsing: AsyncParsingResource) -> None:
|
|
1286
|
+
self._parsing = parsing
|
|
1287
|
+
|
|
1288
|
+
self.create = async_to_streamed_response_wrapper(
|
|
1289
|
+
parsing.create,
|
|
1290
|
+
)
|
|
1291
|
+
self.list = async_to_streamed_response_wrapper(
|
|
1292
|
+
parsing.list,
|
|
1293
|
+
)
|
|
1294
|
+
self.get = async_to_streamed_response_wrapper(
|
|
1295
|
+
parsing.get,
|
|
1296
|
+
)
|