payi 0.1.0a100__tar.gz → 0.1.0a102__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 (191) hide show
  1. payi-0.1.0a102/.release-please-manifest.json +3 -0
  2. {payi-0.1.0a100 → payi-0.1.0a102}/CHANGELOG.md +16 -0
  3. {payi-0.1.0a100 → payi-0.1.0a102}/PKG-INFO +1 -1
  4. {payi-0.1.0a100 → payi-0.1.0a102}/pyproject.toml +1 -1
  5. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_models.py +1 -1
  6. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_version.py +1 -1
  7. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/lib/instrument.py +45 -32
  8. payi-0.1.0a100/.release-please-manifest.json +0 -3
  9. {payi-0.1.0a100 → payi-0.1.0a102}/.gitignore +0 -0
  10. {payi-0.1.0a100 → payi-0.1.0a102}/CONTRIBUTING.md +0 -0
  11. {payi-0.1.0a100 → payi-0.1.0a102}/LICENSE +0 -0
  12. {payi-0.1.0a100 → payi-0.1.0a102}/README.md +0 -0
  13. {payi-0.1.0a100 → payi-0.1.0a102}/SECURITY.md +0 -0
  14. {payi-0.1.0a100 → payi-0.1.0a102}/api.md +0 -0
  15. {payi-0.1.0a100 → payi-0.1.0a102}/bin/check-release-environment +0 -0
  16. {payi-0.1.0a100 → payi-0.1.0a102}/bin/publish-pypi +0 -0
  17. {payi-0.1.0a100 → payi-0.1.0a102}/examples/.keep +0 -0
  18. {payi-0.1.0a100 → payi-0.1.0a102}/mypy.ini +0 -0
  19. {payi-0.1.0a100 → payi-0.1.0a102}/noxfile.py +0 -0
  20. {payi-0.1.0a100 → payi-0.1.0a102}/release-please-config.json +0 -0
  21. {payi-0.1.0a100 → payi-0.1.0a102}/requirements-dev.lock +0 -0
  22. {payi-0.1.0a100 → payi-0.1.0a102}/requirements.lock +0 -0
  23. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/__init__.py +0 -0
  24. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_base_client.py +0 -0
  25. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_client.py +0 -0
  26. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_compat.py +0 -0
  27. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_constants.py +0 -0
  28. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_exceptions.py +0 -0
  29. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_files.py +0 -0
  30. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_qs.py +0 -0
  31. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_resource.py +0 -0
  32. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_response.py +0 -0
  33. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_streaming.py +0 -0
  34. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_types.py +0 -0
  35. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_utils/__init__.py +0 -0
  36. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_utils/_logs.py +0 -0
  37. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_utils/_proxy.py +0 -0
  38. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_utils/_reflection.py +0 -0
  39. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_utils/_resources_proxy.py +0 -0
  40. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_utils/_streams.py +0 -0
  41. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_utils/_sync.py +0 -0
  42. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_utils/_transform.py +0 -0
  43. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_utils/_typing.py +0 -0
  44. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/_utils/_utils.py +0 -0
  45. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/lib/.keep +0 -0
  46. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/lib/AnthropicInstrumentor.py +0 -0
  47. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/lib/BedrockInstrumentor.py +0 -0
  48. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/lib/GoogleGenAiInstrumentor.py +0 -0
  49. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/lib/OpenAIInstrumentor.py +0 -0
  50. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/lib/Stopwatch.py +0 -0
  51. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/lib/VertexInstrumentor.py +0 -0
  52. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/lib/VertexRequest.py +0 -0
  53. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/lib/helpers.py +0 -0
  54. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/lib/version_helper.py +0 -0
  55. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/pagination.py +0 -0
  56. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/py.typed +0 -0
  57. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/__init__.py +0 -0
  58. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/categories/__init__.py +0 -0
  59. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/categories/categories.py +0 -0
  60. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/categories/fixed_cost_resources.py +0 -0
  61. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/categories/resources.py +0 -0
  62. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/ingest.py +0 -0
  63. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/limits/__init__.py +0 -0
  64. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/limits/limits.py +0 -0
  65. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/limits/tags.py +0 -0
  66. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/requests/__init__.py +0 -0
  67. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/requests/properties.py +0 -0
  68. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/requests/requests.py +0 -0
  69. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/requests/result.py +0 -0
  70. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/use_cases/__init__.py +0 -0
  71. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/use_cases/definitions/__init__.py +0 -0
  72. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/use_cases/definitions/definitions.py +0 -0
  73. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/use_cases/definitions/kpis.py +0 -0
  74. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/use_cases/definitions/limit_config.py +0 -0
  75. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/use_cases/definitions/version.py +0 -0
  76. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/use_cases/kpis.py +0 -0
  77. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/use_cases/properties.py +0 -0
  78. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/resources/use_cases/use_cases.py +0 -0
  79. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/__init__.py +0 -0
  80. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/bulk_ingest_response.py +0 -0
  81. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/categories/__init__.py +0 -0
  82. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/categories/fixed_cost_resource_create_params.py +0 -0
  83. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/categories/resource_create_params.py +0 -0
  84. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/categories/resource_list_params.py +0 -0
  85. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/category_delete_resource_response.py +0 -0
  86. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/category_delete_response.py +0 -0
  87. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/category_list_params.py +0 -0
  88. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/category_list_resources_params.py +0 -0
  89. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/category_resource_response.py +0 -0
  90. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/category_response.py +0 -0
  91. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/cost_data.py +0 -0
  92. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/cost_details.py +0 -0
  93. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/default_response.py +0 -0
  94. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/ingest_bulk_params.py +0 -0
  95. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/ingest_event_param.py +0 -0
  96. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/ingest_response.py +0 -0
  97. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/ingest_units_params.py +0 -0
  98. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/limit_create_params.py +0 -0
  99. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/limit_history_response.py +0 -0
  100. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/limit_list_params.py +0 -0
  101. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/limit_list_response.py +0 -0
  102. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/limit_reset_params.py +0 -0
  103. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/limit_response.py +0 -0
  104. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/limit_update_params.py +0 -0
  105. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/limits/__init__.py +0 -0
  106. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/limits/limit_tags.py +0 -0
  107. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/limits/tag_create_params.py +0 -0
  108. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/limits/tag_create_response.py +0 -0
  109. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/limits/tag_delete_response.py +0 -0
  110. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/limits/tag_list_response.py +0 -0
  111. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/limits/tag_remove_params.py +0 -0
  112. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/limits/tag_remove_response.py +0 -0
  113. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/limits/tag_update_params.py +0 -0
  114. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/limits/tag_update_response.py +0 -0
  115. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/pay_i_common_models_api_router_header_info_param.py +0 -0
  116. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/requests/__init__.py +0 -0
  117. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/requests/property_create_params.py +0 -0
  118. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/requests/request_result.py +0 -0
  119. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/requests_data.py +0 -0
  120. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/shared/__init__.py +0 -0
  121. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/shared/evaluation_response.py +0 -0
  122. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/shared/ingest_units.py +0 -0
  123. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/shared/pay_i_common_models_budget_management_cost_details_base.py +0 -0
  124. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/shared/pay_i_common_models_budget_management_create_limit_base.py +0 -0
  125. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/shared/properties_response.py +0 -0
  126. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/shared/xproxy_error.py +0 -0
  127. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/shared/xproxy_result.py +0 -0
  128. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/shared_params/__init__.py +0 -0
  129. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/shared_params/ingest_units.py +0 -0
  130. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/shared_params/pay_i_common_models_budget_management_create_limit_base.py +0 -0
  131. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/total_cost_data.py +0 -0
  132. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_case_create_response.py +0 -0
  133. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_case_delete_response.py +0 -0
  134. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_case_retrieve_response.py +0 -0
  135. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_cases/__init__.py +0 -0
  136. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_cases/definition_create_params.py +0 -0
  137. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_cases/definition_list_params.py +0 -0
  138. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_cases/definition_update_params.py +0 -0
  139. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_cases/definitions/__init__.py +0 -0
  140. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_cases/definitions/kpi_create_params.py +0 -0
  141. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_cases/definitions/kpi_create_response.py +0 -0
  142. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_cases/definitions/kpi_delete_response.py +0 -0
  143. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_cases/definitions/kpi_list_params.py +0 -0
  144. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_cases/definitions/kpi_list_response.py +0 -0
  145. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_cases/definitions/kpi_retrieve_response.py +0 -0
  146. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_cases/definitions/kpi_update_params.py +0 -0
  147. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_cases/definitions/kpi_update_response.py +0 -0
  148. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_cases/definitions/limit_config_create_params.py +0 -0
  149. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_cases/kpi_list_params.py +0 -0
  150. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_cases/kpi_list_response.py +0 -0
  151. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_cases/kpi_update_params.py +0 -0
  152. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_cases/property_create_params.py +0 -0
  153. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_cases/property_create_response.py +0 -0
  154. {payi-0.1.0a100 → payi-0.1.0a102}/src/payi/types/use_cases/use_case_definition.py +0 -0
  155. {payi-0.1.0a100 → payi-0.1.0a102}/tests/__init__.py +0 -0
  156. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/__init__.py +0 -0
  157. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/categories/__init__.py +0 -0
  158. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/categories/test_fixed_cost_resources.py +0 -0
  159. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/categories/test_resources.py +0 -0
  160. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/limits/__init__.py +0 -0
  161. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/limits/test_tags.py +0 -0
  162. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/requests/__init__.py +0 -0
  163. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/requests/test_properties.py +0 -0
  164. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/requests/test_result.py +0 -0
  165. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/test_categories.py +0 -0
  166. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/test_ingest.py +0 -0
  167. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/test_limits.py +0 -0
  168. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/test_use_cases.py +0 -0
  169. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/use_cases/__init__.py +0 -0
  170. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/use_cases/definitions/__init__.py +0 -0
  171. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/use_cases/definitions/test_kpis.py +0 -0
  172. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/use_cases/definitions/test_limit_config.py +0 -0
  173. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/use_cases/definitions/test_version.py +0 -0
  174. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/use_cases/test_definitions.py +0 -0
  175. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/use_cases/test_kpis.py +0 -0
  176. {payi-0.1.0a100 → payi-0.1.0a102}/tests/api_resources/use_cases/test_properties.py +0 -0
  177. {payi-0.1.0a100 → payi-0.1.0a102}/tests/conftest.py +0 -0
  178. {payi-0.1.0a100 → payi-0.1.0a102}/tests/sample_file.txt +0 -0
  179. {payi-0.1.0a100 → payi-0.1.0a102}/tests/test_client.py +0 -0
  180. {payi-0.1.0a100 → payi-0.1.0a102}/tests/test_deepcopy.py +0 -0
  181. {payi-0.1.0a100 → payi-0.1.0a102}/tests/test_extract_files.py +0 -0
  182. {payi-0.1.0a100 → payi-0.1.0a102}/tests/test_files.py +0 -0
  183. {payi-0.1.0a100 → payi-0.1.0a102}/tests/test_models.py +0 -0
  184. {payi-0.1.0a100 → payi-0.1.0a102}/tests/test_qs.py +0 -0
  185. {payi-0.1.0a100 → payi-0.1.0a102}/tests/test_required_args.py +0 -0
  186. {payi-0.1.0a100 → payi-0.1.0a102}/tests/test_response.py +0 -0
  187. {payi-0.1.0a100 → payi-0.1.0a102}/tests/test_streaming.py +0 -0
  188. {payi-0.1.0a100 → payi-0.1.0a102}/tests/test_transform.py +0 -0
  189. {payi-0.1.0a100 → payi-0.1.0a102}/tests/test_utils/test_proxy.py +0 -0
  190. {payi-0.1.0a100 → payi-0.1.0a102}/tests/test_utils/test_typing.py +0 -0
  191. {payi-0.1.0a100 → payi-0.1.0a102}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.1.0-alpha.102"
