numind 0.0.2__tar.gz → 0.1.0__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 (333) hide show
  1. {numind-0.0.2 → numind-0.1.0}/PKG-INFO +28 -1
  2. {numind-0.0.2 → numind-0.1.0}/README.md +24 -0
  3. {numind-0.0.2 → numind-0.1.0}/docs/ExtractionApi.md +17 -8
  4. {numind-0.0.2 → numind-0.1.0}/docs/InferenceApi.md +86 -0
  5. numind-0.1.0/docs/ModelUsageResponse.md +31 -0
  6. {numind-0.0.2 → numind-0.1.0}/docs/ProjectManagementApi.md +5 -1
  7. {numind-0.0.2 → numind-0.1.0}/docs/ProjectSettingsResponse.md +2 -0
  8. {numind-0.0.2 → numind-0.1.0}/docs/UpdateProjectSettingsRequest.md +2 -0
  9. {numind-0.0.2 → numind-0.1.0}/pyproject.toml +5 -5
  10. numind-0.1.0/sdk_generation/adapt_openapi_client_init.py +150 -0
  11. {numind-0.0.2/src → numind-0.1.0/sdk_generation}/adapt_pyproject.py +1 -1
  12. {numind-0.0.2/src → numind-0.1.0/sdk_generation}/collate_documentation_readme.py +3 -2
  13. {numind-0.0.2 → numind-0.1.0/sdk_generation}/config.json +0 -2
  14. numind-0.1.0/sdk_generation/gen_sdk.sh +112 -0
  15. {numind-0.0.2/src → numind-0.1.0/sdk_generation}/pyproject_base.toml +2 -2
  16. {numind-0.0.2/src → numind-0.1.0/sdk_generation}/remove_unused_models_from_openapi_spec_file.py +3 -1
  17. {numind-0.0.2 → numind-0.1.0}/src/numind/__init__.py +2 -2
  18. numind-0.1.0/src/numind/numind.py +452 -0
  19. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/__init__.py +5 -0
  20. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/api/authentication_api.py +0 -1
  21. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/api/default_api.py +0 -1
  22. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/api/documents_api.py +0 -1
  23. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/api/examples_api.py +0 -1
  24. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/api/extraction_api.py +127 -4
  25. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/api/files_api.py +0 -1
  26. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/api/inference_api.py +254 -1
  27. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/api/jobs_api.py +0 -1
  28. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/api/organizations_api.py +0 -1
  29. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/api/playground_api.py +0 -1
  30. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/api/project_management_api.py +6 -7
  31. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/api_client.py +0 -1
  32. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/configuration.py +0 -1
  33. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/exceptions.py +0 -3
  34. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/__init__.py +2 -0
  35. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/api_key_response.py +0 -1
  36. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/convert_request.py +0 -1
  37. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/create_api_key.py +0 -1
  38. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/create_or_update_example_request.py +0 -1
  39. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/create_or_update_playground_item_request.py +0 -1
  40. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/create_organization_request.py +0 -1
  41. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/create_project_request.py +0 -1
  42. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/document_info.py +0 -1
  43. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/document_response.py +0 -1
  44. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/error.py +0 -1
  45. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/example_response.py +0 -1
  46. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/extraction_response.py +0 -1
  47. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/file_response.py +0 -1
  48. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/health_response.py +0 -1
  49. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/image_info.py +0 -1
  50. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/inference_response.py +0 -1
  51. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/information_response.py +0 -1
  52. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/invalid_information.py +0 -1
  53. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/invitation_response.py +0 -1
  54. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/invite_member_request.py +0 -1
  55. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/job_id_response.py +0 -1
  56. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/job_response.py +0 -1
  57. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/member_response.py +0 -1
  58. numind-0.1.0/src/numind/openapi_client/models/model_usage_response.py +89 -0
  59. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/organization_response.py +0 -1
  60. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/playground_item_response.py +0 -1
  61. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/project_response.py +0 -1
  62. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/project_settings_response.py +15 -2
  63. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/raw_result.py +0 -1
  64. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/service_status.py +0 -1
  65. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/template_request.py +0 -1
  66. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/text_info.py +0 -1
  67. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/text_request.py +0 -1
  68. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/token_code_request.py +0 -1
  69. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/token_refresh_request.py +0 -1
  70. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/token_request.py +0 -1
  71. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/token_response.py +0 -1
  72. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/update_api_key.py +0 -1
  73. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/update_organization_request.py +0 -1
  74. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/update_project_request.py +0 -1
  75. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/update_project_settings_request.py +17 -2
  76. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/update_project_template_request.py +0 -1
  77. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/user.py +0 -1
  78. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/valid_information.py +0 -1
  79. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/models/version_response.py +0 -1
  80. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/rest.py +0 -1
  81. numind-0.1.0/src/numind/openapi_client_async/__init__.py +340 -0
  82. numind-0.1.0/src/numind/openapi_client_async/api/__init__.py +42 -0
  83. numind-0.1.0/src/numind/openapi_client_async/api/authentication_api.py +1971 -0
  84. numind-0.1.0/src/numind/openapi_client_async/api/default_api.py +963 -0
  85. numind-0.1.0/src/numind/openapi_client_async/api/documents_api.py +812 -0
  86. numind-0.1.0/src/numind/openapi_client_async/api/examples_api.py +1390 -0
  87. numind-0.1.0/src/numind/openapi_client_async/api/extraction_api.py +947 -0
  88. numind-0.1.0/src/numind/openapi_client_async/api/files_api.py +1106 -0
  89. numind-0.1.0/src/numind/openapi_client_async/api/inference_api.py +2183 -0
  90. numind-0.1.0/src/numind/openapi_client_async/api/jobs_api.py +757 -0
  91. numind-0.1.0/src/numind/openapi_client_async/api/organizations_api.py +2351 -0
  92. numind-0.1.0/src/numind/openapi_client_async/api/playground_api.py +1398 -0
  93. numind-0.1.0/src/numind/openapi_client_async/api/project_management_api.py +3385 -0
  94. numind-0.1.0/src/numind/openapi_client_async/api_client.py +775 -0
  95. numind-0.1.0/src/numind/openapi_client_async/api_response.py +23 -0
  96. numind-0.1.0/src/numind/openapi_client_async/configuration.py +596 -0
  97. numind-0.1.0/src/numind/openapi_client_async/exceptions.py +218 -0
  98. numind-0.1.0/src/numind/openapi_client_async/models/__init__.py +156 -0
  99. numind-0.1.0/src/numind/openapi_client_async/models/api_key_response.py +105 -0
  100. numind-0.1.0/src/numind/openapi_client_async/models/convert_request.py +84 -0
  101. numind-0.1.0/src/numind/openapi_client_async/models/create_api_key.py +84 -0
  102. numind-0.1.0/src/numind/openapi_client_async/models/create_or_update_example_request.py +86 -0
  103. numind-0.1.0/src/numind/openapi_client_async/models/create_or_update_playground_item_request.py +120 -0
  104. numind-0.1.0/src/numind/openapi_client_async/models/create_organization_request.py +81 -0
  105. numind-0.1.0/src/numind/openapi_client_async/models/create_project_request.py +102 -0
  106. numind-0.1.0/src/numind/openapi_client_async/models/document_info.py +157 -0
  107. numind-0.1.0/src/numind/openapi_client_async/models/document_response.py +116 -0
  108. numind-0.1.0/src/numind/openapi_client_async/models/error.py +85 -0
  109. numind-0.1.0/src/numind/openapi_client_async/models/example_response.py +127 -0
  110. numind-0.1.0/src/numind/openapi_client_async/models/extraction_response.py +125 -0
  111. numind-0.1.0/src/numind/openapi_client_async/models/file_response.py +110 -0
  112. numind-0.1.0/src/numind/openapi_client_async/models/health_response.py +98 -0
  113. numind-0.1.0/src/numind/openapi_client_async/models/image_info.py +123 -0
  114. numind-0.1.0/src/numind/openapi_client_async/models/inference_response.py +137 -0
  115. numind-0.1.0/src/numind/openapi_client_async/models/information_response.py +163 -0
  116. numind-0.1.0/src/numind/openapi_client_async/models/invalid_information.py +100 -0
  117. numind-0.1.0/src/numind/openapi_client_async/models/invitation_response.py +87 -0
  118. numind-0.1.0/src/numind/openapi_client_async/models/invite_member_request.py +81 -0
  119. numind-0.1.0/src/numind/openapi_client_async/models/job_id_response.py +81 -0
  120. numind-0.1.0/src/numind/openapi_client_async/models/job_response.py +134 -0
  121. numind-0.1.0/src/numind/openapi_client_async/models/member_response.py +93 -0
  122. numind-0.1.0/src/numind/openapi_client_async/models/model_usage_response.py +89 -0
  123. numind-0.1.0/src/numind/openapi_client_async/models/organization_response.py +82 -0
  124. numind-0.1.0/src/numind/openapi_client_async/models/playground_item_response.py +150 -0
  125. numind-0.1.0/src/numind/openapi_client_async/models/project_response.py +140 -0
  126. numind-0.1.0/src/numind/openapi_client_async/models/project_settings_response.py +116 -0
  127. numind-0.1.0/src/numind/openapi_client_async/models/raw_result.py +88 -0
  128. numind-0.1.0/src/numind/openapi_client_async/models/service_status.py +89 -0
  129. numind-0.1.0/src/numind/openapi_client_async/models/template_request.py +81 -0
  130. numind-0.1.0/src/numind/openapi_client_async/models/text_info.py +122 -0
  131. numind-0.1.0/src/numind/openapi_client_async/models/text_request.py +81 -0
  132. numind-0.1.0/src/numind/openapi_client_async/models/token_code_request.py +98 -0
  133. numind-0.1.0/src/numind/openapi_client_async/models/token_refresh_request.py +91 -0
  134. numind-0.1.0/src/numind/openapi_client_async/models/token_request.py +163 -0
  135. numind-0.1.0/src/numind/openapi_client_async/models/token_response.py +98 -0
  136. numind-0.1.0/src/numind/openapi_client_async/models/update_api_key.py +81 -0
  137. numind-0.1.0/src/numind/openapi_client_async/models/update_organization_request.py +81 -0
  138. numind-0.1.0/src/numind/openapi_client_async/models/update_project_request.py +95 -0
  139. numind-0.1.0/src/numind/openapi_client_async/models/update_project_settings_request.py +122 -0
  140. numind-0.1.0/src/numind/openapi_client_async/models/update_project_template_request.py +83 -0
  141. numind-0.1.0/src/numind/openapi_client_async/models/user.py +105 -0
  142. numind-0.1.0/src/numind/openapi_client_async/models/valid_information.py +93 -0
  143. numind-0.1.0/src/numind/openapi_client_async/models/version_response.py +96 -0
  144. numind-0.1.0/src/numind/openapi_client_async/rest.py +193 -0
  145. {numind-0.0.2 → numind-0.1.0}/tests/conftest.py +11 -1
  146. numind-0.1.0/tests/openapi_client/__init__.py +0 -0
  147. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_api_key_response.py +0 -1
  148. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_authentication_api.py +0 -1
  149. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_convert_request.py +0 -1
  150. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_create_api_key.py +0 -1
  151. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_create_or_update_example_request.py +0 -1
  152. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_create_or_update_playground_item_request.py +0 -1
  153. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_create_organization_request.py +0 -1
  154. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_create_project_request.py +0 -1
  155. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_default_api.py +0 -1
  156. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_document_info.py +0 -1
  157. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_document_response.py +0 -1
  158. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_documents_api.py +0 -1
  159. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_error.py +0 -1
  160. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_example_response.py +0 -1
  161. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_examples_api.py +0 -1
  162. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_extraction_api.py +0 -1
  163. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_extraction_response.py +0 -1
  164. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_file_response.py +0 -1
  165. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_files_api.py +0 -1
  166. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_health_response.py +0 -1
  167. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_image_info.py +0 -1
  168. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_inference_api.py +3 -1
  169. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_inference_response.py +0 -1
  170. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_information_response.py +0 -1
  171. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_invalid_information.py +0 -1
  172. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_invitation_response.py +0 -1
  173. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_invite_member_request.py +0 -1
  174. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_job_id_response.py +0 -1
  175. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_job_response.py +0 -1
  176. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_jobs_api.py +0 -1
  177. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_member_response.py +0 -1
  178. numind-0.1.0/tests/openapi_client/test_model_usage_response.py +57 -0
  179. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_organization_response.py +0 -1
  180. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_organizations_api.py +0 -1
  181. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_playground_api.py +0 -1
  182. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_playground_item_response.py +0 -1
  183. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_project_management_api.py +0 -1
  184. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_project_response.py +6 -3
  185. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_project_settings_response.py +5 -2
  186. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_raw_result.py +0 -1
  187. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_service_status.py +0 -1
  188. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_template_request.py +0 -1
  189. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_text_info.py +0 -1
  190. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_text_request.py +0 -1
  191. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_token_code_request.py +0 -1
  192. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_token_refresh_request.py +0 -1
  193. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_token_request.py +0 -1
  194. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_token_response.py +0 -1
  195. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_update_api_key.py +0 -1
  196. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_update_organization_request.py +0 -1
  197. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_update_project_request.py +0 -1
  198. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_update_project_settings_request.py +3 -2
  199. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_update_project_template_request.py +0 -1
  200. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_user.py +0 -1
  201. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_valid_information.py +0 -1
  202. {numind-0.0.2 → numind-0.1.0}/tests/openapi_client/test_version_response.py +0 -1
  203. numind-0.1.0/tests/openapi_client_async/__init__.py +0 -0
  204. numind-0.1.0/tests/openapi_client_async/test_api_key_response.py +64 -0
  205. numind-0.1.0/tests/openapi_client_async/test_authentication_api.py +52 -0
  206. numind-0.1.0/tests/openapi_client_async/test_convert_request.py +53 -0
  207. numind-0.1.0/tests/openapi_client_async/test_create_api_key.py +54 -0
  208. numind-0.1.0/tests/openapi_client_async/test_create_or_update_example_request.py +57 -0
  209. numind-0.1.0/tests/openapi_client_async/test_create_or_update_playground_item_request.py +61 -0
  210. numind-0.1.0/tests/openapi_client_async/test_create_organization_request.py +55 -0
  211. numind-0.1.0/tests/openapi_client_async/test_create_project_request.py +60 -0
  212. numind-0.1.0/tests/openapi_client_async/test_default_api.py +40 -0
  213. numind-0.1.0/tests/openapi_client_async/test_document_info.py +65 -0
  214. numind-0.1.0/tests/openapi_client_async/test_document_response.py +60 -0
  215. numind-0.1.0/tests/openapi_client_async/test_documents_api.py +37 -0
  216. numind-0.1.0/tests/openapi_client_async/test_error.py +55 -0
  217. numind-0.1.0/tests/openapi_client_async/test_example_response.py +65 -0
  218. numind-0.1.0/tests/openapi_client_async/test_examples_api.py +43 -0
  219. numind-0.1.0/tests/openapi_client_async/test_extraction_api.py +34 -0
  220. numind-0.1.0/tests/openapi_client_async/test_extraction_response.py +64 -0
  221. numind-0.1.0/tests/openapi_client_async/test_file_response.py +61 -0
  222. numind-0.1.0/tests/openapi_client_async/test_files_api.py +40 -0
  223. numind-0.1.0/tests/openapi_client_async/test_health_response.py +57 -0
  224. numind-0.1.0/tests/openapi_client_async/test_image_info.py +63 -0
  225. numind-0.1.0/tests/openapi_client_async/test_inference_api.py +54 -0
  226. numind-0.1.0/tests/openapi_client_async/test_inference_response.py +66 -0
  227. numind-0.1.0/tests/openapi_client_async/test_information_response.py +57 -0
  228. numind-0.1.0/tests/openapi_client_async/test_invalid_information.py +57 -0
  229. numind-0.1.0/tests/openapi_client_async/test_invitation_response.py +58 -0
  230. numind-0.1.0/tests/openapi_client_async/test_invite_member_request.py +53 -0
  231. numind-0.1.0/tests/openapi_client_async/test_job_id_response.py +53 -0
  232. numind-0.1.0/tests/openapi_client_async/test_job_response.py +71 -0
  233. numind-0.1.0/tests/openapi_client_async/test_jobs_api.py +37 -0
  234. numind-0.1.0/tests/openapi_client_async/test_member_response.py +60 -0
  235. numind-0.1.0/tests/openapi_client_async/test_model_usage_response.py +57 -0
  236. numind-0.1.0/tests/openapi_client_async/test_organization_response.py +57 -0
  237. numind-0.1.0/tests/openapi_client_async/test_organizations_api.py +59 -0
  238. numind-0.1.0/tests/openapi_client_async/test_playground_api.py +45 -0
  239. numind-0.1.0/tests/openapi_client_async/test_playground_item_response.py +70 -0
  240. numind-0.1.0/tests/openapi_client_async/test_project_management_api.py +67 -0
  241. numind-0.1.0/tests/openapi_client_async/test_project_response.py +82 -0
  242. numind-0.1.0/tests/openapi_client_async/test_project_settings_response.py +63 -0
  243. numind-0.1.0/tests/openapi_client_async/test_raw_result.py +55 -0
  244. numind-0.1.0/tests/openapi_client_async/test_service_status.py +56 -0
  245. numind-0.1.0/tests/openapi_client_async/test_template_request.py +53 -0
  246. numind-0.1.0/tests/openapi_client_async/test_text_info.py +63 -0
  247. numind-0.1.0/tests/openapi_client_async/test_text_request.py +53 -0
  248. numind-0.1.0/tests/openapi_client_async/test_token_code_request.py +57 -0
  249. numind-0.1.0/tests/openapi_client_async/test_token_refresh_request.py +55 -0
  250. numind-0.1.0/tests/openapi_client_async/test_token_request.py +59 -0
  251. numind-0.1.0/tests/openapi_client_async/test_token_response.py +57 -0
  252. numind-0.1.0/tests/openapi_client_async/test_update_api_key.py +53 -0
  253. numind-0.1.0/tests/openapi_client_async/test_update_organization_request.py +55 -0
  254. numind-0.1.0/tests/openapi_client_async/test_update_project_request.py +56 -0
  255. numind-0.1.0/tests/openapi_client_async/test_update_project_settings_request.py +58 -0
  256. numind-0.1.0/tests/openapi_client_async/test_update_project_template_request.py +55 -0
  257. numind-0.1.0/tests/openapi_client_async/test_user.py +60 -0
  258. numind-0.1.0/tests/openapi_client_async/test_valid_information.py +55 -0
  259. numind-0.1.0/tests/openapi_client_async/test_version_response.py +59 -0
  260. {numind-0.0.2 → numind-0.1.0}/tests/test_project.py +20 -2
  261. numind-0.0.2/gen_sdk.sh +0 -69
  262. numind-0.0.2/src/numind/numind.py +0 -211
  263. {numind-0.0.2 → numind-0.1.0}/.github/codecov.yml +0 -0
  264. {numind-0.0.2 → numind-0.1.0}/.github/dependabot.yml +0 -0
  265. {numind-0.0.2 → numind-0.1.0}/.github/workflows/lint.yml +0 -0
  266. {numind-0.0.2 → numind-0.1.0}/.github/workflows/publish-pypi.yml +0 -0
  267. {numind-0.0.2 → numind-0.1.0}/.github/workflows/sdk-auto-update.yml +0 -0
  268. {numind-0.0.2 → numind-0.1.0}/.github/workflows/tests.yml +0 -0
  269. {numind-0.0.2 → numind-0.1.0}/.github/workflows/update-api-build-version-repo-var.yml +0 -0
  270. {numind-0.0.2 → numind-0.1.0}/.gitignore +0 -0
  271. {numind-0.0.2 → numind-0.1.0}/LICENSE +0 -0
  272. {numind-0.0.2 → numind-0.1.0}/docs/ApiKeyResponse.md +0 -0
  273. {numind-0.0.2 → numind-0.1.0}/docs/AuthenticationApi.md +0 -0
  274. {numind-0.0.2 → numind-0.1.0}/docs/ConvertRequest.md +0 -0
  275. {numind-0.0.2 → numind-0.1.0}/docs/CreateApiKey.md +0 -0
  276. {numind-0.0.2 → numind-0.1.0}/docs/CreateOrUpdateExampleRequest.md +0 -0
  277. {numind-0.0.2 → numind-0.1.0}/docs/CreateOrUpdatePlaygroundItemRequest.md +0 -0
  278. {numind-0.0.2 → numind-0.1.0}/docs/CreateOrganizationRequest.md +0 -0
  279. {numind-0.0.2 → numind-0.1.0}/docs/CreateProjectRequest.md +0 -0
  280. {numind-0.0.2 → numind-0.1.0}/docs/DefaultApi.md +0 -0
  281. {numind-0.0.2 → numind-0.1.0}/docs/DocumentInfo.md +0 -0
  282. {numind-0.0.2 → numind-0.1.0}/docs/DocumentResponse.md +0 -0
  283. {numind-0.0.2 → numind-0.1.0}/docs/DocumentsApi.md +0 -0
  284. {numind-0.0.2 → numind-0.1.0}/docs/Error.md +0 -0
  285. {numind-0.0.2 → numind-0.1.0}/docs/ExampleResponse.md +0 -0
  286. {numind-0.0.2 → numind-0.1.0}/docs/ExamplesApi.md +0 -0
  287. {numind-0.0.2 → numind-0.1.0}/docs/ExtractionResponse.md +0 -0
  288. {numind-0.0.2 → numind-0.1.0}/docs/FileResponse.md +0 -0
  289. {numind-0.0.2 → numind-0.1.0}/docs/FilesApi.md +0 -0
  290. {numind-0.0.2 → numind-0.1.0}/docs/HealthResponse.md +0 -0
  291. {numind-0.0.2 → numind-0.1.0}/docs/ImageInfo.md +0 -0
  292. {numind-0.0.2 → numind-0.1.0}/docs/InferenceResponse.md +0 -0
  293. {numind-0.0.2 → numind-0.1.0}/docs/InformationResponse.md +0 -0
  294. {numind-0.0.2 → numind-0.1.0}/docs/InvalidInformation.md +0 -0
  295. {numind-0.0.2 → numind-0.1.0}/docs/InvitationResponse.md +0 -0
  296. {numind-0.0.2 → numind-0.1.0}/docs/InviteMemberRequest.md +0 -0
  297. {numind-0.0.2 → numind-0.1.0}/docs/JobIdResponse.md +0 -0
  298. {numind-0.0.2 → numind-0.1.0}/docs/JobResponse.md +0 -0
  299. {numind-0.0.2 → numind-0.1.0}/docs/JobsApi.md +0 -0
  300. {numind-0.0.2 → numind-0.1.0}/docs/MemberResponse.md +0 -0
  301. {numind-0.0.2 → numind-0.1.0}/docs/OrganizationResponse.md +0 -0
  302. {numind-0.0.2 → numind-0.1.0}/docs/OrganizationsApi.md +0 -0
  303. {numind-0.0.2 → numind-0.1.0}/docs/PlaygroundApi.md +0 -0
  304. {numind-0.0.2 → numind-0.1.0}/docs/PlaygroundItemResponse.md +0 -0
  305. {numind-0.0.2 → numind-0.1.0}/docs/ProjectResponse.md +0 -0
  306. {numind-0.0.2 → numind-0.1.0}/docs/RawResult.md +0 -0
  307. {numind-0.0.2 → numind-0.1.0}/docs/ServiceStatus.md +0 -0
  308. {numind-0.0.2 → numind-0.1.0}/docs/TemplateRequest.md +0 -0
  309. {numind-0.0.2 → numind-0.1.0}/docs/TextInfo.md +0 -0
  310. {numind-0.0.2 → numind-0.1.0}/docs/TextRequest.md +0 -0
  311. {numind-0.0.2 → numind-0.1.0}/docs/TokenCodeRequest.md +0 -0
  312. {numind-0.0.2 → numind-0.1.0}/docs/TokenRefreshRequest.md +0 -0
  313. {numind-0.0.2 → numind-0.1.0}/docs/TokenRequest.md +0 -0
  314. {numind-0.0.2 → numind-0.1.0}/docs/TokenResponse.md +0 -0
  315. {numind-0.0.2 → numind-0.1.0}/docs/UpdateApiKey.md +0 -0
  316. {numind-0.0.2 → numind-0.1.0}/docs/UpdateOrganizationRequest.md +0 -0
  317. {numind-0.0.2 → numind-0.1.0}/docs/UpdateProjectRequest.md +0 -0
  318. {numind-0.0.2 → numind-0.1.0}/docs/UpdateProjectTemplateRequest.md +0 -0
  319. {numind-0.0.2 → numind-0.1.0}/docs/User.md +0 -0
  320. {numind-0.0.2 → numind-0.1.0}/docs/ValidInformation.md +0 -0
  321. {numind-0.0.2 → numind-0.1.0}/docs/VersionResponse.md +0 -0
  322. {numind-0.0.2/src → numind-0.1.0/sdk_generation}/.openapi-generator-ignore +0 -0
  323. {numind-0.0.2 → numind-0.1.0}/src/numind/constants.py +0 -0
  324. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/api/__init__.py +0 -0
  325. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/api_response.py +0 -0
  326. {numind-0.0.2 → numind-0.1.0}/src/numind/openapi_client/py.typed +0 -0
  327. /numind-0.0.2/tests/openapi_client/__init__.py → /numind-0.1.0/src/numind/openapi_client_async/py.typed +0 -0
  328. {numind-0.0.2 → numind-0.1.0}/tests/__init__.py +0 -0
  329. {numind-0.0.2 → numind-0.1.0}/tests/test_cases/vacation/examples.csv +0 -0
  330. {numind-0.0.2 → numind-0.1.0}/tests/test_cases/vacation/files/tahiti.docx +0 -0
  331. {numind-0.0.2 → numind-0.1.0}/tests/test_cases/vacation/files_examples/kyoto.docx +0 -0
  332. {numind-0.0.2 → numind-0.1.0}/tests/test_cases/vacation/schema.json +0 -0
  333. {numind-0.0.2 → numind-0.1.0}/tests/test_cases/vacation/texts.csv +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: numind
3
- Version: 0.0.2
3
+ Version: 0.1.0
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
@@ -43,6 +43,8 @@ Classifier: Programming Language :: Python :: 3.12
43
43
  Classifier: Programming Language :: Python :: 3.13
44
44
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
45
45
  Requires-Python: >=3.9
46
+ Requires-Dist: aiohttp-retry>=2.8.3
47
+ Requires-Dist: aiohttp>=3.8.4
46
48
  Requires-Dist: lazy-imports<2,>=1
47
49
  Requires-Dist: pydantic>=2
48
50
  Requires-Dist: python-dateutil>=2.8.2
@@ -54,6 +56,7 @@ Requires-Dist: pyyaml; extra == 'build'
54
56
  Requires-Dist: toml; extra == 'build'
55
57
  Requires-Dist: uv; extra == 'build'
56
58
  Provides-Extra: tests
59
+ Requires-Dist: pytest-asyncio; extra == 'tests'
57
60
  Requires-Dist: pytest-cov; extra == 'tests'
58
61
  Requires-Dist: pytest-dependency; extra == 'tests'
59
62
  Requires-Dist: pytest-rerunfailures; extra == 'tests'
@@ -86,6 +89,28 @@ from numind import NuMind
86
89
  client = NuMind(api_key=os.environ["NUMIND_API_KEY"])
