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,136 @@
|
|
|
1
|
+
"""
|
|
2
|
+
This file contains code from https://github.com/pydantic/pydantic/blob/main/pydantic/v1/datetime_parse.py
|
|
3
|
+
without the Pydantic v1 specific errors.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
import re
|
|
9
|
+
from typing import Dict, Union, Optional
|
|
10
|
+
from datetime import date, datetime, timezone, timedelta
|
|
11
|
+
|
|
12
|
+
from .._types import StrBytesIntFloat
|
|
13
|
+
|
|
14
|
+
date_expr = r"(?P<year>\d{4})-(?P<month>\d{1,2})-(?P<day>\d{1,2})"
|
|
15
|
+
time_expr = (
|
|
16
|
+
r"(?P<hour>\d{1,2}):(?P<minute>\d{1,2})"
|
|
17
|
+
r"(?::(?P<second>\d{1,2})(?:\.(?P<microsecond>\d{1,6})\d{0,6})?)?"
|
|
18
|
+
r"(?P<tzinfo>Z|[+-]\d{2}(?::?\d{2})?)?$"
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
date_re = re.compile(f"{date_expr}$")
|
|
22
|
+
datetime_re = re.compile(f"{date_expr}[T ]{time_expr}")
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
EPOCH = datetime(1970, 1, 1)
|
|
26
|
+
# if greater than this, the number is in ms, if less than or equal it's in seconds
|
|
27
|
+
# (in seconds this is 11th October 2603, in ms it's 20th August 1970)
|
|
28
|
+
MS_WATERSHED = int(2e10)
|
|
29
|
+
# slightly more than datetime.max in ns - (datetime.max - EPOCH).total_seconds() * 1e9
|
|
30
|
+
MAX_NUMBER = int(3e20)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def _get_numeric(value: StrBytesIntFloat, native_expected_type: str) -> Union[None, int, float]:
|
|
34
|
+
if isinstance(value, (int, float)):
|
|
35
|
+
return value
|
|
36
|
+
try:
|
|
37
|
+
return float(value)
|
|
38
|
+
except ValueError:
|
|
39
|
+
return None
|
|
40
|
+
except TypeError:
|
|
41
|
+
raise TypeError(f"invalid type; expected {native_expected_type}, string, bytes, int or float") from None
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def _from_unix_seconds(seconds: Union[int, float]) -> datetime:
|
|
45
|
+
if seconds > MAX_NUMBER:
|
|
46
|
+
return datetime.max
|
|
47
|
+
elif seconds < -MAX_NUMBER:
|
|
48
|
+
return datetime.min
|
|
49
|
+
|
|
50
|
+
while abs(seconds) > MS_WATERSHED:
|
|
51
|
+
seconds /= 1000
|
|
52
|
+
dt = EPOCH + timedelta(seconds=seconds)
|
|
53
|
+
return dt.replace(tzinfo=timezone.utc)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def _parse_timezone(value: Optional[str]) -> Union[None, int, timezone]:
|
|
57
|
+
if value == "Z":
|
|
58
|
+
return timezone.utc
|
|
59
|
+
elif value is not None:
|
|
60
|
+
offset_mins = int(value[-2:]) if len(value) > 3 else 0
|
|
61
|
+
offset = 60 * int(value[1:3]) + offset_mins
|
|
62
|
+
if value[0] == "-":
|
|
63
|
+
offset = -offset
|
|
64
|
+
return timezone(timedelta(minutes=offset))
|
|
65
|
+
else:
|
|
66
|
+
return None
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
def parse_datetime(value: Union[datetime, StrBytesIntFloat]) -> datetime:
|
|
70
|
+
"""
|
|
71
|
+
Parse a datetime/int/float/string and return a datetime.datetime.
|
|
72
|
+
|
|
73
|
+
This function supports time zone offsets. When the input contains one,
|
|
74
|
+
the output uses a timezone with a fixed offset from UTC.
|
|
75
|
+
|
|
76
|
+
Raise ValueError if the input is well formatted but not a valid datetime.
|
|
77
|
+
Raise ValueError if the input isn't well formatted.
|
|
78
|
+
"""
|
|
79
|
+
if isinstance(value, datetime):
|
|
80
|
+
return value
|
|
81
|
+
|
|
82
|
+
number = _get_numeric(value, "datetime")
|
|
83
|
+
if number is not None:
|
|
84
|
+
return _from_unix_seconds(number)
|
|
85
|
+
|
|
86
|
+
if isinstance(value, bytes):
|
|
87
|
+
value = value.decode()
|
|
88
|
+
|
|
89
|
+
assert not isinstance(value, (float, int))
|
|
90
|
+
|
|
91
|
+
match = datetime_re.match(value)
|
|
92
|
+
if match is None:
|
|
93
|
+
raise ValueError("invalid datetime format")
|
|
94
|
+
|
|
95
|
+
kw = match.groupdict()
|
|
96
|
+
if kw["microsecond"]:
|
|
97
|
+
kw["microsecond"] = kw["microsecond"].ljust(6, "0")
|
|
98
|
+
|
|
99
|
+
tzinfo = _parse_timezone(kw.pop("tzinfo"))
|
|
100
|
+
kw_: Dict[str, Union[None, int, timezone]] = {k: int(v) for k, v in kw.items() if v is not None}
|
|
101
|
+
kw_["tzinfo"] = tzinfo
|
|
102
|
+
|
|
103
|
+
return datetime(**kw_) # type: ignore
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
def parse_date(value: Union[date, StrBytesIntFloat]) -> date:
|
|
107
|
+
"""
|
|
108
|
+
Parse a date/int/float/string and return a datetime.date.
|
|
109
|
+
|
|
110
|
+
Raise ValueError if the input is well formatted but not a valid date.
|
|
111
|
+
Raise ValueError if the input isn't well formatted.
|
|
112
|
+
"""
|
|
113
|
+
if isinstance(value, date):
|
|
114
|
+
if isinstance(value, datetime):
|
|
115
|
+
return value.date()
|
|
116
|
+
else:
|
|
117
|
+
return value
|
|
118
|
+
|
|
119
|
+
number = _get_numeric(value, "date")
|
|
120
|
+
if number is not None:
|
|
121
|
+
return _from_unix_seconds(number).date()
|
|
122
|
+
|
|
123
|
+
if isinstance(value, bytes):
|
|
124
|
+
value = value.decode()
|
|
125
|
+
|
|
126
|
+
assert not isinstance(value, (float, int))
|
|
127
|
+
match = date_re.match(value)
|
|
128
|
+
if match is None:
|
|
129
|
+
raise ValueError("invalid date format")
|
|
130
|
+
|
|
131
|
+
kw = {k: int(v) for k, v in match.groupdict().items()}
|
|
132
|
+
|
|
133
|
+
try:
|
|
134
|
+
return date(**kw)
|
|
135
|
+
except ValueError:
|
|
136
|
+
raise ValueError("invalid date format") from None
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import logging
|
|
3
|
+
|
|
4
|
+
logger: logging.Logger = logging.getLogger("llama_cloud")
|
|
5
|
+
httpx_logger: logging.Logger = logging.getLogger("httpx")
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def _basic_config() -> None:
|
|
9
|
+
# e.g. [2023-10-05 14:12:26 - llama_cloud._base_client:818 - DEBUG] HTTP Request: POST http://127.0.0.1:4010/foo/bar "200 OK"
|
|
10
|
+
logging.basicConfig(
|
|
11
|
+
format="[%(asctime)s - %(name)s:%(lineno)d - %(levelname)s] %(message)s",
|
|
12
|
+
datefmt="%Y-%m-%d %H:%M:%S",
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def setup_logging() -> None:
|
|
17
|
+
env = os.environ.get("LLAMA_CLOUD_LOG")
|
|
18
|
+
if env == "debug":
|
|
19
|
+
_basic_config()
|
|
20
|
+
logger.setLevel(logging.DEBUG)
|
|
21
|
+
httpx_logger.setLevel(logging.DEBUG)
|
|
22
|
+
elif env == "info":
|
|
23
|
+
_basic_config()
|
|
24
|
+
logger.setLevel(logging.INFO)
|
|
25
|
+
httpx_logger.setLevel(logging.INFO)
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from abc import ABC, abstractmethod
|
|
4
|
+
from typing import Generic, TypeVar, Iterable, cast
|
|
5
|
+
from typing_extensions import override
|
|
6
|
+
|
|
7
|
+
T = TypeVar("T")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class LazyProxy(Generic[T], ABC):
|
|
11
|
+
"""Implements data methods to pretend that an instance is another instance.
|
|
12
|
+
|
|
13
|
+
This includes forwarding attribute access and other methods.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
# Note: we have to special case proxies that themselves return proxies
|
|
17
|
+
# to support using a proxy as a catch-all for any random access, e.g. `proxy.foo.bar.baz`
|
|
18
|
+
|
|
19
|
+
def __getattr__(self, attr: str) -> object:
|
|
20
|
+
proxied = self.__get_proxied__()
|
|
21
|
+
if isinstance(proxied, LazyProxy):
|
|
22
|
+
return proxied # pyright: ignore
|
|
23
|
+
return getattr(proxied, attr)
|
|
24
|
+
|
|
25
|
+
@override
|
|
26
|
+
def __repr__(self) -> str:
|
|
27
|
+
proxied = self.__get_proxied__()
|
|
28
|
+
if isinstance(proxied, LazyProxy):
|
|
29
|
+
return proxied.__class__.__name__
|
|
30
|
+
return repr(self.__get_proxied__())
|
|
31
|
+
|
|
32
|
+
@override
|
|
33
|
+
def __str__(self) -> str:
|
|
34
|
+
proxied = self.__get_proxied__()
|
|
35
|
+
if isinstance(proxied, LazyProxy):
|
|
36
|
+
return proxied.__class__.__name__
|
|
37
|
+
return str(proxied)
|
|
38
|
+
|
|
39
|
+
@override
|
|
40
|
+
def __dir__(self) -> Iterable[str]:
|
|
41
|
+
proxied = self.__get_proxied__()
|
|
42
|
+
if isinstance(proxied, LazyProxy):
|
|
43
|
+
return []
|
|
44
|
+
return proxied.__dir__()
|
|
45
|
+
|
|
46
|
+
@property # type: ignore
|
|
47
|
+
@override
|
|
48
|
+
def __class__(self) -> type: # pyright: ignore
|
|
49
|
+
try:
|
|
50
|
+
proxied = self.__get_proxied__()
|
|
51
|
+
except Exception:
|
|
52
|
+
return type(self)
|
|
53
|
+
if issubclass(type(proxied), LazyProxy):
|
|
54
|
+
return type(proxied)
|
|
55
|
+
return proxied.__class__
|
|
56
|
+
|
|
57
|
+
def __get_proxied__(self) -> T:
|
|
58
|
+
return self.__load__()
|
|
59
|
+
|
|
60
|
+
def __as_proxied__(self) -> T:
|
|
61
|
+
"""Helper method that returns the current proxy, typed as the loaded object"""
|
|
62
|
+
return cast(T, self)
|
|
63
|
+
|
|
64
|
+
@abstractmethod
|
|
65
|
+
def __load__(self) -> T: ...
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import inspect
|
|
4
|
+
from typing import Any, Callable
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def function_has_argument(func: Callable[..., Any], arg_name: str) -> bool:
|
|
8
|
+
"""Returns whether or not the given function has a specific parameter"""
|
|
9
|
+
sig = inspect.signature(func)
|
|
10
|
+
return arg_name in sig.parameters
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def assert_signatures_in_sync(
|
|
14
|
+
source_func: Callable[..., Any],
|
|
15
|
+
check_func: Callable[..., Any],
|
|
16
|
+
*,
|
|
17
|
+
exclude_params: set[str] = set(),
|
|
18
|
+
) -> None:
|
|
19
|
+
"""Ensure that the signature of the second function matches the first."""
|
|
20
|
+
|
|
21
|
+
check_sig = inspect.signature(check_func)
|
|
22
|
+
source_sig = inspect.signature(source_func)
|
|
23
|
+
|
|
24
|
+
errors: list[str] = []
|
|
25
|
+
|
|
26
|
+
for name, source_param in source_sig.parameters.items():
|
|
27
|
+
if name in exclude_params:
|
|
28
|
+
continue
|
|
29
|
+
|
|
30
|
+
custom_param = check_sig.parameters.get(name)
|
|
31
|
+
if not custom_param:
|
|
32
|
+
errors.append(f"the `{name}` param is missing")
|
|
33
|
+
continue
|
|
34
|
+
|
|
35
|
+
if custom_param.annotation != source_param.annotation:
|
|
36
|
+
errors.append(
|
|
37
|
+
f"types for the `{name}` param are do not match; source={repr(source_param.annotation)} checking={repr(custom_param.annotation)}"
|
|
38
|
+
)
|
|
39
|
+
continue
|
|
40
|
+
|
|
41
|
+
if errors:
|
|
42
|
+
raise AssertionError(f"{len(errors)} errors encountered when comparing signatures:\n\n" + "\n\n".join(errors))
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import Any
|
|
4
|
+
from typing_extensions import override
|
|
5
|
+
|
|
6
|
+
from ._proxy import LazyProxy
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class ResourcesProxy(LazyProxy[Any]):
|
|
10
|
+
"""A proxy for the `llama_cloud.resources` module.
|
|
11
|
+
|
|
12
|
+
This is used so that we can lazily import `llama_cloud.resources` only when
|
|
13
|
+
needed *and* so that users can just import `llama_cloud` and reference `llama_cloud.resources`
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
@override
|
|
17
|
+
def __load__(self) -> Any:
|
|
18
|
+
import importlib
|
|
19
|
+
|
|
20
|
+
mod = importlib.import_module("llama_cloud.resources")
|
|
21
|
+
return mod
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
resources = ResourcesProxy().__as_proxied__()
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from typing import Any
|
|
2
|
+
from typing_extensions import Iterator, AsyncIterator
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def consume_sync_iterator(iterator: Iterator[Any]) -> None:
|
|
6
|
+
for _ in iterator:
|
|
7
|
+
...
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
async def consume_async_iterator(iterator: AsyncIterator[Any]) -> None:
|
|
11
|
+
async for _ in iterator:
|
|
12
|
+
...
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import asyncio
|
|
4
|
+
import functools
|
|
5
|
+
from typing import TypeVar, Callable, Awaitable
|
|
6
|
+
from typing_extensions import ParamSpec
|
|
7
|
+
|
|
8
|
+
import anyio
|
|
9
|
+
import sniffio
|
|
10
|
+
import anyio.to_thread
|
|
11
|
+
|
|
12
|
+
T_Retval = TypeVar("T_Retval")
|
|
13
|
+
T_ParamSpec = ParamSpec("T_ParamSpec")
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
async def to_thread(
|
|
17
|
+
func: Callable[T_ParamSpec, T_Retval], /, *args: T_ParamSpec.args, **kwargs: T_ParamSpec.kwargs
|
|
18
|
+
) -> T_Retval:
|
|
19
|
+
if sniffio.current_async_library() == "asyncio":
|
|
20
|
+
return await asyncio.to_thread(func, *args, **kwargs)
|
|
21
|
+
|
|
22
|
+
return await anyio.to_thread.run_sync(
|
|
23
|
+
functools.partial(func, *args, **kwargs),
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
# inspired by `asyncer`, https://github.com/tiangolo/asyncer
|
|
28
|
+
def asyncify(function: Callable[T_ParamSpec, T_Retval]) -> Callable[T_ParamSpec, Awaitable[T_Retval]]:
|
|
29
|
+
"""
|
|
30
|
+
Take a blocking function and create an async one that receives the same
|
|
31
|
+
positional and keyword arguments.
|
|
32
|
+
|
|
33
|
+
Usage:
|
|
34
|
+
|
|
35
|
+
```python
|
|
36
|
+
def blocking_func(arg1, arg2, kwarg1=None):
|
|
37
|
+
# blocking code
|
|
38
|
+
return result
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
result = asyncify(blocking_function)(arg1, arg2, kwarg1=value1)
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Arguments
|
|
45
|
+
|
|
46
|
+
`function`: a blocking regular callable (e.g. a function)
|
|
47
|
+
|
|
48
|
+
## Return
|
|
49
|
+
|
|
50
|
+
An async function that takes the same positional and keyword arguments as the
|
|
51
|
+
original one, that when called runs the same original function in a thread worker
|
|
52
|
+
and returns the result.
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
async def wrapper(*args: T_ParamSpec.args, **kwargs: T_ParamSpec.kwargs) -> T_Retval:
|
|
56
|
+
return await to_thread(function, *args, **kwargs)
|
|
57
|
+
|
|
58
|
+
return wrapper
|