openparser-sdk 1.0.25__tar.gz → 1.0.27__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/PKG-INFO +1 -1
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/pyproject.toml +1 -1
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/extract/extract_async.py +0 -2
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/extract/extract_batch.py +0 -2
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/extract/extract_sync.py +0 -2
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/files/create_file.py +0 -2
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/parse/parse_async.py +0 -2
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/parse/parse_batch.py +0 -2
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/parse/parse_sync.py +0 -2
- openparser_sdk-1.0.27/src/openparser/_generated_requests.py +64 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_telemetry.py +1 -1
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/client.py +136 -139
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/hosted_models.py +16 -55
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/.gitignore +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/LICENSE +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/README.md +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/__init__.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_files.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/__init__.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/__init__.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/extract/__init__.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/extract/suggest_schema.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/files/__init__.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/files/delete_file.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/files/get_file.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/files/get_file_content.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/jobs/__init__.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/jobs/complete_extraction_review.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/jobs/get_extraction_review.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/jobs/get_job.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/jobs/get_job_result.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/jobs/get_job_source.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/jobs/list_jobs.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/jobs/reopen_extraction_review.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/jobs/update_extraction_review.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/models/__init__.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/models/list_llm_models.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/models/list_ocr_models.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/parse/__init__.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/pipelines/__init__.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/pipelines/create_extraction_pipeline.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/pipelines/delete_extraction_pipeline.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/pipelines/get_extraction_pipeline.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/pipelines/list_extraction_pipelines.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/api/pipelines/update_extraction_pipeline.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/client.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/errors.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/__init__.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/asset_kind.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/barcode_element.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/batch_child_page.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/batch_child_summary.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/batch_job_accepted.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/batch_job_accepted_operation.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/batch_summary_counts.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/bounding_box.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/complete_extraction_review_request.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/complete_extraction_review_request_status.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/confidence.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/confidence_scope.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/confidence_source_scale.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/coordinate_unit.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/create_extraction_pipeline_request.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/create_extraction_pipeline_request_grounding.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/create_extraction_pipeline_request_llm_options.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/create_extraction_pipeline_request_llm_options_reasoning_effort_type_1.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/create_extraction_pipeline_request_ocr_options.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/create_extraction_pipeline_request_schema.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/create_file_body.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/delete_extraction_pipeline_response.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/delete_file_response.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/document_asset.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/document_element_kind.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/document_page.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/document_page_quality.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/document_page_quality_defects_item.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/document_page_quality_metrics_item.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/document_provenance.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/document_relation.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/error_body.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/error_body_details.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/error_response.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_async_body.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_batch_body.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_batch_item.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_batch_item_grounding.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_batch_item_llm_options.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_batch_item_llm_options_reasoning_effort_type_1.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_batch_item_ocr_options.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_batch_item_schema.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_batch_request.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_batch_request_items_item.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_batch_request_items_item_grounding.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_batch_request_items_item_llm_options.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_batch_request_items_item_llm_options_reasoning_effort_type_1.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_batch_request_items_item_ocr_options.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_batch_request_items_item_schema.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_batch_request_output_format.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_request.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_request_grounding.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_request_llm_options.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_request_llm_options_reasoning_effort_type_1.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_request_ocr_options.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_request_output_format.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_request_schema.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extract_sync_body.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_attempt.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_attempt_kind.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_attempt_status.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_citation.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_citation_granularity.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_grounding_field.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_grounding_field_transform_claim.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_grounding_field_transform_claim_confidence.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_grounding_field_transform_claim_operation.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_grounding_field_transform_claim_parameters.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_grounding_mode.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_grounding_result.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_pipeline.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_pipeline_list_response.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_pipeline_llm_options.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_pipeline_llm_options_reasoning_effort_type_0_type_1.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_pipeline_ocr_options.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_pipeline_schema.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_review.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_review_confirmation.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_review_event_type_0.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_review_event_type_1.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_review_event_type_2.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_review_event_type_2_type.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_review_event_type_3.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_review_retraction.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_review_status.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_terminal_result.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_terminal_result_reasoning_effort_type_0.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/extraction_usage_totals.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/figure_element.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/formula_element.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/formula_format.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/geometry.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/job.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/job_accepted.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/job_accepted_operation.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/job_extraction_schema.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/job_failure.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/job_failure_details.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/job_list_response.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/job_operation.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/job_progress.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/job_related_extractions_item.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/job_status.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/job_summary.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/json_schema_object.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/key_value_element.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/language.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_activity.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_activity_attributes.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_activity_parameters.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_activity_status.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_agent.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_agent_attributes.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_association.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_association_attributes.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_attribution.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_attribution_attributes.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_confidence_assertion.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_confidence_assertion_attributes.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_confidence_assertion_kind.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_confidence_assertion_sources_item.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_confidence_assertion_sources_item_type.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_confidence_scale.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_derivation.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_derivation_attributes.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_derivation_input.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_derivation_input_attributes.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_derivation_input_effect.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_digest.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_document.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_document_activities.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_document_agents.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_document_attributes.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_document_entities.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_entity.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_entity_approvals_item.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_entity_approvals_item_attributes.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_entity_attributes.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_entity_kind.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_entity_schema.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_implementation.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_implementation_attributes.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_locator.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_locator_attributes.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_relation.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_relation_attributes.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_relation_type.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_selector.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_selector_attributes.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_transformation.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/lineage_transformation_attributes.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/link_element.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/list_llm_models_mode.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_llm_model_catalog_entry.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_llm_model_catalog_entry_pricing.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_llm_model_catalog_entry_reasoning_type_0.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_llm_model_catalog_entry_reasoning_type_0_default_effort_type_0.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_llm_model_catalog_entry_reasoning_type_0_supported_efforts_type_0_item.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_llm_model_catalog_entry_recommendation.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_llm_models_response.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_llm_models_response_mode.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_model_catalog_entry.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_model_catalog_entry_availability.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_model_catalog_entry_benchmark_type_0.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_model_catalog_entry_capabilities.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_model_catalog_entry_capabilities_options.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_model_catalog_entry_guidance.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_model_catalog_entry_option_controls_item.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_model_catalog_entry_option_controls_item_choices_item.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_model_catalog_entry_option_controls_item_kind.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_model_catalog_entry_option_defaults.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_model_catalog_entry_pricing.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_model_catalog_entry_pricing_configurations_item.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_model_catalog_entry_pricing_configurations_item_options.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_model_catalog_entry_provider.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_model_catalog_entry_provider_logo_data.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_model_catalog_entry_provider_logo_data_paths_item.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_model_catalog_entry_provider_logo_data_paths_item_clip_rule.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_models_response.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/ocr_output_format.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/other_element.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/parse_async_body.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/parse_batch_body.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/parse_batch_item.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/parse_batch_item_ocr_options.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/parse_batch_request.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/parse_batch_request_items_item.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/parse_batch_request_items_item_ocr_options.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/parse_batch_request_output_format.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/parse_request.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/parse_request_ocr_options.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/parse_request_output_format.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/parse_sync_body.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/parsed_document.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/point.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/public_file.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/query_answer_element.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/raw_parse_result.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/raw_parse_result_profile.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/raw_parse_result_profile_options.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/raw_parse_result_result.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/relation_type.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/reopen_extraction_review_request.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/section_element.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/section_role.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/selection_mark_element.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/selection_mark_type.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/selection_state.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/signature_element.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/source_provenance.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/stamp_element.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/structured_value.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/suggest_schema_request.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/suggest_schema_response.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/suggest_schema_response_schema.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/table_cell.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/table_cell_role.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/table_element.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/text_annotation.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/text_break.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/text_element.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/text_role.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/text_span.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/text_style.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/text_style_font_size_unit.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/update_extraction_pipeline_request.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/update_extraction_pipeline_request_grounding.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/update_extraction_pipeline_request_llm_options_type_0.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/update_extraction_pipeline_request_llm_options_type_0_reasoning_effort_type_1.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/update_extraction_pipeline_request_ocr_options_type_0.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/update_extraction_pipeline_request_schema.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/update_extraction_review_request.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/update_extraction_review_request_confirmations_item.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/models/update_extraction_review_request_retractions_item.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/py.typed +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/_generated/types.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/errors.py +0 -0
- {openparser_sdk-1.0.25 → openparser_sdk-1.0.27}/src/openparser/py.typed +0 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"""Bridge from the facade's plain-dict arguments to the generated request builders.
|
|
2
|
+
|
|
3
|
+
The generated `_generated.api.*` modules own the HTTP method, path, query parameter
|
|
4
|
+
names and multipart field layout. The facade keeps its public contract on top of them:
|
|
5
|
+
|
|
6
|
+
- callers pass plain dicts, and unknown keys are sent unchanged, so JSON bodies are
|
|
7
|
+
handed to the builders as-is instead of being rebuilt from the typed models;
|
|
8
|
+
- optional arguments that the caller did not set are left out of the request;
|
|
9
|
+
- responses stay raw JSON (`AttrDict`) or bytes, so the generated `sync_detailed`
|
|
10
|
+
parsers, which decode bodies into attrs models, are not used.
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
from __future__ import annotations
|
|
14
|
+
|
|
15
|
+
from typing import Any, Optional, Sequence, Tuple
|
|
16
|
+
|
|
17
|
+
from openparser._generated.types import UNSET
|
|
18
|
+
|
|
19
|
+
MultipartPart = Tuple[str, Any]
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class RawBody:
|
|
23
|
+
"""Carries caller-owned JSON or multipart parts to a generated request builder.
|
|
24
|
+
|
|
25
|
+
The generated builders call `to_dict()` for JSON bodies and `to_multipart()` for
|
|
26
|
+
multipart bodies; this object answers both with the facade's own values.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
def __init__(
|
|
30
|
+
self,
|
|
31
|
+
*,
|
|
32
|
+
json: Any = None,
|
|
33
|
+
multipart: Optional[Sequence[MultipartPart]] = None,
|
|
34
|
+
) -> None:
|
|
35
|
+
self._json = json
|
|
36
|
+
self._multipart = list(multipart or [])
|
|
37
|
+
|
|
38
|
+
def to_dict(self) -> Any:
|
|
39
|
+
return self._json
|
|
40
|
+
|
|
41
|
+
def to_multipart(self) -> list[MultipartPart]:
|
|
42
|
+
return list(self._multipart)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class Wire:
|
|
46
|
+
"""Stands in for a generated enum. Builders read `.value` and send it unchanged.
|
|
47
|
+
|
|
48
|
+
The server validates these strings, so the facade does not reject values that
|
|
49
|
+
the generated enums do not list.
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
__slots__ = ("value",)
|
|
53
|
+
|
|
54
|
+
def __init__(self, value: str) -> None:
|
|
55
|
+
self.value = value
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def optional(value: Any) -> Any:
|
|
59
|
+
"""Map an argument the caller left unset to the generator's UNSET sentinel."""
|
|
60
|
+
return UNSET if value is None else value
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def optional_wire(value: Optional[str]) -> Any:
|
|
64
|
+
return UNSET if value is None else Wire(value)
|
|
@@ -11,11 +11,48 @@ from datetime import datetime, timezone
|
|
|
11
11
|
from email.utils import parsedate_to_datetime
|
|
12
12
|
from pathlib import Path
|
|
13
13
|
from typing import Any, BinaryIO, Literal, Optional, Sequence, Union
|
|
14
|
-
from urllib.parse import quote
|
|
15
14
|
|
|
16
15
|
import httpx
|
|
17
16
|
|
|
18
17
|
from openparser._files import to_upload_tuple
|
|
18
|
+
from openparser._generated.client import Client as GeneratedClient
|
|
19
|
+
from openparser._generated.api.extract import (
|
|
20
|
+
extract_async,
|
|
21
|
+
extract_batch,
|
|
22
|
+
extract_sync,
|
|
23
|
+
suggest_schema,
|
|
24
|
+
)
|
|
25
|
+
from openparser._generated.api.files import (
|
|
26
|
+
create_file,
|
|
27
|
+
delete_file,
|
|
28
|
+
get_file,
|
|
29
|
+
get_file_content,
|
|
30
|
+
)
|
|
31
|
+
from openparser._generated.api.jobs import (
|
|
32
|
+
complete_extraction_review,
|
|
33
|
+
get_extraction_review,
|
|
34
|
+
get_job,
|
|
35
|
+
get_job_result,
|
|
36
|
+
get_job_source,
|
|
37
|
+
list_jobs,
|
|
38
|
+
reopen_extraction_review,
|
|
39
|
+
update_extraction_review,
|
|
40
|
+
)
|
|
41
|
+
from openparser._generated.api.models import list_llm_models, list_ocr_models
|
|
42
|
+
from openparser._generated.api.parse import parse_async, parse_batch, parse_sync
|
|
43
|
+
from openparser._generated.api.pipelines import (
|
|
44
|
+
create_extraction_pipeline,
|
|
45
|
+
delete_extraction_pipeline,
|
|
46
|
+
get_extraction_pipeline,
|
|
47
|
+
list_extraction_pipelines,
|
|
48
|
+
update_extraction_pipeline,
|
|
49
|
+
)
|
|
50
|
+
from openparser._generated_requests import (
|
|
51
|
+
RawBody,
|
|
52
|
+
optional,
|
|
53
|
+
optional_wire,
|
|
54
|
+
Wire,
|
|
55
|
+
)
|
|
19
56
|
from openparser._telemetry import build_telemetry_headers
|
|
20
57
|
from openparser.errors import (
|
|
21
58
|
OpenParserError,
|
|
@@ -27,7 +64,7 @@ DEFAULT_BASE_URL = "https://api.openparser.dev"
|
|
|
27
64
|
DEFAULT_TIMEOUT_SECONDS = 300.0
|
|
28
65
|
DEFAULT_POLL_INTERVAL_SECONDS = 2.0
|
|
29
66
|
DEFAULT_WAIT_TIMEOUT_SECONDS = 300.0
|
|
30
|
-
TERMINAL_JOB_STATUSES = frozenset({"succeeded", "failed", "indeterminate"
|
|
67
|
+
TERMINAL_JOB_STATUSES = frozenset({"succeeded", "failed", "indeterminate"})
|
|
31
68
|
|
|
32
69
|
FileInput = Union[Path, dict[str, Any], BinaryIO]
|
|
33
70
|
ParseResultFormat = Literal["openparser@1", "raw"]
|
|
@@ -201,11 +238,16 @@ class OpenParserClient:
|
|
|
201
238
|
).rstrip("/")
|
|
202
239
|
self.timeout_seconds = timeout_seconds
|
|
203
240
|
self.max_retries = max_retries
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
241
|
+
# The generated client owns the httpx.Client. Retries stay in `_send`, so
|
|
242
|
+
# they apply the same way to every endpoint and keep httpx_args (TLS, proxies).
|
|
243
|
+
self._generated = GeneratedClient(base_url=self.base_url)
|
|
244
|
+
self._generated.set_httpx_client(
|
|
245
|
+
httpx.Client(
|
|
246
|
+
base_url=self.base_url,
|
|
247
|
+
timeout=timeout_seconds,
|
|
248
|
+
headers=_headers(resolved_key, default_headers),
|
|
249
|
+
**(httpx_args or {}),
|
|
250
|
+
)
|
|
209
251
|
)
|
|
210
252
|
|
|
211
253
|
self.parse = ParseResource(self)
|
|
@@ -216,7 +258,7 @@ class OpenParserClient:
|
|
|
216
258
|
self.pipelines = PipelinesResource(self)
|
|
217
259
|
|
|
218
260
|
def close(self) -> None:
|
|
219
|
-
self.
|
|
261
|
+
self._generated.get_httpx_client().close()
|
|
220
262
|
|
|
221
263
|
def __enter__(self) -> "OpenParserClient":
|
|
222
264
|
return self
|
|
@@ -224,13 +266,13 @@ class OpenParserClient:
|
|
|
224
266
|
def __exit__(self, *_: object) -> None:
|
|
225
267
|
self.close()
|
|
226
268
|
|
|
227
|
-
def
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
may_retry = _is_retryable_request(method, kwargs.get("headers"))
|
|
269
|
+
def _send(self, kwargs: dict[str, Any]) -> httpx.Response:
|
|
270
|
+
"""Send a request built by a generated builder, retrying where the policy allows."""
|
|
271
|
+
http = self._generated.get_httpx_client()
|
|
272
|
+
may_retry = _is_retryable_request(kwargs["method"], kwargs.get("headers"))
|
|
231
273
|
for attempt in range(self.max_retries + 1):
|
|
232
274
|
try:
|
|
233
|
-
response =
|
|
275
|
+
response = http.request(**kwargs)
|
|
234
276
|
if (
|
|
235
277
|
may_retry
|
|
236
278
|
and _is_retriable(response.status_code)
|
|
@@ -252,11 +294,11 @@ class OpenParserClient:
|
|
|
252
294
|
|
|
253
295
|
raise AssertionError("unreachable")
|
|
254
296
|
|
|
255
|
-
def _request(self,
|
|
256
|
-
return _check_response(self.
|
|
297
|
+
def _request(self, kwargs: dict[str, Any]) -> Any:
|
|
298
|
+
return _check_response(self._send(kwargs))
|
|
257
299
|
|
|
258
|
-
def _request_bytes(self,
|
|
259
|
-
response = self.
|
|
300
|
+
def _request_bytes(self, kwargs: dict[str, Any]) -> bytes:
|
|
301
|
+
response = self._send(kwargs)
|
|
260
302
|
if response.status_code >= 400:
|
|
261
303
|
_check_response(response)
|
|
262
304
|
return response.content
|
|
@@ -284,6 +326,23 @@ class OpenParserClient:
|
|
|
284
326
|
)
|
|
285
327
|
|
|
286
328
|
|
|
329
|
+
def _multipart_submit(
|
|
330
|
+
root: OpenParserClient,
|
|
331
|
+
builder: Any,
|
|
332
|
+
parts: list[tuple[str, Any]],
|
|
333
|
+
idempotency_key: Optional[str],
|
|
334
|
+
) -> Any:
|
|
335
|
+
kwargs = builder._get_kwargs(
|
|
336
|
+
body=RawBody(multipart=parts),
|
|
337
|
+
idempotency_key=_idempotency_key(idempotency_key),
|
|
338
|
+
)
|
|
339
|
+
return root._request(kwargs)
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
def _request_parts(request: dict[str, Any]) -> list[tuple[str, Any]]:
|
|
343
|
+
return [("request", (None, json.dumps(request), "application/json"))]
|
|
344
|
+
|
|
345
|
+
|
|
287
346
|
class ParseResource:
|
|
288
347
|
def __init__(self, root: OpenParserClient) -> None:
|
|
289
348
|
self._root = root
|
|
@@ -295,9 +354,7 @@ class ParseResource:
|
|
|
295
354
|
file: Optional[FileInput] = None,
|
|
296
355
|
idempotency_key: Optional[str] = None,
|
|
297
356
|
) -> Any:
|
|
298
|
-
return self._submit(
|
|
299
|
-
"/parse", request, file=file, idempotency_key=idempotency_key
|
|
300
|
-
)
|
|
357
|
+
return self._submit(parse_sync, request, file=file, idempotency_key=idempotency_key)
|
|
301
358
|
|
|
302
359
|
def async_(
|
|
303
360
|
self,
|
|
@@ -306,9 +363,7 @@ class ParseResource:
|
|
|
306
363
|
file: Optional[FileInput] = None,
|
|
307
364
|
idempotency_key: Optional[str] = None,
|
|
308
365
|
) -> Any:
|
|
309
|
-
return self._submit(
|
|
310
|
-
"/parse/async", request, file=file, idempotency_key=idempotency_key
|
|
311
|
-
)
|
|
366
|
+
return self._submit(parse_async, request, file=file, idempotency_key=idempotency_key)
|
|
312
367
|
|
|
313
368
|
def batch(
|
|
314
369
|
self,
|
|
@@ -317,37 +372,22 @@ class ParseResource:
|
|
|
317
372
|
files: Sequence[FileInput],
|
|
318
373
|
idempotency_key: Optional[str] = None,
|
|
319
374
|
) -> Any:
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
for item in files:
|
|
324
|
-
multipart.append(("files", to_upload_tuple(item)))
|
|
325
|
-
return self._root._request(
|
|
326
|
-
"POST",
|
|
327
|
-
"/parse/batch",
|
|
328
|
-
files=multipart,
|
|
329
|
-
headers={"Idempotency-Key": _idempotency_key(idempotency_key)},
|
|
330
|
-
)
|
|
375
|
+
parts = _request_parts(request)
|
|
376
|
+
parts.extend(("files", to_upload_tuple(item)) for item in files)
|
|
377
|
+
return _multipart_submit(self._root, parse_batch, parts, idempotency_key)
|
|
331
378
|
|
|
332
379
|
def _submit(
|
|
333
380
|
self,
|
|
334
|
-
|
|
381
|
+
builder: Any,
|
|
335
382
|
request: dict[str, Any],
|
|
336
383
|
*,
|
|
337
384
|
file: Optional[FileInput],
|
|
338
385
|
idempotency_key: Optional[str],
|
|
339
386
|
) -> Any:
|
|
340
|
-
|
|
341
|
-
"request": (None, json.dumps(request), "application/json"),
|
|
342
|
-
}
|
|
387
|
+
parts = _request_parts(request)
|
|
343
388
|
if file is not None:
|
|
344
|
-
|
|
345
|
-
return self._root
|
|
346
|
-
"POST",
|
|
347
|
-
path,
|
|
348
|
-
files=multipart,
|
|
349
|
-
headers={"Idempotency-Key": _idempotency_key(idempotency_key)},
|
|
350
|
-
)
|
|
389
|
+
parts.append(("file", to_upload_tuple(file)))
|
|
390
|
+
return _multipart_submit(self._root, builder, parts, idempotency_key)
|
|
351
391
|
|
|
352
392
|
|
|
353
393
|
class ExtractResource:
|
|
@@ -361,9 +401,7 @@ class ExtractResource:
|
|
|
361
401
|
file: Optional[FileInput] = None,
|
|
362
402
|
idempotency_key: Optional[str] = None,
|
|
363
403
|
) -> Any:
|
|
364
|
-
return self._submit(
|
|
365
|
-
"/extract", request, file=file, idempotency_key=idempotency_key
|
|
366
|
-
)
|
|
404
|
+
return self._submit(extract_sync, request, file=file, idempotency_key=idempotency_key)
|
|
367
405
|
|
|
368
406
|
def async_(
|
|
369
407
|
self,
|
|
@@ -372,9 +410,7 @@ class ExtractResource:
|
|
|
372
410
|
file: Optional[FileInput] = None,
|
|
373
411
|
idempotency_key: Optional[str] = None,
|
|
374
412
|
) -> Any:
|
|
375
|
-
return self._submit(
|
|
376
|
-
"/extract/async", request, file=file, idempotency_key=idempotency_key
|
|
377
|
-
)
|
|
413
|
+
return self._submit(extract_async, request, file=file, idempotency_key=idempotency_key)
|
|
378
414
|
|
|
379
415
|
def batch(
|
|
380
416
|
self,
|
|
@@ -383,40 +419,26 @@ class ExtractResource:
|
|
|
383
419
|
files: Sequence[FileInput],
|
|
384
420
|
idempotency_key: Optional[str] = None,
|
|
385
421
|
) -> Any:
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
for item in files:
|
|
390
|
-
multipart.append(("files", to_upload_tuple(item)))
|
|
391
|
-
return self._root._request(
|
|
392
|
-
"POST",
|
|
393
|
-
"/extract/batch",
|
|
394
|
-
files=multipart,
|
|
395
|
-
headers={"Idempotency-Key": _idempotency_key(idempotency_key)},
|
|
396
|
-
)
|
|
422
|
+
parts = _request_parts(request)
|
|
423
|
+
parts.extend(("files", to_upload_tuple(item)) for item in files)
|
|
424
|
+
return _multipart_submit(self._root, extract_batch, parts, idempotency_key)
|
|
397
425
|
|
|
398
426
|
def suggest_schema(self, body: dict[str, Any]) -> Any:
|
|
399
|
-
|
|
427
|
+
kwargs = suggest_schema._get_kwargs(body=RawBody(json=body))
|
|
428
|
+
return self._root._request(kwargs)
|
|
400
429
|
|
|
401
430
|
def _submit(
|
|
402
431
|
self,
|
|
403
|
-
|
|
432
|
+
builder: Any,
|
|
404
433
|
request: dict[str, Any],
|
|
405
434
|
*,
|
|
406
435
|
file: Optional[FileInput],
|
|
407
436
|
idempotency_key: Optional[str],
|
|
408
437
|
) -> Any:
|
|
409
|
-
|
|
410
|
-
"request": (None, json.dumps(request), "application/json"),
|
|
411
|
-
}
|
|
438
|
+
parts = _request_parts(request)
|
|
412
439
|
if file is not None:
|
|
413
|
-
|
|
414
|
-
return self._root
|
|
415
|
-
"POST",
|
|
416
|
-
path,
|
|
417
|
-
files=multipart,
|
|
418
|
-
headers={"Idempotency-Key": _idempotency_key(idempotency_key)},
|
|
419
|
-
)
|
|
440
|
+
parts.append(("file", to_upload_tuple(file)))
|
|
441
|
+
return _multipart_submit(self._root, builder, parts, idempotency_key)
|
|
420
442
|
|
|
421
443
|
|
|
422
444
|
class JobsResource:
|
|
@@ -431,17 +453,13 @@ class JobsResource:
|
|
|
431
453
|
status: Optional[str] = None,
|
|
432
454
|
operation: Optional[str] = None,
|
|
433
455
|
) -> Any:
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
}
|
|
440
|
-
return self._root._request(
|
|
441
|
-
"GET",
|
|
442
|
-
"/jobs",
|
|
443
|
-
params={k: v for k, v in params.items() if v is not None} or None,
|
|
456
|
+
kwargs = list_jobs._get_kwargs(
|
|
457
|
+
cursor=optional(cursor),
|
|
458
|
+
limit=optional(limit),
|
|
459
|
+
status=optional_wire(status),
|
|
460
|
+
operation=optional_wire(operation),
|
|
444
461
|
)
|
|
462
|
+
return self._root._request(kwargs)
|
|
445
463
|
|
|
446
464
|
def get(
|
|
447
465
|
self,
|
|
@@ -450,12 +468,10 @@ class JobsResource:
|
|
|
450
468
|
cursor: Optional[str] = None,
|
|
451
469
|
limit: Optional[int] = None,
|
|
452
470
|
) -> Any:
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
"GET",
|
|
456
|
-
f"/jobs/{quote(job_id, safe='')}",
|
|
457
|
-
params={k: v for k, v in params.items() if v is not None} or None,
|
|
471
|
+
kwargs = get_job._get_kwargs(
|
|
472
|
+
job_id, cursor=optional(cursor), limit=optional(limit)
|
|
458
473
|
)
|
|
474
|
+
return self._root._request(kwargs)
|
|
459
475
|
|
|
460
476
|
def result(
|
|
461
477
|
self,
|
|
@@ -463,43 +479,26 @@ class JobsResource:
|
|
|
463
479
|
*,
|
|
464
480
|
format: Optional[ParseResultFormat] = None,
|
|
465
481
|
) -> Any:
|
|
466
|
-
|
|
467
|
-
return self._root._request(
|
|
468
|
-
"GET",
|
|
469
|
-
f"/jobs/{quote(job_id, safe='')}/result",
|
|
470
|
-
params=params,
|
|
471
|
-
)
|
|
482
|
+
kwargs = get_job_result._get_kwargs(job_id, format_=optional_wire(format))
|
|
483
|
+
return self._root._request(kwargs)
|
|
472
484
|
|
|
473
485
|
def source(self, job_id: str) -> bytes:
|
|
474
|
-
return self._root._request_bytes(
|
|
475
|
-
"GET", f"/jobs/{quote(job_id, safe='')}/source"
|
|
476
|
-
)
|
|
486
|
+
return self._root._request_bytes(get_job_source._get_kwargs(job_id))
|
|
477
487
|
|
|
478
488
|
def review(self, job_id: str) -> Any:
|
|
479
|
-
return self._root._request(
|
|
480
|
-
"GET", f"/jobs/{quote(job_id, safe='')}/review"
|
|
481
|
-
)
|
|
489
|
+
return self._root._request(get_extraction_review._get_kwargs(job_id))
|
|
482
490
|
|
|
483
491
|
def update_review(self, job_id: str, body: dict[str, Any]) -> Any:
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
f"/jobs/{quote(job_id, safe='')}/review",
|
|
487
|
-
json=body,
|
|
488
|
-
)
|
|
492
|
+
kwargs = update_extraction_review._get_kwargs(job_id, body=RawBody(json=body))
|
|
493
|
+
return self._root._request(kwargs)
|
|
489
494
|
|
|
490
495
|
def complete_review(self, job_id: str, body: dict[str, Any]) -> Any:
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
f"/jobs/{quote(job_id, safe='')}/review/complete",
|
|
494
|
-
json=body,
|
|
495
|
-
)
|
|
496
|
+
kwargs = complete_extraction_review._get_kwargs(job_id, body=RawBody(json=body))
|
|
497
|
+
return self._root._request(kwargs)
|
|
496
498
|
|
|
497
499
|
def reopen_review(self, job_id: str, body: dict[str, Any]) -> Any:
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
f"/jobs/{quote(job_id, safe='')}/review/reopen",
|
|
501
|
-
json=body,
|
|
502
|
-
)
|
|
500
|
+
kwargs = reopen_extraction_review._get_kwargs(job_id, body=RawBody(json=body))
|
|
501
|
+
return self._root._request(kwargs)
|
|
503
502
|
|
|
504
503
|
|
|
505
504
|
class FilesResource:
|
|
@@ -507,20 +506,19 @@ class FilesResource:
|
|
|
507
506
|
self._root = root
|
|
508
507
|
|
|
509
508
|
def upload(self, file: FileInput) -> Any:
|
|
510
|
-
|
|
511
|
-
|
|
509
|
+
kwargs = create_file._get_kwargs(
|
|
510
|
+
body=RawBody(multipart=[("file", to_upload_tuple(file))])
|
|
512
511
|
)
|
|
512
|
+
return self._root._request(kwargs)
|
|
513
513
|
|
|
514
514
|
def get(self, file_id: str) -> Any:
|
|
515
|
-
return self._root._request(
|
|
515
|
+
return self._root._request(get_file._get_kwargs(file_id))
|
|
516
516
|
|
|
517
517
|
def download(self, file_id: str) -> bytes:
|
|
518
|
-
return self._root._request_bytes(
|
|
519
|
-
"GET", f"/files/{quote(file_id, safe='')}/content"
|
|
520
|
-
)
|
|
518
|
+
return self._root._request_bytes(get_file_content._get_kwargs(file_id))
|
|
521
519
|
|
|
522
520
|
def delete(self, file_id: str) -> Any:
|
|
523
|
-
return self._root._request(
|
|
521
|
+
return self._root._request(delete_file._get_kwargs(file_id))
|
|
524
522
|
|
|
525
523
|
|
|
526
524
|
class ModelsResource:
|
|
@@ -528,7 +526,7 @@ class ModelsResource:
|
|
|
528
526
|
self._root = root
|
|
529
527
|
|
|
530
528
|
def list_ocr(self) -> Any:
|
|
531
|
-
return self._root._request(
|
|
529
|
+
return self._root._request(list_ocr_models._get_kwargs())
|
|
532
530
|
|
|
533
531
|
def list_llm(
|
|
534
532
|
self,
|
|
@@ -538,12 +536,13 @@ class ModelsResource:
|
|
|
538
536
|
page: Optional[int] = None,
|
|
539
537
|
limit: Optional[int] = None,
|
|
540
538
|
) -> Any:
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
539
|
+
kwargs = list_llm_models._get_kwargs(
|
|
540
|
+
mode=Wire(mode),
|
|
541
|
+
q=optional(q),
|
|
542
|
+
page=optional(page),
|
|
543
|
+
limit=optional(limit),
|
|
546
544
|
)
|
|
545
|
+
return self._root._request(kwargs)
|
|
547
546
|
|
|
548
547
|
|
|
549
548
|
class PipelinesResource:
|
|
@@ -551,22 +550,20 @@ class PipelinesResource:
|
|
|
551
550
|
self._root = root
|
|
552
551
|
|
|
553
552
|
def list(self) -> Any:
|
|
554
|
-
return self._root._request(
|
|
553
|
+
return self._root._request(list_extraction_pipelines._get_kwargs())
|
|
555
554
|
|
|
556
555
|
def get(self, pipeline_id: str) -> Any:
|
|
557
|
-
return self._root._request(
|
|
556
|
+
return self._root._request(get_extraction_pipeline._get_kwargs(pipeline_id))
|
|
558
557
|
|
|
559
558
|
def create(self, body: dict[str, Any]) -> Any:
|
|
560
|
-
|
|
559
|
+
kwargs = create_extraction_pipeline._get_kwargs(body=RawBody(json=body))
|
|
560
|
+
return self._root._request(kwargs)
|
|
561
561
|
|
|
562
562
|
def update(self, pipeline_id: str, body: dict[str, Any]) -> Any:
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
f"/pipelines/{quote(pipeline_id, safe='')}",
|
|
566
|
-
json=body,
|
|
563
|
+
kwargs = update_extraction_pipeline._get_kwargs(
|
|
564
|
+
pipeline_id, body=RawBody(json=body)
|
|
567
565
|
)
|
|
566
|
+
return self._root._request(kwargs)
|
|
568
567
|
|
|
569
568
|
def delete(self, pipeline_id: str) -> Any:
|
|
570
|
-
return self._root._request(
|
|
571
|
-
"DELETE", f"/pipelines/{quote(pipeline_id, safe='')}"
|
|
572
|
-
)
|
|
569
|
+
return self._root._request(delete_extraction_pipeline._get_kwargs(pipeline_id))
|