payi 0.1.0a32__tar.gz → 0.1.0a34__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 (158) hide show
  1. payi-0.1.0a34/.release-please-manifest.json +3 -0
  2. {payi-0.1.0a32 → payi-0.1.0a34}/CHANGELOG.md +29 -0
  3. {payi-0.1.0a32 → payi-0.1.0a34}/LICENSE +1 -1
  4. {payi-0.1.0a32 → payi-0.1.0a34}/PKG-INFO +33 -22
  5. {payi-0.1.0a32 → payi-0.1.0a34}/README.md +28 -18
  6. payi-0.1.0a34/api.md +128 -0
  7. {payi-0.1.0a32 → payi-0.1.0a34}/pyproject.toml +2 -2
  8. {payi-0.1.0a32 → payi-0.1.0a34}/requirements-dev.lock +1 -1
  9. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_client.py +63 -68
  10. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_models.py +3 -0
  11. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_response.py +10 -10
  12. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_utils/__init__.py +1 -0
  13. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_utils/_typing.py +30 -1
  14. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_version.py +1 -1
  15. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/lib/helpers.py +8 -8
  16. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/resources/__init__.py +13 -13
  17. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/resources/billing_models.py +4 -4
  18. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/resources/experiences/properties.py +3 -3
  19. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/resources/ingest.py +47 -19
  20. {payi-0.1.0a32/src/payi/resources/budgets → payi-0.1.0a34/src/payi/resources/limits}/__init__.py +13 -13
  21. payi-0.1.0a32/src/payi/resources/budgets/budgets.py → payi-0.1.0a34/src/payi/resources/limits/limits.py +213 -196
  22. {payi-0.1.0a32/src/payi/resources/budgets → payi-0.1.0a34/src/payi/resources/limits}/tags.py +68 -68
  23. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/resources/requests/properties.py +3 -3
  24. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/__init__.py +8 -6
  25. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/billing_model.py +1 -1
  26. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/billing_model_create_params.py +1 -1
  27. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/billing_model_update_params.py +1 -1
  28. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/category_resource_response.py +4 -0
  29. {payi-0.1.0a32/src/payi/types/requests → payi-0.1.0a34/src/payi/types/experiences}/property_create_params.py +2 -2
  30. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/ingest_event_param.py +16 -2
  31. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/ingest_response.py +7 -7
  32. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/ingest_units_params.py +16 -2
  33. payi-0.1.0a32/src/payi/types/budget_create_params.py → payi-0.1.0a34/src/payi/types/limit_create_params.py +7 -9
  34. payi-0.1.0a34/src/payi/types/limit_history_response.py +34 -0
  35. payi-0.1.0a32/src/payi/types/budget_list_params.py → payi-0.1.0a34/src/payi/types/limit_list_params.py +3 -3
  36. payi-0.1.0a34/src/payi/types/limit_reset_params.py +16 -0
  37. payi-0.1.0a32/src/payi/types/budget_response.py → payi-0.1.0a34/src/payi/types/limit_response.py +11 -13
  38. payi-0.1.0a32/src/payi/types/budget_update_params.py → payi-0.1.0a34/src/payi/types/limit_update_params.py +3 -3
  39. {payi-0.1.0a32/src/payi/types/budgets → payi-0.1.0a34/src/payi/types/limits}/__init__.py +1 -1
  40. payi-0.1.0a32/src/payi/types/budgets/budget_tags.py → payi-0.1.0a34/src/payi/types/limits/limit_tags.py +2 -2
  41. {payi-0.1.0a32/src/payi/types/budgets → payi-0.1.0a34/src/payi/types/limits}/tag_create_params.py +1 -1
  42. {payi-0.1.0a32/src/payi/types/budgets → payi-0.1.0a34/src/payi/types/limits}/tag_create_response.py +2 -2
  43. {payi-0.1.0a32/src/payi/types/budgets → payi-0.1.0a34/src/payi/types/limits}/tag_delete_response.py +2 -2
  44. {payi-0.1.0a32/src/payi/types/budgets → payi-0.1.0a34/src/payi/types/limits}/tag_list_response.py +2 -2
  45. {payi-0.1.0a32/src/payi/types/budgets → payi-0.1.0a34/src/payi/types/limits}/tag_remove_params.py +1 -1
  46. {payi-0.1.0a32/src/payi/types/budgets → payi-0.1.0a34/src/payi/types/limits}/tag_remove_response.py +2 -2
  47. {payi-0.1.0a32/src/payi/types/budgets → payi-0.1.0a34/src/payi/types/limits}/tag_update_params.py +1 -1
  48. {payi-0.1.0a32/src/payi/types/budgets → payi-0.1.0a34/src/payi/types/limits}/tag_update_response.py +2 -2
  49. payi-0.1.0a32/src/payi/types/paged_budget_list.py → payi-0.1.0a34/src/payi/types/paged_limit_list.py +9 -11
  50. {payi-0.1.0a32/src/payi/types/experiences → payi-0.1.0a34/src/payi/types/requests}/property_create_params.py +2 -2
  51. payi-0.1.0a34/src/payi/types/shared/__init__.py +3 -0
  52. payi-0.1.0a34/src/payi/types/shared/evaluation_response.py +11 -0
  53. {payi-0.1.0a32/tests/api_resources/budgets → payi-0.1.0a34/tests/api_resources/limits}/test_tags.py +111 -111
  54. {payi-0.1.0a32 → payi-0.1.0a34}/tests/api_resources/test_billing_models.py +18 -18
  55. {payi-0.1.0a32 → payi-0.1.0a34}/tests/api_resources/test_ingest.py +16 -2
  56. payi-0.1.0a32/tests/api_resources/test_budgets.py → payi-0.1.0a34/tests/api_resources/test_limits.py +192 -177
  57. {payi-0.1.0a32 → payi-0.1.0a34}/tests/test_client.py +32 -32
  58. {payi-0.1.0a32 → payi-0.1.0a34}/tests/test_models.py +17 -1
  59. {payi-0.1.0a32 → payi-0.1.0a34}/tests/utils.py +4 -0
  60. payi-0.1.0a32/.release-please-manifest.json +0 -3
  61. payi-0.1.0a32/api.md +0 -190
  62. payi-0.1.0a32/src/payi/types/budget_history_response.py +0 -38
  63. {payi-0.1.0a32 → payi-0.1.0a34}/.gitignore +0 -0
  64. {payi-0.1.0a32 → payi-0.1.0a34}/CONTRIBUTING.md +0 -0
  65. {payi-0.1.0a32 → payi-0.1.0a34}/SECURITY.md +0 -0
  66. {payi-0.1.0a32 → payi-0.1.0a34}/bin/check-release-environment +0 -0
  67. {payi-0.1.0a32 → payi-0.1.0a34}/bin/publish-pypi +0 -0
  68. {payi-0.1.0a32 → payi-0.1.0a34}/examples/.keep +0 -0
  69. {payi-0.1.0a32 → payi-0.1.0a34}/mypy.ini +0 -0
  70. {payi-0.1.0a32 → payi-0.1.0a34}/noxfile.py +0 -0
  71. {payi-0.1.0a32 → payi-0.1.0a34}/release-please-config.json +0 -0
  72. {payi-0.1.0a32 → payi-0.1.0a34}/requirements.lock +0 -0
  73. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/__init__.py +0 -0
  74. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_base_client.py +0 -0
  75. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_compat.py +0 -0
  76. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_constants.py +0 -0
  77. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_exceptions.py +0 -0
  78. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_files.py +0 -0
  79. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_qs.py +0 -0
  80. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_resource.py +0 -0
  81. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_streaming.py +0 -0
  82. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_types.py +0 -0
  83. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_utils/_logs.py +0 -0
  84. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_utils/_proxy.py +0 -0
  85. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_utils/_reflection.py +0 -0
  86. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_utils/_streams.py +0 -0
  87. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_utils/_sync.py +0 -0
  88. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_utils/_transform.py +0 -0
  89. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/_utils/_utils.py +0 -0
  90. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/lib/.keep +0 -0
  91. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/py.typed +0 -0
  92. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/resources/categories/__init__.py +0 -0
  93. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/resources/categories/categories.py +0 -0
  94. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/resources/categories/resources.py +0 -0
  95. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/resources/experiences/__init__.py +0 -0
  96. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/resources/experiences/csat.py +0 -0
  97. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/resources/experiences/experiences.py +0 -0
  98. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/resources/experiences/types.py +0 -0
  99. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/resources/price_modifiers.py +0 -0
  100. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/resources/requests/__init__.py +0 -0
  101. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/resources/requests/requests.py +0 -0
  102. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/billing_model_list_response.py +0 -0
  103. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/bulk_ingest_response.py +0 -0
  104. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/categories/__init__.py +0 -0
  105. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/categories/resource_create_params.py +0 -0
  106. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/categories/resource_list_response.py +0 -0
  107. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/category_delete_resource_response.py +0 -0
  108. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/category_delete_response.py +0 -0
  109. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/category_list_resources_response.py +0 -0
  110. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/category_list_response.py +0 -0
  111. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/category_response.py +0 -0
  112. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/cost_data.py +0 -0
  113. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/cost_details.py +0 -0
  114. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/default_response.py +0 -0
  115. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/experience_instance_response.py +0 -0
  116. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/experiences/__init__.py +0 -0
  117. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/experiences/csat_create_params.py +0 -0
  118. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/experiences/csat_response.py +0 -0
  119. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/experiences/experience_type.py +0 -0
  120. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/experiences/properties_response.py +0 -0
  121. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/experiences/type_create_params.py +0 -0
  122. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/experiences/type_list_params.py +0 -0
  123. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/experiences/type_list_response.py +0 -0
  124. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/experiences/type_update_params.py +0 -0
  125. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/ingest_bulk_params.py +0 -0
  126. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/price_modifier.py +0 -0
  127. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/price_modifier_create_params.py +0 -0
  128. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/price_modifier_retrieve_response.py +0 -0
  129. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/price_modifier_update_params.py +0 -0
  130. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/requests/__init__.py +0 -0
  131. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/requests_data.py +0 -0
  132. {payi-0.1.0a32 → payi-0.1.0a34}/src/payi/types/total_cost_data.py +0 -0
  133. {payi-0.1.0a32 → payi-0.1.0a34}/tests/__init__.py +0 -0
  134. {payi-0.1.0a32 → payi-0.1.0a34}/tests/api_resources/__init__.py +0 -0
  135. {payi-0.1.0a32/tests/api_resources/budgets → payi-0.1.0a34/tests/api_resources/categories}/__init__.py +0 -0
  136. {payi-0.1.0a32 → payi-0.1.0a34}/tests/api_resources/categories/test_resources.py +0 -0
  137. {payi-0.1.0a32/tests/api_resources/categories → payi-0.1.0a34/tests/api_resources/experiences}/__init__.py +0 -0
  138. {payi-0.1.0a32 → payi-0.1.0a34}/tests/api_resources/experiences/test_csat.py +0 -0
  139. {payi-0.1.0a32 → payi-0.1.0a34}/tests/api_resources/experiences/test_properties.py +0 -0
  140. {payi-0.1.0a32 → payi-0.1.0a34}/tests/api_resources/experiences/test_types.py +0 -0
  141. {payi-0.1.0a32/tests/api_resources/experiences → payi-0.1.0a34/tests/api_resources/limits}/__init__.py +0 -0
  142. {payi-0.1.0a32 → payi-0.1.0a34}/tests/api_resources/requests/__init__.py +0 -0
  143. {payi-0.1.0a32 → payi-0.1.0a34}/tests/api_resources/requests/test_properties.py +0 -0
  144. {payi-0.1.0a32 → payi-0.1.0a34}/tests/api_resources/test_categories.py +0 -0
  145. {payi-0.1.0a32 → payi-0.1.0a34}/tests/api_resources/test_experiences.py +0 -0
  146. {payi-0.1.0a32 → payi-0.1.0a34}/tests/api_resources/test_price_modifiers.py +0 -0
  147. {payi-0.1.0a32 → payi-0.1.0a34}/tests/conftest.py +0 -0
  148. {payi-0.1.0a32 → payi-0.1.0a34}/tests/sample_file.txt +0 -0
  149. {payi-0.1.0a32 → payi-0.1.0a34}/tests/test_deepcopy.py +0 -0
  150. {payi-0.1.0a32 → payi-0.1.0a34}/tests/test_extract_files.py +0 -0
  151. {payi-0.1.0a32 → payi-0.1.0a34}/tests/test_files.py +0 -0
  152. {payi-0.1.0a32 → payi-0.1.0a34}/tests/test_qs.py +0 -0
  153. {payi-0.1.0a32 → payi-0.1.0a34}/tests/test_required_args.py +0 -0
  154. {payi-0.1.0a32 → payi-0.1.0a34}/tests/test_response.py +0 -0
  155. {payi-0.1.0a32 → payi-0.1.0a34}/tests/test_streaming.py +0 -0
  156. {payi-0.1.0a32 → payi-0.1.0a34}/tests/test_transform.py +0 -0
  157. {payi-0.1.0a32 → payi-0.1.0a34}/tests/test_utils/test_proxy.py +0 -0
  158. {payi-0.1.0a32 → payi-0.1.0a34}/tests/test_utils/test_typing.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.1.0-alpha.34"