87
90
  ```
88
91
 
92
+ ### Create an async client
93
+
94
+ You can create an **async** client by using the `NuMindAsync` class:
95
+
96
+ ```python
97
+ import asyncio
98
+ from numind import NuMindAsync
99
+
100
+ client = NuMindAsync(api_key="API_KEY")
101
+ requests = [{}]
102
+
103
+ async def main():
104
+ return [
105
+ await client.extract(project_id, **request_kwargs)
106
+ for request_kwargs in requests
107
+ ]
108
+
109
+ responses = asyncio.run(main())
110
+ ```
111
+
112
+ The methods and their usages are the same as for the sync `NuMind` client except that API methods are coroutines that must be awaited.
113
+
89
114
  ### Extract structured information "on the fly"
90
115
 
91
116
  If you want to extract structured information from data without projects but just by providing the input template, you can use the `extract` method which provides a more user-friendly way to interact with the API:
@@ -330,6 +355,7 @@ Class | Method | HTTP request | Description
330
355
  *FilesApi* | [**post_api_files**](docs/FilesApi.md#post_api_files) | **POST** /api/files |
331
356
  *FilesApi* | [**post_api_files_fileid_convert_to_document**](docs/FilesApi.md#post_api_files_fileid_convert_to_document) | **POST** /api/files/{fileId}/convert-to-document |
332
357
  *InferenceApi* | [**post_api_infer_template**](docs/InferenceApi.md#post_api_infer_template) | **POST** /api/infer-template |
358
+ *InferenceApi* | [**post_api_infer_template_async**](docs/InferenceApi.md#post_api_infer_template_async) | **POST** /api/infer-template-async |
333
359
  *InferenceApi* | [**post_api_infer_template_document_documentid**](docs/InferenceApi.md#post_api_infer_template_document_documentid) | **POST** /api/infer-template/document/{documentId} |
334
360
  *InferenceApi* | [**post_api_infer_template_file**](docs/InferenceApi.md#post_api_infer_template_file) | **POST** /api/infer-template/file |
335
361
  *InferenceApi* | [**post_api_projects_projectid_infer_document_async_documentid**](docs/InferenceApi.md#post_api_projects_projectid_infer_document_async_documentid) | **POST** /api/projects/{projectId}/infer-document-async/{documentId} |
@@ -397,6 +423,7 @@ Class | Method | HTTP request | Description
397
423
  - [JobIdResponse](docs/JobIdResponse.md)
398
424
  - [JobResponse](docs/JobResponse.md)
399
425
  - [MemberResponse](docs/MemberResponse.md)
426
+ - [ModelUsageResponse](docs/ModelUsageResponse.md)
400
427
  - [OrganizationResponse](docs/OrganizationResponse.md)
401
428
  - [PlaygroundItemResponse](docs/PlaygroundItemResponse.md)
402
429
  - [ProjectResponse](docs/ProjectResponse.md)
@@ -25,6 +25,28 @@ from numind import NuMind
25
25
  client = NuMind(api_key=os.environ["NUMIND_API_KEY"])
26
26
  ```
