mindee-lite 5.0.0a1__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.
Files changed (438) hide show
  1. mindee_lite-5.0.0a1/LICENSE +21 -0
  2. mindee_lite-5.0.0a1/PKG-INFO +88 -0
  3. mindee_lite-5.0.0a1/README.md +41 -0
  4. mindee_lite-5.0.0a1/docs/conf.py +76 -0
  5. mindee_lite-5.0.0a1/local_test/future_code_sample.py +31 -0
  6. mindee_lite-5.0.0a1/local_test/libless_test.py +56 -0
  7. mindee_lite-5.0.0a1/local_test/load_prediction.py +13 -0
  8. mindee_lite-5.0.0a1/local_test/modsearch.py +7 -0
  9. mindee_lite-5.0.0a1/local_test/quick_findocV2_test.py +26 -0
  10. mindee_lite-5.0.0a1/local_test/quick_findoc_test.py +20 -0
  11. mindee_lite-5.0.0a1/local_test/script_bashir.py +112 -0
  12. mindee_lite-5.0.0a1/local_test/script_crop.py +21 -0
  13. mindee_lite-5.0.0a1/local_test/script_split.py +21 -0
  14. mindee_lite-5.0.0a1/local_test/test_demo.py +4 -0
  15. mindee_lite-5.0.0a1/local_test/test_exp_syntax.py +37 -0
  16. mindee_lite-5.0.0a1/local_test/test_rag_and_options.py +41 -0
  17. mindee_lite-5.0.0a1/local_test/test_sid.py +30 -0
  18. mindee_lite-5.0.0a1/local_test/test_split.py +12 -0
  19. mindee_lite-5.0.0a1/local_test/test_split_syntax.py +27 -0
  20. mindee_lite-5.0.0a1/mindee/__init__.py +53 -0
  21. mindee_lite-5.0.0a1/mindee/__main__.py +4 -0
  22. mindee_lite-5.0.0a1/mindee/cli.py +7 -0
  23. mindee_lite-5.0.0a1/mindee/client_mixin.py +23 -0
  24. mindee_lite-5.0.0a1/mindee/client_options/__init__.py +0 -0
  25. mindee_lite-5.0.0a1/mindee/client_options/polling_options.py +19 -0
  26. mindee_lite-5.0.0a1/mindee/dependencies/__init__.py +9 -0
  27. mindee_lite-5.0.0a1/mindee/dependencies/checkers.py +33 -0
  28. mindee_lite-5.0.0a1/mindee/dependencies/decorators.py +30 -0
  29. mindee_lite-5.0.0a1/mindee/error/__init__.py +27 -0
  30. mindee_lite-5.0.0a1/mindee/error/geometry_error.py +2 -0
  31. mindee_lite-5.0.0a1/mindee/error/mimetype_error.py +2 -0
  32. mindee_lite-5.0.0a1/mindee/error/mindee_dependency_error.py +5 -0
  33. mindee_lite-5.0.0a1/mindee/error/mindee_error.py +14 -0
  34. mindee_lite-5.0.0a1/mindee/error/mindee_http_error.py +115 -0
  35. mindee_lite-5.0.0a1/mindee/error/mindee_image_error.py +2 -0
  36. mindee_lite-5.0.0a1/mindee/error/mindee_pdf_error.py +2 -0
  37. mindee_lite-5.0.0a1/mindee/geometry/__init__.py +31 -0
  38. mindee_lite-5.0.0a1/mindee/geometry/bbox.py +73 -0
  39. mindee_lite-5.0.0a1/mindee/geometry/minmax.py +32 -0
  40. mindee_lite-5.0.0a1/mindee/geometry/point.py +17 -0
  41. mindee_lite-5.0.0a1/mindee/geometry/polygon.py +76 -0
  42. mindee_lite-5.0.0a1/mindee/geometry/polygon_utils.py +36 -0
  43. mindee_lite-5.0.0a1/mindee/geometry/quadrilateral.py +57 -0
  44. mindee_lite-5.0.0a1/mindee/image/__init__.py +3 -0
  45. mindee_lite-5.0.0a1/mindee/image/extracted_image.py +108 -0
  46. mindee_lite-5.0.0a1/mindee/image/image_compressor.py +45 -0
  47. mindee_lite-5.0.0a1/mindee/image/image_extractor.py +186 -0
  48. mindee_lite-5.0.0a1/mindee/input/__init__.py +19 -0
  49. mindee_lite-5.0.0a1/mindee/input/base_64_input.py +20 -0
  50. mindee_lite-5.0.0a1/mindee/input/bytes_input.py +19 -0
  51. mindee_lite-5.0.0a1/mindee/input/file_input.py +28 -0
  52. mindee_lite-5.0.0a1/mindee/input/local_input_source.py +283 -0
  53. mindee_lite-5.0.0a1/mindee/input/local_response.py +118 -0
  54. mindee_lite-5.0.0a1/mindee/input/page_options.py +30 -0
  55. mindee_lite-5.0.0a1/mindee/input/path_input.py +19 -0
  56. mindee_lite-5.0.0a1/mindee/input/url_input_source.py +228 -0
  57. mindee_lite-5.0.0a1/mindee/logger.py +9 -0
  58. mindee_lite-5.0.0a1/mindee/mindee_http/__init__.py +11 -0
  59. mindee_lite-5.0.0a1/mindee/mindee_http/response_validation.py +76 -0
  60. mindee_lite-5.0.0a1/mindee/mindee_http/settings_mixin.py +15 -0
  61. mindee_lite-5.0.0a1/mindee/parsing/__init__.py +5 -0
  62. mindee_lite-5.0.0a1/mindee/parsing/common/__init__.py +15 -0
  63. mindee_lite-5.0.0a1/mindee/parsing/common/common_response.py +29 -0
  64. mindee_lite-5.0.0a1/mindee/parsing/common/string_dict.py +4 -0
  65. mindee_lite-5.0.0a1/mindee/parsing/common/summary_helper.py +33 -0
  66. mindee_lite-5.0.0a1/mindee/pdf/__init__.py +15 -0
  67. mindee_lite-5.0.0a1/mindee/pdf/extracted_pdf.py +60 -0
  68. mindee_lite-5.0.0a1/mindee/pdf/pdf_char_data.py +31 -0
  69. mindee_lite-5.0.0a1/mindee/pdf/pdf_compressor.py +242 -0
  70. mindee_lite-5.0.0a1/mindee/pdf/pdf_extractor.py +103 -0
  71. mindee_lite-5.0.0a1/mindee/pdf/pdf_utils.py +300 -0
  72. mindee_lite-5.0.0a1/mindee/py.typed +0 -0
  73. mindee_lite-5.0.0a1/mindee/v1/__init__.py +17 -0
  74. mindee_lite-5.0.0a1/mindee/v1/client.py +616 -0
  75. mindee_lite-5.0.0a1/mindee/v1/client_options/__init__.py +4 -0
  76. mindee_lite-5.0.0a1/mindee/v1/client_options/predict_options.py +28 -0
  77. mindee_lite-5.0.0a1/mindee/v1/client_options/workflow_options.py +30 -0
  78. mindee_lite-5.0.0a1/mindee/v1/commands/__init__.py +9 -0
  79. mindee_lite-5.0.0a1/mindee/v1/commands/cli_parser.py +282 -0
  80. mindee_lite-5.0.0a1/mindee/v1/commands/cli_products.py +109 -0
  81. mindee_lite-5.0.0a1/mindee/v1/error/__init__.py +4 -0
  82. mindee_lite-5.0.0a1/mindee/v1/error/mindee_api_error.py +5 -0
  83. mindee_lite-5.0.0a1/mindee/v1/error/mindee_product_error.py +5 -0
  84. mindee_lite-5.0.0a1/mindee/v1/mindee_http/__init__.py +14 -0
  85. mindee_lite-5.0.0a1/mindee/v1/mindee_http/base_endpoint.py +24 -0
  86. mindee_lite-5.0.0a1/mindee/v1/mindee_http/base_settings.py +63 -0
  87. mindee_lite-5.0.0a1/mindee/v1/mindee_http/endpoint.py +388 -0
  88. mindee_lite-5.0.0a1/mindee/v1/mindee_http/mindee_api.py +29 -0
  89. mindee_lite-5.0.0a1/mindee/v1/mindee_http/workflow_endpoint.py +75 -0
  90. mindee_lite-5.0.0a1/mindee/v1/mindee_http/workflow_settings.py +24 -0
  91. mindee_lite-5.0.0a1/mindee/v1/parsing/__init__.py +8 -0
  92. mindee_lite-5.0.0a1/mindee/v1/parsing/common/__init__.py +43 -0
  93. mindee_lite-5.0.0a1/mindee/v1/parsing/common/api_request.py +28 -0
  94. mindee_lite-5.0.0a1/mindee/v1/parsing/common/api_response.py +29 -0
  95. mindee_lite-5.0.0a1/mindee/v1/parsing/common/async_predict_response.py +35 -0
  96. mindee_lite-5.0.0a1/mindee/v1/parsing/common/document.py +84 -0
  97. mindee_lite-5.0.0a1/mindee/v1/parsing/common/execution.py +84 -0
  98. mindee_lite-5.0.0a1/mindee/v1/parsing/common/execution_file.py +15 -0
  99. mindee_lite-5.0.0a1/mindee/v1/parsing/common/execution_priority.py +9 -0
  100. mindee_lite-5.0.0a1/mindee/v1/parsing/common/extras/__init__.py +7 -0
  101. mindee_lite-5.0.0a1/mindee/v1/parsing/common/extras/cropper_extra.py +19 -0
  102. mindee_lite-5.0.0a1/mindee/v1/parsing/common/extras/extras.py +43 -0
  103. mindee_lite-5.0.0a1/mindee/v1/parsing/common/extras/full_text_ocr_extra.py +18 -0
  104. mindee_lite-5.0.0a1/mindee/v1/parsing/common/extras/rag_extra.py +11 -0
  105. mindee_lite-5.0.0a1/mindee/v1/parsing/common/feedback_response.py +13 -0
  106. mindee_lite-5.0.0a1/mindee/v1/parsing/common/inference.py +77 -0
  107. mindee_lite-5.0.0a1/mindee/v1/parsing/common/job.py +50 -0
  108. mindee_lite-5.0.0a1/mindee/v1/parsing/common/ocr/__init__.py +3 -0
  109. mindee_lite-5.0.0a1/mindee/v1/parsing/common/ocr/mvision_v1.py +17 -0
  110. mindee_lite-5.0.0a1/mindee/v1/parsing/common/ocr/ocr.py +15 -0
  111. mindee_lite-5.0.0a1/mindee/v1/parsing/common/ocr/ocr_line.py +13 -0
  112. mindee_lite-5.0.0a1/mindee/v1/parsing/common/ocr/ocr_page.py +75 -0
  113. mindee_lite-5.0.0a1/mindee/v1/parsing/common/ocr/ocr_word.py +19 -0
  114. mindee_lite-5.0.0a1/mindee/v1/parsing/common/orientation.py +38 -0
  115. mindee_lite-5.0.0a1/mindee/v1/parsing/common/page.py +47 -0
  116. mindee_lite-5.0.0a1/mindee/v1/parsing/common/predict_response.py +28 -0
  117. mindee_lite-5.0.0a1/mindee/v1/parsing/common/prediction.py +18 -0
  118. mindee_lite-5.0.0a1/mindee/v1/parsing/common/product.py +15 -0
  119. mindee_lite-5.0.0a1/mindee/v1/parsing/common/workflow_response.py +21 -0
  120. mindee_lite-5.0.0a1/mindee/v1/parsing/custom/__init__.py +11 -0
  121. mindee_lite-5.0.0a1/mindee/v1/parsing/custom/classification.py +17 -0
  122. mindee_lite-5.0.0a1/mindee/v1/parsing/custom/line_items.py +175 -0
  123. mindee_lite-5.0.0a1/mindee/v1/parsing/custom/list.py +64 -0
  124. mindee_lite-5.0.0a1/mindee/v1/parsing/generated/__init__.py +11 -0
  125. mindee_lite-5.0.0a1/mindee/v1/parsing/generated/generated_list.py +54 -0
  126. mindee_lite-5.0.0a1/mindee/v1/parsing/generated/generated_object.py +81 -0
  127. mindee_lite-5.0.0a1/mindee/v1/parsing/standard/__init__.py +52 -0
  128. mindee_lite-5.0.0a1/mindee/v1/parsing/standard/address.py +63 -0
  129. mindee_lite-5.0.0a1/mindee/v1/parsing/standard/amount.py +44 -0
  130. mindee_lite-5.0.0a1/mindee/v1/parsing/standard/base.py +197 -0
  131. mindee_lite-5.0.0a1/mindee/v1/parsing/standard/boolean.py +33 -0
  132. mindee_lite-5.0.0a1/mindee/v1/parsing/standard/classification.py +31 -0
  133. mindee_lite-5.0.0a1/mindee/v1/parsing/standard/company_registration.py +45 -0
  134. mindee_lite-5.0.0a1/mindee/v1/parsing/standard/date.py +54 -0
  135. mindee_lite-5.0.0a1/mindee/v1/parsing/standard/locale.py +56 -0
  136. mindee_lite-5.0.0a1/mindee/v1/parsing/standard/payment_details.py +93 -0
  137. mindee_lite-5.0.0a1/mindee/v1/parsing/standard/position.py +78 -0
  138. mindee_lite-5.0.0a1/mindee/v1/parsing/standard/tax.py +124 -0
  139. mindee_lite-5.0.0a1/mindee/v1/parsing/standard/text.py +36 -0
  140. mindee_lite-5.0.0a1/mindee/v1/pdf/__init__.py +4 -0
  141. mindee_lite-5.0.0a1/mindee/v1/pdf/multi_receipts_extractor.py +33 -0
  142. mindee_lite-5.0.0a1/mindee/v1/pdf/pdf_extractor.py +52 -0
  143. mindee_lite-5.0.0a1/mindee/v1/product/__init__.py +96 -0
  144. mindee_lite-5.0.0a1/mindee/v1/product/barcode_reader/__init__.py +9 -0
  145. mindee_lite-5.0.0a1/mindee/v1/product/barcode_reader/barcode_reader_v1.py +37 -0
  146. mindee_lite-5.0.0a1/mindee/v1/product/barcode_reader/barcode_reader_v1_document.py +45 -0
  147. mindee_lite-5.0.0a1/mindee/v1/product/cropper/__init__.py +13 -0
  148. mindee_lite-5.0.0a1/mindee/v1/product/cropper/cropper_v1.py +40 -0
  149. mindee_lite-5.0.0a1/mindee/v1/product/cropper/cropper_v1_document.py +8 -0
  150. mindee_lite-5.0.0a1/mindee/v1/product/cropper/cropper_v1_page.py +38 -0
  151. mindee_lite-5.0.0a1/mindee/v1/product/custom/__init__.py +11 -0
  152. mindee_lite-5.0.0a1/mindee/v1/product/custom/custom_v1.py +30 -0
  153. mindee_lite-5.0.0a1/mindee/v1/product/custom/custom_v1_document.py +59 -0
  154. mindee_lite-5.0.0a1/mindee/v1/product/custom/custom_v1_page.py +49 -0
  155. mindee_lite-5.0.0a1/mindee/v1/product/financial_document/__init__.py +15 -0
  156. mindee_lite-5.0.0a1/mindee/v1/product/financial_document/financial_document_v1.py +37 -0
  157. mindee_lite-5.0.0a1/mindee/v1/product/financial_document/financial_document_v1_document.py +318 -0
  158. mindee_lite-5.0.0a1/mindee/v1/product/financial_document/financial_document_v1_line_item.py +105 -0
  159. mindee_lite-5.0.0a1/mindee/v1/product/fr/__init__.py +49 -0
  160. mindee_lite-5.0.0a1/mindee/v1/product/fr/bank_account_details/__init__.py +23 -0
  161. mindee_lite-5.0.0a1/mindee/v1/product/fr/bank_account_details/bank_account_details_v1.py +37 -0
  162. mindee_lite-5.0.0a1/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_document.py +46 -0
  163. mindee_lite-5.0.0a1/mindee/v1/product/fr/bank_account_details/bank_account_details_v2.py +37 -0
  164. mindee_lite-5.0.0a1/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_bban.py +63 -0
  165. mindee_lite-5.0.0a1/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_document.py +56 -0
  166. mindee_lite-5.0.0a1/mindee/v1/product/fr/carte_grise/__init__.py +9 -0
  167. mindee_lite-5.0.0a1/mindee/v1/product/fr/carte_grise/carte_grise_v1.py +37 -0
  168. mindee_lite-5.0.0a1/mindee/v1/product/fr/carte_grise/carte_grise_v1_document.py +313 -0
  169. mindee_lite-5.0.0a1/mindee/v1/product/fr/id_card/__init__.py +23 -0
  170. mindee_lite-5.0.0a1/mindee/v1/product/fr/id_card/id_card_v1.py +40 -0
  171. mindee_lite-5.0.0a1/mindee/v1/product/fr/id_card/id_card_v1_document.py +99 -0
  172. mindee_lite-5.0.0a1/mindee/v1/product/fr/id_card/id_card_v1_page.py +35 -0
  173. mindee_lite-5.0.0a1/mindee/v1/product/fr/id_card/id_card_v2.py +40 -0
  174. mindee_lite-5.0.0a1/mindee/v1/product/fr/id_card/id_card_v2_document.py +134 -0
  175. mindee_lite-5.0.0a1/mindee/v1/product/fr/id_card/id_card_v2_page.py +42 -0
  176. mindee_lite-5.0.0a1/mindee/v1/product/generated/__init__.py +11 -0
  177. mindee_lite-5.0.0a1/mindee/v1/product/generated/generated_v1.py +31 -0
  178. mindee_lite-5.0.0a1/mindee/v1/product/generated/generated_v1_document.py +40 -0
  179. mindee_lite-5.0.0a1/mindee/v1/product/generated/generated_v1_page.py +42 -0
  180. mindee_lite-5.0.0a1/mindee/v1/product/generated/generated_v1_prediction.py +78 -0
  181. mindee_lite-5.0.0a1/mindee/v1/product/international_id/__init__.py +9 -0
  182. mindee_lite-5.0.0a1/mindee/v1/product/international_id/international_id_v2.py +37 -0
  183. mindee_lite-5.0.0a1/mindee/v1/product/international_id/international_id_v2_document.py +152 -0
  184. mindee_lite-5.0.0a1/mindee/v1/product/invoice/__init__.py +13 -0
  185. mindee_lite-5.0.0a1/mindee/v1/product/invoice/invoice_v4.py +37 -0
  186. mindee_lite-5.0.0a1/mindee/v1/product/invoice/invoice_v4_document.py +285 -0
  187. mindee_lite-5.0.0a1/mindee/v1/product/invoice/invoice_v4_line_item.py +105 -0
  188. mindee_lite-5.0.0a1/mindee/v1/product/invoice_splitter/__init__.py +13 -0
  189. mindee_lite-5.0.0a1/mindee/v1/product/invoice_splitter/invoice_splitter_v1.py +37 -0
  190. mindee_lite-5.0.0a1/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.py +55 -0
  191. mindee_lite-5.0.0a1/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.py +51 -0
  192. mindee_lite-5.0.0a1/mindee/v1/product/multi_receipts_detector/__init__.py +11 -0
  193. mindee_lite-5.0.0a1/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1.py +37 -0
  194. mindee_lite-5.0.0a1/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_document.py +35 -0
  195. mindee_lite-5.0.0a1/mindee/v1/product/passport/__init__.py +9 -0
  196. mindee_lite-5.0.0a1/mindee/v1/product/passport/passport_v1.py +37 -0
  197. mindee_lite-5.0.0a1/mindee/v1/product/passport/passport_v1_document.py +106 -0
  198. mindee_lite-5.0.0a1/mindee/v1/product/receipt/__init__.py +13 -0
  199. mindee_lite-5.0.0a1/mindee/v1/product/receipt/receipt_v5.py +37 -0
  200. mindee_lite-5.0.0a1/mindee/v1/product/receipt/receipt_v5_document.py +180 -0
  201. mindee_lite-5.0.0a1/mindee/v1/product/receipt/receipt_v5_line_item.py +77 -0
  202. mindee_lite-5.0.0a1/mindee/v1/product/us/__init__.py +13 -0
  203. mindee_lite-5.0.0a1/mindee/v1/product/us/bank_check/__init__.py +13 -0
  204. mindee_lite-5.0.0a1/mindee/v1/product/us/bank_check/bank_check_v1.py +40 -0
  205. mindee_lite-5.0.0a1/mindee/v1/product/us/bank_check/bank_check_v1_document.py +72 -0
  206. mindee_lite-5.0.0a1/mindee/v1/product/us/bank_check/bank_check_v1_page.py +45 -0
  207. mindee_lite-5.0.0a1/mindee/v2/__init__.py +40 -0
  208. mindee_lite-5.0.0a1/mindee/v2/cli.py +11 -0
  209. mindee_lite-5.0.0a1/mindee/v2/client.py +190 -0
  210. mindee_lite-5.0.0a1/mindee/v2/client_options/__init__.py +0 -0
  211. mindee_lite-5.0.0a1/mindee/v2/client_options/base_parameters.py +44 -0
  212. mindee_lite-5.0.0a1/mindee/v2/commands/__init__.py +0 -0
  213. mindee_lite-5.0.0a1/mindee/v2/commands/cli_parser.py +136 -0
  214. mindee_lite-5.0.0a1/mindee/v2/error/__init__.py +4 -0
  215. mindee_lite-5.0.0a1/mindee/v2/error/mindee_api_v2_error.py +5 -0
  216. mindee_lite-5.0.0a1/mindee/v2/error/mindee_http_error_v2.py +51 -0
  217. mindee_lite-5.0.0a1/mindee/v2/file_operations/__init__.py +12 -0
  218. mindee_lite-5.0.0a1/mindee/v2/file_operations/crop.py +52 -0
  219. mindee_lite-5.0.0a1/mindee/v2/file_operations/crop_files.py +20 -0
  220. mindee_lite-5.0.0a1/mindee/v2/file_operations/split.py +38 -0
  221. mindee_lite-5.0.0a1/mindee/v2/file_operations/split_files.py +20 -0
  222. mindee_lite-5.0.0a1/mindee/v2/mindee_http/__init__.py +0 -0
  223. mindee_lite-5.0.0a1/mindee/v2/mindee_http/mindee_api_v2.py +322 -0
  224. mindee_lite-5.0.0a1/mindee/v2/mindee_http/response_validation_v2.py +35 -0
  225. mindee_lite-5.0.0a1/mindee/v2/parsing/__init__.py +25 -0
  226. mindee_lite-5.0.0a1/mindee/v2/parsing/error/__init__.py +4 -0
  227. mindee_lite-5.0.0a1/mindee/v2/parsing/error/error_item.py +14 -0
  228. mindee_lite-5.0.0a1/mindee/v2/parsing/error/error_response.py +30 -0
  229. mindee_lite-5.0.0a1/mindee/v2/parsing/inference/__init__.py +0 -0
  230. mindee_lite-5.0.0a1/mindee/v2/parsing/inference/base_inference.py +29 -0
  231. mindee_lite-5.0.0a1/mindee/v2/parsing/inference/base_response.py +22 -0
  232. mindee_lite-5.0.0a1/mindee/v2/parsing/inference/field/__init__.py +17 -0
  233. mindee_lite-5.0.0a1/mindee/v2/parsing/inference/field/base_field.py +46 -0
  234. mindee_lite-5.0.0a1/mindee/v2/parsing/inference/field/factory.py +17 -0
  235. mindee_lite-5.0.0a1/mindee/v2/parsing/inference/field/field_confidence.py +36 -0
  236. mindee_lite-5.0.0a1/mindee/v2/parsing/inference/field/field_location.py +28 -0
  237. mindee_lite-5.0.0a1/mindee/v2/parsing/inference/field/inference_fields.py +63 -0
  238. mindee_lite-5.0.0a1/mindee/v2/parsing/inference/field/list_field.py +58 -0
  239. mindee_lite-5.0.0a1/mindee/v2/parsing/inference/field/object_field.py +133 -0
  240. mindee_lite-5.0.0a1/mindee/v2/parsing/inference/field/simple_field.py +21 -0
  241. mindee_lite-5.0.0a1/mindee/v2/parsing/inference/inference_active_options.py +64 -0
  242. mindee_lite-5.0.0a1/mindee/v2/parsing/inference/inference_file.py +29 -0
  243. mindee_lite-5.0.0a1/mindee/v2/parsing/inference/inference_job.py +14 -0
  244. mindee_lite-5.0.0a1/mindee/v2/parsing/inference/inference_model.py +14 -0
  245. mindee_lite-5.0.0a1/mindee/v2/parsing/inference/rag_metadata.py +10 -0
  246. mindee_lite-5.0.0a1/mindee/v2/parsing/inference/raw_text.py +21 -0
  247. mindee_lite-5.0.0a1/mindee/v2/parsing/inference/raw_text_page.py +11 -0
  248. mindee_lite-5.0.0a1/mindee/v2/parsing/job/__init__.py +5 -0
  249. mindee_lite-5.0.0a1/mindee/v2/parsing/job/job.py +55 -0
  250. mindee_lite-5.0.0a1/mindee/v2/parsing/job/job_response.py +14 -0
  251. mindee_lite-5.0.0a1/mindee/v2/parsing/job/job_webhook.py +35 -0
  252. mindee_lite-5.0.0a1/mindee/v2/parsing/search/__init__.py +0 -0
  253. mindee_lite-5.0.0a1/mindee/v2/parsing/search/model_webhook.py +17 -0
  254. mindee_lite-5.0.0a1/mindee/v2/parsing/search/paginationmetadata.py +28 -0
  255. mindee_lite-5.0.0a1/mindee/v2/parsing/search/search_model.py +25 -0
  256. mindee_lite-5.0.0a1/mindee/v2/parsing/search/search_models.py +24 -0
  257. mindee_lite-5.0.0a1/mindee/v2/parsing/search/search_response.py +32 -0
  258. mindee_lite-5.0.0a1/mindee/v2/product/__init__.py +23 -0
  259. mindee_lite-5.0.0a1/mindee/v2/product/classification/__init__.py +21 -0
  260. mindee_lite-5.0.0a1/mindee/v2/product/classification/classification_classifier.py +22 -0
  261. mindee_lite-5.0.0a1/mindee/v2/product/classification/classification_inference.py +27 -0
  262. mindee_lite-5.0.0a1/mindee/v2/product/classification/classification_response.py +21 -0
  263. mindee_lite-5.0.0a1/mindee/v2/product/classification/classification_result.py +16 -0
  264. mindee_lite-5.0.0a1/mindee/v2/product/classification/params/__init__.py +5 -0
  265. mindee_lite-5.0.0a1/mindee/v2/product/classification/params/classification_parameters.py +11 -0
  266. mindee_lite-5.0.0a1/mindee/v2/product/crop/__init__.py +14 -0
  267. mindee_lite-5.0.0a1/mindee/v2/product/crop/crop_inference.py +28 -0
  268. mindee_lite-5.0.0a1/mindee/v2/product/crop/crop_item.py +43 -0
  269. mindee_lite-5.0.0a1/mindee/v2/product/crop/crop_response.py +19 -0
  270. mindee_lite-5.0.0a1/mindee/v2/product/crop/crop_result.py +29 -0
  271. mindee_lite-5.0.0a1/mindee/v2/product/crop/params/__init__.py +3 -0
  272. mindee_lite-5.0.0a1/mindee/v2/product/crop/params/crop_parameters.py +11 -0
  273. mindee_lite-5.0.0a1/mindee/v2/product/extraction/__init__.py +21 -0
  274. mindee_lite-5.0.0a1/mindee/v2/product/extraction/extraction_inference.py +28 -0
  275. mindee_lite-5.0.0a1/mindee/v2/product/extraction/extraction_response.py +26 -0
  276. mindee_lite-5.0.0a1/mindee/v2/product/extraction/extraction_result.py +27 -0
  277. mindee_lite-5.0.0a1/mindee/v2/product/extraction/params/__init__.py +15 -0
  278. mindee_lite-5.0.0a1/mindee/v2/product/extraction/params/data_schema.py +19 -0
  279. mindee_lite-5.0.0a1/mindee/v2/product/extraction/params/data_schema_field.py +30 -0
  280. mindee_lite-5.0.0a1/mindee/v2/product/extraction/params/data_schema_replace.py +20 -0
  281. mindee_lite-5.0.0a1/mindee/v2/product/extraction/params/extraction_parameters.py +63 -0
  282. mindee_lite-5.0.0a1/mindee/v2/product/extraction/params/string_data_class.py +17 -0
  283. mindee_lite-5.0.0a1/mindee/v2/product/ocr/__init__.py +15 -0
  284. mindee_lite-5.0.0a1/mindee/v2/product/ocr/ocr_inference.py +27 -0
  285. mindee_lite-5.0.0a1/mindee/v2/product/ocr/ocr_page.py +23 -0
  286. mindee_lite-5.0.0a1/mindee/v2/product/ocr/ocr_response.py +19 -0
  287. mindee_lite-5.0.0a1/mindee/v2/product/ocr/ocr_result.py +19 -0
  288. mindee_lite-5.0.0a1/mindee/v2/product/ocr/ocr_word.py +17 -0
  289. mindee_lite-5.0.0a1/mindee/v2/product/ocr/params/__init__.py +3 -0
  290. mindee_lite-5.0.0a1/mindee/v2/product/ocr/params/ocr_parameters.py +11 -0
  291. mindee_lite-5.0.0a1/mindee/v2/product/split/__init__.py +13 -0
  292. mindee_lite-5.0.0a1/mindee/v2/product/split/params/__init__.py +3 -0
  293. mindee_lite-5.0.0a1/mindee/v2/product/split/params/split_parameters.py +11 -0
  294. mindee_lite-5.0.0a1/mindee/v2/product/split/split_inference.py +28 -0
  295. mindee_lite-5.0.0a1/mindee/v2/product/split/split_range.py +42 -0
  296. mindee_lite-5.0.0a1/mindee/v2/product/split/split_response.py +19 -0
  297. mindee_lite-5.0.0a1/mindee/v2/product/split/split_result.py +31 -0
  298. mindee_lite-5.0.0a1/mindee/versions.py +21 -0
  299. mindee_lite-5.0.0a1/mindee_lite.egg-info/PKG-INFO +88 -0
  300. mindee_lite-5.0.0a1/mindee_lite.egg-info/SOURCES.txt +436 -0
  301. mindee_lite-5.0.0a1/mindee_lite.egg-info/dependency_links.txt +1 -0
  302. mindee_lite-5.0.0a1/mindee_lite.egg-info/entry_points.txt +3 -0
  303. mindee_lite-5.0.0a1/mindee_lite.egg-info/requires.txt +26 -0
  304. mindee_lite-5.0.0a1/mindee_lite.egg-info/top_level.txt +6 -0
  305. mindee_lite-5.0.0a1/pyproject.toml +80 -0
  306. mindee_lite-5.0.0a1/scripts/generate_lite_toml.py +42 -0
  307. mindee_lite-5.0.0a1/setup.cfg +4 -0
  308. mindee_lite-5.0.0a1/tests/__init__.py +0 -0
  309. mindee_lite-5.0.0a1/tests/conftest.py +16 -0
  310. mindee_lite-5.0.0a1/tests/dependencies/__init__.py +0 -0
  311. mindee_lite-5.0.0a1/tests/dependencies/test_dependencies.py +23 -0
  312. mindee_lite-5.0.0a1/tests/input/__init__.py +0 -0
  313. mindee_lite-5.0.0a1/tests/input/test_apply_page_options.py +164 -0
  314. mindee_lite-5.0.0a1/tests/input/test_compression.py +232 -0
  315. mindee_lite-5.0.0a1/tests/input/test_fix_pdf.py +24 -0
  316. mindee_lite-5.0.0a1/tests/input/test_inputs.py +102 -0
  317. mindee_lite-5.0.0a1/tests/test_geometry.py +137 -0
  318. mindee_lite-5.0.0a1/tests/test_pkg_versions.py +34 -0
  319. mindee_lite-5.0.0a1/tests/utils.py +55 -0
  320. mindee_lite-5.0.0a1/tests/v1/__init__.py +0 -0
  321. mindee_lite-5.0.0a1/tests/v1/api/__init__.py +0 -0
  322. mindee_lite-5.0.0a1/tests/v1/api/test_async_response.py +121 -0
  323. mindee_lite-5.0.0a1/tests/v1/api/test_feedback_response.py +14 -0
  324. mindee_lite-5.0.0a1/tests/v1/api/test_response.py +86 -0
  325. mindee_lite-5.0.0a1/tests/v1/extraction/__init__.py +0 -0
  326. mindee_lite-5.0.0a1/tests/v1/extraction/test_image_extractor.py +46 -0
  327. mindee_lite-5.0.0a1/tests/v1/extraction/test_invoice_splitter_auto_extraction.py +72 -0
  328. mindee_lite-5.0.0a1/tests/v1/extraction/test_multi_receipts_extractor.py +121 -0
  329. mindee_lite-5.0.0a1/tests/v1/extraction/test_pdf_extractor.py +85 -0
  330. mindee_lite-5.0.0a1/tests/v1/extras/__init__.py +0 -0
  331. mindee_lite-5.0.0a1/tests/v1/extras/test_extras_integration.py +31 -0
  332. mindee_lite-5.0.0a1/tests/v1/extras/test_full_text_ocr.py +38 -0
  333. mindee_lite-5.0.0a1/tests/v1/input/__init__.py +0 -0
  334. mindee_lite-5.0.0a1/tests/v1/input/test_local_response.py +42 -0
  335. mindee_lite-5.0.0a1/tests/v1/input/test_url_input_source_integration.py +65 -0
  336. mindee_lite-5.0.0a1/tests/v1/mindee_http/__init__.py +0 -0
  337. mindee_lite-5.0.0a1/tests/v1/mindee_http/test_error.py +116 -0
  338. mindee_lite-5.0.0a1/tests/v1/parsing/__init__.py +0 -0
  339. mindee_lite-5.0.0a1/tests/v1/parsing/common/__init__.py +0 -0
  340. mindee_lite-5.0.0a1/tests/v1/parsing/common/test_ocr.py +14 -0
  341. mindee_lite-5.0.0a1/tests/v1/parsing/common/test_orientation.py +25 -0
  342. mindee_lite-5.0.0a1/tests/v1/parsing/standard/__init__.py +0 -0
  343. mindee_lite-5.0.0a1/tests/v1/parsing/standard/test_amount.py +23 -0
  344. mindee_lite-5.0.0a1/tests/v1/parsing/standard/test_date.py +27 -0
  345. mindee_lite-5.0.0a1/tests/v1/parsing/standard/test_field.py +101 -0
  346. mindee_lite-5.0.0a1/tests/v1/parsing/standard/test_locale.py +40 -0
  347. mindee_lite-5.0.0a1/tests/v1/parsing/standard/test_payment_details.py +71 -0
  348. mindee_lite-5.0.0a1/tests/v1/parsing/standard/test_position.py +36 -0
  349. mindee_lite-5.0.0a1/tests/v1/parsing/standard/test_string.py +34 -0
  350. mindee_lite-5.0.0a1/tests/v1/parsing/standard/test_tax.py +44 -0
  351. mindee_lite-5.0.0a1/tests/v1/product/__init__.py +14 -0
  352. mindee_lite-5.0.0a1/tests/v1/product/barcode_reader/__init__.py +0 -0
  353. mindee_lite-5.0.0a1/tests/v1/product/barcode_reader/test_barcode_reader_v1.py +47 -0
  354. mindee_lite-5.0.0a1/tests/v1/product/barcode_reader/test_barcode_reader_v1_regression.py +26 -0
  355. mindee_lite-5.0.0a1/tests/v1/product/cropper/__init__.py +0 -0
  356. mindee_lite-5.0.0a1/tests/v1/product/cropper/test_cropper_v1.py +66 -0
  357. mindee_lite-5.0.0a1/tests/v1/product/cropper/test_cropper_v1_regression.py +26 -0
  358. mindee_lite-5.0.0a1/tests/v1/product/custom/__init__.py +0 -0
  359. mindee_lite-5.0.0a1/tests/v1/product/custom/test_custom_v1.py +124 -0
  360. mindee_lite-5.0.0a1/tests/v1/product/custom/test_custom_v1_line_items.py +75 -0
  361. mindee_lite-5.0.0a1/tests/v1/product/custom/test_custom_v1_v2.py +124 -0
  362. mindee_lite-5.0.0a1/tests/v1/product/financial_document/__init__.py +0 -0
  363. mindee_lite-5.0.0a1/tests/v1/product/financial_document/test_financial_document_v1.py +121 -0
  364. mindee_lite-5.0.0a1/tests/v1/product/financial_document/test_financial_document_v1_regression.py +31 -0
  365. mindee_lite-5.0.0a1/tests/v1/product/fr/__init__.py +0 -0
  366. mindee_lite-5.0.0a1/tests/v1/product/fr/bank_account_details/__init__.py +0 -0
  367. mindee_lite-5.0.0a1/tests/v1/product/fr/bank_account_details/test_bank_account_details_v1.py +50 -0
  368. mindee_lite-5.0.0a1/tests/v1/product/fr/bank_account_details/test_bank_account_details_v1_regression.py +31 -0
  369. mindee_lite-5.0.0a1/tests/v1/product/fr/bank_account_details/test_bank_account_details_v2.py +54 -0
  370. mindee_lite-5.0.0a1/tests/v1/product/fr/bank_account_details/test_bank_account_details_v2_regression.py +31 -0
  371. mindee_lite-5.0.0a1/tests/v1/product/fr/carte_grise/__init__.py +0 -0
  372. mindee_lite-5.0.0a1/tests/v1/product/fr/carte_grise/test_carte_grise_v1.py +86 -0
  373. mindee_lite-5.0.0a1/tests/v1/product/fr/carte_grise/test_carte_grise_v1_regression.py +26 -0
  374. mindee_lite-5.0.0a1/tests/v1/product/fr/id_card/__init__.py +0 -0
  375. mindee_lite-5.0.0a1/tests/v1/product/fr/id_card/test_id_card_v1.py +75 -0
  376. mindee_lite-5.0.0a1/tests/v1/product/fr/id_card/test_id_card_v1_regression.py +26 -0
  377. mindee_lite-5.0.0a1/tests/v1/product/fr/id_card/test_id_card_v2.py +80 -0
  378. mindee_lite-5.0.0a1/tests/v1/product/fr/id_card/test_id_card_v2_regression.py +26 -0
  379. mindee_lite-5.0.0a1/tests/v1/product/generated/__init__.py +0 -0
  380. mindee_lite-5.0.0a1/tests/v1/product/generated/test_generated_v1.py +949 -0
  381. mindee_lite-5.0.0a1/tests/v1/product/international_id/__init__.py +0 -0
  382. mindee_lite-5.0.0a1/tests/v1/product/international_id/test_international_id_v2.py +61 -0
  383. mindee_lite-5.0.0a1/tests/v1/product/invoice/__init__.py +0 -0
  384. mindee_lite-5.0.0a1/tests/v1/product/invoice/test_invoice_v4.py +70 -0
  385. mindee_lite-5.0.0a1/tests/v1/product/invoice/test_invoice_v4_regression.py +26 -0
  386. mindee_lite-5.0.0a1/tests/v1/product/invoice_splitter/__init__.py +0 -0
  387. mindee_lite-5.0.0a1/tests/v1/product/invoice_splitter/test_invoice_splitter_v1.py +46 -0
  388. mindee_lite-5.0.0a1/tests/v1/product/invoice_splitter/test_invoice_splitter_v1_regression.py +25 -0
  389. mindee_lite-5.0.0a1/tests/v1/product/multi_receipts_detector/__init__.py +0 -0
  390. mindee_lite-5.0.0a1/tests/v1/product/multi_receipts_detector/test_multi_receipts_detector_v1.py +48 -0
  391. mindee_lite-5.0.0a1/tests/v1/product/multi_receipts_detector/test_multi_receipts_detector_v1_regression.py +31 -0
  392. mindee_lite-5.0.0a1/tests/v1/product/passport/__init__.py +0 -0
  393. mindee_lite-5.0.0a1/tests/v1/product/passport/test_passport_v1.py +56 -0
  394. mindee_lite-5.0.0a1/tests/v1/product/passport/test_passport_v1_regression.py +26 -0
  395. mindee_lite-5.0.0a1/tests/v1/product/receipt/__init__.py +0 -0
  396. mindee_lite-5.0.0a1/tests/v1/product/receipt/test_receipt_v5.py +59 -0
  397. mindee_lite-5.0.0a1/tests/v1/product/receipt/test_receipt_v5_regression.py +26 -0
  398. mindee_lite-5.0.0a1/tests/v1/product/us/__init__.py +0 -0
  399. mindee_lite-5.0.0a1/tests/v1/product/us/bank_check/__init__.py +0 -0
  400. mindee_lite-5.0.0a1/tests/v1/product/us/bank_check/test_bank_check_v1.py +71 -0
  401. mindee_lite-5.0.0a1/tests/v1/product/us/bank_check/test_bank_check_v1_regression.py +26 -0
  402. mindee_lite-5.0.0a1/tests/v1/test_cli.py +211 -0
  403. mindee_lite-5.0.0a1/tests/v1/test_client.py +172 -0
  404. mindee_lite-5.0.0a1/tests/v1/workflows/__init__.py +0 -0
  405. mindee_lite-5.0.0a1/tests/v1/workflows/test_workflow.py +81 -0
  406. mindee_lite-5.0.0a1/tests/v1/workflows/test_workflow_integration.py +111 -0
  407. mindee_lite-5.0.0a1/tests/v2/__init__.py +0 -0
  408. mindee_lite-5.0.0a1/tests/v2/file_operations/__init__.py +0 -0
  409. mindee_lite-5.0.0a1/tests/v2/file_operations/test_crop_operation.py +71 -0
  410. mindee_lite-5.0.0a1/tests/v2/file_operations/test_crop_operation_integration.py +67 -0
  411. mindee_lite-5.0.0a1/tests/v2/file_operations/test_split_operation.py +57 -0
  412. mindee_lite-5.0.0a1/tests/v2/file_operations/test_split_operation_integration.py +68 -0
  413. mindee_lite-5.0.0a1/tests/v2/input/__init__.py +0 -0
  414. mindee_lite-5.0.0a1/tests/v2/input/test_inference_parameters.py +85 -0
  415. mindee_lite-5.0.0a1/tests/v2/input/test_local_response.py +51 -0
  416. mindee_lite-5.0.0a1/tests/v2/parsing/__init__.py +0 -0
  417. mindee_lite-5.0.0a1/tests/v2/parsing/test_job_response.py +61 -0
  418. mindee_lite-5.0.0a1/tests/v2/product/__init__.py +0 -0
  419. mindee_lite-5.0.0a1/tests/v2/product/classification/__init__.py +0 -0
  420. mindee_lite-5.0.0a1/tests/v2/product/classification/test_classification_integration.py +36 -0
  421. mindee_lite-5.0.0a1/tests/v2/product/classification/test_classification_response.py +50 -0
  422. mindee_lite-5.0.0a1/tests/v2/product/crop/__init__.py +0 -0
  423. mindee_lite-5.0.0a1/tests/v2/product/crop/test_crop_integration.py +32 -0
  424. mindee_lite-5.0.0a1/tests/v2/product/crop/test_crop_response.py +97 -0
  425. mindee_lite-5.0.0a1/tests/v2/product/extraction/__init__.py +0 -0
  426. mindee_lite-5.0.0a1/tests/v2/product/extraction/test_extraction_response.py +341 -0
  427. mindee_lite-5.0.0a1/tests/v2/product/ocr/__init__.py +0 -0
  428. mindee_lite-5.0.0a1/tests/v2/product/ocr/test_ocr_integration.py +35 -0
  429. mindee_lite-5.0.0a1/tests/v2/product/ocr/test_ocr_response.py +86 -0
  430. mindee_lite-5.0.0a1/tests/v2/product/split/__init__.py +0 -0
  431. mindee_lite-5.0.0a1/tests/v2/product/split/test_split_integration.py +32 -0
  432. mindee_lite-5.0.0a1/tests/v2/product/split/test_split_response.py +80 -0
  433. mindee_lite-5.0.0a1/tests/v2/product/utils.py +21 -0
  434. mindee_lite-5.0.0a1/tests/v2/search/__init__.py +0 -0
  435. mindee_lite-5.0.0a1/tests/v2/search/test_search_models.py +33 -0
  436. mindee_lite-5.0.0a1/tests/v2/test_base_classes.py +49 -0
  437. mindee_lite-5.0.0a1/tests/v2/test_client.py +340 -0
  438. mindee_lite-5.0.0a1/tests/v2/test_client_integration.py +355 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2021-Present Mindee
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,88 @@
1
+ Metadata-Version: 2.4
2
+ Name: mindee-lite
3
+ Version: 5.0.0a1
4
+ Summary: Mindee API helper library for Python (Lite Version)
5
+ Author-email: Mindee <opensource@mindee.com>
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://www.mindee.com
8
+ Project-URL: Documentation, https://developers.mindee.com/docs/python-sdk
9
+ Project-URL: Repository, https://github.com/publicMindee/mindee-api-python
10
+ Project-URL: Issues, https://github.com/mindee/mindee-api-python/issues
11
+ Project-URL: Changelog, https://github.com/mindee/mindee-api-python/blob/main/CHANGELOG.md
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Programming Language :: Python :: 3.14
18
+ Classifier: Operating System :: OS Independent
19
+ Classifier: Development Status :: 5 - Production/Stable
20
+ Classifier: Intended Audience :: Developers
21
+ Classifier: Topic :: Software Development :: Libraries
22
+ Requires-Python: >=3.10
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE
25
+ Requires-Dist: httpx[http2]<1.0,>=0.28.1
26
+ Provides-Extra: lint
27
+ Requires-Dist: pylint==4.0.5; extra == "lint"
28
+ Requires-Dist: pre-commit~=4.6.0; extra == "lint"
29
+ Requires-Dist: pip-audit>=2.10.0; extra == "lint"
30
+ Provides-Extra: test
31
+ Requires-Dist: toml~=0.10.2; extra == "test"
32
+ Requires-Dist: pytest~=9.0.3; extra == "test"
33
+ Requires-Dist: pytest-cov~=7.1.0; extra == "test"
34
+ Requires-Dist: respx~=0.23.1; extra == "test"
35
+ Provides-Extra: docs
36
+ Requires-Dist: sphinx~=9.1.0; extra == "docs"
37
+ Requires-Dist: sphinx_rtd_theme~=3.1.0; extra == "docs"
38
+ Requires-Dist: sphinx-autodoc-typehints<4.0.0,>=3.10.4; extra == "docs"
39
+ Provides-Extra: build
40
+ Requires-Dist: build; extra == "build"
41
+ Requires-Dist: twine; extra == "build"
42
+ Requires-Dist: toml; extra == "build"
43
+ Provides-Extra: heavy
44
+ Requires-Dist: pypdfium2<6.0,>=4.0; extra == "heavy"
45
+ Requires-Dist: Pillow>=12.2.0; extra == "heavy"
46
+ Dynamic: license-file
47
+
48
+ [![License: MIT](https://img.shields.io/github/license/mindee/mindee-api-python)](https://opensource.org/licenses/MIT) [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/mindee/mindee-api-python/unit-test.yml)](https://github.com/mindee/mindee-api-python) [![PyPI Version](https://img.shields.io/pypi/v/mindee)](https://pypi.org/project/mindee/) [![versions](https://img.shields.io/pypi/pyversions/mindee.svg)](https://github.com/mindee/mindee-api-python) [![Downloads](https://img.shields.io/pypi/dm/mindee)](https://pypi.org/project/mindee/)
49
+
50
+ # Mindee API Helper Library for Python
51
+ Quickly and easily connect to Mindee's API services using Python.
52
+
53
+ ## Mindee API Versions
54
+ This client library has support for both Mindee platform versions.
55
+
56
+ ### V2 - Latest
57
+ This is the latest platform located here:
58
+
59
+ https://app.mindee.com
60
+
61
+ It uses **API version 2**.
62
+
63
+ Consult the
64
+ **[V2 Documentation](https://docs.mindee.com/integrations/client-libraries-sdk)**
65
+
66
+
67
+ ### V1
68
+ This is the platform located here:
69
+
70
+ https://platform.mindee.com/
71
+
72
+ It uses **API version 1**.
73
+
74
+ Consult the
75
+ **[V1 Documentation](https://docs.mindee.com/v1/libraries/python-sdk)**
76
+
77
+ ## Additional Information
78
+
79
+ **[Source Code](https://github.com/mindee/mindee-api-python)**
80
+
81
+ **[Reference Documentation](https://mindee.github.io/mindee-api-python/)**
82
+
83
+ **[Feedback](https://feedback.mindee.com/)**
84
+
85
+ ### License
86
+ Copyright © Mindee
87
+
88
+ Available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -0,0 +1,41 @@
1
+ [![License: MIT](https://img.shields.io/github/license/mindee/mindee-api-python)](https://opensource.org/licenses/MIT) [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/mindee/mindee-api-python/unit-test.yml)](https://github.com/mindee/mindee-api-python) [![PyPI Version](https://img.shields.io/pypi/v/mindee)](https://pypi.org/project/mindee/) [![versions](https://img.shields.io/pypi/pyversions/mindee.svg)](https://github.com/mindee/mindee-api-python) [![Downloads](https://img.shields.io/pypi/dm/mindee)](https://pypi.org/project/mindee/)
2
+
3
+ # Mindee API Helper Library for Python
4
+ Quickly and easily connect to Mindee's API services using Python.
5
+
6
+ ## Mindee API Versions
7
+ This client library has support for both Mindee platform versions.
8
+
9
+ ### V2 - Latest
10
+ This is the latest platform located here:
11
+
12
+ https://app.mindee.com
13
+
14
+ It uses **API version 2**.
15
+
16
+ Consult the
17
+ **[V2 Documentation](https://docs.mindee.com/integrations/client-libraries-sdk)**
18
+
19
+
20
+ ### V1
21
+ This is the platform located here:
22
+
23
+ https://platform.mindee.com/
24
+
25
+ It uses **API version 1**.
26
+
27
+ Consult the
28
+ **[V1 Documentation](https://docs.mindee.com/v1/libraries/python-sdk)**
29
+
30
+ ## Additional Information
31
+
32
+ **[Source Code](https://github.com/mindee/mindee-api-python)**
33
+
34
+ **[Reference Documentation](https://mindee.github.io/mindee-api-python/)**
35
+
36
+ **[Feedback](https://feedback.mindee.com/)**
37
+
38
+ ### License
39
+ Copyright © Mindee
40
+
41
+ Available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -0,0 +1,76 @@
1
+ # Configuration file for the Sphinx documentation builder.
2
+ #
3
+ # This file only contains a selection of the most common options. For a full
4
+ # list see the documentation:
5
+ # https://www.sphinx-doc.org/en/master/usage/configuration.html
6
+
7
+ # -- Path setup --------------------------------------------------------------
8
+
9
+ # If extensions (or modules to document with autodoc) are in another directory,
10
+ # add these directories to sys.path here. If the directory is relative to the
11
+ # documentation root, use os.path.abspath to make it absolute, like shown here.
12
+ #
13
+ # import os
14
+ # import sys
15
+ # sys.path.insert(0, os.path.abspath('.'))
16
+
17
+
18
+ # -- Project information -----------------------------------------------------
19
+
20
+ project = "Mindee Python Client"
21
+ copyright = "2022, Mindee"
22
+ author = "Mindee"
23
+
24
+
25
+ # -- General configuration ---------------------------------------------------
26
+
27
+ # Add any Sphinx extension module names here, as strings. They can be
28
+ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
29
+ # ones.
30
+ extensions = [
31
+ "sphinx.ext.autodoc",
32
+ "sphinx_autodoc_typehints",
33
+ ]
34
+
35
+ # Add any paths that contain templates here, relative to this directory.
36
+ templates_path = ["_templates"]
37
+
38
+ # List of patterns, relative to source directory, that match files and
39
+ # directories to ignore when looking for source files.
40
+ # This pattern also affects html_static_path and html_extra_path.
41
+ exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
42
+
43
+
44
+ # -- Options for HTML output -------------------------------------------------
45
+
46
+ # The theme to use for HTML and HTML Help pages. See the documentation for
47
+ # a list of builtin themes.
48
+ #
49
+ html_theme = "sphinx_rtd_theme"
50
+ html_theme_options = {
51
+ "body_max_width": "none",
52
+ }
53
+
54
+ # Add any paths that contain custom static files (such as style sheets) here,
55
+ # relative to this directory. They are copied after the builtin static files,
56
+ # so a file named "default.css" will overwrite the builtin "default.css".
57
+ html_static_path = []
58
+
59
+ # A list of paths that contain extra files not directly related to the documentation.
60
+ html_extra_path = ["extras"]
61
+
62
+
63
+ # -- autodoc -----------------------------------------------------------------
64
+
65
+ autodoc_member_order = "groupwise"
66
+ # autodoc_class_signature = "separated" # breaks new syntaxes
67
+
68
+ # Hides prepended module names wich caused some classes to overflow on the right of the screen.
69
+ add_module_names = False
70
+ autodoc_typehints = "description"
71
+ autodoc_default_options = {"exclude-members": "__init__"}
72
+
73
+ # -- autodoc-typehints -------------------------------------------------------
74
+
75
+ typehints_defaults = "comma"
76
+ suppress_warnings = ["ref.python"]
@@ -0,0 +1,31 @@
1
+ from pathlib import Path
2
+
3
+ from mindee.v1.client import Client, InferenceParameters
4
+ from mindee.v2.product.extraction.extraction_response import ExtractionResponse
5
+ from tests.v1.product import PRODUCT_DATA_DIR
6
+ from tests.test_inputs import FILE_TYPES_DIR
7
+
8
+ default_sample_path: Path = (
9
+ PRODUCT_DATA_DIR / "financial_document" / "default_sample.jpg"
10
+ )
11
+ blank_sample_path: Path = FILE_TYPES_DIR / "pdf" / "blank_1.pdf"
12
+
13
+ v2_client = Client("mk_IEn6iaNKYIgeP5hfRS4BkaZMkSINZw0C")
14
+ default_sample = v2_client.source_from_path(default_sample_path)
15
+ options = InferenceParameters(model_id="94340559-b994-45e6-8b5c-be626027f1b2")
16
+
17
+ response_default: ExtractionResponse = v2_client.enqueue_and_get_inference(
18
+ default_sample, options
19
+ )
20
+ # response: PollingResponse = v2_client.enqueue(input_doc, options)
21
+ # print(response.raw_http)
22
+ with open("local_test/default_sample.json", "w", encoding="utf-8") as out_file:
23
+ out_file.write(str(response_default.raw_http))
24
+
25
+ blank_sample = v2_client.source_from_path(blank_sample_path)
26
+ response_blank: ExtractionResponse = v2_client.enqueue_and_get_inference(
27
+ blank_sample, options
28
+ )
29
+
30
+ with open("local_test/blank.json", "w", encoding="utf-8") as out_file:
31
+ out_file.write(str(response_blank.raw_http))
@@ -0,0 +1,56 @@
1
+ import json
2
+ import time
3
+ import requests
4
+ from pathlib import Path
5
+
6
+
7
+ def send_file_with_polling(
8
+ file_path: str,
9
+ model_id: str,
10
+ api_key: str,
11
+ max_retries: int = 30,
12
+ polling_interval: int = 2,
13
+ ) -> dict:
14
+ upload_file = Path(file_path)
15
+ headers = {"Authorization": api_key}
16
+ form_data = {"model_id": model_id, "rag": False}
17
+ with upload_file.open("rb") as fh:
18
+ files = {"file": (upload_file.name, fh)}
19
+ print(f"Enqueuing file: {upload_file}")
20
+ response = requests.post(
21
+ url="http://127.0.0.1:3915/v2/inferences/enqueue",
22
+ files=files,
23
+ data=form_data,
24
+ headers=headers,
25
+ )
26
+ response.raise_for_status()
27
+ job_data = response.json().get("job")
28
+ polling_url = job_data.get("polling_url")
29
+
30
+ # Important to wait before attempting to poll
31
+ time.sleep(3)
32
+
33
+ # Poll for completion
34
+ for attempt in range(max_retries):
35
+ print(f"Polling on: {polling_url}")
36
+ poll_response = requests.get(polling_url, headers=headers, allow_redirects=False)
37
+ poll_data = poll_response.json()
38
+ job_status = poll_data.get("job", {}).get("status")
39
+ if poll_response.status_code == 302 or job_status == "Processed":
40
+ result_url = poll_data.get("job", {}).get("result_url")
41
+ print(f"Get result from: {result_url}")
42
+ result_response = requests.get(result_url, headers=headers)
43
+ result_data = result_response.json()
44
+ return result_data
45
+ # still processing, wait before next poll
46
+ time.sleep(polling_interval)
47
+ # If we've exhausted all retries
48
+ raise TimeoutError(f"Polling timed out after {max_retries} attempts")
49
+
50
+
51
+ response = send_file_with_polling(
52
+ file_path="/home/seb/work/mindee/client-lib-test-data/v2/products/financial_document/default_sample.jpg",
53
+ model_id="d52d4a67-5d9e-43bf-9203-0675d3bf1d6d",
54
+ api_key="md_9yc6r4cjdhxamdn1l6nbg7vnaj2y8psb",
55
+ )
56
+ print(json.dumps(response, indent=2))
@@ -0,0 +1,13 @@
1
+ import mindee
2
+ from pathlib import Path
3
+
4
+ mindee_client = mindee.Client()
5
+
6
+ in_path = "/home/seb/work/mindee/client-lib-test-data/products/us_healthcare_cards/response_v1/complete.json"
7
+ with open(in_path, "r", encoding="utf-8") as in_file:
8
+ print(in_file.read())
9
+ result = mindee_client.load_prediction(mindee.product.us.HealthcareCardV1, mindee.LocalResponse(in_path))
10
+ output_path = Path("local_test").resolve() / "out.txt"
11
+ output_path.parent.mkdir(parents=True, exist_ok=True)
12
+ with open(output_path, "w", encoding="utf-8") as out_file:
13
+ out_file.write(str(result.document))
@@ -0,0 +1,7 @@
1
+ from mindee.v2.client import Client
2
+
3
+
4
+ m_client = Client()
5
+
6
+ models = m_client.search_models(model_type="crop")
7
+ print(models)
@@ -0,0 +1,26 @@
1
+ from mindee.v1.client import Client, InferenceParameters, PollingOptions
2
+ import os
3
+ from mindee.logger import logger
4
+
5
+ LOG_LEVEL = os.getenv("LOG_LEVEL", "DEBUG").upper()
6
+
7
+ logger.info("Initializing Mindee client")
8
+ mindee_client = Client("md_afm8g0osoy5g9nxqr8lbrgyxhtz280zc")
9
+
10
+ input_doc = mindee_client.source_from_path(
11
+ "/home/seb/Downloads/cd457d57-dca6-4d65-a68d-e77215ba58ff.pdf"
12
+ )
13
+
14
+ result = mindee_client.enqueue_and_get_inference(
15
+ input_doc,
16
+ InferenceParameters(
17
+ model_id="b4126d15-3dd9-412f-8f78-7c4982583794",
18
+ confidence=True,
19
+ polling_options=PollingOptions(1, 1),
20
+ ),
21
+ )
22
+
23
+ print(result.raw_http)
24
+
25
+ # Print the document-level summary
26
+ # print(result.document.inference.prediction)
@@ -0,0 +1,20 @@
1
+ from mindee.v1.client import Client, AsyncPredictResponse
2
+ from mindee.v1 import product
3
+
4
+ # Init a new client
5
+ mindee_client = Client()
6
+
7
+ with open("/home/seb/Documents/lucca/5091817238976J.pdf", "rb") as f_rb:
8
+ input_doc = mindee_client.source_from_bytes(f_rb.read(), "filename.pdf")
9
+
10
+ # Load a file from disk and parse it.
11
+ result: AsyncPredictResponse = mindee_client.parse(
12
+ product.FinancialDocumentV1,
13
+ input_doc,
14
+ )
15
+
16
+ # Print a summary of the API result
17
+ print(result.raw_http)
18
+
19
+ # Print the document-level summary
20
+ # print(result.document.inference.prediction)
@@ -0,0 +1,112 @@
1
+ from pathlib import Path
2
+ from typing import Any, BinaryIO
3
+
4
+ from mindee import (
5
+ ClassificationParameters,
6
+ ClassificationResponse,
7
+ Client,
8
+ CropParameters,
9
+ CropResponse,
10
+ ExtractionParameters,
11
+ ExtractionResponse,
12
+ JobResponse,
13
+ LocalResponse,
14
+ OCRParameters,
15
+ OCRResponse,
16
+ PathInput,
17
+ SplitParameters,
18
+ SplitResponse,
19
+ )
20
+ import os
21
+
22
+ from mindee.input import BaseParameters
23
+ from mindee.parsing.common.common_response import CommonResponse
24
+
25
+
26
+ def full_parse(params, input_source) -> ExtractionResponse:
27
+ return mindee_client.enqueue_and_get_result(
28
+ ExtractionResponse,
29
+ input_source,
30
+ params,
31
+ )
32
+
33
+
34
+ def enqueue_only(params, input_source) -> JobResponse:
35
+ return mindee_client.enqueue(
36
+ input_source,
37
+ params,
38
+ )
39
+
40
+
41
+ def setup_params(
42
+ param_type: type[
43
+ ClassificationParameters
44
+ | CropParameters
45
+ | ExtractionParameters
46
+ | OCRParameters
47
+ | SplitParameters
48
+ ],
49
+ rag: bool = False,
50
+ raw_text: bool = False,
51
+ polygon: bool = False,
52
+ confidence: bool = False,
53
+ data_schema: str = None,
54
+ text_context: str = None,
55
+ alias: str = None,
56
+ ) -> BaseParameters:
57
+ kwargs: dict[str, Any] = {"close_file": False}
58
+ if alias:
59
+ kwargs["alias"] = alias
60
+ if param_type == ExtractionParameters:
61
+ kwargs = kwargs | {
62
+ "rag": rag,
63
+ "raw_text": raw_text,
64
+ "polygon": polygon,
65
+ "confidence": confidence,
66
+ "text_context": text_context,
67
+ "data_schema": data_schema,
68
+ }
69
+ return param_type(model_id=model_id, **kwargs)
70
+
71
+
72
+ def setup_input(path):
73
+ return PathInput(path)
74
+
75
+
76
+ def deserialize_webhook(
77
+ response: BinaryIO | str | Path | bytes,
78
+ product_type: type[
79
+ ClassificationResponse
80
+ | CropResponse
81
+ | ExtractionResponse
82
+ | JobResponse
83
+ | OCRResponse
84
+ | SplitResponse
85
+ ],
86
+ ) -> CommonResponse:
87
+ local_response = LocalResponse(response)
88
+ return local_response.deserialize_response(product_type)
89
+
90
+
91
+ os.environ["MINDEE_V2_BASE_URL"] = "http://localhost:3915/v2"
92
+
93
+ input_path = "/home/seb/Documents/blank_1.pdf"
94
+ model_id = "762d24e7-666c-411d-abb4-947190f64538"
95
+ api_key = "md_X1OvEuBk_ZMJBwII4wu5hb2e3sWlnQeAHaBwRyySbFM"
96
+
97
+ mindee_client = Client(api_key) # API key can be set from env `MINDEE_V2_API_KEY`
98
+
99
+ params = setup_params(ExtractionParameters)
100
+ local_input = setup_input(input_path)
101
+
102
+ # Example with inference
103
+ response_full_parse = full_parse(params, local_input)
104
+ print(response_full_parse)
105
+
106
+ job_response = enqueue_only(params, local_input)
107
+ # Print job ID
108
+ print(job_response.job.id)
109
+
110
+ # For webhook deserialization:
111
+ # webhook_response = deserialize_webhook(webhook_source, InferenceResponse)
112
+ # print(webhook_response)
@@ -0,0 +1,21 @@
1
+ from pathlib import Path
2
+
3
+ import mindee
4
+ from mindee import CropParameters, CropResponse
5
+ import os
6
+
7
+ dir_path = os.path.dirname(os.path.realpath(__file__))
8
+
9
+ client = mindee.Client("my_api_key")
10
+ model_id = "model_id"
11
+ local_input = mindee.PathInput("path/to/my/file.ext")
12
+ output_path = Path(dir_path) / "cropped_files"
13
+
14
+ params = CropParameters(model_id, close_file=False)
15
+
16
+ result = client.enqueue_and_get_result(CropResponse, local_input, params)
17
+
18
+ crop_files = result.extract_from_file(local_input)
19
+
20
+ output_path.mkdir(parents=True, exist_ok=True)
21
+ crop_files.save_all_to_disk(output_path)
@@ -0,0 +1,21 @@
1
+ from pathlib import Path
2
+
3
+ import mindee
4
+ from mindee import SplitParameters, SplitResponse
5
+ import os
6
+
7
+ dir_path = os.path.dirname(os.path.realpath(__file__))
8
+
9
+ client = mindee.Client("my_api_key")
10
+ model_id = "model_id"
11
+ local_input = mindee.PathInput("path/to/my/file.ext")
12
+ output_path = Path(dir_path) / "split_files"
13
+
14
+ params = SplitParameters(model_id, close_file=False)
15
+
16
+ result = client.enqueue_and_get_result(SplitResponse, local_input, params)
17
+
18
+ split_files = result.extract_from_file(local_input)
19
+
20
+ output_path.mkdir(parents=True, exist_ok=True)
21
+ split_files.save_all_to_disk(output_path)
@@ -0,0 +1,4 @@
1
+ import mindee
2
+
3
+ client = mindee.Client("my_api_key")
4
+ document = mindee.PathInput("/path/to/my/file.ext")
@@ -0,0 +1,37 @@
1
+ from mindee.v1.client import Client, InferenceParameters, InferenceResponse, PathInput
2
+
3
+ input_path = "/home/seb/Documents/blank_1.pdf"
4
+ api_key = "md_sMAC68Ixx5vvkp9aXCKn7pDUg2Rcx76H"
5
+ model_id = "8fde5151-aa18-4c70-9289-fa04e50ca3b9"
6
+
7
+ # Init a new client
8
+ mindee_client = Client(api_key)
9
+
10
+ # Set inference parameters
11
+ params = InferenceParameters(
12
+ # ID of the model, required.
13
+ model_id=model_id,
14
+ # Options: set to `True` or `False` to override defaults
15
+ # Enhance extraction accuracy with Retrieval-Augmented Generation.
16
+ rag=None,
17
+ # Extract the full text content from the document as strings.
18
+ raw_text=None,
19
+ # Calculate bounding box polygons for all fields.
20
+ polygon=None,
21
+ # Boost the precision and accuracy of all extractions.
22
+ # Calculate confidence scores for all fields.
23
+ confidence=None,
24
+ )
25
+
26
+ # Load a file from disk
27
+ input_source = PathInput(input_path)
28
+
29
+ # Send for processing
30
+ response = mindee_client.enqueue_and_get_result(
31
+ InferenceResponse,
32
+ input_source,
33
+ params,
34
+ )
35
+
36
+ # Print a brief summary of the parsed data
37
+ print(response.inference)
@@ -0,0 +1,41 @@
1
+ from mindee.logger import logger
2
+ from mindee.v1.client import Client, InferenceParameters, PathInput, PollingOptions
3
+
4
+ input_path = (
5
+ "/home/seb/Downloads/0657_2025-08-01 CARLOS LLOMPART CABELLO_AAACOMPA00387.pdf"
6
+ )
7
+ api_key = "mk_IEn6iaNKYIgeP5hfRS4BkaZMkSINZw0C"
8
+ model_id = "019a21ef-e0cc-4cc9-9694-57ff588b60f8"
9
+ LOG_FORMAT = "%(asctime)s | %(levelname)-8s | %(name)s | %(message)s"
10
+
11
+ # Init a new client
12
+ mindee_client = Client(api_key)
13
+
14
+ logger.info("Starting Mindee inference for %s with model %s", input_path, model_id)
15
+
16
+
17
+ # Set inference parameters
18
+ params = InferenceParameters(
19
+ # ID of the model, required.
20
+ model_id=model_id,
21
+ # Options: set to `True` or `False` to override defaults
22
+ # Enhance extraction accuracy with Retrieval-Augmented Generation.
23
+ rag=True,
24
+ # Extract the full text content from the document as strings.
25
+ raw_text=True,
26
+ # Calculate bounding box polygons for all fields.
27
+ polygon=False,
28
+ # Boost the precision and accuracy of all extractions.
29
+ # Calculate confidence scores for all fields.
30
+ confidence=False,
31
+ polling_options=PollingOptions(max_retries=2000),
32
+ )
33
+
34
+ # Load a file from disk
35
+ input_source = PathInput(input_path)
36
+
37
+ # Send for processing
38
+ response = mindee_client.enqueue_and_get_inference(input_source, params)
39
+
40
+ # Print a brief summary of the parsed data
41
+ print(response.raw_http)
@@ -0,0 +1,30 @@
1
+ from mindee.v1.client import Client, InferenceParameters, PollingOptions
2
+ import os
3
+ from mindee.logger import logger
4
+
5
+ LOG_LEVEL = os.getenv("LOG_LEVEL", "DEBUG").upper()
6
+
7
+ model_id = "YOUR-MODEL-ID"
8
+ filepath = "/path/to/your/file.ext"
9
+ api_key = "YOUR_APIKEY"
10
+
11
+ logger.info("Initializing Mindee client")
12
+ mindee_client = Client(api_key)
13
+
14
+ input_doc = mindee_client.source_from_path(filepath)
15
+
16
+ result = mindee_client.enqueue_and_get_inference(
17
+ input_doc,
18
+ InferenceParameters(
19
+ model_id=model_id,
20
+ confidence=False,
21
+ polygon=False,
22
+ raw_text=False,
23
+ rag=False,
24
+ alias=None,
25
+ text_context=None,
26
+ webhook_ids=[],
27
+ ),
28
+ )
29
+
30
+ print(result.raw_http)
@@ -0,0 +1,12 @@
1
+ from mindee.v1.client import Client
2
+ from mindee.input import SplitParameters
3
+ from mindee.v2 import SplitResponse
4
+
5
+ client = Client("md_sMAC68Ixx5vvkp9aXCKn7pDUg2Rcx76H")
6
+ input_source = client.source_from_path(
7
+ "./tests/data/v1/products/invoice_splitter/default_sample.pdf"
8
+ )
9
+ response = client.enqueue_and_get_result(
10
+ SplitResponse, input_source, SplitParameters("7cfb736e-651e-4407-a82d-f437025810a0")
11
+ )
12
+ print(response.inference)