payi 0.1.0a106__tar.gz → 0.1.0a108__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.

Potentially problematic release.


This version of payi might be problematic. Click here for more details.

Files changed (204) hide show
  1. payi-0.1.0a108/.release-please-manifest.json +3 -0
  2. {payi-0.1.0a106 → payi-0.1.0a108}/CHANGELOG.md +17 -0
  3. {payi-0.1.0a106 → payi-0.1.0a108}/PKG-INFO +1 -1
  4. {payi-0.1.0a106 → payi-0.1.0a108}/api.md +4 -10
  5. {payi-0.1.0a106 → payi-0.1.0a108}/pyproject.toml +1 -1
  6. {payi-0.1.0a106 → payi-0.1.0a108}/requirements-dev.lock +1 -0
  7. {payi-0.1.0a106 → payi-0.1.0a108}/requirements.lock +3 -2
  8. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_base_client.py +4 -1
  9. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_files.py +4 -4
  10. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_version.py +1 -1
  11. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/helpers.py +9 -4
  12. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/instrument.py +39 -1
  13. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/ingest.py +4 -4
  14. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/limits/limits.py +0 -8
  15. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/use_cases/definitions/kpis.py +12 -12
  16. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/use_cases/kpis.py +4 -2
  17. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/use_cases/properties.py +5 -5
  18. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/use_cases/use_cases.py +13 -15
  19. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/__init__.py +1 -3
  20. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/category_resource_response.py +4 -0
  21. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/cost_details.py +0 -2
  22. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/ingest_event_param.py +4 -10
  23. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/ingest_units_params.py +2 -2
  24. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limit_create_params.py +0 -4
  25. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared/xproxy_result.py +2 -2
  26. payi-0.1.0a106/src/payi/types/use_case_delete_response.py → payi-0.1.0a108/src/payi/types/use_case_instance_response.py +2 -2
  27. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/__init__.py +0 -1
  28. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definitions/kpi_create_params.py +3 -3
  29. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/kpi_update_params.py +2 -1
  30. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/test_ingest.py +6 -16
  31. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/test_use_cases.py +19 -19
  32. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/use_cases/definitions/test_kpis.py +8 -4
  33. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/use_cases/test_kpis.py +2 -2
  34. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/use_cases/test_properties.py +7 -7
  35. payi-0.1.0a106/.release-please-manifest.json +0 -3
  36. payi-0.1.0a106/src/payi/types/use_case_create_response.py +0 -15
  37. payi-0.1.0a106/src/payi/types/use_case_retrieve_response.py +0 -15
  38. payi-0.1.0a106/src/payi/types/use_cases/property_create_response.py +0 -15
  39. {payi-0.1.0a106 → payi-0.1.0a108}/.gitignore +0 -0
  40. {payi-0.1.0a106 → payi-0.1.0a108}/CONTRIBUTING.md +0 -0
  41. {payi-0.1.0a106 → payi-0.1.0a108}/LICENSE +0 -0
  42. {payi-0.1.0a106 → payi-0.1.0a108}/README.md +0 -0
  43. {payi-0.1.0a106 → payi-0.1.0a108}/SECURITY.md +0 -0
  44. {payi-0.1.0a106 → payi-0.1.0a108}/bin/check-release-environment +0 -0
  45. {payi-0.1.0a106 → payi-0.1.0a108}/bin/publish-pypi +0 -0
  46. {payi-0.1.0a106 → payi-0.1.0a108}/examples/.keep +0 -0
  47. {payi-0.1.0a106 → payi-0.1.0a108}/mypy.ini +0 -0
  48. {payi-0.1.0a106 → payi-0.1.0a108}/noxfile.py +0 -0
  49. {payi-0.1.0a106 → payi-0.1.0a108}/release-please-config.json +0 -0
  50. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/__init__.py +0 -0
  51. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_client.py +0 -0
  52. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_compat.py +0 -0
  53. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_constants.py +0 -0
  54. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_exceptions.py +0 -0
  55. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_models.py +0 -0
  56. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_qs.py +0 -0
  57. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_resource.py +0 -0
  58. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_response.py +0 -0
  59. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_streaming.py +0 -0
  60. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_types.py +0 -0
  61. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_utils/__init__.py +0 -0
  62. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_utils/_logs.py +0 -0
  63. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_utils/_proxy.py +0 -0
  64. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_utils/_reflection.py +0 -0
  65. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_utils/_resources_proxy.py +0 -0
  66. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_utils/_streams.py +0 -0
  67. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_utils/_sync.py +0 -0
  68. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_utils/_transform.py +0 -0
  69. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_utils/_typing.py +0 -0
  70. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_utils/_utils.py +0 -0
  71. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/.keep +0 -0
  72. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/AnthropicInstrumentor.py +0 -0
  73. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/BedrockInstrumentor.py +0 -0
  74. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/GoogleGenAiInstrumentor.py +0 -0
  75. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/OpenAIInstrumentor.py +0 -0
  76. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/Stopwatch.py +0 -0
  77. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/VertexInstrumentor.py +0 -0
  78. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/VertexRequest.py +0 -0
  79. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/version_helper.py +0 -0
  80. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/pagination.py +0 -0
  81. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/py.typed +0 -0
  82. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/__init__.py +0 -0
  83. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/categories/__init__.py +0 -0
  84. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/categories/categories.py +0 -0
  85. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/categories/fixed_cost_resources.py +0 -0
  86. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/categories/resources.py +0 -0
  87. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/limits/__init__.py +0 -0
  88. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/limits/tags.py +0 -0
  89. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/requests/__init__.py +0 -0
  90. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/requests/request_id/__init__.py +0 -0
  91. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/requests/request_id/properties.py +0 -0
  92. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/requests/request_id/request_id.py +0 -0
  93. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/requests/request_id/result.py +0 -0
  94. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/requests/requests.py +0 -0
  95. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/requests/response_id/__init__.py +0 -0
  96. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/requests/response_id/properties.py +0 -0
  97. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/requests/response_id/response_id.py +0 -0
  98. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/requests/response_id/result.py +0 -0
  99. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/use_cases/__init__.py +0 -0
  100. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/use_cases/definitions/__init__.py +0 -0
  101. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/use_cases/definitions/definitions.py +0 -0
  102. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/use_cases/definitions/limit_config.py +0 -0
  103. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/use_cases/definitions/version.py +0 -0
  104. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/bulk_ingest_response.py +0 -0
  105. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/categories/__init__.py +0 -0
  106. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/categories/fixed_cost_resource_create_params.py +0 -0
  107. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/categories/resource_create_params.py +0 -0
  108. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/categories/resource_list_params.py +0 -0
  109. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/category_delete_resource_response.py +0 -0
  110. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/category_delete_response.py +0 -0
  111. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/category_list_params.py +0 -0
  112. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/category_list_resources_params.py +0 -0
  113. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/category_response.py +0 -0
  114. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/cost_data.py +0 -0
  115. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/default_response.py +0 -0
  116. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/ingest_bulk_params.py +0 -0
  117. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/ingest_response.py +0 -0
  118. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limit_history_response.py +0 -0
  119. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limit_list_params.py +0 -0
  120. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limit_list_response.py +0 -0
  121. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limit_reset_params.py +0 -0
  122. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limit_response.py +0 -0
  123. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limit_update_params.py +0 -0
  124. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limits/__init__.py +0 -0
  125. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limits/limit_tags.py +0 -0
  126. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limits/tag_create_params.py +0 -0
  127. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limits/tag_create_response.py +0 -0
  128. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limits/tag_delete_response.py +0 -0
  129. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limits/tag_list_response.py +0 -0
  130. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limits/tag_remove_params.py +0 -0
  131. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limits/tag_remove_response.py +0 -0
  132. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limits/tag_update_params.py +0 -0
  133. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limits/tag_update_response.py +0 -0
  134. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/pay_i_common_models_api_router_header_info_param.py +0 -0
  135. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/request_result.py +0 -0
  136. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/requests/__init__.py +0 -0
  137. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/requests/request_id/__init__.py +0 -0
  138. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/requests/request_id/property_update_params.py +0 -0
  139. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/requests/response_id/__init__.py +0 -0
  140. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/requests/response_id/property_update_params.py +0 -0
  141. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/requests_data.py +0 -0
  142. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared/__init__.py +0 -0
  143. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared/evaluation_response.py +0 -0
  144. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared/ingest_units.py +0 -0
  145. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared/pay_i_common_models_budget_management_cost_details_base.py +0 -0
  146. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared/pay_i_common_models_budget_management_create_limit_base.py +0 -0
  147. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared/properties_response.py +0 -0
  148. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared/xproxy_error.py +0 -0
  149. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared_params/__init__.py +0 -0
  150. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared_params/ingest_units.py +0 -0
  151. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared_params/pay_i_common_models_budget_management_create_limit_base.py +0 -0
  152. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/total_cost_data.py +0 -0
  153. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definition_create_params.py +0 -0
  154. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definition_list_params.py +0 -0
  155. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definition_update_params.py +0 -0
  156. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definitions/__init__.py +0 -0
  157. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definitions/kpi_create_response.py +0 -0
  158. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definitions/kpi_delete_response.py +0 -0
  159. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definitions/kpi_list_params.py +0 -0
  160. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definitions/kpi_list_response.py +0 -0
  161. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definitions/kpi_retrieve_response.py +0 -0
  162. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definitions/kpi_update_params.py +0 -0
  163. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definitions/kpi_update_response.py +0 -0
  164. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definitions/limit_config_create_params.py +0 -0
  165. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/kpi_list_params.py +0 -0
  166. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/kpi_list_response.py +0 -0
  167. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/property_update_params.py +0 -0
  168. {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/use_case_definition.py +0 -0
  169. {payi-0.1.0a106 → payi-0.1.0a108}/tests/__init__.py +0 -0
  170. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/__init__.py +0 -0
  171. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/categories/__init__.py +0 -0
  172. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/categories/test_fixed_cost_resources.py +0 -0
  173. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/categories/test_resources.py +0 -0
  174. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/limits/__init__.py +0 -0
  175. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/limits/test_tags.py +0 -0
  176. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/requests/__init__.py +0 -0
  177. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/requests/request_id/__init__.py +0 -0
  178. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/requests/request_id/test_properties.py +0 -0
  179. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/requests/request_id/test_result.py +0 -0
  180. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/requests/response_id/__init__.py +0 -0
  181. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/requests/response_id/test_properties.py +0 -0
  182. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/requests/response_id/test_result.py +0 -0
  183. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/test_categories.py +0 -0
  184. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/test_limits.py +0 -0
  185. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/use_cases/__init__.py +0 -0
  186. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/use_cases/definitions/__init__.py +0 -0
  187. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/use_cases/definitions/test_limit_config.py +0 -0
  188. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/use_cases/definitions/test_version.py +0 -0
  189. {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/use_cases/test_definitions.py +0 -0
  190. {payi-0.1.0a106 → payi-0.1.0a108}/tests/conftest.py +0 -0
  191. {payi-0.1.0a106 → payi-0.1.0a108}/tests/sample_file.txt +0 -0
  192. {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_client.py +0 -0
  193. {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_deepcopy.py +0 -0
  194. {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_extract_files.py +0 -0
  195. {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_files.py +0 -0
  196. {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_models.py +0 -0
  197. {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_qs.py +0 -0
  198. {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_required_args.py +0 -0
  199. {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_response.py +0 -0
  200. {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_streaming.py +0 -0
  201. {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_transform.py +0 -0
  202. {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_utils/test_proxy.py +0 -0
  203. {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_utils/test_typing.py +0 -0
  204. {payi-0.1.0a106 → payi-0.1.0a108}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.1.0-alpha.108"
3
+ }
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.108 (2025-08-05)
4
+
5
+ Full Changelog: [v0.1.0-alpha.107...v0.1.0-alpha.108](https://github.com/Pay-i/pay-i-python/compare/v0.1.0-alpha.107...v0.1.0-alpha.108)
6
+
7
+ ### Features
8
+
9
+ * account_name ([#352](https://github.com/Pay-i/pay-i-python/issues/352)) ([719e871](https://github.com/Pay-i/pay-i-python/commit/719e871927187e2bce511d637144fd99a59b7234))
10
+
11
+ ## 0.1.0-alpha.107 (2025-07-31)
12
+
13
+ Full Changelog: [v0.1.0-alpha.106...v0.1.0-alpha.107](https://github.com/Pay-i/pay-i-python/compare/v0.1.0-alpha.106...v0.1.0-alpha.107)
14
+
15
+ ### Features
16
+
17
+ * **api:** manual updates ([d348443](https://github.com/Pay-i/pay-i-python/commit/d3484438517ab70577dea7d77abfe9864a5678aa))
18
+ * **client:** support file upload requests ([5019812](https://github.com/Pay-i/pay-i-python/commit/501981286bb2996403bcf0415542325d7efb8d2f))
19
+
3
20
  ## 0.1.0-alpha.106 (2025-07-30)
4
21
 
5
22
  Full Changelog: [v0.1.0-alpha.105...v0.1.0-alpha.106](https://github.com/Pay-i/pay-i-python/compare/v0.1.0-alpha.105...v0.1.0-alpha.106)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: payi
3
- Version: 0.1.0a106
3
+ Version: 0.1.0a108
4
4
  Summary: The official Python library for the payi API
5
5
  Project-URL: Homepage, https://github.com/Pay-i/pay-i-python
6
6
  Project-URL: Repository, https://github.com/Pay-i/pay-i-python
@@ -119,14 +119,14 @@ Methods:
119
119
  Types:
120
120
 
121
121
  ```python
122
- from payi.types import UseCaseCreateResponse, UseCaseRetrieveResponse, UseCaseDeleteResponse
122
+ from payi.types import UseCaseInstanceResponse
123
123
  ```
124
124
 
125
125
  Methods:
126
126
 
127
- - <code title="post /api/v1/use_cases/instances/{use_case_name}">client.use_cases.<a href="./src/payi/resources/use_cases/use_cases.py">create</a>(use_case_name) -> <a href="./src/payi/types/use_case_create_response.py">UseCaseCreateResponse</a></code>
128
- - <code title="get /api/v1/use_cases/instances/{use_case_id}">client.use_cases.<a href="./src/payi/resources/use_cases/use_cases.py">retrieve</a>(use_case_id) -> <a href="./src/payi/types/use_case_retrieve_response.py">UseCaseRetrieveResponse</a></code>
129
- - <code title="delete /api/v1/use_cases/instances/{use_case_id}">client.use_cases.<a href="./src/payi/resources/use_cases/use_cases.py">delete</a>(use_case_id) -> <a href="./src/payi/types/use_case_delete_response.py">UseCaseDeleteResponse</a></code>
127
+ - <code title="post /api/v1/use_cases/instances/{use_case_name}">client.use_cases.<a href="./src/payi/resources/use_cases/use_cases.py">create</a>(use_case_name) -> <a href="./src/payi/types/use_case_instance_response.py">UseCaseInstanceResponse</a></code>
128
+ - <code title="get /api/v1/use_cases/instances/{use_case_id}">client.use_cases.<a href="./src/payi/resources/use_cases/use_cases.py">retrieve</a>(use_case_id) -> <a href="./src/payi/types/use_case_instance_response.py">UseCaseInstanceResponse</a></code>
129
+ - <code title="delete /api/v1/use_cases/instances/{use_case_id}">client.use_cases.<a href="./src/payi/resources/use_cases/use_cases.py">delete</a>(use_case_id) -> <a href="./src/payi/types/use_case_instance_response.py">UseCaseInstanceResponse</a></code>
130
130
 
131
131
  ## Kpis
132
132
 
@@ -194,12 +194,6 @@ Methods:
194
194
 
195
195
  ## Properties
196
196
 
197
- Types:
198
-
199
- ```python
200
- from payi.types.use_cases import PropertyCreateResponse
201
- ```
202
-
203
197
  Methods:
204
198
 
205
199
  - <code title="put /api/v1/use_cases/instances/{use_case_id}/properties">client.use_cases.properties.<a href="./src/payi/resources/use_cases/properties.py">update</a>(use_case_id, \*\*<a href="src/payi/types/use_cases/property_update_params.py">params</a>) -> <a href="./src/payi/types/use_case_instance_response.py">UseCaseInstanceResponse</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "payi"
3
- version = "0.1.0-alpha.106"
3
+ version = "0.1.0-alpha.108"
4
4
  description = "The official Python library for the payi API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -64,6 +64,7 @@ httpx-aiohttp==0.1.8
64
64
  idna==3.4
65
65
  # via anyio
66
66
  # via httpx
67
+ # via requests
67
68
  # via yarl
68
69
  importlib-metadata==7.0.0
69
70
  iniconfig==2.0.0
@@ -51,15 +51,16 @@ httpx-aiohttp==0.1.8
51
51
  idna==3.4
52
52
  # via anyio
53
53
  # via httpx
54
+ # via requests
54
55
  # via yarl
55
56
  multidict==6.4.4
56
57
  # via aiohttp
57
58
  # via yarl
59
+ nest-asyncio==1.6.0
60
+ # via payi
58
61
  propcache==0.3.1
59
62
  # via aiohttp
60
63
  # via yarl
61
- nest-asyncio==1.6.0
62
- # via payi
63
64
  pydantic==2.10.3
64
65
  # via payi
65
66
  pydantic-core==2.27.1
@@ -532,7 +532,10 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
532
532
  is_body_allowed = options.method.lower() != "get"
533
533
 
534
534
  if is_body_allowed:
535
- kwargs["json"] = json_data if is_given(json_data) else None
535
+ if isinstance(json_data, bytes):
536
+ kwargs["content"] = json_data
537
+ else:
538
+ kwargs["json"] = json_data if is_given(json_data) else None
536
539
  kwargs["files"] = files
537
540
  else:
538
541
  headers.pop("Content-Type", None)
@@ -69,12 +69,12 @@ def _transform_file(file: FileTypes) -> HttpxFileTypes:
69
69
  return file
70
70
 
71
71
  if is_tuple_t(file):
72
- return (file[0], _read_file_content(file[1]), *file[2:])
72
+ return (file[0], read_file_content(file[1]), *file[2:])
73
73
 
74
74
  raise TypeError(f"Expected file types input to be a FileContent type or to be a tuple")
75
75
 
76
76
 
77
- def _read_file_content(file: FileContent) -> HttpxFileContent:
77
+ def read_file_content(file: FileContent) -> HttpxFileContent:
78
78
  if isinstance(file, os.PathLike):
79
79
  return pathlib.Path(file).read_bytes()
80
80
  return file
@@ -111,12 +111,12 @@ async def _async_transform_file(file: FileTypes) -> HttpxFileTypes:
111
111
  return file
112
112
 
113
113
  if is_tuple_t(file):
114
- return (file[0], await _async_read_file_content(file[1]), *file[2:])
114
+ return (file[0], await async_read_file_content(file[1]), *file[2:])
115
115
 
116
116
  raise TypeError(f"Expected file types input to be a FileContent type or to be a tuple")
117
117
 
118
118
 
119
- async def _async_read_file_content(file: FileContent) -> HttpxFileContent:
119
+ async def async_read_file_content(file: FileContent) -> HttpxFileContent:
120
120
  if isinstance(file, os.PathLike):
121
121
  return await anyio.Path(file).read_bytes()
122
122
 
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "payi"
4
- __version__ = "0.1.0-alpha.106" # x-release-please-version
4
+ __version__ = "0.1.0-alpha.108" # x-release-please-version
@@ -11,6 +11,7 @@ class PayiHeaderNames:
11
11
  use_case_version:str = "xProxy-UseCase-Version"
12
12
  use_case_step:str = "xProxy-UseCase-Step"
13
13
  user_id:str = "xProxy-User-ID"
14
+ account_name:str = "xProxy-Account-Name"
14
15
  price_as_category:str = "xProxy-PriceAs-Category"
15
16
  price_as_resource:str = "xProxy-PriceAs-Resource"
16
17
  provider_base_uri = "xProxy-Provider-BaseUri"
@@ -24,7 +25,7 @@ class PayiCategories:
24
25
  aws_bedrock:str = "system.aws.bedrock"
25
26
  google_vertex:str = "system.google.vertex"
26
27
 
27
- def create_limit_header_from_ids(limit_ids: List[str]) -> Dict[str, str]:
28
+ def create_limit_header_from_ids(*, limit_ids: List[str]) -> Dict[str, str]:
28
29
  if not isinstance(limit_ids, list): # type: ignore
29
30
  raise TypeError("limit_ids must be a list")
30
31
 
@@ -32,7 +33,7 @@ def create_limit_header_from_ids(limit_ids: List[str]) -> Dict[str, str]:
32
33
 
33
34
  return { PayiHeaderNames.limit_ids: ",".join(valid_ids) } if valid_ids else {}
34
35
 
35
- def create_request_header_from_tags(request_tags: List[str]) -> Dict[str, str]:
36
+ def create_request_header_from_tags(*, request_tags: List[str]) -> Dict[str, str]:
36
37
  if not isinstance(request_tags, list): # type: ignore
37
38
  raise TypeError("request_tags must be a list")
38
39
 
@@ -41,9 +42,11 @@ def create_request_header_from_tags(request_tags: List[str]) -> Dict[str, str]:
41
42
  return { PayiHeaderNames.request_tags: ",".join(valid_tags) } if valid_tags else {}
42
43
 
43
44
  def create_headers(
45
+ *,
44
46
  limit_ids: Union[List[str], None] = None,
45
47
  request_tags: Union[List[str], None] = None,
46
48
  user_id: Union[str, None] = None,
49
+ account_name: Union[str, None] = None,
47
50
  use_case_id: Union[str, None] = None,
48
51
  use_case_name: Union[str, None] = None,
49
52
  use_case_version: Union[int, None] = None,
@@ -55,11 +58,13 @@ def create_headers(
55
58
  headers: Dict[str, str] = {}
56
59
 
57
60
  if limit_ids:
58
- headers.update(create_limit_header_from_ids(limit_ids))
61
+ headers.update(create_limit_header_from_ids(limit_ids=limit_ids))
59
62
  if request_tags:
60
- headers.update(create_request_header_from_tags(request_tags))
63
+ headers.update(create_request_header_from_tags(request_tags=request_tags))
61
64
  if user_id:
62
65
  headers.update({ PayiHeaderNames.user_id: user_id})
66
+ if account_name:
67
+ headers.update({ PayiHeaderNames.account_name: account_name})
63
68
  if use_case_id:
64
69
  headers.update({ PayiHeaderNames.use_case_id: use_case_id})
65
70
  if use_case_name:
@@ -157,6 +157,7 @@ class PayiInstrumentConfig(TypedDict, total=False):
157
157
  use_case_version: Optional[int]
158
158
  use_case_properties: Optional["dict[str, str]"]
159
159
  user_id: Optional[str]
160
+ account_name: Optional[str]
160
161
  request_tags: Optional["list[str]"]
161
162
  request_properties: Optional["dict[str, str]"]
162
163
 
@@ -168,6 +169,7 @@ class PayiContext(TypedDict, total=False):
168
169
  use_case_properties: Optional["dict[str, str]"]
169
170
  limit_ids: Optional['list[str]']
170
171
  user_id: Optional[str]
172
+ account_name: Optional[str]
171
173
  request_tags: Optional["list[str]"]
172
174
  request_properties: Optional["dict[str, str]"]
173
175
  price_as_category: Optional[str]
@@ -184,6 +186,7 @@ class _Context(TypedDict, total=False):
184
186
  use_case_properties: Optional["dict[str, str]"]
185
187
  limit_ids: Optional['list[str]']
186
188
  user_id: Optional[str]
189
+ account_name: Optional[str]
187
190
  request_tags: Optional["list[str]"]
188
191
  request_properties: Optional["dict[str, str]"]
189
192
  price_as_category: Optional[str]
@@ -655,6 +658,7 @@ class _PayiInstrumentor:
655
658
  use_case_version: Optional[int]= None,
656
659
  use_case_step: Optional[str]= None,
657
660
  user_id: Optional[str]= None,
661
+ account_name: Optional[str]= None,
658
662
  request_tags: Optional["list[str]"] = None,
659
663
  request_properties: Optional["dict[str, str]"] = None,
660
664
  use_case_properties: Optional["dict[str, str]"] = None,
@@ -747,6 +751,16 @@ class _PayiInstrumentor:
747
751
  else:
748
752
  context["user_id"] = user_id
749
753
 
754
+ parent_account_name = parent_context.get("account_name", None)
755
+ if account_name is None:
756
+ # use the parent account_name if it exists
757
+ context["account_name"] = parent_account_name
758
+ elif len(account_name) == 0:
759
+ # caller passing an empty string explicitly blocks inheriting from the parent state
760
+ context["account_name"] = None
761
+ else:
762
+ context["account_name"] = account_name
763
+
750
764
  parent_request_tags = parent_context.get("request_tags", None)
751
765
  if request_tags is not None:
752
766
  if len(request_tags) == 0:
@@ -795,6 +809,7 @@ class _PayiInstrumentor:
795
809
  use_case_id: Optional[str],
796
810
  use_case_version: Optional[int],
797
811
  user_id: Optional[str],
812
+ account_name: Optional[str],
798
813
  request_tags: Optional["list[str]"] = None,
799
814
  request_properties: Optional["dict[str, str]"] = None,
800
815
  use_case_properties: Optional["dict[str, str]"] = None,
@@ -809,6 +824,7 @@ class _PayiInstrumentor:
809
824
  use_case_id=use_case_id,
810
825
  use_case_version=use_case_version,
811
826
  user_id=user_id,
827
+ account_name=account_name,
812
828
  request_tags=request_tags,
813
829
  request_properties=request_properties,
814
830
  use_case_properties=use_case_properties
@@ -824,6 +840,7 @@ class _PayiInstrumentor:
824
840
  use_case_id: Optional[str],
825
841
  use_case_version: Optional[int],
826
842
  user_id: Optional[str],
843
+ account_name: Optional[str],
827
844
  request_tags: Optional["list[str]"] = None,
828
845
  request_properties: Optional["dict[str, str]"] = None,
829
846
  use_case_properties: Optional["dict[str, str]"] = None,
@@ -838,6 +855,7 @@ class _PayiInstrumentor:
838
855
  use_case_id=use_case_id,
839
856
  use_case_version=use_case_version,
840
857
  user_id=user_id,
858
+ account_name=account_name,
841
859
  request_tags=request_tags,
842
860
  request_properties=request_properties,
843
861
  use_case_properties=use_case_properties)
@@ -879,6 +897,7 @@ class _PayiInstrumentor:
879
897
  use_case_step = ingest_extra_headers.pop(PayiHeaderNames.use_case_step, None)
880
898
 
881
899
  user_id = ingest_extra_headers.pop(PayiHeaderNames.user_id, None)
900
+ account_name = ingest_extra_headers.pop(PayiHeaderNames.account_name, None)
882
901
 
883
902
  if limit_ids:
884
903
  request._ingest["limit_ids"] = limit_ids.split(",")
@@ -894,6 +913,8 @@ class _PayiInstrumentor:
894
913
  request._ingest["use_case_step"] = use_case_step
895
914
  if user_id:
896
915
  request._ingest["user_id"] = user_id
916
+ if account_name:
917
+ request._ingest["account_name"] = account_name
897
918
 
898
919
  request_properties = context.get("request_properties", None)
899
920
  if request_properties:
@@ -1207,6 +1228,7 @@ class _PayiInstrumentor:
1207
1228
  context_use_case_step: Optional[str] = context.get("use_case_step")
1208
1229
 
1209
1230
  context_user_id: Optional[str] = context.get("user_id")
1231
+ context_account_name: Optional[str] = context.get("account_name")
1210
1232
  context_request_tags: Optional[list[str]] = context.get("request_tags")
1211
1233
 
1212
1234
  context_price_as_category: Optional[str] = context.get("price_as_category")
@@ -1239,6 +1261,17 @@ class _PayiInstrumentor:
1239
1261
  elif context_user_id:
1240
1262
  extra_headers[PayiHeaderNames.user_id] = context_user_id
1241
1263
 
1264
+ if PayiHeaderNames.account_name in extra_headers:
1265
+ headers_account_name = extra_headers.get(PayiHeaderNames.account_name, None)
1266
+ if headers_account_name is None or len(headers_account_name) == 0:
1267
+ # headers_account_name is empty, remove it from extra_headers
1268
+ extra_headers.pop(PayiHeaderNames.account_name, None)
1269
+ else:
1270
+ # leave the value in extra_headers
1271
+ ...
1272
+ elif context_account_name:
1273
+ extra_headers[PayiHeaderNames.account_name] = context_account_name
1274
+
1242
1275
  if PayiHeaderNames.use_case_name in extra_headers:
1243
1276
  headers_use_case_name = extra_headers.get(PayiHeaderNames.use_case_name, None)
1244
1277
  if headers_use_case_name is None or len(headers_use_case_name) == 0:
@@ -1711,6 +1744,7 @@ def track(
1711
1744
  use_case_id: Optional[str] = None,
1712
1745
  use_case_version: Optional[int] = None,
1713
1746
  user_id: Optional[str] = None,
1747
+ account_name: Optional[str] = None,
1714
1748
  request_tags: Optional["list[str]"] = None,
1715
1749
  request_properties: Optional["dict[str, str]"] = None,
1716
1750
  use_case_properties: Optional["dict[str, str]"] = None,
@@ -1735,6 +1769,7 @@ def track(
1735
1769
  use_case_id,
1736
1770
  use_case_version,
1737
1771
  user_id,
1772
+ account_name,
1738
1773
  request_tags,
1739
1774
  request_properties,
1740
1775
  use_case_properties,
@@ -1748,7 +1783,7 @@ def track(
1748
1783
  _g_logger.debug(f"track: no instrumentor!")
1749
1784
  return func(*args, **kwargs)
1750
1785
 
1751
- _instrumentor._logger.debug(f"track: call sync function (proxy={proxy}, limit_ids={limit_ids}, use_case_name={use_case_name}, use_case_id={use_case_id}, use_case_version={use_case_version}, user_id={user_id})")
1786
+ _instrumentor._logger.debug(f"track: call sync function (proxy={proxy}, limit_ids={limit_ids}, use_case_name={use_case_name}, use_case_id={use_case_id}, use_case_version={use_case_version}, user_id={user_id}, account_name={account_name})")
1752
1787
 
1753
1788
  return _instrumentor._call_func(
1754
1789
  func,
@@ -1758,6 +1793,7 @@ def track(
1758
1793
  use_case_id,
1759
1794
  use_case_version,
1760
1795
  user_id,
1796
+ account_name,
1761
1797
  request_tags,
1762
1798
  request_properties,
1763
1799
  use_case_properties,
@@ -1775,6 +1811,7 @@ def track_context(
1775
1811
  use_case_version: Optional[int] = None,
1776
1812
  use_case_step: Optional[str] = None,
1777
1813
  user_id: Optional[str] = None,
1814
+ account_name: Optional[str] = None,
1778
1815
  request_tags: Optional["list[str]"] = None,
1779
1816
  request_properties: Optional["dict[str, str]"] = None,
1780
1817
  use_case_properties: Optional["dict[str, str]"] = None,
@@ -1796,6 +1833,7 @@ def track_context(
1796
1833
  context["use_case_step"] = use_case_step
1797
1834
 
1798
1835
  context["user_id"] = user_id
1836
+ context["account_name"] = account_name
1799
1837
  context["request_tags"] = request_tags
1800
1838
 
1801
1839
  context["price_as_category"] = price_as_category
@@ -86,7 +86,6 @@ class IngestResource(SyncAPIResource):
86
86
  self,
87
87
  *,
88
88
  category: str,
89
- resource: str,
90
89
  units: Dict[str, IngestUnits],
91
90
  end_to_end_latency_ms: Optional[int] | NotGiven = NOT_GIVEN,
92
91
  event_timestamp: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
@@ -101,6 +100,7 @@ class IngestResource(SyncAPIResource):
101
100
  provider_response_id: Optional[str] | NotGiven = NOT_GIVEN,
102
101
  provider_response_json: Union[str, List[str], None] | NotGiven = NOT_GIVEN,
103
102
  provider_uri: Optional[str] | NotGiven = NOT_GIVEN,
103
+ resource: Optional[str] | NotGiven = NOT_GIVEN,
104
104
  time_to_first_completion_token_ms: Optional[int] | NotGiven = NOT_GIVEN,
105
105
  time_to_first_token_ms: Optional[int] | NotGiven = NOT_GIVEN,
106
106
  use_case_properties: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
@@ -233,7 +233,6 @@ class IngestResource(SyncAPIResource):
233
233
  body=maybe_transform(
234
234
  {
235
235
  "category": category,
236
- "resource": resource,
237
236
  "units": units,
238
237
  "end_to_end_latency_ms": end_to_end_latency_ms,
239
238
  "event_timestamp": event_timestamp,
@@ -247,6 +246,7 @@ class IngestResource(SyncAPIResource):
247
246
  "provider_response_id": provider_response_id,
248
247
  "provider_response_json": provider_response_json,
249
248
  "provider_uri": provider_uri,
249
+ "resource": resource,
250
250
  "time_to_first_completion_token_ms": time_to_first_completion_token_ms,
251
251
  "time_to_first_token_ms": time_to_first_token_ms,
252
252
  "use_case_properties": use_case_properties,
@@ -316,7 +316,6 @@ class AsyncIngestResource(AsyncAPIResource):
316
316
  self,
317
317
  *,
318
318
  category: str,
319
- resource: str,
320
319
  units: Dict[str, IngestUnits],
321
320
  end_to_end_latency_ms: Optional[int] | NotGiven = NOT_GIVEN,
322
321
  event_timestamp: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
@@ -331,6 +330,7 @@ class AsyncIngestResource(AsyncAPIResource):
331
330
  provider_response_id: Optional[str] | NotGiven = NOT_GIVEN,
332
331
  provider_response_json: Union[str, List[str], None] | NotGiven = NOT_GIVEN,
333
332
  provider_uri: Optional[str] | NotGiven = NOT_GIVEN,
333
+ resource: Optional[str] | NotGiven = NOT_GIVEN,
334
334
  time_to_first_completion_token_ms: Optional[int] | NotGiven = NOT_GIVEN,
335
335
  time_to_first_token_ms: Optional[int] | NotGiven = NOT_GIVEN,
336
336
  use_case_properties: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
@@ -461,7 +461,6 @@ class AsyncIngestResource(AsyncAPIResource):
461
461
  body=await async_maybe_transform(
462
462
  {
463
463
  "category": category,
464
- "resource": resource,
465
464
  "units": units,
466
465
  "end_to_end_latency_ms": end_to_end_latency_ms,
467
466
  "event_timestamp": event_timestamp,
@@ -475,6 +474,7 @@ class AsyncIngestResource(AsyncAPIResource):
475
474
  "provider_response_id": provider_response_id,
476
475
  "provider_response_json": provider_response_json,
477
476
  "provider_uri": provider_uri,
477
+ "resource": resource,
478
478
  "time_to_first_completion_token_ms": time_to_first_completion_token_ms,
479
479
  "time_to_first_token_ms": time_to_first_token_ms,
480
480
  "use_case_properties": use_case_properties,
@@ -66,8 +66,6 @@ class LimitsResource(SyncAPIResource):
66
66
  *,
67
67
  limit_name: str,
68
68
  max: float,
69
- billing_model_id: Optional[str] | NotGiven = NOT_GIVEN,
70
- limit_basis: Literal["base", "billed"] | NotGiven = NOT_GIVEN,
71
69
  limit_id: Optional[str] | NotGiven = NOT_GIVEN,
72
70
  limit_tags: Optional[List[str]] | NotGiven = NOT_GIVEN,
73
71
  limit_type: Literal["block", "allow"] | NotGiven = NOT_GIVEN,
@@ -97,8 +95,6 @@ class LimitsResource(SyncAPIResource):
97
95
  {
98
96
  "limit_name": limit_name,
99
97
  "max": max,
100
- "billing_model_id": billing_model_id,
101
- "limit_basis": limit_basis,
102
98
  "limit_id": limit_id,
103
99
  "limit_tags": limit_tags,
104
100
  "limit_type": limit_type,
@@ -337,8 +333,6 @@ class AsyncLimitsResource(AsyncAPIResource):
337
333
  *,
338
334
  limit_name: str,
339
335
  max: float,
340
- billing_model_id: Optional[str] | NotGiven = NOT_GIVEN,
341
- limit_basis: Literal["base", "billed"] | NotGiven = NOT_GIVEN,
342
336
  limit_id: Optional[str] | NotGiven = NOT_GIVEN,
343
337
  limit_tags: Optional[List[str]] | NotGiven = NOT_GIVEN,
344
338
  limit_type: Literal["block", "allow"] | NotGiven = NOT_GIVEN,
@@ -368,8 +362,6 @@ class AsyncLimitsResource(AsyncAPIResource):
368
362
  {
369
363
  "limit_name": limit_name,
370
364
  "max": max,
371
- "billing_model_id": billing_model_id,
372
- "limit_basis": limit_basis,
373
365
  "limit_id": limit_id,
374
366
  "limit_tags": limit_tags,
375
367
  "limit_type": limit_type,
@@ -54,9 +54,9 @@ class KpisResource(SyncAPIResource):
54
54
  use_case_name: str,
55
55
  *,
56
56
  description: str,
57
+ goal: float,
58
+ kpi_type: Literal["boolean", "number", "percentage", "likert5", "likert7", "likert10"],
57
59
  name: str,
58
- goal: float | NotGiven = NOT_GIVEN,
59
- kpi_type: Literal["boolean", "number", "percentage", "likert5", "likert7", "likert10"] | NotGiven = NOT_GIVEN,
60
60
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
61
61
  # The extra values given here take precedence over values defined on the client or passed to this method.
62
62
  extra_headers: Headers | None = None,
@@ -65,7 +65,7 @@ class KpisResource(SyncAPIResource):
65
65
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
66
66
  ) -> KpiCreateResponse:
67
67
  """
68
- Create a new Use Case KPI definition
68
+ Create a new KPI definition for a Use Case
69
69
 
70
70
  Args:
71
71
  extra_headers: Send extra headers
@@ -83,9 +83,9 @@ class KpisResource(SyncAPIResource):
83
83
  body=maybe_transform(
84
84
  {
85
85
  "description": description,
86
- "name": name,
87
86
  "goal": goal,
88
87
  "kpi_type": kpi_type,
88
+ "name": name,
89
89
  },
90
90
  kpi_create_params.KpiCreateParams,
91
91
  ),
@@ -146,7 +146,7 @@ class KpisResource(SyncAPIResource):
146
146
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
147
147
  ) -> KpiUpdateResponse:
148
148
  """
149
- Update a Use Case KPI definition
149
+ Update a KPI definition for a Use Case
150
150
 
151
151
  Args:
152
152
  extra_headers: Send extra headers
@@ -239,7 +239,7 @@ class KpisResource(SyncAPIResource):
239
239
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
240
240
  ) -> KpiDeleteResponse:
241
241
  """
242
- Delete a Use Case KPI definition
242
+ Delete a KPI definition for a Use Case
243
243
 
244
244
  Args:
245
245
  extra_headers: Send extra headers
@@ -288,9 +288,9 @@ class AsyncKpisResource(AsyncAPIResource):
288
288
  use_case_name: str,
289
289
  *,
290
290
  description: str,
291
+ goal: float,
292
+ kpi_type: Literal["boolean", "number", "percentage", "likert5", "likert7", "likert10"],
291
293
  name: str,
292
- goal: float | NotGiven = NOT_GIVEN,
293
- kpi_type: Literal["boolean", "number", "percentage", "likert5", "likert7", "likert10"] | NotGiven = NOT_GIVEN,
294
294
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
295
295
  # The extra values given here take precedence over values defined on the client or passed to this method.
296
296
  extra_headers: Headers | None = None,
@@ -299,7 +299,7 @@ class AsyncKpisResource(AsyncAPIResource):
299
299
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
300
300
  ) -> KpiCreateResponse:
301
301
  """
302
- Create a new Use Case KPI definition
302
+ Create a new KPI definition for a Use Case
303
303
 
304
304
  Args:
305
305
  extra_headers: Send extra headers
@@ -317,9 +317,9 @@ class AsyncKpisResource(AsyncAPIResource):
317
317
  body=await async_maybe_transform(
318
318
  {
319
319
  "description": description,
320
- "name": name,
321
320
  "goal": goal,
322
321
  "kpi_type": kpi_type,
322
+ "name": name,
323
323
  },
324
324
  kpi_create_params.KpiCreateParams,
325
325
  ),
@@ -380,7 +380,7 @@ class AsyncKpisResource(AsyncAPIResource):
380
380
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
381
381
  ) -> KpiUpdateResponse:
382
382
  """
383
- Update a Use Case KPI definition
383
+ Update a KPI definition for a Use Case
384
384
 
385
385
  Args:
386
386
  extra_headers: Send extra headers
@@ -473,7 +473,7 @@ class AsyncKpisResource(AsyncAPIResource):
473
473
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
474
474
  ) -> KpiDeleteResponse:
475
475
  """
476
- Delete a Use Case KPI definition
476
+ Delete a KPI definition for a Use Case
477
477
 
478
478
  Args:
479
479
  extra_headers: Send extra headers
@@ -2,6 +2,8 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from typing import Union
6
+
5
7
  import httpx
6
8
 
7
9
  from ..._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
@@ -47,7 +49,7 @@ class KpisResource(SyncAPIResource):
47
49
  kpi_name: str,
48
50
  *,
49
51
  use_case_id: str,
50
- score: float | NotGiven = NOT_GIVEN,
52
+ score: Union[bool, float, None] | NotGiven = NOT_GIVEN,
51
53
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
52
54
  # The extra values given here take precedence over values defined on the client or passed to this method.
53
55
  extra_headers: Headers | None = None,
@@ -157,7 +159,7 @@ class AsyncKpisResource(AsyncAPIResource):
157
159
  kpi_name: str,
158
160
  *,
159
161
  use_case_id: str,
160
- score: float | NotGiven = NOT_GIVEN,
162
+ score: Union[bool, float, None] | NotGiven = NOT_GIVEN,
161
163
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
162
164
  # The extra values given here take precedence over values defined on the client or passed to this method.
163
165
  extra_headers: Headers | None = None,
@@ -18,7 +18,7 @@ from ..._response import (
18
18
  )
19
19
  from ..._base_client import make_request_options
20
20
  from ...types.use_cases import property_update_params
21
- from ...types.use_cases.property_create_response import PropertyCreateResponse
21
+ from ...types.use_case_instance_response import UseCaseInstanceResponse
22
22
 
23
23
  __all__ = ["PropertiesResource", "AsyncPropertiesResource"]
24
24
 
@@ -54,7 +54,7 @@ class PropertiesResource(SyncAPIResource):
54
54
  extra_query: Query | None = None,
55
55
  extra_body: Body | None = None,
56
56
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
57
- ) -> PropertyCreateResponse:
57
+ ) -> UseCaseInstanceResponse:
58
58
  """
59
59
  Update a Use Case instance properties
60
60
 
@@ -75,7 +75,7 @@ class PropertiesResource(SyncAPIResource):
75
75
  options=make_request_options(
76
76
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
77
77
  ),
78
- cast_to=PropertyCreateResponse,
78
+ cast_to=UseCaseInstanceResponse,
79
79
  )
80
80
 
81
81
 
@@ -110,7 +110,7 @@ class AsyncPropertiesResource(AsyncAPIResource):
110
110
  extra_query: Query | None = None,
111
111
  extra_body: Body | None = None,
112
112
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
113
- ) -> PropertyCreateResponse:
113
+ ) -> UseCaseInstanceResponse:
114
114
  """
115
115
  Update a Use Case instance properties
116
116
 
@@ -131,7 +131,7 @@ class AsyncPropertiesResource(AsyncAPIResource):
131
131
  options=make_request_options(
132
132
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
133
133
  ),
134
- cast_to=PropertyCreateResponse,
134
+ cast_to=UseCaseInstanceResponse,
135
135
  )
136
136
 
137
137