3
+ }
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.102 (2025-07-22)
4
+
5
+ Full Changelog: [v0.1.0-alpha.101...v0.1.0-alpha.102](https://github.com/Pay-i/pay-i-python/compare/v0.1.0-alpha.101...v0.1.0-alpha.102)
6
+
7
+ ### Bug Fixes
8
+
9
+ * **parsing:** ignore empty metadata ([8599474](https://github.com/Pay-i/pay-i-python/commit/859947442835af355059aa132267284e465cee98))
10
+
11
+ ## 0.1.0-alpha.101 (2025-07-18)
12
+
13
+ Full Changelog: [v0.1.0-alpha.100...v0.1.0-alpha.101](https://github.com/Pay-i/pay-i-python/compare/v0.1.0-alpha.100...v0.1.0-alpha.101)
14
+
15
+ ### Bug Fixes
16
+
17
+ * properly merge use case state with parent context ([#344](https://github.com/Pay-i/pay-i-python/issues/344)) ([2a001f8](https://github.com/Pay-i/pay-i-python/commit/2a001f8c49a815c08494f08e1393e67728c6da48))
18
+
3
19
  ## 0.1.0-alpha.100 (2025-07-16)
4
20
 
5
21
  Full Changelog: [v0.1.0-alpha.99...v0.1.0-alpha.100](https://github.com/Pay-i/pay-i-python/compare/v0.1.0-alpha.99...v0.1.0-alpha.100)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: payi
3
- Version: 0.1.0a100
3
+ Version: 0.1.0a102
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "payi"
3
- version = "0.1.0-alpha.100"
3
+ version = "0.1.0-alpha.102"
4
4
  description = "The official Python library for the payi API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -439,7 +439,7 @@ def construct_type(*, value: object, type_: object, metadata: Optional[List[Any]
439
439
  type_ = type_.__value__ # type: ignore[unreachable]
440
440
 
441
441
  # unwrap `Annotated[T, ...]` -> `T`
442
- if metadata is not None:
442
+ if metadata is not None and len(metadata) > 0:
443
443
  meta: tuple[Any, ...] = tuple(metadata)
444
444
  elif is_annotated_type(type_):
445
445
  meta = get_args(type_)[1:]
@@ -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.100" # x-release-please-version
4
+ __version__ = "0.1.0-alpha.102" # x-release-please-version
@@ -673,29 +673,58 @@ class _PayiInstrumentor:
673
673
  parent_use_case_name = parent_context.get("use_case_name", None)
674
674
  parent_use_case_id = parent_context.get("use_case_id", None)
675
675
  parent_use_case_version = parent_context.get("use_case_version", None)
676
+ parent_use_case_step = parent_context.get("use_case_step", None)
677
+
678
+ assign_use_case_values = False
676
679
 
677
680
  if use_case_name is None:
678
- # If no use_case_name specified, use previous values
679
- context["use_case_name"] = parent_use_case_name
680
- context["use_case_id"] = parent_use_case_id
681
- context["use_case_version"] = parent_use_case_version
681
+ if parent_use_case_name:
682
+ # If no use_case_name specified, use previous values
683
+ context["use_case_name"] = parent_use_case_name
684
+ assign_use_case_values = True
682
685
  elif len(use_case_name) == 0:
683
686
  # Empty string explicitly blocks inheriting from the parent state
684
687
  context["use_case_name"] = None
685
688
  context["use_case_id"] = None
686
689
  context["use_case_version"] = None
687
690
  context["use_case_step"] = None
691
+ context["use_case_properties"] = None
688
692
  else:
689
693
  if use_case_name == parent_use_case_name:
690
694
  # Same use case name, use previous ID unless new one specified
691
695
  context["use_case_name"] = use_case_name
692
- context["use_case_id"] = use_case_id if use_case_id else parent_use_case_id
693
- context["use_case_version"] = use_case_version if use_case_version else parent_use_case_version
694
696
  else:
695
- # Different use case name, use specified ID or generate one
696
697
  context["use_case_name"] = use_case_name
697
- context["use_case_id"] = use_case_id if use_case_id else str(uuid.uuid4())
698
- context["use_case_version"] = use_case_version if use_case_version else None
698
+
699
+ # Different use case name, use specified ID or generate one.
700
+ # By assigning to a new value to parent_use_case_id we keep the assignment logic below simple and consistent with
701
+ # assign the caller's use_case_id if specified or the newly generated one.
702
+ # The use case id stored in the parent context is not mutated.
703
+ parent_use_case_id = str(uuid.uuid4())
704
+
705
+ assign_use_case_values = True
706
+
707
+ if assign_use_case_values:
708
+ context["use_case_id"] = use_case_id if use_case_id else parent_use_case_id
709
+ context["use_case_version"] = use_case_version if use_case_version else parent_use_case_version
710
+ context["use_case_step"] = use_case_step if use_case_step else parent_use_case_step
711
+
712
+ parent_use_case_properties = parent_context.get("use_case_properties", None)
713
+ if use_case_properties is not None:
714
+ if not use_case_properties:
715
+ # an empty dictionary explicitly blocks inheriting from the parent state
716
+ context["use_case_properties"] = None
717
+ else:
718
+ if parent_use_case_properties:
719
+ # merge dictionaries, child overrides parent keys
720
+ merged = parent_use_case_properties.copy()
721
+ merged.update(use_case_properties)
722
+ context["use_case_properties"] = merged
723
+ else:
724
+ context["use_case_properties"] = use_case_properties.copy()
725
+ elif parent_use_case_properties:
726
+ # use the parent use_case_properties if it exists
727
+ context["use_case_properties"] = parent_use_case_properties.copy()
699
728
 
700
729
  parent_limit_ids = parent_context.get("limit_ids", None)
701
730
  if limit_ids is None:
@@ -706,7 +735,7 @@ class _PayiInstrumentor:
706
735
  context["limit_ids"] = None
707
736
  else:
708
737
  # union of new and parent lists if the parent context contains limit ids
709
- context["limit_ids"] = list(set(limit_ids) | set(parent_limit_ids)) if parent_limit_ids else limit_ids
738
+ context["limit_ids"] = list(set(limit_ids) | set(parent_limit_ids)) if parent_limit_ids else limit_ids.copy()
710
739
 
711
740
  parent_user_id = parent_context.get("user_id", None)
712
741
  if user_id is None:
@@ -721,20 +750,22 @@ class _PayiInstrumentor:
721
750
  parent_request_tags = parent_context.get("request_tags", None)
722
751
  if request_tags is not None:
723
752
  if len(request_tags) == 0:
753
+ # caller passing an empty list explicitly blocks inheriting from the parent state
724
754
  context["request_tags"] = None
725
755
  else:
726
756
  if parent_request_tags:
727
757
  # union of new and parent lists if the parent context contains request tags
728
758
  context["request_tags"] = list(set(request_tags) | set(parent_request_tags))
729
759
  else:
730
- context["request_tags"] = request_tags
760
+ context["request_tags"] = request_tags.copy()
731
761
  elif parent_request_tags:
732
762
  # use the parent request_tags if it exists
733
- context["request_tags"] = parent_request_tags
763
+ context["request_tags"] = parent_request_tags.copy()
734
764
 
735
765
  parent_request_properties = parent_context.get("request_properties", None)
736
766
  if request_properties is not None:
737
767
  if not request_properties:
768
+ # an empty dictionary explicitly blocks inheriting from the parent state
738
769
  context["request_properties"] = None
739
770
  else:
740
771
  if parent_request_properties:
@@ -743,29 +774,11 @@ class _PayiInstrumentor:
743
774
  merged.update(request_properties)
744
775
  context["request_properties"] = merged
745
776
  else:
746
- context["request_properties"] = request_properties
777
+ context["request_properties"] = request_properties.copy()
747
778
  elif parent_request_properties:
748
779
  # use the parent request_properties if it exists
749
- context["request_properties"] = parent_request_properties
750
-
751
- parent_use_case_properties = parent_context.get("use_case_properties", None)
752
- if use_case_properties is not None:
753
- if not use_case_properties:
754
- context["use_case_properties"] = None
755
- else:
756
- if parent_use_case_properties:
757
- # merge dictionaries, child overrides parent keys
758
- merged = parent_use_case_properties.copy()
759
- merged.update(use_case_properties)
760
- context["use_case_properties"] = merged
761
- else:
762
- context["use_case_properties"] = use_case_properties
763
- elif parent_use_case_properties:
764
- # use the parent use_case_properties if it exists
765
- context["use_case_properties"] = parent_use_case_properties
780
+ context["request_properties"] = parent_request_properties.copy()
766
781
 
767
- if use_case_step and (context["use_case_name"] or context["use_case_id"]):
768
- context["use_case_step"] = use_case_step
769
782
  if price_as_category:
770
783
  context["price_as_category"] = price_as_category
771
784
  if price_as_resource:
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.1.0-alpha.100"
3
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes