numind 0.3.1__tar.gz → 0.3.2__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 (320) hide show
  1. {numind-0.3.1 → numind-0.3.2}/PKG-INFO +23 -5
  2. {numind-0.3.1 → numind-0.3.2}/README.md +10 -3
  3. {numind-0.3.1 → numind-0.3.2}/pyproject.toml +5 -2
  4. {numind-0.3.1 → numind-0.3.2}/sdk_generation/pyproject_base.toml +21 -1
  5. numind-0.3.2/src/numind/nuextract_utils/_iso_data/CLDR likelySubtags.xml +7765 -0
  6. numind-0.3.2/src/numind/nuextract_utils/_iso_data/CLDR supplementalData.xml +5916 -0
  7. numind-0.3.2/src/numind/nuextract_utils/_iso_data/IANA language subtag registry.txt +49144 -0
  8. numind-0.3.2/src/numind/nuextract_utils/_iso_data/IANA tlds.txt +1441 -0
  9. numind-0.3.2/src/numind/nuextract_utils/_iso_data/ISO 15924.csv +213 -0
  10. numind-0.3.2/src/numind/nuextract_utils/_iso_data/ISO 3166-1.csv +250 -0
  11. numind-0.3.2/src/numind/nuextract_utils/_iso_data/ISO 3166-2.csv +5078 -0
  12. numind-0.3.2/src/numind/nuextract_utils/_iso_data/ISO 4217 list-one.csv +281 -0
  13. numind-0.3.2/src/numind/nuextract_utils/_iso_data/ISO 4217 list-three.csv +166 -0
  14. numind-0.3.2/src/numind/nuextract_utils/_iso_data/__init__.py +1 -0
  15. numind-0.3.2/src/numind/nuextract_utils/_iso_data/iso-639-3.tab +7928 -0
  16. numind-0.3.2/src/numind/nuextract_utils/_iso_data/iso-639-3_Retirements.tab +387 -0
  17. numind-0.3.2/src/numind/nuextract_utils/_iso_data/ucum-essence.xml +2059 -0
  18. numind-0.3.2/src/numind/nuextract_utils/data_validation/__init__.py +19 -0
  19. numind-0.3.2/src/numind/nuextract_utils/data_validation/constants.py +65 -0
  20. numind-0.3.2/src/numind/nuextract_utils/data_validation/data_correction.py +1005 -0
  21. numind-0.3.2/src/numind/nuextract_utils/data_validation/data_validation.py +518 -0
  22. numind-0.3.2/src/numind/nuextract_utils/data_validation/models.py +45 -0
  23. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/__init__.py +155 -0
  24. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/_utils.py +240 -0
  25. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/base.py +78 -0
  26. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/bic.py +88 -0
  27. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/country.py +125 -0
  28. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/currency.py +148 -0
  29. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/date_time.py +823 -0
  30. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/duration.py +344 -0
  31. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/email_address.py +217 -0
  32. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/geolocation.py +289 -0
  33. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/iban.py +88 -0
  34. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/integer.py +81 -0
  35. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/language.py +153 -0
  36. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/language_tag.py +518 -0
  37. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/number.py +97 -0
  38. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/phone_number.py +422 -0
  39. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/region.py +272 -0
  40. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/rfc3987.py +577 -0
  41. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/script.py +129 -0
  42. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/string_.py +90 -0
  43. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/unit_code.py +116 -0
  44. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/url.py +220 -0
  45. numind-0.3.2/src/numind/nuextract_utils/data_validation/types/verbatim_string.py +763 -0
  46. numind-0.3.2/src/numind/nuextract_utils/data_validation/utils.py +47 -0
  47. {numind-0.3.1 → numind-0.3.2}/src/numind/nuextract_utils/template_conversion/constants.py +0 -2
  48. {numind-0.3.1 → numind-0.3.2}/src/numind/nuextract_utils/template_conversion/json_schema.py +602 -393
  49. {numind-0.3.1 → numind-0.3.2}/src/numind/nuextract_utils/template_conversion/pydantic.py +10 -6
  50. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client/api/content_extraction_api.py +6 -0
  51. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client/api/content_extraction_project_management_api.py +18 -0
  52. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client/api/default_api.py +15 -0
  53. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client/api/documents_api.py +12 -0
  54. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client/api/files_api.py +12 -0
  55. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client/api/inference_api.py +15 -0
  56. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client/api/jobs_api.py +12 -0
  57. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client/api/project_import_export_api.py +6 -0
  58. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client/api/structured_data_extraction_api.py +6 -0
  59. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client/api/structured_extraction_examples_api.py +15 -0
  60. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client/api/structured_extraction_project_management_api.py +39 -0
  61. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client/api/template_generation_api.py +6 -0
  62. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client/api_client.py +23 -1
  63. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client/configuration.py +22 -3
  64. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client/rest.py +55 -3
  65. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client_async/api/content_extraction_api.py +6 -0
  66. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client_async/api/content_extraction_project_management_api.py +18 -0
  67. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client_async/api/default_api.py +15 -0
  68. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client_async/api/documents_api.py +12 -0
  69. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client_async/api/files_api.py +12 -0
  70. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client_async/api/inference_api.py +15 -0
  71. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client_async/api/jobs_api.py +12 -0
  72. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client_async/api/project_import_export_api.py +6 -0
  73. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client_async/api/structured_data_extraction_api.py +6 -0
  74. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client_async/api/structured_extraction_examples_api.py +15 -0
  75. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client_async/api/structured_extraction_project_management_api.py +39 -0
  76. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client_async/api/template_generation_api.py +6 -0
  77. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client_async/api_client.py +23 -1
  78. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client_async/configuration.py +27 -3
  79. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client_async/rest.py +44 -7
  80. {numind-0.3.1 → numind-0.3.2}/tests/json_schema_test_cases/1.json +0 -3
  81. numind-0.3.2/tests/nuextract_utils/__init__.py +1 -0
  82. numind-0.3.2/tests/nuextract_utils/test_error_detection.py +342 -0
  83. {numind-0.3.1 → numind-0.3.2}/tests/test_conversion_json_schema.py +581 -191
  84. {numind-0.3.1 → numind-0.3.2}/tests/test_conversion_pydantic.py +2 -2
  85. {numind-0.3.1 → numind-0.3.2}/tests/test_json_schema_descriptions.py +2 -2
  86. numind-0.3.1/src/numind/nuextract_utils/template_conversion/utils.py +0 -13
  87. {numind-0.3.1 → numind-0.3.2}/.github/codecov.yml +0 -0
  88. {numind-0.3.1 → numind-0.3.2}/.github/dependabot.yml +0 -0
  89. {numind-0.3.1 → numind-0.3.2}/.github/workflows/lint.yml +0 -0
  90. {numind-0.3.1 → numind-0.3.2}/.github/workflows/publish-pypi.yml +0 -0
  91. {numind-0.3.1 → numind-0.3.2}/.github/workflows/sdk-auto-update.yml +0 -0
  92. {numind-0.3.1 → numind-0.3.2}/.github/workflows/tests.yml +0 -0
  93. {numind-0.3.1 → numind-0.3.2}/.github/workflows/update-api-build-version-repo-var.yml +0 -0
  94. {numind-0.3.1 → numind-0.3.2}/.gitignore +0 -0
  95. {numind-0.3.1 → numind-0.3.2}/LICENSE +0 -0
  96. {numind-0.3.1 → numind-0.3.2}/docs/Content.md +0 -0
  97. {numind-0.3.1 → numind-0.3.2}/docs/ContentExtractionApi.md +0 -0
  98. {numind-0.3.1 → numind-0.3.2}/docs/ContentExtractionProjectManagementApi.md +0 -0
  99. {numind-0.3.1 → numind-0.3.2}/docs/ContentExtractionResponse.md +0 -0
  100. {numind-0.3.1 → numind-0.3.2}/docs/ContentProjectResponse.md +0 -0
  101. {numind-0.3.1 → numind-0.3.2}/docs/ContentProjectSettingsResponse.md +0 -0
  102. {numind-0.3.1 → numind-0.3.2}/docs/ConvertRequest.md +0 -0
  103. {numind-0.3.1 → numind-0.3.2}/docs/CreateContentProjectRequest.md +0 -0
  104. {numind-0.3.1 → numind-0.3.2}/docs/CreateOrUpdateStructuredExampleRequest.md +0 -0
  105. {numind-0.3.1 → numind-0.3.2}/docs/CreateStructuredProjectRequest.md +0 -0
  106. {numind-0.3.1 → numind-0.3.2}/docs/DefaultApi.md +0 -0
  107. {numind-0.3.1 → numind-0.3.2}/docs/DocumentInfo.md +0 -0
  108. {numind-0.3.1 → numind-0.3.2}/docs/DocumentResponse.md +0 -0
  109. {numind-0.3.1 → numind-0.3.2}/docs/DocumentsApi.md +0 -0
  110. {numind-0.3.1 → numind-0.3.2}/docs/Error.md +0 -0
  111. {numind-0.3.1 → numind-0.3.2}/docs/FileResponse.md +0 -0
  112. {numind-0.3.1 → numind-0.3.2}/docs/FilesApi.md +0 -0
  113. {numind-0.3.1 → numind-0.3.2}/docs/HealthResponse.md +0 -0
  114. {numind-0.3.1 → numind-0.3.2}/docs/ImageInfo.md +0 -0
  115. {numind-0.3.1 → numind-0.3.2}/docs/ImportProjectResponse.md +0 -0
  116. {numind-0.3.1 → numind-0.3.2}/docs/InferenceApi.md +0 -0
  117. {numind-0.3.1 → numind-0.3.2}/docs/InferenceStatus.md +0 -0
  118. {numind-0.3.1 → numind-0.3.2}/docs/InferenceValidationError.md +0 -0
  119. {numind-0.3.1 → numind-0.3.2}/docs/InformationResponse.md +0 -0
  120. {numind-0.3.1 → numind-0.3.2}/docs/InvalidInformation.md +0 -0
  121. {numind-0.3.1 → numind-0.3.2}/docs/JobIdResponse.md +0 -0
  122. {numind-0.3.1 → numind-0.3.2}/docs/JobStatusResponse.md +0 -0
  123. {numind-0.3.1 → numind-0.3.2}/docs/JobsApi.md +0 -0
  124. {numind-0.3.1 → numind-0.3.2}/docs/PaginatedResponseT.md +0 -0
  125. {numind-0.3.1 → numind-0.3.2}/docs/ProjectImportExportApi.md +0 -0
  126. {numind-0.3.1 → numind-0.3.2}/docs/ServiceStatus.md +0 -0
  127. {numind-0.3.1 → numind-0.3.2}/docs/Structured.md +0 -0
  128. {numind-0.3.1 → numind-0.3.2}/docs/StructuredDataExtractionApi.md +0 -0
  129. {numind-0.3.1 → numind-0.3.2}/docs/StructuredExampleResponse.md +0 -0
  130. {numind-0.3.1 → numind-0.3.2}/docs/StructuredExtractionExamplesApi.md +0 -0
  131. {numind-0.3.1 → numind-0.3.2}/docs/StructuredExtractionProjectManagementApi.md +0 -0
  132. {numind-0.3.1 → numind-0.3.2}/docs/StructuredExtractionResponse.md +0 -0
  133. {numind-0.3.1 → numind-0.3.2}/docs/StructuredInferenceExample.md +0 -0
  134. {numind-0.3.1 → numind-0.3.2}/docs/StructuredProjectResponse.md +0 -0
  135. {numind-0.3.1 → numind-0.3.2}/docs/StructuredProjectSettingsResponse.md +0 -0
  136. {numind-0.3.1 → numind-0.3.2}/docs/TemplateGenerationApi.md +0 -0
  137. {numind-0.3.1 → numind-0.3.2}/docs/TemplateRequest.md +0 -0
  138. {numind-0.3.1 → numind-0.3.2}/docs/TemplateResponse.md +0 -0
  139. {numind-0.3.1 → numind-0.3.2}/docs/TextInfo.md +0 -0
  140. {numind-0.3.1 → numind-0.3.2}/docs/TextRequest.md +0 -0
  141. {numind-0.3.1 → numind-0.3.2}/docs/UpdateContentProjectRequest.md +0 -0
  142. {numind-0.3.1 → numind-0.3.2}/docs/UpdateContentProjectSettingsRequest.md +0 -0
  143. {numind-0.3.1 → numind-0.3.2}/docs/UpdateStructuredProjectRequest.md +0 -0
  144. {numind-0.3.1 → numind-0.3.2}/docs/UpdateStructuredProjectSettingsRequest.md +0 -0
  145. {numind-0.3.1 → numind-0.3.2}/docs/ValidInformation.md +0 -0
  146. {numind-0.3.1 → numind-0.3.2}/docs/VersionResponse.md +0 -0
  147. {numind-0.3.1 → numind-0.3.2}/sdk_generation/.openapi-generator-ignore +0 -0
  148. {numind-0.3.1 → numind-0.3.2}/sdk_generation/adapt_openapi_client_init.py +0 -0
  149. {numind-0.3.1 → numind-0.3.2}/sdk_generation/adapt_pyproject.py +0 -0
  150. {numind-0.3.1 → numind-0.3.2}/sdk_generation/collate_documentation_readme.py +0 -0
  151. {numind-0.3.1 → numind-0.3.2}/sdk_generation/config.json +0 -0
  152. {numind-0.3.1 → numind-0.3.2}/sdk_generation/gen_sdk.sh +0 -0
  153. {numind-0.3.1 → numind-0.3.2}/sdk_generation/remove_unused_models_from_openapi_spec_file.py +0 -0
  154. {numind-0.3.1 → numind-0.3.2}/src/numind/__init__.py +0 -0
  155. {numind-0.3.1 → numind-0.3.2}/src/numind/api_response.py +0 -0
  156. {numind-0.3.1 → numind-0.3.2}/src/numind/constants.py +0 -0
  157. {numind-0.3.1 → numind-0.3.2}/src/numind/exceptions.py +0 -0
  158. {numind-0.3.1 → numind-0.3.2}/src/numind/models/__init__.py +0 -0
  159. {numind-0.3.1 → numind-0.3.2}/src/numind/models/content.py +0 -0
  160. {numind-0.3.1 → numind-0.3.2}/src/numind/models/content_extraction_response.py +0 -0
  161. {numind-0.3.1 → numind-0.3.2}/src/numind/models/content_project_response.py +0 -0
  162. {numind-0.3.1 → numind-0.3.2}/src/numind/models/content_project_settings_response.py +0 -0
  163. {numind-0.3.1 → numind-0.3.2}/src/numind/models/convert_request.py +0 -0
  164. {numind-0.3.1 → numind-0.3.2}/src/numind/models/create_content_project_request.py +0 -0
  165. {numind-0.3.1 → numind-0.3.2}/src/numind/models/create_or_update_structured_example_request.py +0 -0
  166. {numind-0.3.1 → numind-0.3.2}/src/numind/models/create_structured_project_request.py +0 -0
  167. {numind-0.3.1 → numind-0.3.2}/src/numind/models/document_info.py +0 -0
  168. {numind-0.3.1 → numind-0.3.2}/src/numind/models/document_response.py +0 -0
  169. {numind-0.3.1 → numind-0.3.2}/src/numind/models/error.py +0 -0
  170. {numind-0.3.1 → numind-0.3.2}/src/numind/models/file_response.py +0 -0
  171. {numind-0.3.1 → numind-0.3.2}/src/numind/models/health_response.py +0 -0
  172. {numind-0.3.1 → numind-0.3.2}/src/numind/models/image_info.py +0 -0
  173. {numind-0.3.1 → numind-0.3.2}/src/numind/models/import_project_response.py +0 -0
  174. {numind-0.3.1 → numind-0.3.2}/src/numind/models/inference_status.py +0 -0
  175. {numind-0.3.1 → numind-0.3.2}/src/numind/models/inference_validation_error.py +0 -0
  176. {numind-0.3.1 → numind-0.3.2}/src/numind/models/information_response.py +0 -0
  177. {numind-0.3.1 → numind-0.3.2}/src/numind/models/invalid_information.py +0 -0
  178. {numind-0.3.1 → numind-0.3.2}/src/numind/models/job_id_response.py +0 -0
  179. {numind-0.3.1 → numind-0.3.2}/src/numind/models/job_status_response.py +0 -0
  180. {numind-0.3.1 → numind-0.3.2}/src/numind/models/paginated_response_t.py +0 -0
  181. {numind-0.3.1 → numind-0.3.2}/src/numind/models/service_status.py +0 -0
  182. {numind-0.3.1 → numind-0.3.2}/src/numind/models/structured.py +0 -0
  183. {numind-0.3.1 → numind-0.3.2}/src/numind/models/structured_example_response.py +0 -0
  184. {numind-0.3.1 → numind-0.3.2}/src/numind/models/structured_extraction_response.py +0 -0
  185. {numind-0.3.1 → numind-0.3.2}/src/numind/models/structured_inference_example.py +0 -0
  186. {numind-0.3.1 → numind-0.3.2}/src/numind/models/structured_project_response.py +0 -0
  187. {numind-0.3.1 → numind-0.3.2}/src/numind/models/structured_project_settings_response.py +0 -0
  188. {numind-0.3.1 → numind-0.3.2}/src/numind/models/template_request.py +0 -0
  189. {numind-0.3.1 → numind-0.3.2}/src/numind/models/template_response.py +0 -0
  190. {numind-0.3.1 → numind-0.3.2}/src/numind/models/text_info.py +0 -0
  191. {numind-0.3.1 → numind-0.3.2}/src/numind/models/text_request.py +0 -0
  192. {numind-0.3.1 → numind-0.3.2}/src/numind/models/update_content_project_request.py +0 -0
  193. {numind-0.3.1 → numind-0.3.2}/src/numind/models/update_content_project_settings_request.py +0 -0
  194. {numind-0.3.1 → numind-0.3.2}/src/numind/models/update_structured_project_request.py +0 -0
  195. {numind-0.3.1 → numind-0.3.2}/src/numind/models/update_structured_project_settings_request.py +0 -0
  196. {numind-0.3.1 → numind-0.3.2}/src/numind/models/valid_information.py +0 -0
  197. {numind-0.3.1 → numind-0.3.2}/src/numind/models/version_response.py +0 -0
  198. {numind-0.3.1 → numind-0.3.2}/src/numind/nuextract_utils/__init__.py +0 -0
  199. {numind-0.3.1 → numind-0.3.2}/src/numind/nuextract_utils/template_conversion/__init__.py +0 -0
  200. {numind-0.3.1 → numind-0.3.2}/src/numind/nuextract_utils/template_conversion/validation.py +0 -0
  201. {numind-0.3.1 → numind-0.3.2}/src/numind/numind.py +0 -0
  202. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client/__init__.py +0 -0
  203. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client/api/__init__.py +0 -0
  204. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client/py.typed +0 -0
  205. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client_async/__init__.py +0 -0
  206. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client_async/api/__init__.py +0 -0
  207. {numind-0.3.1 → numind-0.3.2}/src/numind/openapi_client_async/py.typed +0 -0
  208. {numind-0.3.1 → numind-0.3.2}/tests/__init__.py +0 -0
  209. {numind-0.3.1 → numind-0.3.2}/tests/conftest.py +0 -0
  210. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/__init__.py +0 -0
  211. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_content.py +0 -0
  212. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_content_extraction_api.py +0 -0
  213. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_content_extraction_project_management_api.py +0 -0
  214. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_content_extraction_response.py +0 -0
  215. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_content_project_response.py +0 -0
  216. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_content_project_settings_response.py +0 -0
  217. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_convert_request.py +0 -0
  218. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_create_content_project_request.py +0 -0
  219. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_create_or_update_structured_example_request.py +0 -0
  220. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_create_structured_project_request.py +0 -0
  221. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_default_api.py +0 -0
  222. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_document_info.py +0 -0
  223. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_document_response.py +0 -0
  224. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_documents_api.py +0 -0
  225. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_error.py +0 -0
  226. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_file_response.py +0 -0
  227. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_files_api.py +0 -0
  228. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_health_response.py +0 -0
  229. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_image_info.py +0 -0
  230. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_import_project_response.py +0 -0
  231. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_inference_api.py +0 -0
  232. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_inference_status.py +0 -0
  233. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_inference_validation_error.py +0 -0
  234. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_information_response.py +0 -0
  235. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_invalid_information.py +0 -0
  236. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_job_id_response.py +0 -0
  237. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_job_status_response.py +0 -0
  238. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_jobs_api.py +0 -0
  239. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_paginated_response_t.py +0 -0
  240. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_project_import_export_api.py +0 -0
  241. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_service_status.py +0 -0
  242. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_structured.py +0 -0
  243. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_structured_data_extraction_api.py +0 -0
  244. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_structured_example_response.py +0 -0
  245. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_structured_extraction_examples_api.py +0 -0
  246. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_structured_extraction_project_management_api.py +0 -0
  247. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_structured_extraction_response.py +0 -0
  248. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_structured_inference_example.py +0 -0
  249. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_structured_project_response.py +0 -0
  250. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_structured_project_settings_response.py +0 -0
  251. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_template_generation_api.py +0 -0
  252. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_template_request.py +0 -0
  253. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_template_response.py +0 -0
  254. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_text_info.py +0 -0
  255. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_text_request.py +0 -0
  256. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_update_content_project_request.py +0 -0
  257. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_update_content_project_settings_request.py +0 -0
  258. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_update_structured_project_request.py +0 -0
  259. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_update_structured_project_settings_request.py +0 -0
  260. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_valid_information.py +0 -0
  261. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client/test_version_response.py +0 -0
  262. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/__init__.py +0 -0
  263. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_content.py +0 -0
  264. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_content_extraction_api.py +0 -0
  265. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_content_extraction_project_management_api.py +0 -0
  266. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_content_extraction_response.py +0 -0
  267. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_content_project_response.py +0 -0
  268. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_content_project_settings_response.py +0 -0
  269. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_convert_request.py +0 -0
  270. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_create_content_project_request.py +0 -0
  271. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_create_or_update_structured_example_request.py +0 -0
  272. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_create_structured_project_request.py +0 -0
  273. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_default_api.py +0 -0
  274. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_document_info.py +0 -0
  275. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_document_response.py +0 -0
  276. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_documents_api.py +0 -0
  277. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_error.py +0 -0
  278. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_file_response.py +0 -0
  279. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_files_api.py +0 -0
  280. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_health_response.py +0 -0
  281. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_image_info.py +0 -0
  282. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_import_project_response.py +0 -0
  283. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_inference_api.py +0 -0
  284. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_inference_status.py +0 -0
  285. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_inference_validation_error.py +0 -0
  286. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_information_response.py +0 -0
  287. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_invalid_information.py +0 -0
  288. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_job_id_response.py +0 -0
  289. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_job_status_response.py +0 -0
  290. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_jobs_api.py +0 -0
  291. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_paginated_response_t.py +0 -0
  292. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_project_import_export_api.py +0 -0
  293. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_service_status.py +0 -0
  294. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_structured.py +0 -0
  295. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_structured_data_extraction_api.py +0 -0
  296. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_structured_example_response.py +0 -0
  297. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_structured_extraction_examples_api.py +0 -0
  298. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_structured_extraction_project_management_api.py +0 -0
  299. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_structured_extraction_response.py +0 -0
  300. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_structured_inference_example.py +0 -0
  301. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_structured_project_response.py +0 -0
  302. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_structured_project_settings_response.py +0 -0
  303. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_template_generation_api.py +0 -0
  304. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_template_request.py +0 -0
  305. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_template_response.py +0 -0
  306. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_text_info.py +0 -0
  307. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_text_request.py +0 -0
  308. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_update_content_project_request.py +0 -0
  309. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_update_content_project_settings_request.py +0 -0
  310. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_update_structured_project_request.py +0 -0
  311. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_update_structured_project_settings_request.py +0 -0
  312. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_valid_information.py +0 -0
  313. {numind-0.3.1 → numind-0.3.2}/tests/openapi_client_async/test_version_response.py +0 -0
  314. {numind-0.3.1 → numind-0.3.2}/tests/test_cases/vacation/examples.csv +0 -0
  315. {numind-0.3.1 → numind-0.3.2}/tests/test_cases/vacation/files/tahiti.docx +0 -0
  316. {numind-0.3.1 → numind-0.3.2}/tests/test_cases/vacation/files_examples/kyoto.docx +0 -0
  317. {numind-0.3.1 → numind-0.3.2}/tests/test_cases/vacation/schema.json +0 -0
  318. {numind-0.3.1 → numind-0.3.2}/tests/test_cases/vacation/texts.csv +0 -0
  319. {numind-0.3.1 → numind-0.3.2}/tests/test_numarkdown.py +0 -0
  320. {numind-0.3.1 → numind-0.3.2}/tests/test_project.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: numind