27
27
 
28
+ ### Create an async client
29
+
30
+ You can create an **async** client by using the `NuMindAsync` class:
31
+
32
+ ```python
33
+ import asyncio
34
+ from numind import NuMindAsync
35
+
36
+ client = NuMindAsync(api_key="API_KEY")
37
+ requests = [{}]
38
+
39
+ async def main():
40
+ return [
41
+ await client.extract(project_id, **request_kwargs)
42
+ for request_kwargs in requests
43
+ ]
44
+
45
+ responses = asyncio.run(main())
46
+ ```
47
+
48
+ The methods and their usages are the same as for the sync `NuMind` client except that API methods are coroutines that must be awaited.
49
+
28
50
  ### Extract structured information "on the fly"
29
51
 
30
52
  If you want to extract structured information from data without projects but just by providing the input template, you can use the `extract` method which provides a more user-friendly way to interact with the API:
@@ -269,6 +291,7 @@ Class | Method | HTTP request | Description
269
291
  *FilesApi* | [**post_api_files**](docs/FilesApi.md#post_api_files) | **POST** /api/files |
270
292
  *FilesApi* | [**post_api_files_fileid_convert_to_document**](docs/FilesApi.md#post_api_files_fileid_convert_to_document) | **POST** /api/files/{fileId}/convert-to-document |
271
293
  *InferenceApi* | [**post_api_infer_template**](docs/InferenceApi.md#post_api_infer_template) | **POST** /api/infer-template |
294
+ *InferenceApi* | [**post_api_infer_template_async**](docs/InferenceApi.md#post_api_infer_template_async) | **POST** /api/infer-template-async |
272
295
  *InferenceApi* | [**post_api_infer_template_document_documentid**](docs/InferenceApi.md#post_api_infer_template_document_documentid) | **POST** /api/infer-template/document/{documentId} |
273
296
  *InferenceApi* | [**post_api_infer_template_file**](docs/InferenceApi.md#post_api_infer_template_file) | **POST** /api/infer-template/file |
274
297
  *InferenceApi* | [**post_api_projects_projectid_infer_document_async_documentid**](docs/InferenceApi.md#post_api_projects_projectid_infer_document_async_documentid) | **POST** /api/projects/{projectId}/infer-document-async/{documentId} |
@@ -336,6 +359,7 @@ Class | Method | HTTP request | Description
336
359
  - [JobIdResponse](docs/JobIdResponse.md)
337
360
  - [JobResponse](docs/JobResponse.md)
338
361
  - [MemberResponse](docs/MemberResponse.md)
362
+ - [ModelUsageResponse](docs/ModelUsageResponse.md)
339
363
  - [OrganizationResponse](docs/OrganizationResponse.md)
340
364
  - [PlaygroundItemResponse](docs/PlaygroundItemResponse.md)
341
365
  - [ProjectResponse](docs/ProjectResponse.md)
@@ -9,12 +9,13 @@ Method | HTTP request | Description
9
9
 
10
10
 
11
11
  # **post_api_projects_projectid_extract**
12
- > ExtractionResponse post_api_projects_projectid_extract(project_id, body, temperature=temperature, rasterization_dpi=rasterization_dpi, max_output_tokens=max_output_tokens)
12
+ > ExtractionResponse post_api_projects_projectid_extract(project_id, body, temperature=temperature, rasterization_dpi=rasterization_dpi, max_output_tokens=max_output_tokens, degraded_mode=degraded_mode, max_tokens_smart_example=max_tokens_smart_example)
13
13
 
14
14
 
15
15
  Extract information from the provided text or file. Some files are converted to images -
16
- the **rasterizationDPI** parameter controls their resolution. When **temperature**, **rasterizationDPI** 
17
- or **maxOutputTokens** parameters are not specified, they are set to their project-setting values.
16
+ the **rasterizationDPI** parameter controls their resolution. When **temperature**, **rasterizationDPI**,
17
+ **maxOutputTokens**, **degradedMode** and **maxTokensSmartExample** parameters are not specified,
18
+ they are set to their project-setting values.
18
19
 
19
20
  #### Response:
20
21
  Returns a JSON representing the extracted information.
@@ -61,9 +62,11 @@ with numind.openapi_client.ApiClient(configuration) as api_client:
61
62
  temperature = 3.4 # float | Model temperature (optional). Controls output diversity. When not specified, the project value is used. Ranges between 0 and 1. (optional)
62
63
  rasterization_dpi = 56 # int | Resolution used to convert formatted documents (PDFs, etc.) to images, in dot per inch (optional). Ranges between 1 and 300. (optional)
63
64
  max_output_tokens = 56 # int | Maximum number of output tokens (optional). Must be positive. Set to 0 for no limit. (optional)
65
+ degraded_mode = 'degraded_mode_example' # str | Controls whether a response is returned when smart example is not functionning. Rejects by default. (optional)
66
+ max_tokens_smart_example = 56 # int | Controls the maximum number of tokens that can be allocated to the examples. Must be positive. Ranges in the context window of the model. (optional)
64
67
 
65
68
  try:
66
- api_response = api_instance.post_api_projects_projectid_extract(project_id, body, temperature=temperature, rasterization_dpi=rasterization_dpi, max_output_tokens=max_output_tokens)
69
+ api_response = api_instance.post_api_projects_projectid_extract(project_id, body, temperature=temperature, rasterization_dpi=rasterization_dpi, max_output_tokens=max_output_tokens, degraded_mode=degraded_mode, max_tokens_smart_example=max_tokens_smart_example)
67
70
  print("The response of ExtractionApi->post_api_projects_projectid_extract:\n")
68
71
  pprint(api_response)
69
72
  except Exception as e:
@@ -82,6 +85,8 @@ Name | Type | Description | Notes
82
85
  **temperature** | **float**| Model temperature (optional). Controls output diversity. When not specified, the project value is used. Ranges between 0 and 1. | [optional]
83
86
  **rasterization_dpi** | **int**| Resolution used to convert formatted documents (PDFs, etc.) to images, in dot per inch (optional). Ranges between 1 and 300. | [optional]
84
87
  **max_output_tokens** | **int**| Maximum number of output tokens (optional). Must be positive. Set to 0 for no limit. | [optional]
88
+ **degraded_mode** | **str**| Controls whether a response is returned when smart example is not functionning. Rejects by default. | [optional]
89
+ **max_tokens_smart_example** | **int**| Controls the maximum number of tokens that can be allocated to the examples. Must be positive. Ranges in the context window of the model. | [optional]
85
90
 
86
91
  ### Return type
87
92
 
@@ -101,13 +106,13 @@ Name | Type | Description | Notes
101
106
  | Status code | Description | Response headers |
102
107
  |-------------|-------------|------------------|
103
108
  **200** | | - |
104
- **400** | Invalid value for: query parameter temperature, Invalid value for: query parameter rasterizationDPI, Invalid value for: query parameter maxOutputTokens, Invalid value for: body | - |
109
+ **400** | Invalid value for: query parameter temperature, Invalid value for: query parameter rasterizationDPI, Invalid value for: query parameter maxOutputTokens, Invalid value for: query parameter maxTokensSmartExample, Invalid value for: body | - |
105
110
  **0** | | - |
106
111
 
107
112
  [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
108
113
 
109
114
  # **post_api_projects_projectid_extract_async**
110
- > JobIdResponse post_api_projects_projectid_extract_async(project_id, body, temperature=temperature, dpi=dpi, max_output_tokens=max_output_tokens)
115
+ > JobIdResponse post_api_projects_projectid_extract_async(project_id, body, temperature=temperature, dpi=dpi, max_output_tokens=max_output_tokens, degraded_mode=degraded_mode, max_tokens_smart_example=max_tokens_smart_example)
111
116
 
112
117
  Start file extraction as async job
113
118
 
@@ -143,9 +148,11 @@ with numind.openapi_client.ApiClient(configuration) as api_client:
143
148
  temperature = 3.4 # float | Model temperature (optional). Controls output diversity. When not specified, the project value is used. Ranges between 0 and 1. (optional)
144
149
  dpi = 56 # int | DPI for file rasterization (optional). When not specified, the project value is used. If the file is already an image or a text, this parameter is ignored. (optional)
145
150
  max_output_tokens = 56 # int | Maximum number of output tokens (optional). When not specified, the project value is used. Use 0 to indicate no limit. (optional)
151
+ degraded_mode = 'degraded_mode_example' # str | Controls whether a response is returned when smart example is not functionning. Rejects by default. (optional)
152
+ max_tokens_smart_example = 56 # int | Controls the maximum number of tokens that can be allocated to the examples. Must be positive. Ranges in the context window of the model. (optional)
146
153
 
147
154
  try:
148
- api_response = api_instance.post_api_projects_projectid_extract_async(project_id, body, temperature=temperature, dpi=dpi, max_output_tokens=max_output_tokens)
155
+ api_response = api_instance.post_api_projects_projectid_extract_async(project_id, body, temperature=temperature, dpi=dpi, max_output_tokens=max_output_tokens, degraded_mode=degraded_mode, max_tokens_smart_example=max_tokens_smart_example)
149
156
  print("The response of ExtractionApi->post_api_projects_projectid_extract_async:\n")
150
157
  pprint(api_response)
151
158
  except Exception as e:
@@ -164,6 +171,8 @@ Name | Type | Description | Notes
164
171
  **temperature** | **float**| Model temperature (optional). Controls output diversity. When not specified, the project value is used. Ranges between 0 and 1. | [optional]
165
172
  **dpi** | **int**| DPI for file rasterization (optional). When not specified, the project value is used. If the file is already an image or a text, this parameter is ignored. | [optional]
166
173
  **max_output_tokens** | **int**| Maximum number of output tokens (optional). When not specified, the project value is used. Use 0 to indicate no limit. | [optional]
174
+ **degraded_mode** | **str**| Controls whether a response is returned when smart example is not functionning. Rejects by default. | [optional]
175
+ **max_tokens_smart_example** | **int**| Controls the maximum number of tokens that can be allocated to the examples. Must be positive. Ranges in the context window of the model. | [optional]
167
176
 
168
177
  ### Return type
169
178
 
@@ -183,7 +192,7 @@ Name | Type | Description | Notes
183
192
  | Status code | Description | Response headers |
184
193
  |-------------|-------------|------------------|
185
194
  **200** | | - |
186
- **400** | Invalid value for: query parameter temperature, Invalid value for: query parameter dpi, Invalid value for: query parameter maxOutputTokens, Invalid value for: body | - |
195
+ **400** | Invalid value for: query parameter temperature, Invalid value for: query parameter dpi, Invalid value for: query parameter maxOutputTokens, Invalid value for: query parameter maxTokensSmartExample, Invalid value for: body | - |
187
196
  **0** | | - |
188
197
 
189
198
  [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
@@ -5,6 +5,7 @@ All URIs are relative to *https://nuextract.ai*
5
5
  Method | HTTP request | Description
6
6
  ------------- | ------------- | -------------
7
7
  [**post_api_infer_template**](InferenceApi.md#post_api_infer_template) | **POST** /api/infer-template |
8
+ [**post_api_infer_template_async**](InferenceApi.md#post_api_infer_template_async) | **POST** /api/infer-template-async |
8
9
  [**post_api_infer_template_document_documentid**](InferenceApi.md#post_api_infer_template_document_documentid) | **POST** /api/infer-template/document/{documentId} |
9
10
  [**post_api_infer_template_file**](InferenceApi.md#post_api_infer_template_file) | **POST** /api/infer-template/file |
10
11
  [**post_api_projects_projectid_infer_document_async_documentid**](InferenceApi.md#post_api_projects_projectid_infer_document_async_documentid) | **POST** /api/projects/{projectId}/infer-document-async/{documentId} |
@@ -97,6 +98,91 @@ Name | Type | Description | Notes
97
98
 
98
99
  [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
99
100
 
101
+ # **post_api_infer_template_async**
102
+ > JobIdResponse post_api_infer_template_async(template_request)
103
+
104
+
105
+ Derive a template from the provided natural language description.
106
+ Potentially, this endpoint can equally be used to correct the template to conform to the NuExtract standard.
107
+ The resulting template is a JSON object that can be used as a project template.
108
+
109
+
110
+ #### Response:
111
+ Returns a JSON representing the derived template.
112
+ The response is an empty template if the derivation fails.
113
+
114
+
115
+
116
+ ### Example
117
+
118
+ * OAuth Authentication (oauth2Auth):
119
+
120
+ ```python
121
+ import numind.openapi_client
122
+ from numind.openapi_client.models.job_id_response import JobIdResponse
123
+ from numind.openapi_client.models.template_request import TemplateRequest
124
+ from numind.openapi_client.rest import ApiException
125
+ from pprint import pprint
126
+
127
+ # Defining the host is optional and defaults to https://nuextract.ai
128
+ # See configuration.py for a list of all supported configuration parameters.
129
+ configuration = numind.openapi_client.Configuration(
130
+ host = "https://nuextract.ai"
131
+ )
132
+
133
+ # The client must configure the authentication and authorization parameters
134
+ # in accordance with the API server security policy.
135
+ # Examples for each auth method are provided below, use the example that
136
+ # satisfies your auth use case.
137
+
138
+ configuration.access_token = os.environ["ACCESS_TOKEN"]
139
+
140
+ # Enter a context with an instance of the API client
141
+ with numind.openapi_client.ApiClient(configuration) as api_client:
142
+ # Create an instance of the API class
143
+ api_instance = numind.openapi_client.InferenceApi(api_client)
144
+ template_request = {description=[EXAMPLE ONLY] Create a template that extracts key information from an order confirmation email. The template should be able to pull details like the order ID, customer ID, date and time of the order, status, total amount, currency, item details (product ID, quantity, and unit price), shipping address, any customer requests or delivery preferences, and the estimated delivery date.} # TemplateRequest |
145
+
146
+ try:
147
+ api_response = api_instance.post_api_infer_template_async(template_request)
148
+ print("The response of InferenceApi->post_api_infer_template_async:\n")
149
+ pprint(api_response)
150
+ except Exception as e:
151
+ print("Exception when calling InferenceApi->post_api_infer_template_async: %s\n" % e)
152
+ ```
153
+
154
+
155
+
156
+ ### Parameters
157
+
158
+
159
+ Name | Type | Description | Notes
160
+ ------------- | ------------- | ------------- | -------------
161
+ **template_request** | [**TemplateRequest**](TemplateRequest.md)| |
162
+
163
+ ### Return type
164
+
165
+ [**JobIdResponse**](JobIdResponse.md)
166
+
167
+ ### Authorization
168
+
169
+ [oauth2Auth](../README.md#oauth2Auth)
170
+
171
+ ### HTTP request headers
172
+
173
+ - **Content-Type**: application/json
174
+ - **Accept**: application/json, text/plain
175
+
176
+ ### HTTP response details
177
+
178
+ | Status code | Description | Response headers |
179
+ |-------------|-------------|------------------|
180
+ **200** | | - |
181
+ **400** | Invalid value for: body | - |
182
+ **0** | | - |
183
+
184
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
185
+
100
186
  # **post_api_infer_template_document_documentid**
101
187
  > object post_api_infer_template_document_documentid(document_id)
102
188
 
@@ -0,0 +1,31 @@
1
+ # ModelUsageResponse
2
+
3
+
4
+ ## Properties
5
+
6
+ Name | Type | Description | Notes
7
+ ------------ | ------------- | ------------- | -------------
8
+ **usage** | **int** | |
9
+ **balance** | **int** | |
10
+ **overage** | **int** | |
11
+
12
+ ## Example
13
+
14
+ ```python
15
+ from numind.openapi_client.models.model_usage_response import ModelUsageResponse
16
+
17
+ # TODO update the JSON string below
18
+ json = "{}"
19
+ # create an instance of ModelUsageResponse from a JSON string
20
+ model_usage_response_instance = ModelUsageResponse.from_json(json)
21
+ # print the JSON string representation of the object
22
+ print(ModelUsageResponse.to_json())
23
+
24
+ # convert the object into a dict
25
+ model_usage_response_dict = model_usage_response_instance.to_dict()
26
+ # create an instance of ModelUsageResponse from a dict
27
+ model_usage_response_from_dict = ModelUsageResponse.from_dict(model_usage_response_dict)
28
+ ```
29
+ [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
30
+
31
+
@@ -398,7 +398,7 @@ with numind.openapi_client.ApiClient(configuration) as api_client:
398
398
  # Create an instance of the API class
399
399
  api_instance = numind.openapi_client.ProjectManagementApi(api_client)
400
400
  project_id = 'project_id_example' # str | Unique project identifier.
401
- update_project_settings_request = {"temperature":0,"rasterizationDPI":115,"maxOutputTokens":0} # UpdateProjectSettingsRequest |
401
+ update_project_settings_request = {"temperature":0,"rasterizationDPI":115,"maxOutputTokens":0,"degradedMode":"Reject","maxTokensSmartExample":16000} # UpdateProjectSettingsRequest |
402
402
 
403
403
  try:
404
404
  api_response = api_instance.patch_api_projects_projectid_settings(project_id, update_project_settings_request)
@@ -464,6 +464,8 @@ A **Project** is created with default settings:
464
464
  `temperature` | 0.0 |
465
465
  `rasterizationDPI` | 115 |
466
466
  `maxOutputTokens` | 0 (no limit) |
467
+ `degradedMode` | Reject |
468
+ `maxTokensSmartExample` | 16000 |
467
469
 
468
470
 
469
471
  If *ownerOrganization* is not provided, the **Project** will be owned by the authenticated user.
@@ -733,6 +735,8 @@ Default values are:
733
735
  `temperature` | 0.0 |
734
736
  `rasterizationDPI` | 115 |
735
737
  `maxOutputTokens` | 0 (no limit) |
738
+ `degradedMode` | Reject |
739
+ `maxTokensSmartExample` | 16000 |
736
740
 
737
741
  #### Error Responses:
738
742
  `404 Not Found` - If a **Project** with the specified `projectId` does not exist.
@@ -9,6 +9,8 @@ Name | Type | Description | Notes
9
9
  **temperature** | **float** | Model temperature. |
10
10
  **rasterization_dpi** | **int** | Resolution used to convert formatted documents to images. |
11
11
  **max_output_tokens** | **int** | Maximum number of output tokens (optional). Must be positive. Set to 0 for no limit. |
12
+ **degraded_mode** | **str** | Controls whether a response is returned when smart example is not functionning. Rejects by default. |
13
+ **max_tokens_smart_example** | **int** | Maximum number of output tokens for smart examples (optional). Must be positive. |
12
14
 
13
15
  ## Example
14
16
 
@@ -8,6 +8,8 @@ Name | Type | Description | Notes
8
8
  **temperature** | **float** | Model temperature (optional). | [optional]
9
9
  **rasterization_dpi** | **int** | Resolution used to convert formatted documents to images (optional). | [optional]
10
10
  **max_output_tokens** | **int** | Maximum number of output tokens (optional). Must be positive. Set to 0 for no limit. | [optional]
11
+ **degraded_mode** | **str** | Controls whether a response is returned when smart example is not functionning. Rejects by default. | [optional]
12
+ **max_tokens_smart_example** | **int** | Maximum number of output tokens for smart examples (optional). Must be positive. | [optional]
11
13
 
12
14
  ## Example
13
15
 
@@ -4,12 +4,12 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "numind"
7
- version = "0.0.2"
7
+ version = "0.1.0"
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 >= 2.1.0, < 3.0.0", "python_dateutil >= 2.8.2", "pydantic >= 2", "typing-extensions >= 4.7.1", "lazy-imports >= 1, < 2",]
12
+ dependencies = [ "urllib3 >= 2.1.0, < 3.0.0", "python_dateutil >= 2.8.2", "aiohttp >= 3.8.4", "aiohttp-retry >= 2.8.3", "pydantic >= 2", "typing-extensions >= 4.7.1", "lazy-imports >= 1, < 2",]
13
13
  [[project.authors]]
14
14
  name = "Nathan Fradet"
15
15
  email = "nathan@numind.ai"
@@ -23,7 +23,7 @@ file = "LICENSE"
23
23
 
24
24
  [project.optional-dependencies]
25
25
  build = [ "openapi-generator-cli", "uv", "PyYAML", "toml",]
26
- tests = [ "pytest-cov", "pytest-rerunfailures", "pytest-dependency",]
26
+ tests = [ "pytest-asyncio", "pytest-cov", "pytest-rerunfailures", "pytest-dependency",]
27
27
 
28
28
  [project.urls]
29
29
  Homepage = "https://github.com/numindai/nuextract-platform-sdk"
@@ -35,7 +35,7 @@ Issues = "https://github.com/numindai/nuextract-platform-sdk/issues"
35
35
  target-version = "py39"
36
36
 
37
37
  [tool.mypy]
38
- files = [ "numind.openapi_client", "tests",]
38
+ files = [ "numind.openapi_client_async", "tests",]
39
39
  warn_unused_configs = true
40
40
  warn_redundant_casts = true
41
41
  warn_unused_ignores = true
@@ -46,7 +46,7 @@ disallow_subclassing_any = true
46
46
  disallow_untyped_decorators = true
47
47
  disallow_any_generics = true
48
48
  [[tool.mypy.overrides]]
49
- module = [ "numind.openapi_client.configuration",]
49
+ module = [ "numind.openapi_client_async.configuration",]
50
50
  warn_unused_ignores = true
51
51
  strict_equality = true
52
52
  extra_checks = true
@@ -0,0 +1,150 @@
1
+ """Adds async imports to the openapi_client package.""" # noqa:INP001
2
+
3
+ import re
4
+ from pathlib import Path
5
+
6
+
7
+ def modify_init_file(file_path: Path) -> None:
8
+ """
9
+ Modify the __init__.py file to add async versions of imports.
10
+
11
+ Args:
12
+ file_path (str): Path to the __init__.py file
13
+
14
+ """
15
+ with file_path.open() as f:
16
+ content = f.read()
17
+
18
+ # First, we need to update the __all__ list to include async versions
19
+ all_pattern = r"__all__\s*=\s*\[(.*?)\]"
20
+ all_match = re.search(all_pattern, content, re.DOTALL)
21
+
22
+ if all_match:
23
+ all_content = all_match.group(1)
24
+ # Extract existing items and add async versions
25
+ items = re.findall(r'"([^"]*)"', all_content)
26
+ async_items = []
27
+
28
+ for item in items:
29
+ if item.endswith("Api"):
30
+ async_items.append(f'"{item}Async"')
31
+ elif item == "ApiClient":
32
+ async_items.append('"ApiClientAsync"')
33
+
34
+ # Create new __all__ content
35
+ all_items = [f'"{item}"' for item in items] + async_items
36
+ new_all_content = "__all__ = [\n " + ",\n ".join(all_items) + ",\n]"
37
+
38
+ content = re.sub(all_pattern, new_all_content, content, flags=re.DOTALL)
39
+
40
+ # Now handle the TYPE_CHECKING block imports
41
+ type_checking_pattern = r'(if __import__\("typing"\)\.TYPE_CHECKING:.*?)(else:)'
42
+ type_checking_match = re.search(type_checking_pattern, content, re.DOTALL)
43
+
44
+ if type_checking_match:
45
+ type_checking_block = type_checking_match.group(1)
46
+
47
+ # Find all API imports and create async versions
48
+ api_imports = re.findall(
49
+ r"from numind\.openapi_client\.api\.(\w+) import (\w+) as (\w+)",
50
+ type_checking_block,
51
+ )
52
+
53
+ # Find ApiClient import
54
+ client_import = re.search(
55
+ (
56
+ r"from numind\.openapi_client\.api_client import (ApiClient) as "
57
+ r"(ApiClient)"
58
+ ),
59
+ type_checking_block,
60
+ )
61
+
62
+ async_imports = []
63
+
64
+ # Add async API imports
65
+ for module, class_name, alias in api_imports:
66
+ async_import = (
67
+ f" from numind.openapi_client.api_async.{module} import "
68
+ f"{class_name} as {alias}Async"
69
+ )
70
+ async_imports.append(async_import)
71
+
72
+ # Add async ApiClient import
73
+ if client_import:
74
+ async_import = (
75
+ " from numind.openapi_client.api_client_async import ApiClient as "
76
+ "ApiClientAsync"
77
+ )
78
+ async_imports.append(async_import)
79
+
80
+ # Insert async imports after the existing imports
81
+ if async_imports:
82
+ async_imports_str = "\n" + "\n".join(async_imports)
83
+ # Find the position just before 'else:'
84
+ else_pos = content.find("else:", type_checking_match.start())
85
+ content = content[:else_pos] + async_imports_str + "\n" + content[else_pos:]
86
+
87
+ # Now handle the lazy loading block
88
+ lazy_pattern = (
89
+ r'(load\(\s*LazyModule\(\s*\*as_package\(__file__\),.*?""")(.*?)(""",)'
90
+ )
91
+ lazy_match = re.search(lazy_pattern, content, re.DOTALL)
92
+
93
+ if lazy_match:
94
+ lazy_imports = lazy_match.group(2)
95
+
96
+ # Find all API imports and create async versions
97
+ api_imports = re.findall(
98
+ r"from numind\.openapi_client\.api\.(\w+) import (\w+) as (\w+)",
99
+ lazy_imports,
100
+ )
101
+
102
+ # Find ApiClient import
103
+ client_import = re.search(
104
+ (
105
+ r"from numind\.openapi_client\.api_client import (ApiClient) as "
106
+ r"(ApiClient)"
107
+ ),
108
+ lazy_imports,
109
+ )
110
+
111
+ async_imports = []
112
+
113
+ # Add async API imports
114
+ for module, class_name, alias in api_imports:
115
+ async_import = (
116
+ f"from numind.openapi_client.api_async.{module} import {class_name} "
117
+ f"as {alias}Async"
118
+ )
119
+ async_imports.append(async_import)
120
+
121
+ # Add async ApiClient import
122
+ if client_import:
123
+ async_import = (
124
+ "from numind.openapi_client.api_client_async import ApiClient as "
125
+ "ApiClientAsync"
126
+ )
127
+ async_imports.append(async_import)
128
+
129
+ # Insert async imports
130
+ if async_imports:
131
+ async_imports_str = "\n" + "\n".join(async_imports)
132
+ new_lazy_imports = lazy_imports + async_imports_str
133
+ content = content.replace(lazy_imports, new_lazy_imports)
134
+
135
+ with file_path.open("w") as f:
136
+ f.write(content)
137
+
138
+
139
+ if __name__ == "__main__":
140
+ from argparse import ArgumentParser
141
+
142
+ parser = ArgumentParser(description="Dataset creation script")
143
+ parser.add_argument(
144
+ "--init-path", type=str, default="src/numind/openapi_client/__init__.py"
145
+ )
146
+ args = vars(parser.parse_args())
147
+
148
+ modify_init_file(
149
+ Path(args["init_path"]),
150
+ )
@@ -1,4 +1,4 @@
1
- """Collate the project and generated client pyproject.toml for the complete package."""
1
+ """Collate the project and generated client pyproject.toml for the complete package.""" # noqa:INP001
2
2
 
3
3
  from pathlib import Path
4
4
 
@@ -1,4 +1,4 @@
1
- """Script removing problematic models from an OpenAPI specification file."""
1
+ """Script removing problematic models from an OpenAPI specification file.""" # noqa:INP001
2
2
 
3
3
  from pathlib import Path
4
4
 
@@ -9,7 +9,7 @@ OPENAPI_GEN_MENTION = (
9
9
 
10
10
 
11
11
  def read_readme(readme_path: Path) -> str:
12
- # TODO find the
12
+ """Read the README file."""
13
13
  with readme_path.open() as file:
14
14
  readme = file.read().splitlines()
15
15
  for idx, line in enumerate(readme):
@@ -20,6 +20,7 @@ def read_readme(readme_path: Path) -> str:
20
20
 
21
21
 
22
22
  def read_and_preprocess_generated_readme(readme_gen_path: Path) -> str:
23
+ """Read and preprocess the generated README file."""
23
24
  with readme_gen_path.open() as file:
24
25
  doc_readme = file.read().splitlines()
25
26
 
@@ -1,7 +1,5 @@
1
1
  {
2
- "packageName": "numind.openapi_client",
3
2
  "projectName": "numind",
4
- "packageVersion": "1.0.0",
5
3
  "packageUrl": "https://github.com/numindai/numind",
6
4
  "setEnsureAsciiToFalse": true
7
5
  }