samplehc 0.17.0__tar.gz → 0.19.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 (307) hide show
  1. samplehc-0.19.0/.release-please-manifest.json +3 -0
  2. {samplehc-0.17.0 → samplehc-0.19.0}/CHANGELOG.md +24 -0
  3. {samplehc-0.17.0 → samplehc-0.19.0}/PKG-INFO +22 -27
  4. {samplehc-0.17.0 → samplehc-0.19.0}/README.md +21 -26
  5. samplehc-0.19.0/api.md +137 -0
  6. {samplehc-0.17.0 → samplehc-0.19.0}/pyproject.toml +1 -1
  7. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_base_client.py +5 -2
  8. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_client.py +1 -38
  9. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_compat.py +3 -3
  10. samplehc-0.19.0/src/samplehc/_utils/_json.py +35 -0
  11. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_version.py +1 -1
  12. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/resources/__init__.py +0 -14
  13. samplehc-0.19.0/src/samplehc/resources/v2/__init__.py +89 -0
  14. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/resources/v2/async_results.py +0 -79
  15. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/resources/v2/documents/__init__.py +0 -14
  16. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/resources/v2/documents/documents.py +44 -196
  17. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/resources/v2/v2.py +0 -224
  18. samplehc-0.19.0/src/samplehc/types/v2/__init__.py +45 -0
  19. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_extract_params.py +20 -1
  20. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/documents/__init__.py +0 -3
  21. {samplehc-0.17.0 → samplehc-0.19.0}/tests/api_resources/v2/test_async_results.py +1 -85
  22. {samplehc-0.17.0 → samplehc-0.19.0}/tests/api_resources/v2/test_documents.py +2 -170
  23. {samplehc-0.17.0 → samplehc-0.19.0}/tests/test_client.py +24 -24
  24. samplehc-0.19.0/tests/test_utils/test_json.py +126 -0
  25. samplehc-0.17.0/.release-please-manifest.json +0 -3
  26. samplehc-0.17.0/api.md +0 -476
  27. samplehc-0.17.0/src/samplehc/resources/v1/__init__.py +0 -19
  28. samplehc-0.17.0/src/samplehc/resources/v1/v1.py +0 -298
  29. samplehc-0.17.0/src/samplehc/resources/v2/__init__.py +0 -187
  30. samplehc-0.17.0/src/samplehc/resources/v2/clearinghouse/__init__.py +0 -47
  31. samplehc-0.17.0/src/samplehc/resources/v2/clearinghouse/claim.py +0 -407
  32. samplehc-0.17.0/src/samplehc/resources/v2/clearinghouse/clearinghouse.py +0 -844
  33. samplehc-0.17.0/src/samplehc/resources/v2/clearinghouse/payers.py +0 -224
  34. samplehc-0.17.0/src/samplehc/resources/v2/documents/pdf_template.py +0 -165
  35. samplehc-0.17.0/src/samplehc/resources/v2/hie/__init__.py +0 -47
  36. samplehc-0.17.0/src/samplehc/resources/v2/hie/adt.py +0 -249
  37. samplehc-0.17.0/src/samplehc/resources/v2/hie/documents.py +0 -390
  38. samplehc-0.17.0/src/samplehc/resources/v2/hie/hie.py +0 -134
  39. samplehc-0.17.0/src/samplehc/resources/v2/integrations/__init__.py +0 -131
  40. samplehc-0.17.0/src/samplehc/resources/v2/integrations/bank/__init__.py +0 -33
  41. samplehc-0.17.0/src/samplehc/resources/v2/integrations/bank/bank.py +0 -102
  42. samplehc-0.17.0/src/samplehc/resources/v2/integrations/bank/transactions.py +0 -185
  43. samplehc-0.17.0/src/samplehc/resources/v2/integrations/careviso.py +0 -372
  44. samplehc-0.17.0/src/samplehc/resources/v2/integrations/glidian/__init__.py +0 -33
  45. samplehc-0.17.0/src/samplehc/resources/v2/integrations/glidian/glidian.py +0 -425
  46. samplehc-0.17.0/src/samplehc/resources/v2/integrations/glidian/prior_authorizations/__init__.py +0 -33
  47. samplehc-0.17.0/src/samplehc/resources/v2/integrations/glidian/prior_authorizations/clinical_questions.py +0 -276
  48. samplehc-0.17.0/src/samplehc/resources/v2/integrations/glidian/prior_authorizations/prior_authorizations.py +0 -527
  49. samplehc-0.17.0/src/samplehc/resources/v2/integrations/integrations.py +0 -326
  50. samplehc-0.17.0/src/samplehc/resources/v2/integrations/kno2/__init__.py +0 -33
  51. samplehc-0.17.0/src/samplehc/resources/v2/integrations/kno2/kno2.py +0 -102
  52. samplehc-0.17.0/src/samplehc/resources/v2/integrations/kno2/messages.py +0 -260
  53. samplehc-0.17.0/src/samplehc/resources/v2/integrations/salesforce.py +0 -277
  54. samplehc-0.17.0/src/samplehc/resources/v2/integrations/snowflake.py +0 -173
  55. samplehc-0.17.0/src/samplehc/resources/v2/integrations/wellsky/__init__.py +0 -33
  56. samplehc-0.17.0/src/samplehc/resources/v2/integrations/wellsky/patients.py +0 -324
  57. samplehc-0.17.0/src/samplehc/resources/v2/integrations/wellsky/wellsky.py +0 -102
  58. samplehc-0.17.0/src/samplehc/resources/v2/integrations/xcures.py +0 -197
  59. samplehc-0.17.0/src/samplehc/resources/v2/policies.py +0 -655
  60. samplehc-0.17.0/src/samplehc/resources/v2/tasks/__init__.py +0 -33
  61. samplehc-0.17.0/src/samplehc/resources/v2/tasks/state.py +0 -266
  62. samplehc-0.17.0/src/samplehc/resources/v2/tasks/tasks.py +0 -754
  63. samplehc-0.17.0/src/samplehc/resources/v2/workflow_runs/__init__.py +0 -33
  64. samplehc-0.17.0/src/samplehc/resources/v2/workflow_runs/step.py +0 -169
  65. samplehc-0.17.0/src/samplehc/resources/v2/workflow_runs/workflow_runs.py +0 -479
  66. samplehc-0.17.0/src/samplehc/resources/v2/workflows.py +0 -377
  67. samplehc-0.17.0/src/samplehc/types/__init__.py +0 -8
  68. samplehc-0.17.0/src/samplehc/types/v1_query_audit_logs_params.py +0 -12
  69. samplehc-0.17.0/src/samplehc/types/v1_query_audit_logs_response.py +0 -16
  70. samplehc-0.17.0/src/samplehc/types/v1_sql_execute_params.py +0 -27
  71. samplehc-0.17.0/src/samplehc/types/v1_sql_execute_response.py +0 -27
  72. samplehc-0.17.0/src/samplehc/types/v2/__init__.py +0 -98
  73. samplehc-0.17.0/src/samplehc/types/v2/async_result_retrieve_response.py +0 -18
  74. samplehc-0.17.0/src/samplehc/types/v2/clearinghouse/__init__.py +0 -9
  75. samplehc-0.17.0/src/samplehc/types/v2/clearinghouse/claim_submit_params.py +0 -2693
  76. samplehc-0.17.0/src/samplehc/types/v2/clearinghouse/claim_submit_response.py +0 -23
  77. samplehc-0.17.0/src/samplehc/types/v2/clearinghouse/payer_list_response.py +0 -27
  78. samplehc-0.17.0/src/samplehc/types/v2/clearinghouse/payer_search_params.py +0 -12
  79. samplehc-0.17.0/src/samplehc/types/v2/clearinghouse/payer_search_response.py +0 -33
  80. samplehc-0.17.0/src/samplehc/types/v2/clearinghouse_calculate_patient_cost_params.py +0 -3129
  81. samplehc-0.17.0/src/samplehc/types/v2/clearinghouse_check_claim_status_params.py +0 -41
  82. samplehc-0.17.0/src/samplehc/types/v2/clearinghouse_check_eligibility_params.py +0 -36
  83. samplehc-0.17.0/src/samplehc/types/v2/clearinghouse_check_eligibility_response.py +0 -15
  84. samplehc-0.17.0/src/samplehc/types/v2/clearinghouse_coordination_of_benefits_params.py +0 -35
  85. samplehc-0.17.0/src/samplehc/types/v2/clearinghouse_run_discovery_params.py +0 -59
  86. samplehc-0.17.0/src/samplehc/types/v2/clearinghouse_run_discovery_response.py +0 -13
  87. samplehc-0.17.0/src/samplehc/types/v2/document_unzip_async_response.py +0 -12
  88. samplehc-0.17.0/src/samplehc/types/v2/document_unzip_response.py +0 -20
  89. samplehc-0.17.0/src/samplehc/types/v2/documents/pdf_template_retrieve_metadata_response.py +0 -17
  90. samplehc-0.17.0/src/samplehc/types/v2/hie/__init__.py +0 -8
  91. samplehc-0.17.0/src/samplehc/types/v2/hie/adt_subscribe_params.py +0 -92
  92. samplehc-0.17.0/src/samplehc/types/v2/hie/document_query_params.py +0 -92
  93. samplehc-0.17.0/src/samplehc/types/v2/hie/document_query_response.py +0 -16
  94. samplehc-0.17.0/src/samplehc/types/v2/hie/document_upload_params.py +0 -54
  95. samplehc-0.17.0/src/samplehc/types/v2/integrations/__init__.py +0 -23
  96. samplehc-0.17.0/src/samplehc/types/v2/integrations/bank/__init__.py +0 -6
  97. samplehc-0.17.0/src/samplehc/types/v2/integrations/bank/transaction_sync_params.py +0 -15
  98. samplehc-0.17.0/src/samplehc/types/v2/integrations/bank/transaction_sync_response.py +0 -26
  99. samplehc-0.17.0/src/samplehc/types/v2/integrations/careviso_get_payers_response.py +0 -19
  100. samplehc-0.17.0/src/samplehc/types/v2/integrations/careviso_submit_prior_authorization_params.py +0 -90
  101. samplehc-0.17.0/src/samplehc/types/v2/integrations/glidian/__init__.py +0 -20
  102. samplehc-0.17.0/src/samplehc/types/v2/integrations/glidian/prior_authorization_create_draft_params.py +0 -32
  103. samplehc-0.17.0/src/samplehc/types/v2/integrations/glidian/prior_authorization_create_draft_response.py +0 -24
  104. samplehc-0.17.0/src/samplehc/types/v2/integrations/glidian/prior_authorization_retrieve_record_response.py +0 -13
  105. samplehc-0.17.0/src/samplehc/types/v2/integrations/glidian/prior_authorization_submit_response.py +0 -16
  106. samplehc-0.17.0/src/samplehc/types/v2/integrations/glidian/prior_authorization_update_record_params.py +0 -20
  107. samplehc-0.17.0/src/samplehc/types/v2/integrations/glidian/prior_authorization_update_record_response.py +0 -16
  108. samplehc-0.17.0/src/samplehc/types/v2/integrations/glidian/prior_authorizations/__init__.py +0 -7
  109. samplehc-0.17.0/src/samplehc/types/v2/integrations/glidian/prior_authorizations/clinical_question_list_response.py +0 -42
  110. samplehc-0.17.0/src/samplehc/types/v2/integrations/glidian/prior_authorizations/clinical_question_update_params.py +0 -23
  111. samplehc-0.17.0/src/samplehc/types/v2/integrations/glidian/prior_authorizations/clinical_question_update_response.py +0 -19
  112. samplehc-0.17.0/src/samplehc/types/v2/integrations/glidian_get_submission_requirements_params.py +0 -17
  113. samplehc-0.17.0/src/samplehc/types/v2/integrations/glidian_get_submission_requirements_response.py +0 -31
  114. samplehc-0.17.0/src/samplehc/types/v2/integrations/glidian_list_payers_params.py +0 -11
  115. samplehc-0.17.0/src/samplehc/types/v2/integrations/glidian_list_payers_response.py +0 -17
  116. samplehc-0.17.0/src/samplehc/types/v2/integrations/glidian_list_services_params.py +0 -13
  117. samplehc-0.17.0/src/samplehc/types/v2/integrations/glidian_list_services_response.py +0 -19
  118. samplehc-0.17.0/src/samplehc/types/v2/integrations/kno2/__init__.py +0 -6
  119. samplehc-0.17.0/src/samplehc/types/v2/integrations/kno2/message_get_attachment_response.py +0 -15
  120. samplehc-0.17.0/src/samplehc/types/v2/integrations/kno2/message_retrieve_response.py +0 -13
  121. samplehc-0.17.0/src/samplehc/types/v2/integrations/salesforce_run_crud_action_params.py +0 -22
  122. samplehc-0.17.0/src/samplehc/types/v2/integrations/salesforce_run_soql_query_params.py +0 -11
  123. samplehc-0.17.0/src/samplehc/types/v2/integrations/snowflake_query_params.py +0 -12
  124. samplehc-0.17.0/src/samplehc/types/v2/integrations/snowflake_query_response.py +0 -8
  125. samplehc-0.17.0/src/samplehc/types/v2/integrations/wellsky/__init__.py +0 -6
  126. samplehc-0.17.0/src/samplehc/types/v2/integrations/wellsky/patient_add_params.py +0 -13
  127. samplehc-0.17.0/src/samplehc/types/v2/integrations/wellsky/patient_search_params.py +0 -32
  128. samplehc-0.17.0/src/samplehc/types/v2/integrations/xcure_make_request_params.py +0 -18
  129. samplehc-0.17.0/src/samplehc/types/v2/ledger/__init__.py +0 -3
  130. samplehc-0.17.0/src/samplehc/types/v2/policy_list_companies_params.py +0 -18
  131. samplehc-0.17.0/src/samplehc/types/v2/policy_list_companies_response.py +0 -24
  132. samplehc-0.17.0/src/samplehc/types/v2/policy_list_params.py +0 -47
  133. samplehc-0.17.0/src/samplehc/types/v2/policy_list_plans_params.py +0 -18
  134. samplehc-0.17.0/src/samplehc/types/v2/policy_list_plans_response.py +0 -30
  135. samplehc-0.17.0/src/samplehc/types/v2/policy_list_response.py +0 -67
  136. samplehc-0.17.0/src/samplehc/types/v2/policy_retrieve_presigned_url_response.py +0 -17
  137. samplehc-0.17.0/src/samplehc/types/v2/policy_retrieve_text_response.py +0 -12
  138. samplehc-0.17.0/src/samplehc/types/v2/task_cancel_response.py +0 -12
  139. samplehc-0.17.0/src/samplehc/types/v2/task_complete_params.py +0 -12
  140. samplehc-0.17.0/src/samplehc/types/v2/task_complete_response.py +0 -16
  141. samplehc-0.17.0/src/samplehc/types/v2/task_get_suspended_payload_response.py +0 -8
  142. samplehc-0.17.0/src/samplehc/types/v2/task_retrieve_response.py +0 -22
  143. samplehc-0.17.0/src/samplehc/types/v2/task_retry_response.py +0 -10
  144. samplehc-0.17.0/src/samplehc/types/v2/task_update_column_params.py +0 -19
  145. samplehc-0.17.0/src/samplehc/types/v2/task_update_column_response.py +0 -9
  146. samplehc-0.17.0/src/samplehc/types/v2/task_update_screen_time_params.py +0 -14
  147. samplehc-0.17.0/src/samplehc/types/v2/task_update_screen_time_response.py +0 -8
  148. samplehc-0.17.0/src/samplehc/types/v2/tasks/__init__.py +0 -7
  149. samplehc-0.17.0/src/samplehc/types/v2/tasks/state_get_response.py +0 -8
  150. samplehc-0.17.0/src/samplehc/types/v2/tasks/state_update_params.py +0 -13
  151. samplehc-0.17.0/src/samplehc/types/v2/tasks/state_update_response.py +0 -9
  152. samplehc-0.17.0/src/samplehc/types/v2/workflow_deploy_response.py +0 -12
  153. samplehc-0.17.0/src/samplehc/types/v2/workflow_query_params.py +0 -12
  154. samplehc-0.17.0/src/samplehc/types/v2/workflow_query_response.py +0 -8
  155. samplehc-0.17.0/src/samplehc/types/v2/workflow_run_get_start_data_response.py +0 -14
  156. samplehc-0.17.0/src/samplehc/types/v2/workflow_run_resume_when_complete_params.py +0 -14
  157. samplehc-0.17.0/src/samplehc/types/v2/workflow_run_resume_when_complete_response.py +0 -12
  158. samplehc-0.17.0/src/samplehc/types/v2/workflow_run_retrieve_response.py +0 -16
  159. samplehc-0.17.0/src/samplehc/types/v2/workflow_runs/__init__.py +0 -5
  160. samplehc-0.17.0/src/samplehc/types/v2/workflow_runs/step_get_output_response.py +0 -14
  161. samplehc-0.17.0/src/samplehc/types/v2/workflow_start_params.py +0 -25
  162. samplehc-0.17.0/src/samplehc/types/v2/workflow_start_response.py +0 -25
  163. samplehc-0.17.0/tests/api_resources/test_v1.py +0 -183
  164. samplehc-0.17.0/tests/api_resources/v2/clearinghouse/__init__.py +0 -1
  165. samplehc-0.17.0/tests/api_resources/v2/clearinghouse/test_claim.py +0 -2592
  166. samplehc-0.17.0/tests/api_resources/v2/clearinghouse/test_payers.py +0 -148
  167. samplehc-0.17.0/tests/api_resources/v2/documents/__init__.py +0 -1
  168. samplehc-0.17.0/tests/api_resources/v2/documents/test_pdf_template.py +0 -108
  169. samplehc-0.17.0/tests/api_resources/v2/hie/__init__.py +0 -1
  170. samplehc-0.17.0/tests/api_resources/v2/hie/test_adt.py +0 -233
  171. samplehc-0.17.0/tests/api_resources/v2/hie/test_documents.py +0 -366
  172. samplehc-0.17.0/tests/api_resources/v2/integrations/__init__.py +0 -1
  173. samplehc-0.17.0/tests/api_resources/v2/integrations/bank/__init__.py +0 -1
  174. samplehc-0.17.0/tests/api_resources/v2/integrations/bank/test_transactions.py +0 -110
  175. samplehc-0.17.0/tests/api_resources/v2/integrations/glidian/__init__.py +0 -1
  176. samplehc-0.17.0/tests/api_resources/v2/integrations/glidian/prior_authorizations/__init__.py +0 -1
  177. samplehc-0.17.0/tests/api_resources/v2/integrations/glidian/prior_authorizations/test_clinical_questions.py +0 -253
  178. samplehc-0.17.0/tests/api_resources/v2/integrations/glidian/test_prior_authorizations.py +0 -569
  179. samplehc-0.17.0/tests/api_resources/v2/integrations/kno2/__init__.py +0 -1
  180. samplehc-0.17.0/tests/api_resources/v2/integrations/kno2/test_messages.py +0 -256
  181. samplehc-0.17.0/tests/api_resources/v2/integrations/test_careviso.py +0 -464
  182. samplehc-0.17.0/tests/api_resources/v2/integrations/test_glidian.py +0 -356
  183. samplehc-0.17.0/tests/api_resources/v2/integrations/test_salesforce.py +0 -239
  184. samplehc-0.17.0/tests/api_resources/v2/integrations/test_snowflake.py +0 -116
  185. samplehc-0.17.0/tests/api_resources/v2/integrations/test_xcures.py +0 -147
  186. samplehc-0.17.0/tests/api_resources/v2/integrations/wellsky/__init__.py +0 -1
  187. samplehc-0.17.0/tests/api_resources/v2/integrations/wellsky/test_patients.py +0 -229
  188. samplehc-0.17.0/tests/api_resources/v2/tasks/__init__.py +0 -1
  189. samplehc-0.17.0/tests/api_resources/v2/tasks/test_state.py +0 -220
  190. samplehc-0.17.0/tests/api_resources/v2/test_clearinghouse.py +0 -635
  191. samplehc-0.17.0/tests/api_resources/v2/test_policies.py +0 -444
  192. samplehc-0.17.0/tests/api_resources/v2/test_tasks.py +0 -684
  193. samplehc-0.17.0/tests/api_resources/v2/test_workflow_runs.py +0 -376
  194. samplehc-0.17.0/tests/api_resources/v2/test_workflows.py +0 -308
  195. samplehc-0.17.0/tests/api_resources/v2/workflow_runs/__init__.py +0 -1
  196. samplehc-0.17.0/tests/api_resources/v2/workflow_runs/test_step.py +0 -108
  197. {samplehc-0.17.0 → samplehc-0.19.0}/.gitignore +0 -0
  198. {samplehc-0.17.0 → samplehc-0.19.0}/CONTRIBUTING.md +0 -0
  199. {samplehc-0.17.0 → samplehc-0.19.0}/LICENSE +0 -0
  200. {samplehc-0.17.0 → samplehc-0.19.0}/SECURITY.md +0 -0
  201. {samplehc-0.17.0 → samplehc-0.19.0}/bin/check-release-environment +0 -0
  202. {samplehc-0.17.0 → samplehc-0.19.0}/bin/publish-pypi +0 -0
  203. {samplehc-0.17.0 → samplehc-0.19.0}/examples/.keep +0 -0
  204. {samplehc-0.17.0 → samplehc-0.19.0}/noxfile.py +0 -0
  205. {samplehc-0.17.0 → samplehc-0.19.0}/release-please-config.json +0 -0
  206. {samplehc-0.17.0 → samplehc-0.19.0}/requirements-dev.lock +0 -0
  207. {samplehc-0.17.0 → samplehc-0.19.0}/requirements.lock +0 -0
  208. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/__init__.py +0 -0
  209. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_constants.py +0 -0
  210. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_exceptions.py +0 -0
  211. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_files.py +0 -0
  212. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_models.py +0 -0
  213. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_qs.py +0 -0
  214. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_resource.py +0 -0
  215. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_response.py +0 -0
  216. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_streaming.py +0 -0
  217. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_types.py +0 -0
  218. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_utils/__init__.py +0 -0
  219. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_utils/_compat.py +0 -0
  220. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_utils/_datetime_parse.py +0 -0
  221. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_utils/_logs.py +0 -0
  222. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_utils/_proxy.py +0 -0
  223. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_utils/_reflection.py +0 -0
  224. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_utils/_resources_proxy.py +0 -0
  225. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_utils/_streams.py +0 -0
  226. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_utils/_sync.py +0 -0
  227. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_utils/_transform.py +0 -0
  228. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_utils/_typing.py +0 -0
  229. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/_utils/_utils.py +0 -0
  230. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/lib/.keep +0 -0
  231. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/py.typed +0 -0
  232. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/resources/v2/communication.py +0 -0
  233. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/resources/v2/database.py +0 -0
  234. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/resources/v2/documents/formats.py +0 -0
  235. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/resources/v2/documents/legacy.py +0 -0
  236. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/resources/v2/documents/templates.py +0 -0
  237. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/resources/v2/events.py +0 -0
  238. {samplehc-0.17.0/src/samplehc/types/v1 → samplehc-0.19.0/src/samplehc/types}/__init__.py +0 -0
  239. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/async_result_sleep_params.py +0 -0
  240. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/async_result_sleep_response.py +0 -0
  241. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/communication_send_email_params.py +0 -0
  242. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/communication_send_email_response.py +0 -0
  243. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/communication_send_fax_params.py +0 -0
  244. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/communication_send_fax_response.py +0 -0
  245. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/communication_send_letter_params.py +0 -0
  246. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/communication_send_letter_response.py +0 -0
  247. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/database_execute_sql_params.py +0 -0
  248. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/database_execute_sql_response.py +0 -0
  249. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_classify_params.py +0 -0
  250. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_classify_response.py +0 -0
  251. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_combine_params.py +0 -0
  252. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_combine_response.py +0 -0
  253. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_create_from_splits_params.py +0 -0
  254. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_create_from_splits_response.py +0 -0
  255. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_extract_response.py +0 -0
  256. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_generate_csv_params.py +0 -0
  257. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_generate_csv_response.py +0 -0
  258. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_presigned_upload_url_params.py +0 -0
  259. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_presigned_upload_url_response.py +0 -0
  260. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_retrieve_csv_content_response.py +0 -0
  261. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_retrieve_metadata_response.py +0 -0
  262. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_retrieve_response.py +0 -0
  263. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_search_params.py +0 -0
  264. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_search_response.py +0 -0
  265. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_split_params.py +0 -0
  266. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_split_response.py +0 -0
  267. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_transform_json_to_html_params.py +0 -0
  268. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/document_transform_json_to_html_response.py +0 -0
  269. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/documents/format_create_pdf_params.py +0 -0
  270. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/documents/format_create_pdf_response.py +0 -0
  271. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/documents/legacy_extract_params.py +0 -0
  272. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/documents/legacy_extract_response.py +0 -0
  273. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/documents/legacy_reason_params.py +0 -0
  274. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/documents/legacy_reason_response.py +0 -0
  275. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/documents/legacy_split_params.py +0 -0
  276. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/documents/legacy_split_response.py +0 -0
  277. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/documents/template_generate_document_async_params.py +0 -0
  278. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/documents/template_generate_document_async_response.py +0 -0
  279. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/documents/template_render_document_params.py +0 -0
  280. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/documents/template_render_document_response.py +0 -0
  281. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/event_emit_params.py +0 -0
  282. {samplehc-0.17.0 → samplehc-0.19.0}/src/samplehc/types/v2/event_emit_response.py +0 -0
  283. {samplehc-0.17.0 → samplehc-0.19.0}/tests/__init__.py +0 -0
  284. {samplehc-0.17.0 → samplehc-0.19.0}/tests/api_resources/__init__.py +0 -0
  285. {samplehc-0.17.0/tests/api_resources/v1 → samplehc-0.19.0/tests/api_resources/v2}/__init__.py +0 -0
  286. {samplehc-0.17.0/tests/api_resources/v2 → samplehc-0.19.0/tests/api_resources/v2/documents}/__init__.py +0 -0
  287. {samplehc-0.17.0 → samplehc-0.19.0}/tests/api_resources/v2/documents/test_formats.py +0 -0
  288. {samplehc-0.17.0 → samplehc-0.19.0}/tests/api_resources/v2/documents/test_legacy.py +0 -0
  289. {samplehc-0.17.0 → samplehc-0.19.0}/tests/api_resources/v2/documents/test_templates.py +0 -0
  290. {samplehc-0.17.0 → samplehc-0.19.0}/tests/api_resources/v2/test_communication.py +0 -0
  291. {samplehc-0.17.0 → samplehc-0.19.0}/tests/api_resources/v2/test_database.py +0 -0
  292. {samplehc-0.17.0 → samplehc-0.19.0}/tests/api_resources/v2/test_events.py +0 -0
  293. {samplehc-0.17.0 → samplehc-0.19.0}/tests/conftest.py +0 -0
  294. {samplehc-0.17.0 → samplehc-0.19.0}/tests/sample_file.txt +0 -0
  295. {samplehc-0.17.0 → samplehc-0.19.0}/tests/test_deepcopy.py +0 -0
  296. {samplehc-0.17.0 → samplehc-0.19.0}/tests/test_extract_files.py +0 -0
  297. {samplehc-0.17.0 → samplehc-0.19.0}/tests/test_files.py +0 -0
  298. {samplehc-0.17.0 → samplehc-0.19.0}/tests/test_models.py +0 -0
  299. {samplehc-0.17.0 → samplehc-0.19.0}/tests/test_qs.py +0 -0
  300. {samplehc-0.17.0 → samplehc-0.19.0}/tests/test_required_args.py +0 -0
  301. {samplehc-0.17.0 → samplehc-0.19.0}/tests/test_response.py +0 -0
  302. {samplehc-0.17.0 → samplehc-0.19.0}/tests/test_streaming.py +0 -0
  303. {samplehc-0.17.0 → samplehc-0.19.0}/tests/test_transform.py +0 -0
  304. {samplehc-0.17.0 → samplehc-0.19.0}/tests/test_utils/test_datetime_parse.py +0 -0
  305. {samplehc-0.17.0 → samplehc-0.19.0}/tests/test_utils/test_proxy.py +0 -0
  306. {samplehc-0.17.0 → samplehc-0.19.0}/tests/test_utils/test_typing.py +0 -0
  307. {samplehc-0.17.0 → samplehc-0.19.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.19.0"
3
+ }
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.19.0 (2026-02-03)
4
+
5
+ Full Changelog: [v0.18.0...v0.19.0](https://github.com/samplehc/samplehc-python/compare/v0.18.0...v0.19.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([5690ad0](https://github.com/samplehc/samplehc-python/commit/5690ad076a7117489783a902c86823bd131007e0))
10
+ * **api:** api update ([907015e](https://github.com/samplehc/samplehc-python/commit/907015e44e80c084a433cc168cbbd3f8936de9a8))
11
+ * **api:** api update ([a894f7d](https://github.com/samplehc/samplehc-python/commit/a894f7dfb69e26535b858f010a47664a2649ffc8))
12
+ * **client:** add custom JSON encoder for extended type support ([61b182a](https://github.com/samplehc/samplehc-python/commit/61b182a434c0b6488cd1d64bd8aeaafe4ef6c477))
13
+
14
+
15
+ ### Chores
16
+
17
+ * **ci:** upgrade `actions/github-script` ([17e3e4f](https://github.com/samplehc/samplehc-python/commit/17e3e4fb991e6fd0a6fd9adcb9f50eea85e3046c))
18
+
19
+ ## 0.18.0 (2026-01-23)
20
+
21
+ Full Changelog: [v0.17.0...v0.18.0](https://github.com/samplehc/samplehc-python/compare/v0.17.0...v0.18.0)
22
+
23
+ ### Features
24
+
25
+ * **api:** manual updates ([406e85a](https://github.com/samplehc/samplehc-python/commit/406e85ac537ee203758ecbf101a38e630801e14b))
26
+
3
27
  ## 0.17.0 (2026-01-23)
4
28
 
5
29
  Full Changelog: [v0.16.0...v0.17.0](https://github.com/samplehc/samplehc-python/compare/v0.16.0...v0.17.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: samplehc
3
- Version: 0.17.0
3
+ Version: 0.19.0
4
4
  Summary: The official Python library for the Sample Healthcare API
5
5
  Project-URL: Homepage, https://github.com/samplehc/samplehc-python
6
6
  Project-URL: Repository, https://github.com/samplehc/samplehc-python
@@ -67,10 +67,10 @@ client = SampleHealthcare(
67
67
  api_key=os.environ.get("SAMPLEHC_API_KEY"), # This is the default and can be omitted
68
68
  )
69
69
 
70
- response = client.v1.sql_execute(
71
- query="REPLACE_ME",
72
- params=[{}],
70
+ response = client.v2.async_results.sleep(
71
+ delay=1,
73
72
  )
73
+ print(response.async_result_id)
74
74
  ```
75
75
 
76
76
  While you can provide an `api_key` keyword argument,
@@ -93,10 +93,10 @@ client = AsyncSampleHealthcare(
93
93
 
94
94
 
95
95
  async def main() -> None:
96
- response = await client.v1.sql_execute(
97
- query="REPLACE_ME",
98
- params=[{}],
96
+ response = await client.v2.async_results.sleep(
97
+ delay=1,
99
98
  )
99
+ print(response.async_result_id)
100
100
 
101
101
 
102
102
  asyncio.run(main())
@@ -129,10 +129,10 @@ async def main() -> None:
129
129
  api_key=os.environ.get("SAMPLEHC_API_KEY"), # This is the default and can be omitted
130
130
  http_client=DefaultAioHttpClient(),
131
131
  ) as client:
132
- response = await client.v1.sql_execute(
133
- query="REPLACE_ME",
134
- params=[{}],
132
+ response = await client.v2.async_results.sleep(
133
+ delay=1,
135
134
  )
135
+ print(response.async_result_id)
136
136
 
137
137
 
138
138
  asyncio.run(main())
@@ -182,9 +182,8 @@ from samplehc import SampleHealthcare
182
182
  client = SampleHealthcare()
183
183
 
184
184
  try:
185
- client.v1.sql_execute(
186
- query="REPLACE_ME",
187
- params=[{}],
185
+ client.v2.async_results.sleep(
186
+ delay=1,
188
187
  )
189
188
  except samplehc.APIConnectionError as e:
190
189
  print("The server could not be reached")
@@ -228,9 +227,8 @@ client = SampleHealthcare(
228
227
  )
229
228
 
230
229
  # Or, configure per-request:
231
- client.with_options(max_retries=5).v1.sql_execute(
232
- query="REPLACE_ME",
233
- params=[{}],
230
+ client.with_options(max_retries=5).v2.async_results.sleep(
231
+ delay=1,
234
232
  )
235
233
  ```
236
234
 
@@ -254,9 +252,8 @@ client = SampleHealthcare(
254
252
  )
255
253
 
256
254
  # Override per-request:
257
- client.with_options(timeout=5.0).v1.sql_execute(
258
- query="REPLACE_ME",
259
- params=[{}],
255
+ client.with_options(timeout=5.0).v2.async_results.sleep(
256
+ delay=1,
260
257
  )
261
258
  ```
262
259
 
@@ -298,14 +295,13 @@ The "raw" Response object can be accessed by prefixing `.with_raw_response.` to
298
295
  from samplehc import SampleHealthcare
299
296
 
300
297
  client = SampleHealthcare()
301
- response = client.v1.with_raw_response.sql_execute(
302
- query="REPLACE_ME",
303
- params=[{}],
298
+ response = client.v2.async_results.with_raw_response.sleep(
299
+ delay=1,
304
300
  )
305
301
  print(response.headers.get('X-My-Header'))
306
302
 
307
- v1 = response.parse() # get the object that `v1.sql_execute()` would have returned
308
- print(v1)
303
+ async_result = response.parse() # get the object that `v2.async_results.sleep()` would have returned
304
+ print(async_result.async_result_id)
309
305
  ```
310
306
 
311
307
  These methods return an [`APIResponse`](https://github.com/samplehc/samplehc-python/tree/main/src/samplehc/_response.py) object.
@@ -319,9 +315,8 @@ The above interface eagerly reads the full response body when you make the reque
319
315
  To stream the response body, use `.with_streaming_response` instead, which requires a context manager and only reads the response body once you call `.read()`, `.text()`, `.json()`, `.iter_bytes()`, `.iter_text()`, `.iter_lines()` or `.parse()`. In the async client, these are async methods.
320
316
 
321
317
  ```python
322
- with client.v1.with_streaming_response.sql_execute(
323
- query="REPLACE_ME",
324
- params=[{}],
318
+ with client.v2.async_results.with_streaming_response.sleep(
319
+ delay=1,
325
320
  ) as response:
326
321
  print(response.headers.get("X-My-Header"))
327
322
 
@@ -32,10 +32,10 @@ client = SampleHealthcare(
32
32
  api_key=os.environ.get("SAMPLEHC_API_KEY"), # This is the default and can be omitted
33
33
  )
34
34
 
35
- response = client.v1.sql_execute(
36
- query="REPLACE_ME",
37
- params=[{}],
35
+ response = client.v2.async_results.sleep(
36
+ delay=1,
38
37
  )
38
+ print(response.async_result_id)
39
39
  ```
40
40
 
41
41
  While you can provide an `api_key` keyword argument,
@@ -58,10 +58,10 @@ client = AsyncSampleHealthcare(
58
58
 
59
59
 
60
60
  async def main() -> None:
61
- response = await client.v1.sql_execute(
62
- query="REPLACE_ME",
63
- params=[{}],
61
+ response = await client.v2.async_results.sleep(
62
+ delay=1,
64
63
  )
64
+ print(response.async_result_id)
65
65
 
66
66
 
67
67
  asyncio.run(main())
@@ -94,10 +94,10 @@ async def main() -> None:
94
94
  api_key=os.environ.get("SAMPLEHC_API_KEY"), # This is the default and can be omitted
95
95
  http_client=DefaultAioHttpClient(),
96
96
  ) as client:
97
- response = await client.v1.sql_execute(
98
- query="REPLACE_ME",
99
- params=[{}],
97
+ response = await client.v2.async_results.sleep(
98
+ delay=1,
100
99
  )
100
+ print(response.async_result_id)
101
101
 
102
102
 
103
103
  asyncio.run(main())
@@ -147,9 +147,8 @@ from samplehc import SampleHealthcare
147
147
  client = SampleHealthcare()
148
148
 
149
149
  try:
150
- client.v1.sql_execute(
151
- query="REPLACE_ME",
152
- params=[{}],
150
+ client.v2.async_results.sleep(
151
+ delay=1,
153
152
  )
154
153
  except samplehc.APIConnectionError as e:
155
154
  print("The server could not be reached")
@@ -193,9 +192,8 @@ client = SampleHealthcare(
193
192
  )
194
193
 
195
194
  # Or, configure per-request:
196
- client.with_options(max_retries=5).v1.sql_execute(
197
- query="REPLACE_ME",
198
- params=[{}],
195
+ client.with_options(max_retries=5).v2.async_results.sleep(
196
+ delay=1,
199
197
  )
200
198
  ```
201
199
 
@@ -219,9 +217,8 @@ client = SampleHealthcare(
219
217
  )
220
218
 
221
219
  # Override per-request:
222
- client.with_options(timeout=5.0).v1.sql_execute(
223
- query="REPLACE_ME",
224
- params=[{}],
220
+ client.with_options(timeout=5.0).v2.async_results.sleep(
221
+ delay=1,
225
222
  )
226
223
  ```
227
224
 
@@ -263,14 +260,13 @@ The "raw" Response object can be accessed by prefixing `.with_raw_response.` to
263
260
  from samplehc import SampleHealthcare
264
261
 
265
262
  client = SampleHealthcare()
266
- response = client.v1.with_raw_response.sql_execute(
267
- query="REPLACE_ME",
268
- params=[{}],
263
+ response = client.v2.async_results.with_raw_response.sleep(
264
+ delay=1,
269
265
  )
270
266
  print(response.headers.get('X-My-Header'))
271
267
 
272
- v1 = response.parse() # get the object that `v1.sql_execute()` would have returned
273
- print(v1)
268
+ async_result = response.parse() # get the object that `v2.async_results.sleep()` would have returned
269
+ print(async_result.async_result_id)
274
270
  ```
275
271
 
276
272
  These methods return an [`APIResponse`](https://github.com/samplehc/samplehc-python/tree/main/src/samplehc/_response.py) object.
@@ -284,9 +280,8 @@ The above interface eagerly reads the full response body when you make the reque
284
280
  To stream the response body, use `.with_streaming_response` instead, which requires a context manager and only reads the response body once you call `.read()`, `.text()`, `.json()`, `.iter_bytes()`, `.iter_text()`, `.iter_lines()` or `.parse()`. In the async client, these are async methods.
285
281
 
286
282
  ```python
287
- with client.v1.with_streaming_response.sql_execute(
288
- query="REPLACE_ME",
289
- params=[{}],
283
+ with client.v2.async_results.with_streaming_response.sleep(
284
+ delay=1,
290
285
  ) as response:
291
286
  print(response.headers.get("X-My-Header"))
292
287
 
samplehc-0.19.0/api.md ADDED
@@ -0,0 +1,137 @@
1
+ # V2
2
+
3
+ ## AsyncResults
4
+
5
+ Types:
6
+
7
+ ```python
8
+ from samplehc.types.v2 import AsyncResultSleepResponse
9
+ ```
10
+
11
+ Methods:
12
+
13
+ - <code title="post /api/v2/async-results/sleep">client.v2.async_results.<a href="./src/samplehc/resources/v2/async_results.py">sleep</a>(\*\*<a href="src/samplehc/types/v2/async_result_sleep_params.py">params</a>) -> <a href="./src/samplehc/types/v2/async_result_sleep_response.py">AsyncResultSleepResponse</a></code>
14
+
15
+ ## Documents
16
+
17
+ Types:
18
+
19
+ ```python
20
+ from samplehc.types.v2 import (
21
+ DocumentRetrieveResponse,
22
+ DocumentClassifyResponse,
23
+ DocumentCombineResponse,
24
+ DocumentCreateFromSplitsResponse,
25
+ DocumentExtractResponse,
26
+ DocumentGenerateCsvResponse,
27
+ DocumentPresignedUploadURLResponse,
28
+ DocumentRetrieveCsvContentResponse,
29
+ DocumentRetrieveMetadataResponse,
30
+ DocumentSearchResponse,
31
+ DocumentSplitResponse,
32
+ DocumentTransformJsonToHTMLResponse,
33
+ )
34
+ ```
35
+
36
+ Methods:
37
+
38
+ - <code title="get /api/v2/documents/{documentId}">client.v2.documents.<a href="./src/samplehc/resources/v2/documents/documents.py">retrieve</a>(document_id) -> <a href="./src/samplehc/types/v2/document_retrieve_response.py">DocumentRetrieveResponse</a></code>
39
+ - <code title="post /api/v2/documents/classify">client.v2.documents.<a href="./src/samplehc/resources/v2/documents/documents.py">classify</a>(\*\*<a href="src/samplehc/types/v2/document_classify_params.py">params</a>) -> <a href="./src/samplehc/types/v2/document_classify_response.py">DocumentClassifyResponse</a></code>
40
+ - <code title="post /api/v2/documents/combine">client.v2.documents.<a href="./src/samplehc/resources/v2/documents/documents.py">combine</a>(\*\*<a href="src/samplehc/types/v2/document_combine_params.py">params</a>) -> <a href="./src/samplehc/types/v2/document_combine_response.py">DocumentCombineResponse</a></code>
41
+ - <code title="post /api/v2/documents/create-from-splits">client.v2.documents.<a href="./src/samplehc/resources/v2/documents/documents.py">create_from_splits</a>(\*\*<a href="src/samplehc/types/v2/document_create_from_splits_params.py">params</a>) -> <a href="./src/samplehc/types/v2/document_create_from_splits_response.py">DocumentCreateFromSplitsResponse</a></code>
42
+ - <code title="post /api/v2/documents/extract">client.v2.documents.<a href="./src/samplehc/resources/v2/documents/documents.py">extract</a>(\*\*<a href="src/samplehc/types/v2/document_extract_params.py">params</a>) -> <a href="./src/samplehc/types/v2/document_extract_response.py">DocumentExtractResponse</a></code>
43
+ - <code title="post /api/v2/documents/generate-csv">client.v2.documents.<a href="./src/samplehc/resources/v2/documents/documents.py">generate_csv</a>(\*\*<a href="src/samplehc/types/v2/document_generate_csv_params.py">params</a>) -> <a href="./src/samplehc/types/v2/document_generate_csv_response.py">DocumentGenerateCsvResponse</a></code>
44
+ - <code title="post /api/v2/documents/presigned-upload-url">client.v2.documents.<a href="./src/samplehc/resources/v2/documents/documents.py">presigned_upload_url</a>(\*\*<a href="src/samplehc/types/v2/document_presigned_upload_url_params.py">params</a>) -> <a href="./src/samplehc/types/v2/document_presigned_upload_url_response.py">DocumentPresignedUploadURLResponse</a></code>
45
+ - <code title="get /api/v2/documents/{documentId}/csv-content">client.v2.documents.<a href="./src/samplehc/resources/v2/documents/documents.py">retrieve_csv_content</a>(document_id) -> <a href="./src/samplehc/types/v2/document_retrieve_csv_content_response.py">DocumentRetrieveCsvContentResponse</a></code>
46
+ - <code title="get /api/v2/documents/{documentId}/metadata">client.v2.documents.<a href="./src/samplehc/resources/v2/documents/documents.py">retrieve_metadata</a>(document_id) -> <a href="./src/samplehc/types/v2/document_retrieve_metadata_response.py">DocumentRetrieveMetadataResponse</a></code>
47
+ - <code title="post /api/v2/documents/search">client.v2.documents.<a href="./src/samplehc/resources/v2/documents/documents.py">search</a>(\*\*<a href="src/samplehc/types/v2/document_search_params.py">params</a>) -> <a href="./src/samplehc/types/v2/document_search_response.py">DocumentSearchResponse</a></code>
48
+ - <code title="post /api/v2/documents/split">client.v2.documents.<a href="./src/samplehc/resources/v2/documents/documents.py">split</a>(\*\*<a href="src/samplehc/types/v2/document_split_params.py">params</a>) -> <a href="./src/samplehc/types/v2/document_split_response.py">DocumentSplitResponse</a></code>
49
+ - <code title="post /api/v2/documents/json-to-html">client.v2.documents.<a href="./src/samplehc/resources/v2/documents/documents.py">transform_json_to_html</a>(\*\*<a href="src/samplehc/types/v2/document_transform_json_to_html_params.py">params</a>) -> <a href="./src/samplehc/types/v2/document_transform_json_to_html_response.py">DocumentTransformJsonToHTMLResponse</a></code>
50
+
51
+ ### Legacy
52
+
53
+ Types:
54
+
55
+ ```python
56
+ from samplehc.types.v2.documents import (
57
+ LegacyExtractResponse,
58
+ LegacyReasonResponse,
59
+ LegacySplitResponse,
60
+ )
61
+ ```
62
+
63
+ Methods:
64
+
65
+ - <code title="post /api/v2/documents/legacy/extract">client.v2.documents.legacy.<a href="./src/samplehc/resources/v2/documents/legacy.py">extract</a>(\*\*<a href="src/samplehc/types/v2/documents/legacy_extract_params.py">params</a>) -> <a href="./src/samplehc/types/v2/documents/legacy_extract_response.py">LegacyExtractResponse</a></code>
66
+ - <code title="post /api/v2/documents/legacy/reason">client.v2.documents.legacy.<a href="./src/samplehc/resources/v2/documents/legacy.py">reason</a>(\*\*<a href="src/samplehc/types/v2/documents/legacy_reason_params.py">params</a>) -> <a href="./src/samplehc/types/v2/documents/legacy_reason_response.py">LegacyReasonResponse</a></code>
67
+ - <code title="post /api/v2/documents/legacy/split">client.v2.documents.legacy.<a href="./src/samplehc/resources/v2/documents/legacy.py">split</a>(\*\*<a href="src/samplehc/types/v2/documents/legacy_split_params.py">params</a>) -> <a href="./src/samplehc/types/v2/documents/legacy_split_response.py">LegacySplitResponse</a></code>
68
+
69
+ ### Templates
70
+
71
+ Types:
72
+
73
+ ```python
74
+ from samplehc.types.v2.documents import (
75
+ TemplateGenerateDocumentAsyncResponse,
76
+ TemplateRenderDocumentResponse,
77
+ )
78
+ ```
79
+
80
+ Methods:
81
+
82
+ - <code title="post /api/v2/documents/templates/generate-document">client.v2.documents.templates.<a href="./src/samplehc/resources/v2/documents/templates.py">generate_document_async</a>(\*\*<a href="src/samplehc/types/v2/documents/template_generate_document_async_params.py">params</a>) -> <a href="./src/samplehc/types/v2/documents/template_generate_document_async_response.py">TemplateGenerateDocumentAsyncResponse</a></code>
83
+ - <code title="post /api/v2/documents/templates/render">client.v2.documents.templates.<a href="./src/samplehc/resources/v2/documents/templates.py">render_document</a>(\*\*<a href="src/samplehc/types/v2/documents/template_render_document_params.py">params</a>) -> <a href="./src/samplehc/types/v2/documents/template_render_document_response.py">TemplateRenderDocumentResponse</a></code>
84
+
85
+ ### Formats
86
+
87
+ Types:
88
+
89
+ ```python
90
+ from samplehc.types.v2.documents import FormatCreatePdfResponse
91
+ ```
92
+
93
+ Methods:
94
+
95
+ - <code title="post /api/v2/documents/{documentId}/formats/pdf">client.v2.documents.formats.<a href="./src/samplehc/resources/v2/documents/formats.py">create_pdf</a>(document_id, \*\*<a href="src/samplehc/types/v2/documents/format_create_pdf_params.py">params</a>) -> <a href="./src/samplehc/types/v2/documents/format_create_pdf_response.py">FormatCreatePdfResponse</a></code>
96
+
97
+ ## Communication
98
+
99
+ Types:
100
+
101
+ ```python
102
+ from samplehc.types.v2 import (
103
+ CommunicationSendEmailResponse,
104
+ CommunicationSendFaxResponse,
105
+ CommunicationSendLetterResponse,
106
+ )
107
+ ```
108
+
109
+ Methods:
110
+
111
+ - <code title="post /api/v2/communication/send-email">client.v2.communication.<a href="./src/samplehc/resources/v2/communication.py">send_email</a>(\*\*<a href="src/samplehc/types/v2/communication_send_email_params.py">params</a>) -> <a href="./src/samplehc/types/v2/communication_send_email_response.py">CommunicationSendEmailResponse</a></code>
112
+ - <code title="post /api/v2/communication/send-fax">client.v2.communication.<a href="./src/samplehc/resources/v2/communication.py">send_fax</a>(\*\*<a href="src/samplehc/types/v2/communication_send_fax_params.py">params</a>) -> <a href="./src/samplehc/types/v2/communication_send_fax_response.py">CommunicationSendFaxResponse</a></code>
113
+ - <code title="post /api/v2/communication/letters">client.v2.communication.<a href="./src/samplehc/resources/v2/communication.py">send_letter</a>(\*\*<a href="src/samplehc/types/v2/communication_send_letter_params.py">params</a>) -> <a href="./src/samplehc/types/v2/communication_send_letter_response.py">CommunicationSendLetterResponse</a></code>
114
+
115
+ ## Events
116
+
117
+ Types:
118
+
119
+ ```python
120
+ from samplehc.types.v2 import EventEmitResponse
121
+ ```
122
+
123
+ Methods:
124
+
125
+ - <code title="post /api/v2/events/">client.v2.events.<a href="./src/samplehc/resources/v2/events.py">emit</a>(\*\*<a href="src/samplehc/types/v2/event_emit_params.py">params</a>) -> <a href="./src/samplehc/types/v2/event_emit_response.py">EventEmitResponse</a></code>
126
+
127
+ ## Database
128
+
129
+ Types:
130
+
131
+ ```python
132
+ from samplehc.types.v2 import DatabaseExecuteSqlResponse
133
+ ```
134
+
135
+ Methods:
136
+
137
+ - <code title="post /api/v2/database/sql">client.v2.database.<a href="./src/samplehc/resources/v2/database.py">execute_sql</a>(\*\*<a href="src/samplehc/types/v2/database_execute_sql_params.py">params</a>) -> <a href="./src/samplehc/types/v2/database_execute_sql_response.py">DatabaseExecuteSqlResponse</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "samplehc"
3
- version = "0.17.0"
3
+ version = "0.19.0"
4
4
  description = "The official Python library for the Sample Healthcare API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -86,6 +86,7 @@ from ._exceptions import (
86
86
  APIConnectionError,
87
87
  APIResponseValidationError,
88
88
  )
89
+ from ._utils._json import openapi_dumps
89
90
 
90
91
  log: logging.Logger = logging.getLogger(__name__)
91
92
 
@@ -554,8 +555,10 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
554
555
  kwargs["content"] = options.content
555
556
  elif isinstance(json_data, bytes):
556
557
  kwargs["content"] = json_data
557
- else:
558
- kwargs["json"] = json_data if is_given(json_data) else None
558
+ elif not files:
559
+ # Don't set content when JSON is sent as multipart/form-data,
560
+ # since httpx's content param overrides other body arguments
561
+ kwargs["content"] = openapi_dumps(json_data) if is_given(json_data) and json_data is not None else None
559
562
  kwargs["files"] = files
560
563
  else:
561
564
  headers.pop("Content-Type", None)
@@ -32,8 +32,7 @@ from ._base_client import (
32
32
  )
33
33
 
34
34
  if TYPE_CHECKING:
35
- from .resources import v1, v2
36
- from .resources.v1.v1 import V1Resource, AsyncV1Resource
35
+ from .resources import v2
37
36
  from .resources.v2.v2 import V2Resource, AsyncV2Resource
38
37
 
39
38
  __all__ = [
@@ -99,12 +98,6 @@ class SampleHealthcare(SyncAPIClient):
99
98
  _strict_response_validation=_strict_response_validation,
100
99
  )
101
100
 
102
- @cached_property
103
- def v1(self) -> V1Resource:
104
- from .resources.v1 import V1Resource
105
-
106
- return V1Resource(self)
107
-
108
101
  @cached_property
109
102
  def v2(self) -> V2Resource:
110
103
  from .resources.v2 import V2Resource
@@ -286,12 +279,6 @@ class AsyncSampleHealthcare(AsyncAPIClient):
286
279
  _strict_response_validation=_strict_response_validation,
287
280
  )
288
281
 
289
- @cached_property
290
- def v1(self) -> AsyncV1Resource:
291
- from .resources.v1 import AsyncV1Resource
292
-
293
- return AsyncV1Resource(self)
294
-
295
282
  @cached_property
296
283
  def v2(self) -> AsyncV2Resource:
297
284
  from .resources.v2 import AsyncV2Resource
@@ -428,12 +415,6 @@ class SampleHealthcareWithRawResponse:
428
415
  def __init__(self, client: SampleHealthcare) -> None:
429
416
  self._client = client
430
417
 
431
- @cached_property
432
- def v1(self) -> v1.V1ResourceWithRawResponse:
433
- from .resources.v1 import V1ResourceWithRawResponse
434
-
435
- return V1ResourceWithRawResponse(self._client.v1)
436
-
437
418
  @cached_property
438
419
  def v2(self) -> v2.V2ResourceWithRawResponse:
439
420
  from .resources.v2 import V2ResourceWithRawResponse
@@ -447,12 +428,6 @@ class AsyncSampleHealthcareWithRawResponse:
447
428
  def __init__(self, client: AsyncSampleHealthcare) -> None:
448
429
  self._client = client
449
430
 
450
- @cached_property
451
- def v1(self) -> v1.AsyncV1ResourceWithRawResponse:
452
- from .resources.v1 import AsyncV1ResourceWithRawResponse
453
-
454
- return AsyncV1ResourceWithRawResponse(self._client.v1)
455
-
456
431
  @cached_property
457
432
  def v2(self) -> v2.AsyncV2ResourceWithRawResponse:
458
433
  from .resources.v2 import AsyncV2ResourceWithRawResponse
@@ -466,12 +441,6 @@ class SampleHealthcareWithStreamedResponse:
466
441
  def __init__(self, client: SampleHealthcare) -> None:
467
442
  self._client = client
468
443
 
469
- @cached_property
470
- def v1(self) -> v1.V1ResourceWithStreamingResponse:
471
- from .resources.v1 import V1ResourceWithStreamingResponse
472
-
473
- return V1ResourceWithStreamingResponse(self._client.v1)
474
-
475
444
  @cached_property
476
445
  def v2(self) -> v2.V2ResourceWithStreamingResponse:
477
446
  from .resources.v2 import V2ResourceWithStreamingResponse
@@ -485,12 +454,6 @@ class AsyncSampleHealthcareWithStreamedResponse:
485
454
  def __init__(self, client: AsyncSampleHealthcare) -> None:
486
455
  self._client = client
487
456
 
488
- @cached_property
489
- def v1(self) -> v1.AsyncV1ResourceWithStreamingResponse:
490
- from .resources.v1 import AsyncV1ResourceWithStreamingResponse
491
-
492
- return AsyncV1ResourceWithStreamingResponse(self._client.v1)
493
-
494
457
  @cached_property
495
458
  def v2(self) -> v2.AsyncV2ResourceWithStreamingResponse:
496
459
  from .resources.v2 import AsyncV2ResourceWithStreamingResponse
@@ -139,6 +139,7 @@ def model_dump(
139
139
  exclude_defaults: bool = False,
140
140
  warnings: bool = True,
141
141
  mode: Literal["json", "python"] = "python",
142
+ by_alias: bool | None = None,
142
143
  ) -> dict[str, Any]:
143
144
  if (not PYDANTIC_V1) or hasattr(model, "model_dump"):
144
145
  return model.model_dump(
@@ -148,13 +149,12 @@ def model_dump(
148
149
  exclude_defaults=exclude_defaults,
149
150
  # warnings are not supported in Pydantic v1
150
151
  warnings=True if PYDANTIC_V1 else warnings,
152
+ by_alias=by_alias,
151
153
  )
152
154
  return cast(
153
155
  "dict[str, Any]",
154
156
  model.dict( # pyright: ignore[reportDeprecated, reportUnnecessaryCast]
155
- exclude=exclude,
156
- exclude_unset=exclude_unset,
157
- exclude_defaults=exclude_defaults,
157
+ exclude=exclude, exclude_unset=exclude_unset, exclude_defaults=exclude_defaults, by_alias=bool(by_alias)
158
158
  ),
159
159
  )
160
160
 
@@ -0,0 +1,35 @@
1
+ import json
2
+ from typing import Any
3
+ from datetime import datetime
4
+ from typing_extensions import override
5
+
6
+ import pydantic
7
+
8
+ from .._compat import model_dump
9
+
10
+
11
+ def openapi_dumps(obj: Any) -> bytes:
12
+ """
13
+ Serialize an object to UTF-8 encoded JSON bytes.
14
+
15
+ Extends the standard json.dumps with support for additional types
16
+ commonly used in the SDK, such as `datetime`, `pydantic.BaseModel`, etc.
17
+ """
18
+ return json.dumps(
19
+ obj,
20
+ cls=_CustomEncoder,
21
+ # Uses the same defaults as httpx's JSON serialization
22
+ ensure_ascii=False,
23
+ separators=(",", ":"),
24
+ allow_nan=False,
25
+ ).encode()
26
+
27
+
28
+ class _CustomEncoder(json.JSONEncoder):
29
+ @override
30
+ def default(self, o: Any) -> Any:
31
+ if isinstance(o, datetime):
32
+ return o.isoformat()
33
+ if isinstance(o, pydantic.BaseModel):
34
+ return model_dump(o, exclude_unset=True, mode="json", by_alias=True)
35
+ return super().default(o)
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "samplehc"
4
- __version__ = "0.17.0" # x-release-please-version
4
+ __version__ = "0.19.0" # x-release-please-version
@@ -1,13 +1,5 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from .v1 import (
4
- V1Resource,
5
- AsyncV1Resource,
6
- V1ResourceWithRawResponse,
7
- AsyncV1ResourceWithRawResponse,
8
- V1ResourceWithStreamingResponse,
9
- AsyncV1ResourceWithStreamingResponse,
10
- )
11
3
  from .v2 import (
12
4
  V2Resource,
13
5
  AsyncV2Resource,
@@ -18,12 +10,6 @@ from .v2 import (
18
10
  )
19
11
 
20
12
  __all__ = [
21
- "V1Resource",
22
- "AsyncV1Resource",
23
- "V1ResourceWithRawResponse",
24
- "AsyncV1ResourceWithRawResponse",
25
- "V1ResourceWithStreamingResponse",
26
- "AsyncV1ResourceWithStreamingResponse",
27
13
  "V2Resource",
28
14
  "AsyncV2Resource",
29
15
  "V2ResourceWithRawResponse",