3
- Version: 0.3.1
3
+ Version: 0.3.2
4
4
  Summary: SDK to interact with the NuMind models API.
5
5
  Project-URL: Homepage, https://github.com/numindai/nuextract-platform-sdk
6
6
  Project-URL: Repository, https://github.com/numindai/nuextract-platform-sdk.git
@@ -44,11 +44,22 @@ Classifier: Programming Language :: Python :: 3.13
44
44
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
45
45
  Requires-Python: >=3.9
46
46
  Requires-Dist: aiohttp-retry>=2.8.3
47
- Requires-Dist: aiohttp>=3.8.4
47
+ Requires-Dist: aiohttp>=3.13.5
48
+ Requires-Dist: cdifflib>=1.2.9
49
+ Requires-Dist: defusedxml>=0.7.1
50
+ Requires-Dist: emval>=0.1.3
51
+ Requires-Dist: eval-type-backport>=0.2.2; python_version < '3.10'
52
+ Requires-Dist: json-repair>=0.44.1
48
53
  Requires-Dist: jsonschema
49
54
  Requires-Dist: orjson
55
+ Requires-Dist: phonenumbers>=9.0.24
50
56
  Requires-Dist: pydantic>=2.11
51
57
  Requires-Dist: python-dateutil>=2.8.2
