mindee-lite 5.0.0.beta1
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.
- checksums.yaml +7 -0
- data/.editorconfig +24 -0
- data/.gitattributes +14 -0
- data/.gitignore +76 -0
- data/.gitmodules +3 -0
- data/.pre-commit-config.yaml +36 -0
- data/.rubocop.yml +49 -0
- data/.yardopts +4 -0
- data/CHANGELOG.md +515 -0
- data/CODE_OF_CONDUCT.md +129 -0
- data/CONTRIBUTING.md +107 -0
- data/Gemfile +14 -0
- data/LICENSE +21 -0
- data/README.md +42 -0
- data/Rakefile +40 -0
- data/Steepfile +30 -0
- data/bin/console +14 -0
- data/bin/mindee.rb +30 -0
- data/bin/v1/parser.rb +153 -0
- data/bin/v1/products.rb +88 -0
- data/bin/v2/parser.rb +235 -0
- data/bin/v2/products.rb +34 -0
- data/docs/code_samples/bank_account_details_v1.txt +24 -0
- data/docs/code_samples/bank_account_details_v2.txt +24 -0
- data/docs/code_samples/bank_statement_fr_v2_async.txt +24 -0
- data/docs/code_samples/barcode_reader_v1.txt +24 -0
- data/docs/code_samples/cropper_v1.txt +21 -0
- data/docs/code_samples/default.txt +30 -0
- data/docs/code_samples/default_async.txt +29 -0
- data/docs/code_samples/expense_receipts_v5.txt +25 -0
- data/docs/code_samples/expense_receipts_v5_async.txt +24 -0
- data/docs/code_samples/financial_document_v1.txt +25 -0
- data/docs/code_samples/financial_document_v1_async.txt +24 -0
- data/docs/code_samples/idcard_fr_v1.txt +24 -0
- data/docs/code_samples/idcard_fr_v2.txt +24 -0
- data/docs/code_samples/international_id_v2_async.txt +24 -0
- data/docs/code_samples/invoice_splitter_v1_async.txt +24 -0
- data/docs/code_samples/invoices_v4.txt +25 -0
- data/docs/code_samples/invoices_v4_async.txt +24 -0
- data/docs/code_samples/multi_receipts_detector_v1.txt +24 -0
- data/docs/code_samples/passport_v1.txt +24 -0
- data/docs/code_samples/resume_v1_async.txt +24 -0
- data/docs/code_samples/v2_classification.txt +30 -0
- data/docs/code_samples/v2_crop.txt +30 -0
- data/docs/code_samples/v2_extraction.txt +42 -0
- data/docs/code_samples/v2_extraction_webhook.txt +45 -0
- data/docs/code_samples/v2_ocr.txt +30 -0
- data/docs/code_samples/v2_split.txt +30 -0
- data/docs/code_samples/workflow_execution.txt +28 -0
- data/docs/code_samples/workflow_polling.txt +35 -0
- data/examples/auto_invoice_splitter_extraction.rb +48 -0
- data/examples/auto_multi_receipts_detector_extraction.rb +30 -0
- data/lib/mindee/dependency.rb +29 -0
- data/lib/mindee/error/mindee_error.rb +17 -0
- data/lib/mindee/error/mindee_http_error.rb +36 -0
- data/lib/mindee/error/mindee_http_error_v2.rb +45 -0
- data/lib/mindee/error/mindee_http_unknown_error_v2.rb +18 -0
- data/lib/mindee/error/mindee_input_error.rb +30 -0
- data/lib/mindee/error.rb +6 -0
- data/lib/mindee/geometry/min_max.rb +23 -0
- data/lib/mindee/geometry/point.rb +41 -0
- data/lib/mindee/geometry/polygon.rb +37 -0
- data/lib/mindee/geometry/quadrilateral.rb +50 -0
- data/lib/mindee/geometry/utils.rb +88 -0
- data/lib/mindee/geometry.rb +7 -0
- data/lib/mindee/http/.rubocop.yml +7 -0
- data/lib/mindee/http/http_error_handler.rb +106 -0
- data/lib/mindee/http/response_validation.rb +81 -0
- data/lib/mindee/http.rb +3 -0
- data/lib/mindee/image/extracted_image.rb +89 -0
- data/lib/mindee/image/image_compressor.rb +29 -0
- data/lib/mindee/image/image_extractor.rb +118 -0
- data/lib/mindee/image/image_utils.rb +165 -0
- data/lib/mindee/image.rb +6 -0
- data/lib/mindee/input/base_parameters.rb +149 -0
- data/lib/mindee/input/local_response.rb +80 -0
- data/lib/mindee/input/polling_options.rb +26 -0
- data/lib/mindee/input/sources/base64_input_source.rb +31 -0
- data/lib/mindee/input/sources/bytes_input_source.rb +21 -0
- data/lib/mindee/input/sources/file_input_source.rb +20 -0
- data/lib/mindee/input/sources/local_input_source.rb +216 -0
- data/lib/mindee/input/sources/path_input_source.rb +20 -0
- data/lib/mindee/input/sources/url_input_source.rb +130 -0
- data/lib/mindee/input/sources.rb +8 -0
- data/lib/mindee/input.rb +4 -0
- data/lib/mindee/logging/logger.rb +24 -0
- data/lib/mindee/logging.rb +3 -0
- data/lib/mindee/page_options.rb +24 -0
- data/lib/mindee/pdf/extracted_pdf.rb +70 -0
- data/lib/mindee/pdf/pdf_compressor.rb +121 -0
- data/lib/mindee/pdf/pdf_extractor.rb +121 -0
- data/lib/mindee/pdf/pdf_processor.rb +91 -0
- data/lib/mindee/pdf/pdf_tools.rb +201 -0
- data/lib/mindee/pdf.rb +7 -0
- data/lib/mindee/v1/client.rb +490 -0
- data/lib/mindee/v1/extraction/multi_receipts_extractor.rb +32 -0
- data/lib/mindee/v1/extraction.rb +3 -0
- data/lib/mindee/v1/http/.rubocop.yml +7 -0
- data/lib/mindee/v1/http/endpoint.rb +221 -0
- data/lib/mindee/v1/http/workflow_endpoint.rb +93 -0
- data/lib/mindee/v1/http.rb +4 -0
- data/lib/mindee/v1/parsing/common/api_request.rb +38 -0
- data/lib/mindee/v1/parsing/common/api_response.rb +63 -0
- data/lib/mindee/v1/parsing/common/document.rb +86 -0
- data/lib/mindee/v1/parsing/common/execution.rb +78 -0
- data/lib/mindee/v1/parsing/common/execution_file.rb +26 -0
- data/lib/mindee/v1/parsing/common/execution_priority.rb +38 -0
- data/lib/mindee/v1/parsing/common/extras/cropper_extra.rb +32 -0
- data/lib/mindee/v1/parsing/common/extras/extras.rb +62 -0
- data/lib/mindee/v1/parsing/common/extras/full_text_ocr_extra.rb +35 -0
- data/lib/mindee/v1/parsing/common/extras/rag_extra.rb +28 -0
- data/lib/mindee/v1/parsing/common/extras.rb +6 -0
- data/lib/mindee/v1/parsing/common/inference.rb +69 -0
- data/lib/mindee/v1/parsing/common/job.rb +48 -0
- data/lib/mindee/v1/parsing/common/ocr/mvision_v1.rb +52 -0
- data/lib/mindee/v1/parsing/common/ocr/ocr.rb +180 -0
- data/lib/mindee/v1/parsing/common/ocr.rb +3 -0
- data/lib/mindee/v1/parsing/common/orientation.rb +28 -0
- data/lib/mindee/v1/parsing/common/page.rb +49 -0
- data/lib/mindee/v1/parsing/common/prediction.rb +19 -0
- data/lib/mindee/v1/parsing/common/product.rb +26 -0
- data/lib/mindee/v1/parsing/common/workflow_response.rb +30 -0
- data/lib/mindee/v1/parsing/common.rb +15 -0
- data/lib/mindee/v1/parsing/standard/abstract_field.rb +74 -0
- data/lib/mindee/v1/parsing/standard/address_field.rb +51 -0
- data/lib/mindee/v1/parsing/standard/amount_field.rb +28 -0
- data/lib/mindee/v1/parsing/standard/base_field.rb +30 -0
- data/lib/mindee/v1/parsing/standard/boolean_field.rb +29 -0
- data/lib/mindee/v1/parsing/standard/classification_field.rb +18 -0
- data/lib/mindee/v1/parsing/standard/company_registration_field.rb +45 -0
- data/lib/mindee/v1/parsing/standard/date_field.rb +40 -0
- data/lib/mindee/v1/parsing/standard/feature_field.rb +26 -0
- data/lib/mindee/v1/parsing/standard/locale_field.rb +52 -0
- data/lib/mindee/v1/parsing/standard/payment_details_field.rb +44 -0
- data/lib/mindee/v1/parsing/standard/position_field.rb +61 -0
- data/lib/mindee/v1/parsing/standard/string_field.rb +26 -0
- data/lib/mindee/v1/parsing/standard/tax_field.rb +110 -0
- data/lib/mindee/v1/parsing/standard.rb +15 -0
- data/lib/mindee/v1/parsing/universal/universal_list_field.rb +60 -0
- data/lib/mindee/v1/parsing/universal/universal_object_field.rb +123 -0
- data/lib/mindee/v1/parsing/universal.rb +4 -0
- data/lib/mindee/v1/parsing.rb +5 -0
- data/lib/mindee/v1/product/.rubocop.yml +12 -0
- data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1.rb +47 -0
- data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1_document.rb +47 -0
- data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1_page.rb +38 -0
- data/lib/mindee/v1/product/cropper/cropper_v1.rb +47 -0
- data/lib/mindee/v1/product/cropper/cropper_v1_document.rb +15 -0
- data/lib/mindee/v1/product/cropper/cropper_v1_page.rb +55 -0
- data/lib/mindee/v1/product/financial_document/financial_document_v1.rb +47 -0
- data/lib/mindee/v1/product/financial_document/financial_document_v1_document.rb +329 -0
- data/lib/mindee/v1/product/financial_document/financial_document_v1_line_item.rb +124 -0
- data/lib/mindee/v1/product/financial_document/financial_document_v1_line_items.rb +64 -0
- data/lib/mindee/v1/product/financial_document/financial_document_v1_page.rb +38 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1.rb +49 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_document.rb +49 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_page.rb +40 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2.rb +49 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_bban.rb +63 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_document.rb +60 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_page.rb +40 -0
- data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2.rb +49 -0
- data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_document.rb +169 -0
- data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_page.rb +40 -0
- data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_transaction.rb +78 -0
- data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_transactions.rb +56 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v1.rb +49 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v1_document.rb +106 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v1_page.rb +57 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v2.rb +49 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v2_document.rb +143 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v2_page.rb +65 -0
- data/lib/mindee/v1/product/international_id/international_id_v2.rb +47 -0
- data/lib/mindee/v1/product/international_id/international_id_v2_document.rb +164 -0
- data/lib/mindee/v1/product/international_id/international_id_v2_page.rb +38 -0
- data/lib/mindee/v1/product/invoice/invoice_v4.rb +47 -0
- data/lib/mindee/v1/product/invoice/invoice_v4_document.rb +300 -0
- data/lib/mindee/v1/product/invoice/invoice_v4_line_item.rb +124 -0
- data/lib/mindee/v1/product/invoice/invoice_v4_line_items.rb +64 -0
- data/lib/mindee/v1/product/invoice/invoice_v4_page.rb +38 -0
- data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1.rb +47 -0
- data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.rb +66 -0
- data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.rb +58 -0
- data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_groups.rb +50 -0
- data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_page.rb +38 -0
- data/lib/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1.rb +47 -0
- data/lib/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_document.rb +38 -0
- data/lib/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_page.rb +38 -0
- data/lib/mindee/v1/product/passport/passport_v1.rb +47 -0
- data/lib/mindee/v1/product/passport/passport_v1_document.rb +112 -0
- data/lib/mindee/v1/product/passport/passport_v1_page.rb +38 -0
- data/lib/mindee/v1/product/receipt/receipt_v5.rb +47 -0
- data/lib/mindee/v1/product/receipt/receipt_v5_document.rb +187 -0
- data/lib/mindee/v1/product/receipt/receipt_v5_line_item.rb +88 -0
- data/lib/mindee/v1/product/receipt/receipt_v5_line_items.rb +56 -0
- data/lib/mindee/v1/product/receipt/receipt_v5_page.rb +38 -0
- data/lib/mindee/v1/product/resume/resume_v1.rb +47 -0
- data/lib/mindee/v1/product/resume/resume_v1_certificate.rb +82 -0
- data/lib/mindee/v1/product/resume/resume_v1_certificates.rb +60 -0
- data/lib/mindee/v1/product/resume/resume_v1_document.rb +340 -0
- data/lib/mindee/v1/product/resume/resume_v1_education.rb +106 -0
- data/lib/mindee/v1/product/resume/resume_v1_educations.rb +66 -0
- data/lib/mindee/v1/product/resume/resume_v1_language.rb +66 -0
- data/lib/mindee/v1/product/resume/resume_v1_languages.rb +56 -0
- data/lib/mindee/v1/product/resume/resume_v1_page.rb +38 -0
- data/lib/mindee/v1/product/resume/resume_v1_professional_experience.rb +122 -0
- data/lib/mindee/v1/product/resume/resume_v1_professional_experiences.rb +70 -0
- data/lib/mindee/v1/product/resume/resume_v1_social_networks_url.rb +66 -0
- data/lib/mindee/v1/product/resume/resume_v1_social_networks_urls.rb +56 -0
- data/lib/mindee/v1/product/universal/universal.rb +48 -0
- data/lib/mindee/v1/product/universal/universal_document.rb +35 -0
- data/lib/mindee/v1/product/universal/universal_page.rb +54 -0
- data/lib/mindee/v1/product/universal/universal_prediction.rb +128 -0
- data/lib/mindee/v1/product.rb +18 -0
- data/lib/mindee/v1.rb +7 -0
- data/lib/mindee/v2/client.rb +132 -0
- data/lib/mindee/v2/file_operation/crop.rb +51 -0
- data/lib/mindee/v2/file_operation/crop_files.rb +25 -0
- data/lib/mindee/v2/file_operation/split.rb +37 -0
- data/lib/mindee/v2/file_operation/split_files.rb +25 -0
- data/lib/mindee/v2/file_operation.rb +6 -0
- data/lib/mindee/v2/http/.rubocop.yml +7 -0
- data/lib/mindee/v2/http/api_v2_settings.rb +65 -0
- data/lib/mindee/v2/http/mindee_api_v2.rb +230 -0
- data/lib/mindee/v2/http.rb +4 -0
- data/lib/mindee/v2/parsing/base_inference.rb +44 -0
- data/lib/mindee/v2/parsing/base_response.rb +15 -0
- data/lib/mindee/v2/parsing/common_response.rb +20 -0
- data/lib/mindee/v2/parsing/error_item.rb +21 -0
- data/lib/mindee/v2/parsing/error_response.rb +51 -0
- data/lib/mindee/v2/parsing/field/base_field.rb +63 -0
- data/lib/mindee/v2/parsing/field/field_confidence.rb +128 -0
- data/lib/mindee/v2/parsing/field/field_location.rb +33 -0
- data/lib/mindee/v2/parsing/field/inference_fields.rb +105 -0
- data/lib/mindee/v2/parsing/field/list_field.rb +79 -0
- data/lib/mindee/v2/parsing/field/object_field.rb +138 -0
- data/lib/mindee/v2/parsing/field/simple_field.rb +60 -0
- data/lib/mindee/v2/parsing/field.rb +9 -0
- data/lib/mindee/v2/parsing/inference_active_options.rb +67 -0
- data/lib/mindee/v2/parsing/inference_file.rb +38 -0
- data/lib/mindee/v2/parsing/inference_job.rb +25 -0
- data/lib/mindee/v2/parsing/inference_model.rb +30 -0
- data/lib/mindee/v2/parsing/job.rb +93 -0
- data/lib/mindee/v2/parsing/job_response.rb +30 -0
- data/lib/mindee/v2/parsing/job_webhook.rb +59 -0
- data/lib/mindee/v2/parsing/rag_metadata.rb +17 -0
- data/lib/mindee/v2/parsing/raw_text.rb +27 -0
- data/lib/mindee/v2/parsing/raw_text_page.rb +24 -0
- data/lib/mindee/v2/parsing/search/pagination_metadata.rb +44 -0
- data/lib/mindee/v2/parsing/search/search_model.rb +38 -0
- data/lib/mindee/v2/parsing/search/search_models.rb +34 -0
- data/lib/mindee/v2/parsing/search/search_response.rb +38 -0
- data/lib/mindee/v2/parsing/search.rb +6 -0
- data/lib/mindee/v2/parsing.rb +16 -0
- data/lib/mindee/v2/product/base_product.rb +28 -0
- data/lib/mindee/v2/product/classification/classification.rb +20 -0
- data/lib/mindee/v2/product/classification/classification_classifier.rb +25 -0
- data/lib/mindee/v2/product/classification/classification_inference.rb +35 -0
- data/lib/mindee/v2/product/classification/classification_response.rb +32 -0
- data/lib/mindee/v2/product/classification/classification_result.rb +27 -0
- data/lib/mindee/v2/product/classification/params/classification_parameters.rb +47 -0
- data/lib/mindee/v2/product/crop/crop.rb +20 -0
- data/lib/mindee/v2/product/crop/crop_inference.rb +34 -0
- data/lib/mindee/v2/product/crop/crop_item.rb +39 -0
- data/lib/mindee/v2/product/crop/crop_response.rb +40 -0
- data/lib/mindee/v2/product/crop/crop_result.rb +34 -0
- data/lib/mindee/v2/product/crop/params/crop_parameters.rb +47 -0
- data/lib/mindee/v2/product/extraction/extraction.rb +21 -0
- data/lib/mindee/v2/product/extraction/extraction_inference.rb +40 -0
- data/lib/mindee/v2/product/extraction/extraction_response.rb +32 -0
- data/lib/mindee/v2/product/extraction/extraction_result.rb +44 -0
- data/lib/mindee/v2/product/extraction/params/data_schema.rb +51 -0
- data/lib/mindee/v2/product/extraction/params/data_schema_field.rb +69 -0
- data/lib/mindee/v2/product/extraction/params/data_schema_replace.rb +39 -0
- data/lib/mindee/v2/product/extraction/params/extraction_parameters.rb +125 -0
- data/lib/mindee/v2/product/ocr/ocr.rb +20 -0
- data/lib/mindee/v2/product/ocr/ocr_inference.rb +34 -0
- data/lib/mindee/v2/product/ocr/ocr_page.rb +33 -0
- data/lib/mindee/v2/product/ocr/ocr_response.rb +32 -0
- data/lib/mindee/v2/product/ocr/ocr_result.rb +34 -0
- data/lib/mindee/v2/product/ocr/ocr_word.rb +29 -0
- data/lib/mindee/v2/product/ocr/params/ocr_parameters.rb +47 -0
- data/lib/mindee/v2/product/split/params/split_parameters.rb +48 -0
- data/lib/mindee/v2/product/split/split.rb +19 -0
- data/lib/mindee/v2/product/split/split_inference.rb +34 -0
- data/lib/mindee/v2/product/split/split_range.rb +38 -0
- data/lib/mindee/v2/product/split/split_response.rb +40 -0
- data/lib/mindee/v2/product/split/split_result.rb +34 -0
- data/lib/mindee/v2/product.rb +7 -0
- data/lib/mindee/v2.rb +7 -0
- data/lib/mindee/version.rb +26 -0
- data/lib/mindee.rb +135 -0
- data/mindee-lite.gemspec +36 -0
- data/mindee.gemspec +44 -0
- data/sig/custom/marcel.rbs +3 -0
- data/sig/custom/mini_magick.rbs +31 -0
- data/sig/custom/net_http.rbs +43 -0
- data/sig/custom/origami.rbs +59 -0
- data/sig/mindee/dependency.rbs +13 -0
- data/sig/mindee/error/mindee_error.rbs +13 -0
- data/sig/mindee/error/mindee_http_error.rbs +17 -0
- data/sig/mindee/error/mindee_http_error_v2.rbs +15 -0
- data/sig/mindee/error/mindee_http_unknown_error_v2.rbs +9 -0
- data/sig/mindee/error/mindee_input_error.rbs +18 -0
- data/sig/mindee/geometry/min_max.rbs +11 -0
- data/sig/mindee/geometry/point.rbs +14 -0
- data/sig/mindee/geometry/polygon.rbs +12 -0
- data/sig/mindee/geometry/quadrilateral.rbs +15 -0
- data/sig/mindee/geometry/utils.rbs +13 -0
- data/sig/mindee/http/http_error_handler.rbs +15 -0
- data/sig/mindee/http/response_validation.rbs +11 -0
- data/sig/mindee/image/extracted_image.rbs +21 -0
- data/sig/mindee/image/image_compressor.rbs +8 -0
- data/sig/mindee/image/image_extractor.rbs +13 -0
- data/sig/mindee/image/image_utils.rbs +19 -0
- data/sig/mindee/input/base_parameters.rbs +35 -0
- data/sig/mindee/input/local_response.rbs +14 -0
- data/sig/mindee/input/polling_options.rbs +12 -0
- data/sig/mindee/input/sources/base64_input_source.rbs +11 -0
- data/sig/mindee/input/sources/bytes_input_source.rbs +10 -0
- data/sig/mindee/input/sources/file_input_source.rbs +10 -0
- data/sig/mindee/input/sources/local_input_source.rbs +30 -0
- data/sig/mindee/input/sources/path_input_source.rbs +10 -0
- data/sig/mindee/input/sources/url_input_source.rbs +20 -0
- data/sig/mindee/logging/logger.rbs +11 -0
- data/sig/mindee/page_options.rbs +11 -0
- data/sig/mindee/pdf/extracted_pdf.rbs +17 -0
- data/sig/mindee/pdf/pdf_compressor.rbs +15 -0
- data/sig/mindee/pdf/pdf_extractor.rbs +19 -0
- data/sig/mindee/pdf/pdf_processor.rbs +12 -0
- data/sig/mindee/pdf/pdf_tools.rbs +31 -0
- data/sig/mindee/v1/client.rbs +84 -0
- data/sig/mindee/v1/extraction/multi_receipts_extractor.rbs +8 -0
- data/sig/mindee/v1/http/endpoint.rbs +41 -0
- data/sig/mindee/v1/http/workflow_endpoint.rbs +22 -0
- data/sig/mindee/v1/parsing/common/api_request.rbs +22 -0
- data/sig/mindee/v1/parsing/common/api_response.rbs +31 -0
- data/sig/mindee/v1/parsing/common/document.rbs +32 -0
- data/sig/mindee/v1/parsing/common/execution.rbs +26 -0
- data/sig/mindee/v1/parsing/common/execution_file.rbs +16 -0
- data/sig/mindee/v1/parsing/common/execution_priority.rbs +16 -0
- data/sig/mindee/v1/parsing/common/extras/cropper_extra.rbs +18 -0
- data/sig/mindee/v1/parsing/common/extras/extras.rbs +24 -0
- data/sig/mindee/v1/parsing/common/extras/full_text_ocr_extra.rbs +22 -0
- data/sig/mindee/v1/parsing/common/extras/rag_extra.rbs +19 -0
- data/sig/mindee/v1/parsing/common/inference.rbs +31 -0
- data/sig/mindee/v1/parsing/common/job.rbs +24 -0
- data/sig/mindee/v1/parsing/common/ocr/mvision_v1.rbs +20 -0
- data/sig/mindee/v1/parsing/common/ocr/ocr.rbs +56 -0
- data/sig/mindee/v1/parsing/common/orientation.rbs +15 -0
- data/sig/mindee/v1/parsing/common/page.rbs +19 -0
- data/sig/mindee/v1/parsing/common/prediction.rbs +14 -0
- data/sig/mindee/v1/parsing/common/product.rbs +16 -0
- data/sig/mindee/v1/parsing/common/workflow_response.rbs +22 -0
- data/sig/mindee/v1/parsing/standard/abstract_field.rbs +30 -0
- data/sig/mindee/v1/parsing/standard/address_field.rbs +28 -0
- data/sig/mindee/v1/parsing/standard/amount_field.rbs +16 -0
- data/sig/mindee/v1/parsing/standard/base_field.rbs +16 -0
- data/sig/mindee/v1/parsing/standard/boolean_field.rbs +16 -0
- data/sig/mindee/v1/parsing/standard/classification_field.rbs +12 -0
- data/sig/mindee/v1/parsing/standard/company_registration_field.rbs +20 -0
- data/sig/mindee/v1/parsing/standard/date_field.rbs +20 -0
- data/sig/mindee/v1/parsing/standard/feature_field.rbs +12 -0
- data/sig/mindee/v1/parsing/standard/locale_field.rbs +24 -0
- data/sig/mindee/v1/parsing/standard/payment_details_field.rbs +19 -0
- data/sig/mindee/v1/parsing/standard/position_field.rbs +26 -0
- data/sig/mindee/v1/parsing/standard/string_field.rbs +16 -0
- data/sig/mindee/v1/parsing/standard/tax_field.rbs +33 -0
- data/sig/mindee/v1/parsing/universal/universal_list_field.rbs +21 -0
- data/sig/mindee/v1/parsing/universal/universal_object_field.rbs +38 -0
- data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1.rbs +13 -0
- data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1_document.rbs +16 -0
- data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1_page.rbs +17 -0
- data/sig/mindee/v1/product/cropper/cropper_v1.rbs +13 -0
- data/sig/mindee/v1/product/cropper/cropper_v1_document.rbs +14 -0
- data/sig/mindee/v1/product/cropper/cropper_v1_page.rbs +19 -0
- data/sig/mindee/v1/product/financial_document/financial_document_v1.rbs +13 -0
- data/sig/mindee/v1/product/financial_document/financial_document_v1_document.rbs +49 -0
- data/sig/mindee/v1/product/financial_document/financial_document_v1_line_item.rbs +35 -0
- data/sig/mindee/v1/product/financial_document/financial_document_v1_line_items.rbs +15 -0
- data/sig/mindee/v1/product/financial_document/financial_document_v1_page.rbs +17 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1.rbs +15 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_document.rbs +19 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_page.rbs +19 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2.rbs +15 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_bban.rbs +25 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_document.rbs +20 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_page.rbs +19 -0
- data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2.rbs +15 -0
- data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_document.rbs +31 -0
- data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_page.rbs +19 -0
- data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_transaction.rbs +27 -0
- data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_transactions.rbs +17 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v1.rbs +15 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v1_document.rbs +26 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v1_page.rbs +20 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v2.rbs +15 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v2_document.rbs +31 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v2_page.rbs +21 -0
- data/sig/mindee/v1/product/international_id/international_id_v2.rbs +13 -0
- data/sig/mindee/v1/product/international_id/international_id_v2_document.rbs +31 -0
- data/sig/mindee/v1/product/international_id/international_id_v2_page.rbs +17 -0
- data/sig/mindee/v1/product/invoice/invoice_v4.rbs +13 -0
- data/sig/mindee/v1/product/invoice/invoice_v4_document.rbs +45 -0
- data/sig/mindee/v1/product/invoice/invoice_v4_line_item.rbs +35 -0
- data/sig/mindee/v1/product/invoice/invoice_v4_line_items.rbs +15 -0
- data/sig/mindee/v1/product/invoice/invoice_v4_page.rbs +17 -0
- data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1.rbs +13 -0
- data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.rbs +17 -0
- data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.rbs +21 -0
- data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_groups.rbs +15 -0
- data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_page.rbs +17 -0
- data/sig/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1.rbs +14 -0
- data/sig/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_document.rbs +15 -0
- data/sig/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_page.rbs +17 -0
- data/sig/mindee/v1/product/passport/passport_v1.rbs +13 -0
- data/sig/mindee/v1/product/passport/passport_v1_document.rbs +25 -0
- data/sig/mindee/v1/product/passport/passport_v1_page.rbs +17 -0
- data/sig/mindee/v1/product/receipt/receipt_v5.rbs +13 -0
- data/sig/mindee/v1/product/receipt/receipt_v5_document.rbs +33 -0
- data/sig/mindee/v1/product/receipt/receipt_v5_line_item.rbs +27 -0
- data/sig/mindee/v1/product/receipt/receipt_v5_line_items.rbs +15 -0
- data/sig/mindee/v1/product/receipt/receipt_v5_page.rbs +17 -0
- data/sig/mindee/v1/product/resume/resume_v1.rbs +13 -0
- data/sig/mindee/v1/product/resume/resume_v1_certificate.rbs +27 -0
- data/sig/mindee/v1/product/resume/resume_v1_certificates.rbs +17 -0
- data/sig/mindee/v1/product/resume/resume_v1_document.rbs +69 -0
- data/sig/mindee/v1/product/resume/resume_v1_education.rbs +33 -0
- data/sig/mindee/v1/product/resume/resume_v1_educations.rbs +17 -0
- data/sig/mindee/v1/product/resume/resume_v1_language.rbs +23 -0
- data/sig/mindee/v1/product/resume/resume_v1_languages.rbs +17 -0
- data/sig/mindee/v1/product/resume/resume_v1_page.rbs +19 -0
- data/sig/mindee/v1/product/resume/resume_v1_professional_experience.rbs +37 -0
- data/sig/mindee/v1/product/resume/resume_v1_professional_experiences.rbs +17 -0
- data/sig/mindee/v1/product/resume/resume_v1_social_networks_url.rbs +23 -0
- data/sig/mindee/v1/product/resume/resume_v1_social_networks_urls.rbs +17 -0
- data/sig/mindee/v1/product/universal/universal.rbs +16 -0
- data/sig/mindee/v1/product/universal/universal_document.rbs +12 -0
- data/sig/mindee/v1/product/universal/universal_page.rbs +18 -0
- data/sig/mindee/v1/product/universal/universal_prediction.rbs +30 -0
- data/sig/mindee/v2/client.rbs +29 -0
- data/sig/mindee/v2/file_operation/crop.rbs +10 -0
- data/sig/mindee/v2/file_operation/crop_files.rbs +9 -0
- data/sig/mindee/v2/file_operation/split.rbs +11 -0
- data/sig/mindee/v2/file_operation/split_files.rbs +9 -0
- data/sig/mindee/v2/http/api_v2_settings.rbs +27 -0
- data/sig/mindee/v2/http/mindee_api_v2.rbs +52 -0
- data/sig/mindee/v2/parsing/base_inference.rbs +18 -0
- data/sig/mindee/v2/parsing/base_response.rbs +11 -0
- data/sig/mindee/v2/parsing/common_response.rbs +12 -0
- data/sig/mindee/v2/parsing/error_item.rbs +13 -0
- data/sig/mindee/v2/parsing/error_response.rbs +20 -0
- data/sig/mindee/v2/parsing/field/base_field.rbs +17 -0
- data/sig/mindee/v2/parsing/field/field_confidence.rbs +30 -0
- data/sig/mindee/v2/parsing/field/field_location.rbs +16 -0
- data/sig/mindee/v2/parsing/field/inference_fields.rbs +20 -0
- data/sig/mindee/v2/parsing/field/list_field.rbs +23 -0
- data/sig/mindee/v2/parsing/field/object_field.rbs +27 -0
- data/sig/mindee/v2/parsing/field/simple_field.rbs +16 -0
- data/sig/mindee/v2/parsing/inference_active_options.rbs +26 -0
- data/sig/mindee/v2/parsing/inference_file.rbs +17 -0
- data/sig/mindee/v2/parsing/inference_job.rbs +13 -0
- data/sig/mindee/v2/parsing/inference_model.rbs +12 -0
- data/sig/mindee/v2/parsing/job.rbs +24 -0
- data/sig/mindee/v2/parsing/job_response.rbs +14 -0
- data/sig/mindee/v2/parsing/job_webhook.rbs +19 -0
- data/sig/mindee/v2/parsing/rag_metadata.rbs +13 -0
- data/sig/mindee/v2/parsing/raw_text.rbs +12 -0
- data/sig/mindee/v2/parsing/raw_text_page.rbs +11 -0
- data/sig/mindee/v2/parsing/search/pagination_metadata.rbs +20 -0
- data/sig/mindee/v2/parsing/search/search_model.rbs +19 -0
- data/sig/mindee/v2/parsing/search/search_response.rbs +17 -0
- data/sig/mindee/v2/parsing/search_models.rbs +14 -0
- data/sig/mindee/v2/product/base_product.rbs +19 -0
- data/sig/mindee/v2/product/classification/classification.rbs +10 -0
- data/sig/mindee/v2/product/classification/classification_classifier.rbs +15 -0
- data/sig/mindee/v2/product/classification/classification_inference.rbs +15 -0
- data/sig/mindee/v2/product/classification/classification_response.rbs +23 -0
- data/sig/mindee/v2/product/classification/classification_result.rbs +15 -0
- data/sig/mindee/v2/product/classification/params/classification_parameters/classification_parameters.rbs +23 -0
- data/sig/mindee/v2/product/crop/crop.rbs +10 -0
- data/sig/mindee/v2/product/crop/crop_inference.rbs +14 -0
- data/sig/mindee/v2/product/crop/crop_item.rbs +18 -0
- data/sig/mindee/v2/product/crop/crop_response.rbs +25 -0
- data/sig/mindee/v2/product/crop/crop_result.rbs +14 -0
- data/sig/mindee/v2/product/crop/params/crop_parameters/crop_parameters.rbs +23 -0
- data/sig/mindee/v2/product/extraction/extraction.rbs +15 -0
- data/sig/mindee/v2/product/extraction/extraction_inference.rbs +19 -0
- data/sig/mindee/v2/product/extraction/extraction_response.rbs +24 -0
- data/sig/mindee/v2/product/extraction/extraction_result.rbs +18 -0
- data/sig/mindee/v2/product/extraction/params/data_schema.rbs +21 -0
- data/sig/mindee/v2/product/extraction/params/data_schema_field.rbs +29 -0
- data/sig/mindee/v2/product/extraction/params/data_schema_replace.rbs +21 -0
- data/sig/mindee/v2/product/extraction/params/extraction_parameters.rbs +38 -0
- data/sig/mindee/v2/product/ocr/ocr.rbs +10 -0
- data/sig/mindee/v2/product/ocr/ocr_inference.rbs +14 -0
- data/sig/mindee/v2/product/ocr/ocr_page.rbs +15 -0
- data/sig/mindee/v2/product/ocr/ocr_response.rbs +23 -0
- data/sig/mindee/v2/product/ocr/ocr_result.rbs +14 -0
- data/sig/mindee/v2/product/ocr/ocr_word.rbs +15 -0
- data/sig/mindee/v2/product/ocr/params/ocr_parameters/ocr_parameters.rbs +24 -0
- data/sig/mindee/v2/product/split/params/split_parameters/split_parameters.rbs +23 -0
- data/sig/mindee/v2/product/split/split.rbs +10 -0
- data/sig/mindee/v2/product/split/split_inference.rbs +14 -0
- data/sig/mindee/v2/product/split/split_range.rbs +18 -0
- data/sig/mindee/v2/product/split/split_response.rbs +25 -0
- data/sig/mindee/v2/product/split/split_result.rbs +14 -0
- data/sig/mindee/version.rbs +6 -0
- data/sig/mindee.rbs +62 -0
- metadata +600 -0
data/lib/mindee.rb
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'mindee/logging'
|
|
4
|
+
require 'mindee/page_options'
|
|
5
|
+
require 'mindee/v1'
|
|
6
|
+
require 'mindee/v2'
|
|
7
|
+
|
|
8
|
+
module Mindee
|
|
9
|
+
# Dependency management
|
|
10
|
+
module Dependency
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# Mindee internal error module.
|
|
14
|
+
module Error
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Custom extraction module
|
|
18
|
+
module Extraction
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Mindee internal http module.
|
|
22
|
+
module HTTP
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# PDF-specific operations.
|
|
26
|
+
module PDF
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# Document handling.
|
|
30
|
+
module Input
|
|
31
|
+
# Document source handling.
|
|
32
|
+
module Source
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
module Image
|
|
37
|
+
# Miscellaneous image operations.
|
|
38
|
+
module ImageUtils
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# Image compressor module to handle image compression.
|
|
42
|
+
module ImageCompressor
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Logging
|
|
47
|
+
module Logging
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Document input-related internals.
|
|
51
|
+
module Input
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# Collection of all internal products.
|
|
55
|
+
module Product
|
|
56
|
+
# Europe-specific products.
|
|
57
|
+
module EU
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# France-specific products.
|
|
61
|
+
module FR
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Indian-specific products.
|
|
65
|
+
module IND
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# US-specific products.
|
|
69
|
+
module US
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# V1-specific module.
|
|
74
|
+
module V1
|
|
75
|
+
# HTTP module for V1.
|
|
76
|
+
module HTTP
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# Parsing internals and fields.
|
|
80
|
+
module Parsing
|
|
81
|
+
# Common fields and functions.
|
|
82
|
+
module Common
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
# Standard fields and functions.
|
|
86
|
+
module Standard
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
# Universal fields and functions.
|
|
90
|
+
module Universal
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# V1-specific products.
|
|
95
|
+
module Product
|
|
96
|
+
# French products.
|
|
97
|
+
module FR
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# V2-specific module.
|
|
103
|
+
module V2
|
|
104
|
+
# Mindee internal http module.
|
|
105
|
+
module HTTP
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
# File operations.
|
|
109
|
+
module FileOperation
|
|
110
|
+
# Crop operations.
|
|
111
|
+
module Crop
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
# Split operations.
|
|
115
|
+
module Split
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
# Product-specific module.
|
|
120
|
+
module Product
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
# V2 parsing module.
|
|
124
|
+
module Parsing
|
|
125
|
+
# V2 search module.
|
|
126
|
+
module Search
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
# Shorthand to call the logger from anywhere.
|
|
133
|
+
def logger
|
|
134
|
+
Mindee::Logging.logger
|
|
135
|
+
end
|
data/mindee-lite.gemspec
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'lib/mindee/version'
|
|
4
|
+
|
|
5
|
+
Gem::Specification.new do |spec|
|
|
6
|
+
spec.name = 'mindee-lite'
|
|
7
|
+
spec.version = Mindee::VERSION
|
|
8
|
+
spec.authors = ['Mindee, SA']
|
|
9
|
+
spec.email = ['opensource@mindee.co']
|
|
10
|
+
|
|
11
|
+
spec.summary = 'Mindee API Helper Library for Ruby (Lite)'
|
|
12
|
+
spec.description = "Quickly and easily connect to Mindee's API services using Ruby. This lite version omits " \
|
|
13
|
+
'heavy image and PDF processing dependencies.'
|
|
14
|
+
spec.homepage = 'https://github.com/mindee/mindee-api-ruby'
|
|
15
|
+
spec.license = 'MIT'
|
|
16
|
+
|
|
17
|
+
spec.metadata['homepage_uri'] = 'https://mindee.com/'
|
|
18
|
+
spec.metadata['source_code_uri'] = 'https://github.com/mindee/mindee-api-ruby'
|
|
19
|
+
spec.metadata['changelog_uri'] = 'https://github.com/mindee/mindee-api-ruby/blob/main/CHANGELOG.md'
|
|
20
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
|
21
|
+
|
|
22
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
|
23
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(.github|spec|features)/}) }
|
|
24
|
+
end
|
|
25
|
+
spec.bindir = 'bin'
|
|
26
|
+
spec.executables = Dir.children('bin')
|
|
27
|
+
.select { |f| File.file?(File.join('bin', f)) }
|
|
28
|
+
.reject { |f| f == 'products.rb' }
|
|
29
|
+
spec.require_paths = ['lib']
|
|
30
|
+
|
|
31
|
+
spec.required_ruby_version = Gem::Requirement.new('>= 3.2')
|
|
32
|
+
|
|
33
|
+
spec.add_dependency 'base64', '~> 0.3'
|
|
34
|
+
spec.add_dependency 'logger', '~> 1.7'
|
|
35
|
+
spec.add_dependency 'marcel', '~> 1.1'
|
|
36
|
+
end
|
data/mindee.gemspec
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'lib/mindee/version'
|
|
4
|
+
|
|
5
|
+
Gem::Specification.new do |spec|
|
|
6
|
+
spec.name = 'mindee'
|
|
7
|
+
spec.version = Mindee::VERSION
|
|
8
|
+
spec.authors = ['Mindee, SA']
|
|
9
|
+
spec.email = ['opensource@mindee.co']
|
|
10
|
+
|
|
11
|
+
spec.summary = 'Mindee API Helper Library for Ruby'
|
|
12
|
+
spec.description = "Quickly and easily connect to Mindee's API services using Ruby."
|
|
13
|
+
spec.homepage = 'https://github.com/mindee/mindee-api-ruby'
|
|
14
|
+
spec.license = 'MIT'
|
|
15
|
+
|
|
16
|
+
spec.metadata['homepage_uri'] = 'https://mindee.com/'
|
|
17
|
+
spec.metadata['source_code_uri'] = 'https://github.com/mindee/mindee-api-ruby'
|
|
18
|
+
spec.metadata['changelog_uri'] = 'https://github.com/mindee/mindee-api-ruby/blob/main/CHANGELOG.md'
|
|
19
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
|
20
|
+
|
|
21
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
|
22
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(.github|spec|features)/}) }
|
|
23
|
+
end
|
|
24
|
+
spec.bindir = 'bin'
|
|
25
|
+
spec.executables = Dir.children('bin')
|
|
26
|
+
.select { |f| File.file?(File.join('bin', f)) }
|
|
27
|
+
.reject { |f| f == 'products.rb' }
|
|
28
|
+
spec.require_paths = ['lib']
|
|
29
|
+
|
|
30
|
+
spec.required_ruby_version = Gem::Requirement.new('>= 3.2')
|
|
31
|
+
|
|
32
|
+
spec.add_dependency 'base64', '~> 0.3'
|
|
33
|
+
spec.add_dependency 'logger', '~> 1.7'
|
|
34
|
+
spec.add_dependency 'marcel', '~> 1.1'
|
|
35
|
+
spec.add_dependency 'mini_magick', '>= 4', '< 6'
|
|
36
|
+
spec.add_dependency 'origamindee', '~> 4.0'
|
|
37
|
+
spec.add_dependency 'pdf-reader', '~> 2.15'
|
|
38
|
+
|
|
39
|
+
spec.add_development_dependency 'bundle-audit', '~> 0.2.0'
|
|
40
|
+
spec.add_development_dependency 'rbs', '~> 3.10'
|
|
41
|
+
spec.add_development_dependency 'rubocop', '~> 1.86'
|
|
42
|
+
spec.add_development_dependency 'steep', '~> 1.10'
|
|
43
|
+
spec.add_development_dependency 'yard', '~> 0.9'
|
|
44
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Stub for the mini_magick library.
|
|
2
|
+
# NOTE: though typing annotations for the MiniMagick library now exist, it seems that they aren't strict enough
|
|
3
|
+
# to match the rules we have on the repo, hence the existence of this file and the overrides present below.
|
|
4
|
+
module MiniMagick
|
|
5
|
+
class Image
|
|
6
|
+
def self.format: (String, ?Integer?, ?Hash[Symbol, untyped]?) -> Net::BufferedIO
|
|
7
|
+
def format: (String, ?Integer?, ?Hash[Symbol, untyped]?) -> Net::BufferedIO
|
|
8
|
+
def self.quality: (String) -> Net::BufferedIO
|
|
9
|
+
def self.crop: (String) -> Net::BufferedIO
|
|
10
|
+
def crop: (String) -> Net::BufferedIO
|
|
11
|
+
def self.height: () -> Integer
|
|
12
|
+
def self.width: () -> Integer
|
|
13
|
+
def height: () -> Integer
|
|
14
|
+
def width: () -> Integer
|
|
15
|
+
def self.data: (?untyped?, ?untyped?) -> untyped
|
|
16
|
+
def data: (?untyped?, ?untyped) -> instance
|
|
17
|
+
def self.read: (?untyped?, ?untyped?) -> Image
|
|
18
|
+
def read: (?untyped?, ?untyped) -> Image
|
|
19
|
+
def self.resolution: () -> Array[Float | Integer]
|
|
20
|
+
def resolution: () -> Array[Float | Integer]
|
|
21
|
+
def self.write: (StringIO | String) -> Net::BufferedIO
|
|
22
|
+
def write: (StringIO | String) -> Net::BufferedIO
|
|
23
|
+
def quality: (String) -> void
|
|
24
|
+
def self.resize: (String) -> void
|
|
25
|
+
def resize: (String) -> void
|
|
26
|
+
def self.to_blob: () -> String
|
|
27
|
+
def to_blob: () -> String
|
|
28
|
+
def self.[]: (*untyped) -> untyped
|
|
29
|
+
def []: (*untyped) -> untyped
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# This is a stub of mock type declarations for the net/http standard library, which isn't
|
|
2
|
+
# currently supported by Steep.
|
|
3
|
+
# Do not mess with it unless Steep fixes the handling of this library.
|
|
4
|
+
|
|
5
|
+
module Net
|
|
6
|
+
class BufferedIO
|
|
7
|
+
end
|
|
8
|
+
class HTTP
|
|
9
|
+
def self.start: [T] (String?, Integer?, use_ssl: bool?, ?read_timeout: Integer) { (HTTP) -> T } -> T
|
|
10
|
+
|
|
11
|
+
def request: (untyped) -> untyped
|
|
12
|
+
|
|
13
|
+
# Stub for the HTTP POST request class.
|
|
14
|
+
class Post
|
|
15
|
+
def initialize: (untyped, Hash[String, String?]?) -> void
|
|
16
|
+
def set_form: (untyped, String?) -> void
|
|
17
|
+
def new: (untyped, untyped) -> void
|
|
18
|
+
def []=: (?untyped, ?untyped) -> bool
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Stub for the HTTP GET request class.
|
|
22
|
+
class Get
|
|
23
|
+
def initialize: (untyped, ?Hash[String, String?]?) -> void
|
|
24
|
+
def new: (untyped, untyped) -> void
|
|
25
|
+
def basic_auth: (untyped, untyped) -> void
|
|
26
|
+
def []=: (?untyped, ?untyped) -> bool
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
class HTTPResponse
|
|
31
|
+
def self.body: -> String
|
|
32
|
+
def body: -> String
|
|
33
|
+
def []: (untyped) -> untyped
|
|
34
|
+
def key?: (untyped) -> bool
|
|
35
|
+
def code: -> String
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
class HTTPRedirection
|
|
39
|
+
def []: (untyped) -> untyped
|
|
40
|
+
def body: -> untyped
|
|
41
|
+
def code: -> String?
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Stubs for the origami library.
|
|
2
|
+
# This one _should_ exist, but it would take too long, so this is a stub.
|
|
3
|
+
module Origami
|
|
4
|
+
def compile: (Hash[Symbol, untyped]) -> void
|
|
5
|
+
class Array
|
|
6
|
+
def each: { (untyped) -> untyped } -> untyped
|
|
7
|
+
end
|
|
8
|
+
class PDF
|
|
9
|
+
def self.read: (StringIO | File) -> untyped
|
|
10
|
+
def initialize: () -> void
|
|
11
|
+
def append_page: (Page) -> void
|
|
12
|
+
def delete_pages_at: (::Array[Integer]) -> void
|
|
13
|
+
def pages: () -> ::Array[Page]
|
|
14
|
+
def save: (StringIO | File) -> void
|
|
15
|
+
def to_io_stream: -> StringIO
|
|
16
|
+
class LinearParser
|
|
17
|
+
def initialize: (Hash[Symbol, untyped]) -> void
|
|
18
|
+
def new: (Hash[Symbol, untyped]) -> void
|
|
19
|
+
def parse: (StringIO | File?) -> PDF
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
class Page
|
|
24
|
+
def initialize: () -> void
|
|
25
|
+
def add_xobject: (Graphics::ImageXObject, String) -> untyped
|
|
26
|
+
def Contents: (?untyped?) -> untyped
|
|
27
|
+
def Contents=: (?untyped?, untyped?) -> untyped
|
|
28
|
+
def []: (untyped) -> untyped
|
|
29
|
+
def []=: (untyped, untyped) -> bool
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
module Graphics
|
|
33
|
+
class ImageXObject
|
|
34
|
+
def initialize: () -> void
|
|
35
|
+
|
|
36
|
+
def BitsPerComponent=: (Integer) -> untyped
|
|
37
|
+
def ColorSpace=: (Symbol) -> untyped
|
|
38
|
+
def dictionary: () -> Hash[Symbol, untyped]
|
|
39
|
+
def data=: (StringIO) -> untyped
|
|
40
|
+
def self.from_image_file: (StringIO, String) -> untyped
|
|
41
|
+
def Height=: (Integer | Float) -> untyped
|
|
42
|
+
def Width=: (Integer | Float) -> untyped
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
class InvalidPDFError < StandardError
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
class Parser
|
|
50
|
+
VERBOSE_QUIET: String
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
class Stream
|
|
54
|
+
def initialize: (?String) -> untyped
|
|
55
|
+
def data : () -> untyped
|
|
56
|
+
def data= : (String | StringIO) -> void
|
|
57
|
+
def dictionary : -> Hash[Symbol, untyped]
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# lib/mindee/error/mindee_error.rb
|
|
2
|
+
module Mindee
|
|
3
|
+
module Error
|
|
4
|
+
class MindeeError < StandardError
|
|
5
|
+
end
|
|
6
|
+
class MindeeAPIError < MindeeError
|
|
7
|
+
end
|
|
8
|
+
class MindeeConfigurationError < MindeeError
|
|
9
|
+
end
|
|
10
|
+
class MindeeGeometryError < MindeeError
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# lib/mindee/error/mindee_http_error.rb
|
|
2
|
+
module Mindee
|
|
3
|
+
module Error
|
|
4
|
+
class MindeeHTTPError < Error::MindeeError
|
|
5
|
+
attr_reader api_code: Integer
|
|
6
|
+
attr_reader api_details: String
|
|
7
|
+
attr_reader api_message: String
|
|
8
|
+
attr_reader status_code: Integer
|
|
9
|
+
|
|
10
|
+
def initialize: (Hash[String | Symbol, untyped], String, Integer) -> void
|
|
11
|
+
end
|
|
12
|
+
class MindeeHTTPClientError < MindeeHTTPError
|
|
13
|
+
end
|
|
14
|
+
class MindeeHTTPServerError < MindeeHTTPError
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# lib/mindee/error/mindee_http_error_v2.rb
|
|
2
|
+
module Mindee
|
|
3
|
+
module Error
|
|
4
|
+
# API V2 HttpError
|
|
5
|
+
class MindeeHTTPErrorV2 < MindeeError
|
|
6
|
+
attr_reader detail: String
|
|
7
|
+
attr_reader status: Integer
|
|
8
|
+
attr_reader code: String
|
|
9
|
+
attr_reader title: String
|
|
10
|
+
attr_reader errors: Array[V2::Parsing::ErrorItem]
|
|
11
|
+
|
|
12
|
+
def initialize: (Hash[String, untyped] | Mindee::V2::Parsing::ErrorResponse) -> void
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# lib/mindee/error/mindee_input_error.rb
|
|
2
|
+
module Mindee
|
|
3
|
+
module Error
|
|
4
|
+
class MindeeInputError < MindeeError
|
|
5
|
+
end
|
|
6
|
+
class MindeeSourceError < MindeeInputError
|
|
7
|
+
end
|
|
8
|
+
class MindeeMimeTypeError < MindeeSourceError
|
|
9
|
+
attr_reader invalid_mimetype: String
|
|
10
|
+
|
|
11
|
+
def initialize: (String) -> void
|
|
12
|
+
end
|
|
13
|
+
class MindeeImageError < MindeeInputError
|
|
14
|
+
end
|
|
15
|
+
class MindeePDFError < MindeeInputError
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# lib/mindee/geometry/polygon.rb
|
|
2
|
+
module Mindee
|
|
3
|
+
module Geometry
|
|
4
|
+
class Polygon < Array[Point]
|
|
5
|
+
def initialize: (Array[::Mindee::Geometry::Point | Array[Float]]) -> void
|
|
6
|
+
def centroid: -> Point
|
|
7
|
+
def point_in_y?: (Point) -> bool
|
|
8
|
+
|
|
9
|
+
def to_s: -> String
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# lib/mindee/geometry/quadrilateral.rb
|
|
2
|
+
module Mindee
|
|
3
|
+
module Geometry
|
|
4
|
+
class Quadrilateral
|
|
5
|
+
attr_accessor bottom_left: Point
|
|
6
|
+
attr_accessor bottom_right: Point
|
|
7
|
+
attr_accessor top_left: Point
|
|
8
|
+
attr_accessor top_right: Point
|
|
9
|
+
|
|
10
|
+
def initialize: (Point, Point, Point, Point) -> void
|
|
11
|
+
def []: (Integer) -> Point
|
|
12
|
+
def size: -> Integer
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# lib/mindee/geometry/utils.rb
|
|
2
|
+
module Mindee
|
|
3
|
+
module Geometry
|
|
4
|
+
def self.quadrilateral_from_prediction: (Array[Array[Float]]) -> Quadrilateral
|
|
5
|
+
def self.polygon_from_prediction: (Array[Array[Float]]) -> Polygon
|
|
6
|
+
def self.get_bbox: (Array[Point]) -> [Float, Float, Float, Float]
|
|
7
|
+
def self.get_bounding_box: (Array[Point]) -> Quadrilateral
|
|
8
|
+
def self.get_centroid: (Array[Point]) -> Point
|
|
9
|
+
def self.get_min_max_y: (Array[Point]) -> MinMax
|
|
10
|
+
def self.get_min_max_x: (Array[Point]) -> MinMax
|
|
11
|
+
def self.below?: (Array[Point], Array[Point], Float, Float) -> bool
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# lib/mindee/http/http_error_handler.rb
|
|
2
|
+
module Mindee
|
|
3
|
+
module HTTP
|
|
4
|
+
module ErrorHandler
|
|
5
|
+
def extract_error: (Hash[String | Symbol, untyped]) -> Hash[String | Symbol, untyped]?
|
|
6
|
+
def create_error_obj: (Hash[String | Symbol, untyped]) -> Hash[String | Symbol, untyped]
|
|
7
|
+
def self.generate_v2_error: (Hash[String, Integer | String]) -> Error::MindeeHTTPErrorV2
|
|
8
|
+
def generate_v2_error: (Hash[Symbol, String | Integer]) -> Error::MindeeHTTPErrorV2
|
|
9
|
+
|
|
10
|
+
def self.handle_error: (String, Net::HTTPResponse) -> Error::MindeeHTTPError
|
|
11
|
+
def handle_error: (String, Net::HTTPResponse) -> Error::MindeeHTTPError
|
|
12
|
+
def handle_v2_error: (Hash[String | Symbol, untyped]) -> void
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# lib/mindee/http/response_validation.rb
|
|
2
|
+
module Mindee
|
|
3
|
+
module HTTP
|
|
4
|
+
module ResponseValidation
|
|
5
|
+
def self.valid_sync_response?: (Net::HTTPResponse) -> bool
|
|
6
|
+
def self.valid_v2_response?: (Net::HTTPResponse) -> bool
|
|
7
|
+
def self.valid_async_response?: (Net::HTTPResponse) -> bool
|
|
8
|
+
def self.clean_request!: (Net::HTTPResponse) -> void
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# lib/mindee/image/extracted_image.rb
|
|
2
|
+
module Mindee
|
|
3
|
+
module Image
|
|
4
|
+
class ExtractedImage
|
|
5
|
+
def logger: () -> Logger
|
|
6
|
+
def page_id: -> Integer
|
|
7
|
+
def element_id: -> Integer
|
|
8
|
+
def buffer: -> StringIO
|
|
9
|
+
def filename: -> String
|
|
10
|
+
def initialize: (
|
|
11
|
+
Input::Source::LocalInputSource | Input::Source::BytesInputSource,
|
|
12
|
+
Integer,
|
|
13
|
+
Integer?,
|
|
14
|
+
?preserve_input_filename: bool
|
|
15
|
+
) -> Integer
|
|
16
|
+
def write_to_file: (String, ?String?) -> void
|
|
17
|
+
def as_source: -> Input::Source::BytesInputSource
|
|
18
|
+
def as_input_source: -> Input::Source::BytesInputSource
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# lib/mindee/image/image_compressor.rb
|
|
2
|
+
module Mindee
|
|
3
|
+
module Image
|
|
4
|
+
module ImageCompressor
|
|
5
|
+
def self.compress_image: (MiniMagick::Image | StringIO | File, ?quality: Integer | Float?, ?max_width: Integer | Float?, ?max_height: Integer | Float?) -> StringIO
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# lib/mindee/image/image_extractor.rb
|
|
2
|
+
module Mindee
|
|
3
|
+
module Image
|
|
4
|
+
module ImageExtractor
|
|
5
|
+
def self.attach_image_as_new_file: (StringIO | File, ?format: String) -> Origami::PDF
|
|
6
|
+
def self.to_blob: () -> String
|
|
7
|
+
def self.extract_multiple_images_from_source: (Input::Source::LocalInputSource, Integer, Array[Array[Geometry::Point] |Geometry::Polygon | Geometry::Quadrilateral]) -> Array[ExtractedImage]
|
|
8
|
+
def self.extract_images_from_polygons: (Input::Source::LocalInputSource, StringIO | File, Integer, Array[Array[Geometry::Point] | Geometry::Polygon | Geometry::Quadrilateral]) -> Array[ExtractedImage]
|
|
9
|
+
def self.create_extracted_image: (StringIO | File, String, Integer, Integer) -> ExtractedImage
|
|
10
|
+
def self.load_input_source_pdf_page_as_stringio: (Input::Source::LocalInputSource, Integer) -> (StringIO | File)
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# lib/mindee/image/image_utils.rb
|
|
2
|
+
module Mindee
|
|
3
|
+
module Image
|
|
4
|
+
module ImageUtils
|
|
5
|
+
def self.resize_image: (MiniMagick::Image, Integer, Integer) -> void
|
|
6
|
+
def self.compress_image_quality: (MiniMagick::Image, untyped) -> void
|
|
7
|
+
def self.to_image: (MiniMagick::Image | StringIO | IO | File | Tempfile?) -> (MiniMagick::Image)
|
|
8
|
+
def self.image_to_stringio: (MiniMagick::Image, ?String) -> StringIO
|
|
9
|
+
def self.calculate_new_dimensions: (MiniMagick::Image, ?max_width: Integer | Float?, ?max_height: Integer | Float?) -> [Integer, Integer]
|
|
10
|
+
def self.calculate_dimensions_from_media_box: (MiniMagick::Image, Array[Integer]?) -> [Integer, Integer]
|
|
11
|
+
def self.pdf_to_magick_image: (StringIO | File, Integer) -> MiniMagick::Image
|
|
12
|
+
def self.normalize_polygon: (Geometry::Quadrilateral | Geometry::Polygon | Array[Geometry::Point]) -> Geometry::Quadrilateral
|
|
13
|
+
def self.read_page_content: (StringIO | File) -> (MiniMagick::Image)
|
|
14
|
+
def self.crop_image: (MiniMagick::Image, Geometry::MinMax, Geometry::MinMax) -> (MiniMagick::Image)
|
|
15
|
+
def self.write_image_to_buffer: (MiniMagick::Image, StringIO) -> void
|
|
16
|
+
def self.determine_file_extension: (Input::Source::LocalInputSource) -> String?
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# lib/mindee/input/base_parameters.rb
|
|
2
|
+
|
|
3
|
+
module Mindee
|
|
4
|
+
module Input
|
|
5
|
+
class BaseParameters
|
|
6
|
+
attr_reader self.slug: String
|
|
7
|
+
|
|
8
|
+
def self.from_hash: (params: Hash[String | Symbol, untyped]) -> instance
|
|
9
|
+
def self.load_from_hash: (params: Hash[String | Symbol, untyped]) -> Hash[String | Symbol, untyped]
|
|
10
|
+
|
|
11
|
+
def slug: -> String
|
|
12
|
+
|
|
13
|
+
attr_reader model_id: String
|
|
14
|
+
attr_reader file_alias: String?
|
|
15
|
+
attr_reader webhook_ids: Array[String]?
|
|
16
|
+
attr_reader polling_options: PollingOptions
|
|
17
|
+
attr_reader close_file: bool
|
|
18
|
+
|
|
19
|
+
def initialize: (
|
|
20
|
+
String,
|
|
21
|
+
?file_alias: String?,
|
|
22
|
+
?webhook_ids: Array[String]?,
|
|
23
|
+
?polling_options: Hash[Symbol | String, untyped] | PollingOptions?,
|
|
24
|
+
?close_file: bool?
|
|
25
|
+
) -> void
|
|
26
|
+
|
|
27
|
+
def append_form_data: (Array[Array[untyped]]) -> Array[Array[untyped]]
|
|
28
|
+
def validate_async_params: () -> void
|
|
29
|
+
|
|
30
|
+
private
|
|
31
|
+
|
|
32
|
+
def get_clean_polling_options: (Hash[String | Symbol, untyped] | PollingOptions?) -> PollingOptions
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# lib/mindee/input/local_response.rb
|
|
2
|
+
module Mindee
|
|
3
|
+
module Input
|
|
4
|
+
class LocalResponse
|
|
5
|
+
attr_reader file: StringIO
|
|
6
|
+
def initialize: (File | IO | StringIO | String | Pathname | Tempfile) -> void
|
|
7
|
+
def as_hash: -> Hash[String | Symbol, untyped]
|
|
8
|
+
def self.process_secret_key: (String) -> String
|
|
9
|
+
def get_hmac_signature: (String) -> String
|
|
10
|
+
def valid_hmac_signature?: (String, String) -> bool
|
|
11
|
+
def deserialize_response: (singleton(V2::Parsing::CommonResponse))-> (V2::Parsing::CommonResponse)
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|