3
+ }
@@ -1,5 +1,34 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.34 (2025-01-06)
4
+
5
+ Full Changelog: [v0.1.0-alpha.33...v0.1.0-alpha.34](https://github.com/Pay-i/pay-i-python/compare/v0.1.0-alpha.33...v0.1.0-alpha.34)
6
+
7
+ ### Features
8
+
9
+ * **api:** rename budgets to limits ([#166](https://github.com/Pay-i/pay-i-python/issues/166)) ([7b7bdf3](https://github.com/Pay-i/pay-i-python/commit/7b7bdf3e9deade234ddd46ec1ad8bb9255f4ab64))
10
+
11
+
12
+ ### Chores
13
+
14
+ * **internal:** codegen related update ([#164](https://github.com/Pay-i/pay-i-python/issues/164)) ([c8be7a0](https://github.com/Pay-i/pay-i-python/commit/c8be7a00beab6874fbdae426c52b63c509eba450))
15
+
16
+ ## 0.1.0-alpha.33 (2024-12-18)
17
+
18
+ Full Changelog: [v0.1.0-alpha.32...v0.1.0-alpha.33](https://github.com/Pay-i/pay-i-python/compare/v0.1.0-alpha.32...v0.1.0-alpha.33)
19
+
20
+ ### Chores
21
+
22
+ * **internal:** add support for TypeAliasType ([#159](https://github.com/Pay-i/pay-i-python/issues/159)) ([8ea8180](https://github.com/Pay-i/pay-i-python/commit/8ea81803464331a9d431871b3965716e7dd751cc))
23
+ * **internal:** bump pyright ([#157](https://github.com/Pay-i/pay-i-python/issues/157)) ([9e0676b](https://github.com/Pay-i/pay-i-python/commit/9e0676bcdb4f9c8518632a480650667b9aba27f7))
24
+ * **internal:** codegen related update ([#160](https://github.com/Pay-i/pay-i-python/issues/160)) ([5141606](https://github.com/Pay-i/pay-i-python/commit/5141606ed39b82cff8e7c70416a01adab04c0944))
25
+ * **internal:** fix some typos ([#162](https://github.com/Pay-i/pay-i-python/issues/162)) ([5ef33a3](https://github.com/Pay-i/pay-i-python/commit/5ef33a34129c147183ddc746373dd99721741b4c))
26
+
27
+
28
+ ### Documentation
29
+
30
+ * **readme:** example snippet for client context manager ([#161](https://github.com/Pay-i/pay-i-python/issues/161)) ([bcbbfa5](https://github.com/Pay-i/pay-i-python/commit/bcbbfa5ce1d75ab4d8cc9a7b2b2d85ae69a13277))
31
+
3
32
  ## 0.1.0-alpha.32 (2024-12-10)
4
33
 
5
34
  Full Changelog: [v0.1.0-alpha.31...v0.1.0-alpha.32](https://github.com/Pay-i/pay-i-python/compare/v0.1.0-alpha.31...v0.1.0-alpha.32)
@@ -186,7 +186,7 @@
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright 2024 Payi
189
+ Copyright 2025 Payi
190
190
 
191
191
  Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
@@ -1,11 +1,12 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: payi
3
- Version: 0.1.0a32
3
+ Version: 0.1.0a34
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
7
7
  Author-email: Payi <support@payi.com>
8
- License: Apache-2.0
8
+ License-Expression: Apache-2.0
9
+ License-File: LICENSE
9
10
  Classifier: Intended Audience :: Developers
10
11
  Classifier: License :: OSI Approved :: Apache Software License
11
12
  Classifier: Operating System :: MacOS
@@ -26,7 +27,7 @@ Requires-Dist: distro<2,>=1.7.0
26
27
  Requires-Dist: httpx<1,>=0.23.0
27
28
  Requires-Dist: pydantic<3,>=1.9.0
28
29
  Requires-Dist: sniffio
29
- Requires-Dist: typing-extensions<5,>=4.7
30
+ Requires-Dist: typing-extensions<5,>=4.10
30
31
  Description-Content-Type: text/markdown
31
32
 
32
33
  # Payi Python API library
@@ -62,11 +63,11 @@ client = Payi(
62
63
  api_key=os.environ.get("PAYI_API_KEY"), # This is the default and can be omitted
63
64
  )
64
65
 
65
- budget_response = client.budgets.create(
66
- budget_name="x",
66
+ limit_response = client.limits.create(
67
+ limit_name="x",
67
68
  max=0,
68
69
  )
69
- print(budget_response.request_id)
70
+ print(limit_response.request_id)
70
71
  ```
71
72
 
72
73
  While you can provide an `api_key` keyword argument,
@@ -89,11 +90,11 @@ client = AsyncPayi(
89
90
 
90
91
 
91
92
  async def main() -> None:
92
- budget_response = await client.budgets.create(
93
- budget_name="x",
93
+ limit_response = await client.limits.create(
94
+ limit_name="x",
94
95
  max=0,
95
96
  )
96
- print(budget_response.request_id)
97
+ print(limit_response.request_id)
97
98
 
98
99
 
99
100
  asyncio.run(main())
@@ -126,8 +127,8 @@ from payi import Payi
126
127
  client = Payi()
127
128
 
128
129
  try:
129
- client.budgets.create(
130
- budget_name="x",
130
+ client.limits.create(
131
+ limit_name="x",
131
132
  max=0,
132
133
  )
133
134
  except payi.APIConnectionError as e:
@@ -172,8 +173,8 @@ client = Payi(
172
173
  )
173
174
 
174
175
  # Or, configure per-request:
175
- client.with_options(max_retries=5).budgets.create(
176
- budget_name="x",
176
+ client.with_options(max_retries=5).limits.create(
177
+ limit_name="x",
177
178
  max=0,
178
179
  )
179
180
  ```
@@ -198,8 +199,8 @@ client = Payi(
198
199
  )
199
200
 
200
201
  # Override per-request:
201
- client.with_options(timeout=5.0).budgets.create(
202
- budget_name="x",
202
+ client.with_options(timeout=5.0).limits.create(
203
+ limit_name="x",
203
204
  max=0,
204
205
  )
205
206
  ```
@@ -242,14 +243,14 @@ The "raw" Response object can be accessed by prefixing `.with_raw_response.` to
242
243
  from payi import Payi
243
244
 
244
245
  client = Payi()
245
- response = client.budgets.with_raw_response.create(
246
- budget_name="x",
246
+ response = client.limits.with_raw_response.create(
247
+ limit_name="x",
247
248
  max=0,
248
249
  )
249
250
  print(response.headers.get('X-My-Header'))
250
251
 
251
- budget = response.parse() # get the object that `budgets.create()` would have returned
252
- print(budget.request_id)
252
+ limit = response.parse() # get the object that `limits.create()` would have returned
253
+ print(limit.request_id)
253
254
  ```
254
255
 
255
256
  These methods return an [`APIResponse`](https://github.com/Pay-i/pay-i-python/tree/main/src/payi/_response.py) object.
@@ -263,8 +264,8 @@ The above interface eagerly reads the full response body when you make the reque
263
264
  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.
264
265
 
265
266
  ```python
266
- with client.budgets.with_streaming_response.create(
267
- budget_name="x",
267
+ with client.limits.with_streaming_response.create(
268
+ limit_name="x",
268
269
  max=0,
269
270
  ) as response:
270
271
  print(response.headers.get("X-My-Header"))
@@ -342,6 +343,16 @@ client.with_options(http_client=DefaultHttpxClient(...))
342
343
 
343
344
  By default the library closes underlying HTTP connections whenever the client is [garbage collected](https://docs.python.org/3/reference/datamodel.html#object.__del__). You can manually close the client using the `.close()` method if desired, or with a context manager that closes when exiting.
344
345
 
346
+ ```py
347
+ from payi import Payi
348
+
349
+ with Payi() as client:
350
+ # make requests here
351
+ ...
352
+
353
+ # HTTP client is now closed
354
+ ```
355
+
345
356
  ## Versioning
346
357
 
347
358
  This package generally follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions, though certain backwards-incompatible changes may be released as minor versions:
@@ -31,11 +31,11 @@ client = Payi(
31
31
  api_key=os.environ.get("PAYI_API_KEY"), # This is the default and can be omitted
32
32
  )
33
33
 
34
- budget_response = client.budgets.create(
35
- budget_name="x",
34
+ limit_response = client.limits.create(
35
+ limit_name="x",
36
36
  max=0,
37
37
  )
38
- print(budget_response.request_id)
38
+ print(limit_response.request_id)
39
39
  ```
40
40
 
41
41
  While you can provide an `api_key` keyword argument,
@@ -58,11 +58,11 @@ client = AsyncPayi(
58
58
 
59
59
 
60
60
  async def main() -> None:
61
- budget_response = await client.budgets.create(
62
- budget_name="x",
61
+ limit_response = await client.limits.create(
62
+ limit_name="x",
63
63
  max=0,
64
64
  )
65
- print(budget_response.request_id)
65
+ print(limit_response.request_id)
66
66
 
67
67
 
68
68
  asyncio.run(main())
@@ -95,8 +95,8 @@ from payi import Payi
95
95
  client = Payi()
96
96
 
97
97
  try:
98
- client.budgets.create(
99
- budget_name="x",
98
+ client.limits.create(
99
+ limit_name="x",
100
100
  max=0,
101
101
  )
102
102
  except payi.APIConnectionError as e:
@@ -141,8 +141,8 @@ client = Payi(
141
141
  )
142
142
 
143
143
  # Or, configure per-request:
144
- client.with_options(max_retries=5).budgets.create(
145
- budget_name="x",
144
+ client.with_options(max_retries=5).limits.create(
145
+ limit_name="x",
146
146
  max=0,
147
147
  )
148
148
  ```
@@ -167,8 +167,8 @@ client = Payi(
167
167
  )
168
168
 
169
169
  # Override per-request:
170
- client.with_options(timeout=5.0).budgets.create(
171
- budget_name="x",
170
+ client.with_options(timeout=5.0).limits.create(
171
+ limit_name="x",
172
172
  max=0,
173
173
  )
174
174
  ```
@@ -211,14 +211,14 @@ The "raw" Response object can be accessed by prefixing `.with_raw_response.` to
211
211
  from payi import Payi
212
212
 
213
213
  client = Payi()
214
- response = client.budgets.with_raw_response.create(
215
- budget_name="x",
214
+ response = client.limits.with_raw_response.create(
215
+ limit_name="x",
216
216
  max=0,
217
217
  )
218
218
  print(response.headers.get('X-My-Header'))
219
219
 
220
- budget = response.parse() # get the object that `budgets.create()` would have returned
221
- print(budget.request_id)
220
+ limit = response.parse() # get the object that `limits.create()` would have returned
221
+ print(limit.request_id)
222
222
  ```
223
223
 
224
224
  These methods return an [`APIResponse`](https://github.com/Pay-i/pay-i-python/tree/main/src/payi/_response.py) object.
@@ -232,8 +232,8 @@ The above interface eagerly reads the full response body when you make the reque
232
232
  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.
233
233
 
234
234
  ```python
235
- with client.budgets.with_streaming_response.create(
236
- budget_name="x",
235
+ with client.limits.with_streaming_response.create(
236
+ limit_name="x",
237
237
  max=0,
238
238
  ) as response:
239
239
  print(response.headers.get("X-My-Header"))
@@ -311,6 +311,16 @@ client.with_options(http_client=DefaultHttpxClient(...))
311
311
 
312
312
  By default the library closes underlying HTTP connections whenever the client is [garbage collected](https://docs.python.org/3/reference/datamodel.html#object.__del__). You can manually close the client using the `.close()` method if desired, or with a context manager that closes when exiting.
313
313
 
314
+ ```py
315
+ from payi import Payi
316
+
317
+ with Payi() as client:
318
+ # make requests here
319
+ ...
320
+
321
+ # HTTP client is now closed
322
+ ```
323
+
314
324
  ## Versioning
315
325
 
316
326
  This package generally follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions, though certain backwards-incompatible changes may be released as minor versions:
payi-0.1.0a34/api.md ADDED
@@ -0,0 +1,128 @@
1
+ # Limits
2
+
3
+ Types:
4
+
5
+ ```python
6
+ from payi.types import (
7
+ CostData,
8
+ CostDetails,
9
+ DefaultResponse,
10
+ LimitHistoryResponse,
11
+ LimitResponse,
12
+ PagedLimitList,
13
+ RequestsData,
14
+ TotalCostData,
15
+ )
16
+ ```
17
+
18
+ Methods:
19
+
20
+ - <code title="post /api/v1/limits">client.limits.<a href="./src/payi/resources/limits/limits.py">create</a>(\*\*<a href="src/payi/types/limit_create_params.py">params</a>) -> <a href="./src/payi/types/limit_response.py">LimitResponse</a></code>
21
+ - <code title="get /api/v1/limits/{limit_id}">client.limits.<a href="./src/payi/resources/limits/limits.py">retrieve</a>(limit_id) -> <a href="./src/payi/types/limit_response.py">LimitResponse</a></code>
22
+ - <code title="put /api/v1/limits/{limit_id}">client.limits.<a href="./src/payi/resources/limits/limits.py">update</a>(limit_id, \*\*<a href="src/payi/types/limit_update_params.py">params</a>) -> <a href="./src/payi/types/limit_response.py">LimitResponse</a></code>
23
+ - <code title="get /api/v1/limits">client.limits.<a href="./src/payi/resources/limits/limits.py">list</a>(\*\*<a href="src/payi/types/limit_list_params.py">params</a>) -> <a href="./src/payi/types/paged_limit_list.py">PagedLimitList</a></code>
24
+ - <code title="delete /api/v1/limits/{limit_id}">client.limits.<a href="./src/payi/resources/limits/limits.py">delete</a>(limit_id) -> <a href="./src/payi/types/default_response.py">DefaultResponse</a></code>
25
+ - <code title="post /api/v1/limits/{limit_id}/reset">client.limits.<a href="./src/payi/resources/limits/limits.py">reset</a>(limit_id, \*\*<a href="src/payi/types/limit_reset_params.py">params</a>) -> <a href="./src/payi/types/limit_history_response.py">LimitHistoryResponse</a></code>
26
+
27
+ ## Tags
28
+
29
+ Types:
30
+
31
+ ```python
32
+ from payi.types.limits import (
33
+ LimitTags,
34
+ TagCreateResponse,
35
+ TagUpdateResponse,
36
+ TagListResponse,
37
+ TagDeleteResponse,
38
+ TagRemoveResponse,
39
+ )
40
+ ```
41
+
42
+ Methods:
43
+
44
+ - <code title="post /api/v1/limits/{limit_id}/tags">client.limits.tags.<a href="./src/payi/resources/limits/tags.py">create</a>(limit_id, \*\*<a href="src/payi/types/limits/tag_create_params.py">params</a>) -> <a href="./src/payi/types/limits/tag_create_response.py">TagCreateResponse</a></code>
45
+ - <code title="put /api/v1/limits/{limit_id}/tags">client.limits.tags.<a href="./src/payi/resources/limits/tags.py">update</a>(limit_id, \*\*<a href="src/payi/types/limits/tag_update_params.py">params</a>) -> <a href="./src/payi/types/limits/tag_update_response.py">TagUpdateResponse</a></code>
46
+ - <code title="get /api/v1/limits/{limit_id}/tags">client.limits.tags.<a href="./src/payi/resources/limits/tags.py">list</a>(limit_id) -> <a href="./src/payi/types/limits/tag_list_response.py">TagListResponse</a></code>
47
+ - <code title="delete /api/v1/limits/{limit_id}/tags">client.limits.tags.<a href="./src/payi/resources/limits/tags.py">delete</a>(limit_id) -> <a href="./src/payi/types/limits/tag_delete_response.py">TagDeleteResponse</a></code>
48
+ - <code title="patch /api/v1/limits/{limit_id}/tags/remove">client.limits.tags.<a href="./src/payi/resources/limits/tags.py">remove</a>(limit_id, \*\*<a href="src/payi/types/limits/tag_remove_params.py">params</a>) -> <a href="./src/payi/types/limits/tag_remove_response.py">TagRemoveResponse</a></code>
49
+
50
+ # Ingest
51
+
52
+ Types:
53
+
54
+ ```python
55
+ from payi.types import BulkIngestResponse, IngestEvent, IngestResponse, IngestUnits
56
+ ```
57
+
58
+ Methods:
59
+
60
+ - <code title="post /api/v1/ingest/bulk">client.ingest.<a href="./src/payi/resources/ingest.py">bulk</a>(\*\*<a href="src/payi/types/ingest_bulk_params.py">params</a>) -> <a href="./src/payi/types/bulk_ingest_response.py">BulkIngestResponse</a></code>
61
+ - <code title="post /api/v1/ingest">client.ingest.<a href="./src/payi/resources/ingest.py">units</a>(\*\*<a href="src/payi/types/ingest_units_params.py">params</a>) -> <a href="./src/payi/types/ingest_response.py">IngestResponse</a></code>
62
+
63
+ # Categories
64
+
65
+ Types:
66
+
67
+ ```python
68
+ from payi.types import (
69
+ CategoryResourceResponse,
70
+ CategoryResponse,
71
+ CategoryListResponse,
72
+ CategoryDeleteResponse,
73
+ CategoryDeleteResourceResponse,
74
+ CategoryListResourcesResponse,
75
+ )
76
+ ```
77
+
78
+ Methods:
79
+
80
+ - <code title="get /api/v1/categories">client.categories.<a href="./src/payi/resources/categories/categories.py">list</a>() -> <a href="./src/payi/types/category_list_response.py">CategoryListResponse</a></code>
81
+ - <code title="delete /api/v1/categories/{category}">client.categories.<a href="./src/payi/resources/categories/categories.py">delete</a>(category) -> <a href="./src/payi/types/category_delete_response.py">CategoryDeleteResponse</a></code>
82
+ - <code title="delete /api/v1/categories/{category}/resources/{resource}">client.categories.<a href="./src/payi/resources/categories/categories.py">delete_resource</a>(resource, \*, category) -> <a href="./src/payi/types/category_delete_resource_response.py">CategoryDeleteResourceResponse</a></code>
83
+ - <code title="get /api/v1/categories/{category}/resources">client.categories.<a href="./src/payi/resources/categories/categories.py">list_resources</a>(category) -> <a href="./src/payi/types/category_list_resources_response.py">CategoryListResourcesResponse</a></code>
84
+
85
+ ## Resources
86
+
87
+ Types:
88
+
89
+ ```python
90
+ from payi.types.categories import ResourceListResponse
91
+ ```
92
+
93
+ Methods:
94
+
95
+ - <code title="post /api/v1/categories/{category}/resources/{resource}">client.categories.resources.<a href="./src/payi/resources/categories/resources.py">create</a>(resource, \*, category, \*\*<a href="src/payi/types/categories/resource_create_params.py">params</a>) -> <a href="./src/payi/types/category_resource_response.py">CategoryResourceResponse</a></code>
96
+ - <code title="get /api/v1/categories/{category}/resources/{resource}/{resource_id}">client.categories.resources.<a href="./src/payi/resources/categories/resources.py">retrieve</a>(resource_id, \*, category, resource) -> <a href="./src/payi/types/category_resource_response.py">CategoryResourceResponse</a></code>
97
+ - <code title="get /api/v1/categories/{category}/resources/{resource}">client.categories.resources.<a href="./src/payi/resources/categories/resources.py">list</a>(resource, \*, category) -> <a href="./src/payi/types/categories/resource_list_response.py">ResourceListResponse</a></code>
98
+ - <code title="delete /api/v1/categories/{category}/resources/{resource}/{resource_id}">client.categories.resources.<a href="./src/payi/resources/categories/resources.py">delete</a>(resource_id, \*, category, resource) -> <a href="./src/payi/types/category_resource_response.py">CategoryResourceResponse</a></code>
99
+
100
+ # Experiences
101
+
102
+ Types:
103
+
104
+ ```python
105
+ from payi.types import ExperienceInstanceResponse
106
+ ```
107
+
108
+ Methods:
109
+
110
+ - <code title="post /api/v1/experiences/instances/{experience_name}">client.experiences.<a href="./src/payi/resources/experiences/experiences.py">create</a>(experience_name) -> <a href="./src/payi/types/experience_instance_response.py">ExperienceInstanceResponse</a></code>
111
+ - <code title="get /api/v1/experiences/instances/{experience_id}">client.experiences.<a href="./src/payi/resources/experiences/experiences.py">retrieve</a>(experience_id) -> <a href="./src/payi/types/experience_instance_response.py">ExperienceInstanceResponse</a></code>
112
+ - <code title="delete /api/v1/experiences/instances/{experience_id}">client.experiences.<a href="./src/payi/resources/experiences/experiences.py">delete</a>(experience_id) -> <a href="./src/payi/types/experience_instance_response.py">ExperienceInstanceResponse</a></code>
113
+
114
+ ## Types
115
+
116
+ Types:
117
+
118
+ ```python
119
+ from payi.types.experiences import ExperienceType, TypeListResponse
120
+ ```
121
+
122
+ Methods:
123
+
124
+ - <code title="post /api/v1/experiences/types">client.experiences.types.<a href="./src/payi/resources/experiences/types.py">create</a>(\*\*<a href="src/payi/types/experiences/type_create_params.py">params</a>) -> <a href="./src/payi/types/experiences/experience_type.py">ExperienceType</a></code>
125
+ - <code title="get /api/v1/experiences/types/{experience_name}">client.experiences.types.<a href="./src/payi/resources/experiences/types.py">retrieve</a>(experience_name) -> <a href="./src/payi/types/experiences/experience_type.py">ExperienceType</a></code>
126
+ - <code title="patch /api/v1/experiences/types/{experience_name}">client.experiences.types.<a href="./src/payi/resources/experiences/types.py">update</a>(experience_name, \*\*<a href="src/payi/types/experiences/type_update_params.py">params</a>) -> <a href="./src/payi/types/experiences/experience_type.py">ExperienceType</a></code>
127
+ - <code title="get /api/v1/experiences/types">client.experiences.types.<a href="./src/payi/resources/experiences/types.py">list</a>(\*\*<a href="src/payi/types/experiences/type_list_params.py">params</a>) -> <a href="./src/payi/types/experiences/type_list_response.py">TypeListResponse</a></code>
128
+ - <code title="delete /api/v1/experiences/types/{experience_name}">client.experiences.types.<a href="./src/payi/resources/experiences/types.py">delete</a>(experience_name) -> <a href="./src/payi/types/experiences/experience_type.py">ExperienceType</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "payi"
3
- version = "0.1.0-alpha.32"
3
+ version = "0.1.0-alpha.34"
4
4
  description = "The official Python library for the payi API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -10,7 +10,7 @@ authors = [
10
10
  dependencies = [
11
11
  "httpx>=0.23.0, <1",
12
12
  "pydantic>=1.9.0, <3",
13
- "typing-extensions>=4.7, <5",
13
+ "typing-extensions>=4.10, <5",
14
14
  "anyio>=3.5.0, <5",
15
15
  "distro>=1.7.0, <2",
16
16
  "sniffio",
@@ -68,7 +68,7 @@ pydantic-core==2.27.1
68
68
  # via pydantic
69
69
  pygments==2.18.0
70
70
  # via rich
71
- pyright==1.1.389
71
+ pyright==1.1.390
72
72
  pytest==8.3.3
73
73
  # via pytest-asyncio
74
74
  pytest-asyncio==0.24.0
@@ -8,7 +8,7 @@ from typing_extensions import Self, override
8
8
 
9
9
  import httpx
10
10
 
11
- from . import resources, _exceptions
11
+ from . import _exceptions
12
12
  from ._qs import Querystring
13
13
  from ._types import (
14
14
  NOT_GIVEN,
@@ -24,6 +24,7 @@ from ._utils import (
24
24
  get_async_library,
25
25
  )
26
26
  from ._version import __version__
27
+ from .resources import ingest, billing_models, price_modifiers
27
28
  from ._streaming import Stream as Stream, AsyncStream as AsyncStream
28
29
  from ._exceptions import PayiError, APIStatusError
29
30
  from ._base_client import (
@@ -31,28 +32,22 @@ from ._base_client import (
31
32
  SyncAPIClient,
32
33
  AsyncAPIClient,
33
34
  )
35
+ from .resources.limits import limits
36
+ from .resources.requests import requests
37
+ from .resources.categories import categories
38
+ from .resources.experiences import experiences
34
39
 
35
- __all__ = [
36
- "Timeout",
37
- "Transport",
38
- "ProxiesTypes",
39
- "RequestOptions",
40
- "resources",
41
- "Payi",
42
- "AsyncPayi",
43
- "Client",
44
- "AsyncClient",
45
- ]
40
+ __all__ = ["Timeout", "Transport", "ProxiesTypes", "RequestOptions", "Payi", "AsyncPayi", "Client", "AsyncClient"]
46
41
 
47
42
 
48
43
  class Payi(SyncAPIClient):
49
- budgets: resources.BudgetsResource
50
- ingest: resources.IngestResource
51
- categories: resources.CategoriesResource
52
- experiences: resources.ExperiencesResource
53
- billing_models: resources.BillingModelsResource
54
- price_modifiers: resources.PriceModifiersResource
55
- requests: resources.RequestsResource
44
+ limits: limits.LimitsResource
45
+ ingest: ingest.IngestResource
46
+ categories: categories.CategoriesResource
47
+ experiences: experiences.ExperiencesResource
48
+ billing_models: billing_models.BillingModelsResource
49
+ price_modifiers: price_modifiers.PriceModifiersResource
50
+ requests: requests.RequestsResource
56
51
  with_raw_response: PayiWithRawResponse
57
52
  with_streaming_response: PayiWithStreamedResponse
58
53
 
@@ -110,13 +105,13 @@ class Payi(SyncAPIClient):
110
105
  _strict_response_validation=_strict_response_validation,
111
106
  )
112
107
 
113
- self.budgets = resources.BudgetsResource(self)
114
- self.ingest = resources.IngestResource(self)
115
- self.categories = resources.CategoriesResource(self)
116
- self.experiences = resources.ExperiencesResource(self)
117
- self.billing_models = resources.BillingModelsResource(self)
118
- self.price_modifiers = resources.PriceModifiersResource(self)
119
- self.requests = resources.RequestsResource(self)
108
+ self.limits = limits.LimitsResource(self)
109
+ self.ingest = ingest.IngestResource(self)
110
+ self.categories = categories.CategoriesResource(self)
111
+ self.experiences = experiences.ExperiencesResource(self)
112
+ self.billing_models = billing_models.BillingModelsResource(self)
113
+ self.price_modifiers = price_modifiers.PriceModifiersResource(self)
114
+ self.requests = requests.RequestsResource(self)
120
115
  self.with_raw_response = PayiWithRawResponse(self)
121
116
  self.with_streaming_response = PayiWithStreamedResponse(self)
122
117
 
@@ -226,13 +221,13 @@ class Payi(SyncAPIClient):
226
221
 
227
222
 
228
223
  class AsyncPayi(AsyncAPIClient):
229
- budgets: resources.AsyncBudgetsResource
230
- ingest: resources.AsyncIngestResource
231
- categories: resources.AsyncCategoriesResource
232
- experiences: resources.AsyncExperiencesResource
233
- billing_models: resources.AsyncBillingModelsResource
234
- price_modifiers: resources.AsyncPriceModifiersResource
235
- requests: resources.AsyncRequestsResource
224
+ limits: limits.AsyncLimitsResource
225
+ ingest: ingest.AsyncIngestResource
226
+ categories: categories.AsyncCategoriesResource
227
+ experiences: experiences.AsyncExperiencesResource
228
+ billing_models: billing_models.AsyncBillingModelsResource
229
+ price_modifiers: price_modifiers.AsyncPriceModifiersResource
230
+ requests: requests.AsyncRequestsResource
236
231
  with_raw_response: AsyncPayiWithRawResponse
237
232
  with_streaming_response: AsyncPayiWithStreamedResponse
238
233
 
@@ -290,13 +285,13 @@ class AsyncPayi(AsyncAPIClient):
290
285
  _strict_response_validation=_strict_response_validation,
291
286
  )
292
287
 
293
- self.budgets = resources.AsyncBudgetsResource(self)
294
- self.ingest = resources.AsyncIngestResource(self)
295
- self.categories = resources.AsyncCategoriesResource(self)
296
- self.experiences = resources.AsyncExperiencesResource(self)
297
- self.billing_models = resources.AsyncBillingModelsResource(self)
298
- self.price_modifiers = resources.AsyncPriceModifiersResource(self)
299
- self.requests = resources.AsyncRequestsResource(self)
288
+ self.limits = limits.AsyncLimitsResource(self)
289
+ self.ingest = ingest.AsyncIngestResource(self)
290
+ self.categories = categories.AsyncCategoriesResource(self)
291
+ self.experiences = experiences.AsyncExperiencesResource(self)
292
+ self.billing_models = billing_models.AsyncBillingModelsResource(self)
293
+ self.price_modifiers = price_modifiers.AsyncPriceModifiersResource(self)
294
+ self.requests = requests.AsyncRequestsResource(self)
300
295
  self.with_raw_response = AsyncPayiWithRawResponse(self)
301
296
  self.with_streaming_response = AsyncPayiWithStreamedResponse(self)
302
297
 
@@ -407,46 +402,46 @@ class AsyncPayi(AsyncAPIClient):
407
402
 
408
403
  class PayiWithRawResponse:
409
404
  def __init__(self, client: Payi) -> None:
410
- self.budgets = resources.BudgetsResourceWithRawResponse(client.budgets)
411
- self.ingest = resources.IngestResourceWithRawResponse(client.ingest)
412
- self.categories = resources.CategoriesResourceWithRawResponse(client.categories)
413
- self.experiences = resources.ExperiencesResourceWithRawResponse(client.experiences)
414
- self.billing_models = resources.BillingModelsResourceWithRawResponse(client.billing_models)
415
- self.price_modifiers = resources.PriceModifiersResourceWithRawResponse(client.price_modifiers)
416
- self.requests = resources.RequestsResourceWithRawResponse(client.requests)
405
+ self.limits = limits.LimitsResourceWithRawResponse(client.limits)
406
+ self.ingest = ingest.IngestResourceWithRawResponse(client.ingest)
407
+ self.categories = categories.CategoriesResourceWithRawResponse(client.categories)
408
+ self.experiences = experiences.ExperiencesResourceWithRawResponse(client.experiences)
409
+ self.billing_models = billing_models.BillingModelsResourceWithRawResponse(client.billing_models)
410
+ self.price_modifiers = price_modifiers.PriceModifiersResourceWithRawResponse(client.price_modifiers)
411
+ self.requests = requests.RequestsResourceWithRawResponse(client.requests)
417
412
 
418
413
 
419
414
  class AsyncPayiWithRawResponse:
420
415
  def __init__(self, client: AsyncPayi) -> None:
421
- self.budgets = resources.AsyncBudgetsResourceWithRawResponse(client.budgets)
422
- self.ingest = resources.AsyncIngestResourceWithRawResponse(client.ingest)
423
- self.categories = resources.AsyncCategoriesResourceWithRawResponse(client.categories)
424
- self.experiences = resources.AsyncExperiencesResourceWithRawResponse(client.experiences)
425
- self.billing_models = resources.AsyncBillingModelsResourceWithRawResponse(client.billing_models)
426
- self.price_modifiers = resources.AsyncPriceModifiersResourceWithRawResponse(client.price_modifiers)
427
- self.requests = resources.AsyncRequestsResourceWithRawResponse(client.requests)
416
+ self.limits = limits.AsyncLimitsResourceWithRawResponse(client.limits)
417
+ self.ingest = ingest.AsyncIngestResourceWithRawResponse(client.ingest)
418
+ self.categories = categories.AsyncCategoriesResourceWithRawResponse(client.categories)
419
+ self.experiences = experiences.AsyncExperiencesResourceWithRawResponse(client.experiences)
420
+ self.billing_models = billing_models.AsyncBillingModelsResourceWithRawResponse(client.billing_models)
421
+ self.price_modifiers = price_modifiers.AsyncPriceModifiersResourceWithRawResponse(client.price_modifiers)
422
+ self.requests = requests.AsyncRequestsResourceWithRawResponse(client.requests)
428
423
 
429
424
 
430
425
  class PayiWithStreamedResponse:
431
426
  def __init__(self, client: Payi) -> None:
432
- self.budgets = resources.BudgetsResourceWithStreamingResponse(client.budgets)
433
- self.ingest = resources.IngestResourceWithStreamingResponse(client.ingest)
434
- self.categories = resources.CategoriesResourceWithStreamingResponse(client.categories)
435
- self.experiences = resources.ExperiencesResourceWithStreamingResponse(client.experiences)
436
- self.billing_models = resources.BillingModelsResourceWithStreamingResponse(client.billing_models)
437
- self.price_modifiers = resources.PriceModifiersResourceWithStreamingResponse(client.price_modifiers)
438
- self.requests = resources.RequestsResourceWithStreamingResponse(client.requests)
427
+ self.limits = limits.LimitsResourceWithStreamingResponse(client.limits)
428
+ self.ingest = ingest.IngestResourceWithStreamingResponse(client.ingest)
429
+ self.categories = categories.CategoriesResourceWithStreamingResponse(client.categories)
430
+ self.experiences = experiences.ExperiencesResourceWithStreamingResponse(client.experiences)
431
+ self.billing_models = billing_models.BillingModelsResourceWithStreamingResponse(client.billing_models)
432
+ self.price_modifiers = price_modifiers.PriceModifiersResourceWithStreamingResponse(client.price_modifiers)
433
+ self.requests = requests.RequestsResourceWithStreamingResponse(client.requests)
439
434
 
440
435
 
441
436
  class AsyncPayiWithStreamedResponse:
442
437
  def __init__(self, client: AsyncPayi) -> None:
443
- self.budgets = resources.AsyncBudgetsResourceWithStreamingResponse(client.budgets)
444
- self.ingest = resources.AsyncIngestResourceWithStreamingResponse(client.ingest)
445
- self.categories = resources.AsyncCategoriesResourceWithStreamingResponse(client.categories)
446
- self.experiences = resources.AsyncExperiencesResourceWithStreamingResponse(client.experiences)
447
- self.billing_models = resources.AsyncBillingModelsResourceWithStreamingResponse(client.billing_models)
448
- self.price_modifiers = resources.AsyncPriceModifiersResourceWithStreamingResponse(client.price_modifiers)
449
- self.requests = resources.AsyncRequestsResourceWithStreamingResponse(client.requests)
438
+ self.limits = limits.AsyncLimitsResourceWithStreamingResponse(client.limits)
439
+ self.ingest = ingest.AsyncIngestResourceWithStreamingResponse(client.ingest)
440
+ self.categories = categories.AsyncCategoriesResourceWithStreamingResponse(client.categories)
441
+ self.experiences = experiences.AsyncExperiencesResourceWithStreamingResponse(client.experiences)
442
+ self.billing_models = billing_models.AsyncBillingModelsResourceWithStreamingResponse(client.billing_models)
443
+ self.price_modifiers = price_modifiers.AsyncPriceModifiersResourceWithStreamingResponse(client.price_modifiers)
444
+ self.requests = requests.AsyncRequestsResourceWithStreamingResponse(client.requests)
450
445
 
451
446
 
452
447
  Client = Payi