58
+ Requires-Dist: rapidfuzz>=3.13.0
59
+ Requires-Dist: regex>=2026.1.15
60
+ Requires-Dist: schwifty>=2025.9.0
61
+ Requires-Dist: stringzilla>=4.6.1
62
+ Requires-Dist: sympy>=1.14.0
52
63
  Requires-Dist: typing-extensions>=4.7.1
53
64
  Requires-Dist: urllib3
54
65
  Provides-Extra: build
@@ -204,13 +215,20 @@ class HotelBooking(BaseModel):
204
215
  room_type: Literal["single", "double", "suite"]
205
216
 
206
217
 
207
- template, dropped_branches, descriptions = convert_json_schema_to_nuextract_template(
208
- HotelBooking.model_json_schema()
218
+ conversion = convert_json_schema_to_nuextract_template(
219
+ HotelBooking.model_json_schema(),
209
220
  )
221
+ template = conversion["template"]
222
+ incompatibilities = conversion["incompatibilities"]
210
223
 
211
224
  # {'check_in_date': 'date', 'check_out_date': 'date', 'city': 'string', 'number_of_guests': 'integer', 'room_type': ['single', 'double', 'suite']}
212
225
  ```
213
226
 
227
+ When an `instance` is provided, `instance_status` reports whether it is valid for
228
+ both the source JSON Schema and converted template. `adapted_instance` contains the
229
+ original value or a deterministically corrected value only when it is valid for both;
230
+ otherwise it is `None`, and `incompatibilities` identifies the affected locations.
231
+
214
232
  ### Inferring a template
215
233
 
216
234
  The "infer_template" method allows to quickly create a template that you can start to work with from a text description.
@@ -386,7 +404,7 @@ This Python package is automatically generated by the [OpenAPI Generator](https:
386
404
 
387
405
  - API version:
388
406
  - Package version: 1.0.0
389
- - Generator version: 7.22.0
407
+ - Generator version: 7.24.0
390
408
  - Build package: org.openapitools.codegen.languages.PythonClientCodegen
391
409
 
392
410
  ### Documentation for API Endpoints
@@ -139,13 +139,20 @@ class HotelBooking(BaseModel):
139
139
  room_type: Literal["single", "double", "suite"]
140
140
 
141
141
 
142
- template, dropped_branches, descriptions = convert_json_schema_to_nuextract_template(
143
- HotelBooking.model_json_schema()
142
+ conversion = convert_json_schema_to_nuextract_template(
143
+ HotelBooking.model_json_schema(),
144
144
  )
145
+ template = conversion["template"]
146
+ incompatibilities = conversion["incompatibilities"]
145
147
 
146
148
  # {'check_in_date': 'date', 'check_out_date': 'date', 'city': 'string', 'number_of_guests': 'integer', 'room_type': ['single', 'double', 'suite']}
147
149
  ```
148
150
 
151
+ When an `instance` is provided, `instance_status` reports whether it is valid for
152
+ both the source JSON Schema and converted template. `adapted_instance` contains the
153
+ original value or a deterministically corrected value only when it is valid for both;
154
+ otherwise it is `None`, and `incompatibilities` identifies the affected locations.
155
+
149
156
  ### Inferring a template
150
157
 
151
158
  The "infer_template" method allows to quickly create a template that you can start to work with from a text description.
@@ -321,7 +328,7 @@ This Python package is automatically generated by the [OpenAPI Generator](https:
321
328
 
322
329
  - API version:
323
330
  - Package version: 1.0.0
324
- - Generator version: 7.22.0
331
+ - Generator version: 7.24.0
325
332
  - Build package: org.openapitools.codegen.languages.PythonClientCodegen
326
333
 
327
334
  ### Documentation for API Endpoints
@@ -4,12 +4,12 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "numind"
7
- version = "0.3.1"
7
+ version = "0.3.2"
8
8
  description = "SDK to interact with the NuMind models API."
9
9
  requires-python = ">=3.9"
10
10
  keywords = [ "artificial intelligence", "deep learning", "structured",]
11
11
  classifiers = [ "Intended Audience :: Developers", "Intended Audience :: Science/Research", "Topic :: Scientific/Engineering :: Artificial Intelligence", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Operating System :: OS Independent",]
12
- dependencies = [ "urllib3", "orjson", "jsonschema", "python_dateutil >= 2.8.2", "aiohttp >= 3.8.4", "aiohttp-retry >= 2.8.3", "pydantic >= 2.11", "typing-extensions >= 4.7.1",]
12
+ dependencies = [ "urllib3", "orjson", "jsonschema", "cdifflib >= 1.2.9", "defusedxml >= 0.7.1", "emval >= 0.1.3", "json-repair >= 0.44.1", "phonenumbers >= 9.0.24", "rapidfuzz >= 3.13.0", "regex >= 2026.1.15", "schwifty >= 2025.9.0", "stringzilla >= 4.6.1", "sympy >= 1.14.0", "eval-type-backport >= 0.2.2; python_version < '3.10'", "python_dateutil >= 2.8.2", "aiohttp >= 3.13.5", "aiohttp-retry >= 2.8.3", "pydantic >= 2.11", "typing-extensions >= 4.7.1",]
13
13
  [[project.authors]]
14
14
  name = "Nathan Fradet"
15
15
  email = "nathan@numind.ai"
@@ -80,6 +80,9 @@ features = [ "tests",]
80
80
 
81
81
  [tool.ruff.lint.per-file-ignores]
82
82
  "tests/**" = [ "ANN201", "D103", "S101", "T201",]
83
+ "src/numind/nuextract_utils/data_validation/types/email_address.py" = [ "RUF001",]
84
+ "src/numind/nuextract_utils/data_validation/types/geolocation.py" = [ "RUF001",]
85
+ "tests/nuextract_utils/test_error_detection.py" = [ "RUF001",]
83
86
 
84
87
  [tool.hatch.build.targets.wheel]
85
88
  packages = [ "src/numind",]
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "numind"
7
- version = "0.3.1"
7
+ version = "0.3.2"
8
8
  description = "SDK to interact with the NuMind models API."
9
9
  readme = {file = "README.md", content-type = "text/markdown"}
10
10
  license = {file = "LICENSE"}
@@ -35,6 +35,17 @@ dependencies = [
35
35
  "urllib3",
36
36
  "orjson", # for JSON schema conversion methods
37
37
  "jsonschema", # for JSON schema conversion methods
38
+ "cdifflib >= 1.2.9", # for NuExtract output validation
39
+ "defusedxml >= 0.7.1", # for NuExtract output validation
40
+ "emval >= 0.1.3", # for NuExtract output validation
41
+ "json-repair >= 0.44.1", # for NuExtract output correction
42
+ "phonenumbers >= 9.0.24", # for NuExtract output validation
43
+ "rapidfuzz >= 3.13.0", # for NuExtract output correction
44
+ "regex >= 2026.1.15", # for NuExtract output validation
45
+ "schwifty >= 2025.9.0", # for NuExtract output validation
46
+ "stringzilla >= 4.6.1", # for NuExtract output validation
47
+ "sympy >= 1.14.0", # for NuExtract output correction
48
+ "eval-type-backport >= 0.2.2; python_version < '3.10'", # Pydantic on Python 3.9
38
49
  ]
39
50
 
40
51
  [project.optional-dependencies]
@@ -193,3 +204,12 @@ ignore = [
193
204
  "S101", # allow assertions in tests
194
205
  "T201", # print allowed
195
206
  ]
207
+ "src/numind/nuextract_utils/data_validation/types/email_address.py" = [
208
+ "RUF001", # intentional Unicode variants are part of email normalization
209
+ ]
210
+ "src/numind/nuextract_utils/data_validation/types/geolocation.py" = [
211
+ "RUF001", # intentional Unicode coordinate symbols are part of validation
212
+ ]
213
+ "tests/nuextract_utils/test_error_detection.py" = [
214
+ "RUF001", # tests intentionally exercise non-ASCII punctuation
215
+ ]