payi 0.1.0a30__tar.gz → 0.1.0a32__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 (153) hide show
  1. payi-0.1.0a32/.release-please-manifest.json +3 -0
  2. {payi-0.1.0a30 → payi-0.1.0a32}/CHANGELOG.md +22 -0
  3. {payi-0.1.0a30 → payi-0.1.0a32}/PKG-INFO +5 -4
  4. {payi-0.1.0a30 → payi-0.1.0a32}/README.md +4 -3
  5. {payi-0.1.0a30 → payi-0.1.0a32}/api.md +27 -7
  6. {payi-0.1.0a30 → payi-0.1.0a32}/pyproject.toml +1 -1
  7. {payi-0.1.0a30 → payi-0.1.0a32}/requirements-dev.lock +2 -2
  8. {payi-0.1.0a30 → payi-0.1.0a32}/requirements.lock +2 -2
  9. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/__init__.py +2 -1
  10. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_client.py +8 -8
  11. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_types.py +2 -4
  12. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_version.py +1 -1
  13. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/resources/__init__.py +14 -14
  14. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/resources/billing_models.py +4 -4
  15. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/resources/experiences/__init__.py +28 -0
  16. {payi-0.1.0a30/src/payi/resources → payi-0.1.0a32/src/payi/resources/experiences}/csat.py +16 -16
  17. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/resources/experiences/experiences.py +77 -13
  18. payi-0.1.0a32/src/payi/resources/experiences/properties.py +174 -0
  19. payi-0.1.0a32/src/payi/resources/requests/__init__.py +33 -0
  20. payi-0.1.0a32/src/payi/resources/requests/properties.py +174 -0
  21. payi-0.1.0a32/src/payi/resources/requests/requests.py +102 -0
  22. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/__init__.py +1 -3
  23. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/billing_model.py +1 -1
  24. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/billing_model_create_params.py +1 -1
  25. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/billing_model_update_params.py +1 -1
  26. payi-0.1.0a30/src/payi/types/experience_instance.py → payi-0.1.0a32/src/payi/types/experience_instance_response.py +5 -2
  27. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/experiences/__init__.py +4 -0
  28. payi-0.1.0a30/src/payi/types/csat.py → payi-0.1.0a32/src/payi/types/experiences/csat_response.py +3 -3
  29. payi-0.1.0a32/src/payi/types/experiences/properties_response.py +11 -0
  30. payi-0.1.0a32/src/payi/types/experiences/property_create_params.py +12 -0
  31. payi-0.1.0a32/src/payi/types/requests/__init__.py +5 -0
  32. payi-0.1.0a32/src/payi/types/requests/property_create_params.py +12 -0
  33. {payi-0.1.0a30/tests/api_resources → payi-0.1.0a32/tests/api_resources/experiences}/test_csat.py +19 -19
  34. payi-0.1.0a32/tests/api_resources/experiences/test_properties.py +106 -0
  35. payi-0.1.0a32/tests/api_resources/requests/__init__.py +1 -0
  36. payi-0.1.0a32/tests/api_resources/requests/test_properties.py +106 -0
  37. {payi-0.1.0a30 → payi-0.1.0a32}/tests/api_resources/test_billing_models.py +18 -18
  38. {payi-0.1.0a30 → payi-0.1.0a32}/tests/api_resources/test_experiences.py +19 -19
  39. payi-0.1.0a30/.release-please-manifest.json +0 -3
  40. {payi-0.1.0a30 → payi-0.1.0a32}/.gitignore +0 -0
  41. {payi-0.1.0a30 → payi-0.1.0a32}/CONTRIBUTING.md +0 -0
  42. {payi-0.1.0a30 → payi-0.1.0a32}/LICENSE +0 -0
  43. {payi-0.1.0a30 → payi-0.1.0a32}/SECURITY.md +0 -0
  44. {payi-0.1.0a30 → payi-0.1.0a32}/bin/check-release-environment +0 -0
  45. {payi-0.1.0a30 → payi-0.1.0a32}/bin/publish-pypi +0 -0
  46. {payi-0.1.0a30 → payi-0.1.0a32}/examples/.keep +0 -0
  47. {payi-0.1.0a30 → payi-0.1.0a32}/mypy.ini +0 -0
  48. {payi-0.1.0a30 → payi-0.1.0a32}/noxfile.py +0 -0
  49. {payi-0.1.0a30 → payi-0.1.0a32}/release-please-config.json +0 -0
  50. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_base_client.py +0 -0
  51. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_compat.py +0 -0
  52. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_constants.py +0 -0
  53. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_exceptions.py +0 -0
  54. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_files.py +0 -0
  55. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_models.py +0 -0
  56. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_qs.py +0 -0
  57. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_resource.py +0 -0
  58. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_response.py +0 -0
  59. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_streaming.py +0 -0
  60. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_utils/__init__.py +0 -0
  61. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_utils/_logs.py +0 -0
  62. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_utils/_proxy.py +0 -0
  63. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_utils/_reflection.py +0 -0
  64. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_utils/_streams.py +0 -0
  65. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_utils/_sync.py +0 -0
  66. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_utils/_transform.py +0 -0
  67. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_utils/_typing.py +0 -0
  68. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/_utils/_utils.py +0 -0
  69. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/lib/.keep +0 -0
  70. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/lib/helpers.py +0 -0
  71. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/py.typed +0 -0
  72. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/resources/budgets/__init__.py +0 -0
  73. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/resources/budgets/budgets.py +0 -0
  74. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/resources/budgets/tags.py +0 -0
  75. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/resources/categories/__init__.py +0 -0
  76. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/resources/categories/categories.py +0 -0
  77. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/resources/categories/resources.py +0 -0
  78. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/resources/experiences/types.py +0 -0
  79. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/resources/ingest.py +0 -0
  80. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/resources/price_modifiers.py +0 -0
  81. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/billing_model_list_response.py +0 -0
  82. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/budget_create_params.py +0 -0
  83. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/budget_history_response.py +0 -0
  84. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/budget_list_params.py +0 -0
  85. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/budget_response.py +0 -0
  86. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/budget_update_params.py +0 -0
  87. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/budgets/__init__.py +0 -0
  88. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/budgets/budget_tags.py +0 -0
  89. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/budgets/tag_create_params.py +0 -0
  90. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/budgets/tag_create_response.py +0 -0
  91. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/budgets/tag_delete_response.py +0 -0
  92. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/budgets/tag_list_response.py +0 -0
  93. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/budgets/tag_remove_params.py +0 -0
  94. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/budgets/tag_remove_response.py +0 -0
  95. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/budgets/tag_update_params.py +0 -0
  96. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/budgets/tag_update_response.py +0 -0
  97. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/bulk_ingest_response.py +0 -0
  98. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/categories/__init__.py +0 -0
  99. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/categories/resource_create_params.py +0 -0
  100. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/categories/resource_list_response.py +0 -0
  101. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/category_delete_resource_response.py +0 -0
  102. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/category_delete_response.py +0 -0
  103. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/category_list_resources_response.py +0 -0
  104. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/category_list_response.py +0 -0
  105. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/category_resource_response.py +0 -0
  106. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/category_response.py +0 -0
  107. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/cost_data.py +0 -0
  108. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/cost_details.py +0 -0
  109. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/default_response.py +0 -0
  110. {payi-0.1.0a30/src/payi/types → payi-0.1.0a32/src/payi/types/experiences}/csat_create_params.py +0 -0
  111. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/experiences/experience_type.py +0 -0
  112. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/experiences/type_create_params.py +0 -0
  113. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/experiences/type_list_params.py +0 -0
  114. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/experiences/type_list_response.py +0 -0
  115. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/experiences/type_update_params.py +0 -0
  116. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/ingest_bulk_params.py +0 -0
  117. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/ingest_event_param.py +0 -0
  118. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/ingest_response.py +0 -0
  119. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/ingest_units_params.py +0 -0
  120. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/paged_budget_list.py +0 -0
  121. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/price_modifier.py +0 -0
  122. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/price_modifier_create_params.py +0 -0
  123. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/price_modifier_retrieve_response.py +0 -0
  124. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/price_modifier_update_params.py +0 -0
  125. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/requests_data.py +0 -0
  126. {payi-0.1.0a30 → payi-0.1.0a32}/src/payi/types/total_cost_data.py +0 -0
  127. {payi-0.1.0a30 → payi-0.1.0a32}/tests/__init__.py +0 -0
  128. {payi-0.1.0a30 → payi-0.1.0a32}/tests/api_resources/__init__.py +0 -0
  129. {payi-0.1.0a30 → payi-0.1.0a32}/tests/api_resources/budgets/__init__.py +0 -0
  130. {payi-0.1.0a30 → payi-0.1.0a32}/tests/api_resources/budgets/test_tags.py +0 -0
  131. {payi-0.1.0a30 → payi-0.1.0a32}/tests/api_resources/categories/__init__.py +0 -0
  132. {payi-0.1.0a30 → payi-0.1.0a32}/tests/api_resources/categories/test_resources.py +0 -0
  133. {payi-0.1.0a30 → payi-0.1.0a32}/tests/api_resources/experiences/__init__.py +0 -0
  134. {payi-0.1.0a30 → payi-0.1.0a32}/tests/api_resources/experiences/test_types.py +0 -0
  135. {payi-0.1.0a30 → payi-0.1.0a32}/tests/api_resources/test_budgets.py +0 -0
  136. {payi-0.1.0a30 → payi-0.1.0a32}/tests/api_resources/test_categories.py +0 -0
  137. {payi-0.1.0a30 → payi-0.1.0a32}/tests/api_resources/test_ingest.py +0 -0
  138. {payi-0.1.0a30 → payi-0.1.0a32}/tests/api_resources/test_price_modifiers.py +0 -0
  139. {payi-0.1.0a30 → payi-0.1.0a32}/tests/conftest.py +0 -0
  140. {payi-0.1.0a30 → payi-0.1.0a32}/tests/sample_file.txt +0 -0
  141. {payi-0.1.0a30 → payi-0.1.0a32}/tests/test_client.py +0 -0
  142. {payi-0.1.0a30 → payi-0.1.0a32}/tests/test_deepcopy.py +0 -0
  143. {payi-0.1.0a30 → payi-0.1.0a32}/tests/test_extract_files.py +0 -0
  144. {payi-0.1.0a30 → payi-0.1.0a32}/tests/test_files.py +0 -0
  145. {payi-0.1.0a30 → payi-0.1.0a32}/tests/test_models.py +0 -0
  146. {payi-0.1.0a30 → payi-0.1.0a32}/tests/test_qs.py +0 -0
  147. {payi-0.1.0a30 → payi-0.1.0a32}/tests/test_required_args.py +0 -0
  148. {payi-0.1.0a30 → payi-0.1.0a32}/tests/test_response.py +0 -0
  149. {payi-0.1.0a30 → payi-0.1.0a32}/tests/test_streaming.py +0 -0
  150. {payi-0.1.0a30 → payi-0.1.0a32}/tests/test_transform.py +0 -0
  151. {payi-0.1.0a30 → payi-0.1.0a32}/tests/test_utils/test_proxy.py +0 -0
  152. {payi-0.1.0a30 → payi-0.1.0a32}/tests/test_utils/test_typing.py +0 -0
  153. {payi-0.1.0a30 → payi-0.1.0a32}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.1.0-alpha.32"
3
+ }
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.32 (2024-12-10)
4
+
5
+ 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)
6
+
7
+ ### Chores
8
+
9
+ * **internal:** bump pydantic dependency ([#154](https://github.com/Pay-i/pay-i-python/issues/154)) ([c2187c5](https://github.com/Pay-i/pay-i-python/commit/c2187c501a445cf1fbeff1d3ca97508c30232236))
10
+ * make the `Omit` type public ([#152](https://github.com/Pay-i/pay-i-python/issues/152)) ([def0371](https://github.com/Pay-i/pay-i-python/commit/def0371c51b545d0109ca8473aa4242a35094e3c))
11
+
12
+
13
+ ### Documentation
14
+
15
+ * **readme:** fix http client proxies example ([#155](https://github.com/Pay-i/pay-i-python/issues/155)) ([7eb2bf7](https://github.com/Pay-i/pay-i-python/commit/7eb2bf7e1147968cf5ed67c28a1c155694b69e28))
16
+
17
+ ## 0.1.0-alpha.31 (2024-12-03)
18
+
19
+ Full Changelog: [v0.1.0-alpha.30...v0.1.0-alpha.31](https://github.com/Pay-i/pay-i-python/compare/v0.1.0-alpha.30...v0.1.0-alpha.31)
20
+
21
+ ### Features
22
+
23
+ * **api:** manual updates ([#149](https://github.com/Pay-i/pay-i-python/issues/149)) ([5f9b61b](https://github.com/Pay-i/pay-i-python/commit/5f9b61b4d344c090dc1ce3192ba659fbd2ec895b))
24
+
3
25
  ## 0.1.0-alpha.30 (2024-12-03)
4
26
 
5
27
  Full Changelog: [v0.1.0-alpha.29...v0.1.0-alpha.30](https://github.com/Pay-i/pay-i-python/compare/v0.1.0-alpha.29...v0.1.0-alpha.30)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: payi
3
- Version: 0.1.0a30
3
+ Version: 0.1.0a32
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
@@ -314,18 +314,19 @@ can also get all the extra fields on the Pydantic model as a dict with
314
314
 
315
315
  You can directly override the [httpx client](https://www.python-httpx.org/api/#client) to customize it for your use case, including:
316
316
 
317
- - Support for proxies
318
- - Custom transports
317
+ - Support for [proxies](https://www.python-httpx.org/advanced/proxies/)
318
+ - Custom [transports](https://www.python-httpx.org/advanced/transports/)
319
319
  - Additional [advanced](https://www.python-httpx.org/advanced/clients/) functionality
320
320
 
321
321
  ```python
322
+ import httpx
322
323
  from payi import Payi, DefaultHttpxClient
323
324
 
324
325
  client = Payi(
325
326
  # Or use the `PAYI_BASE_URL` env var
326
327
  base_url="http://my.test.server.example.com:8083",
327
328
  http_client=DefaultHttpxClient(
328
- proxies="http://my.test.proxy.example.com",
329
+ proxy="http://my.test.proxy.example.com",
329
330
  transport=httpx.HTTPTransport(local_address="0.0.0.0"),
330
331
  ),
331
332
  )
@@ -283,18 +283,19 @@ can also get all the extra fields on the Pydantic model as a dict with
283
283
 
284
284
  You can directly override the [httpx client](https://www.python-httpx.org/api/#client) to customize it for your use case, including:
285
285
 
286
- - Support for proxies
287
- - Custom transports
286
+ - Support for [proxies](https://www.python-httpx.org/advanced/proxies/)
287
+ - Custom [transports](https://www.python-httpx.org/advanced/transports/)
288
288
  - Additional [advanced](https://www.python-httpx.org/advanced/clients/) functionality
289
289
 
290
290
  ```python
291
+ import httpx
291
292
  from payi import Payi, DefaultHttpxClient
292
293
 
293
294
  client = Payi(
294
295
  # Or use the `PAYI_BASE_URL` env var
295
296
  base_url="http://my.test.server.example.com:8083",
296
297
  http_client=DefaultHttpxClient(
297
- proxies="http://my.test.proxy.example.com",
298
+ proxy="http://my.test.proxy.example.com",
298
299
  transport=httpx.HTTPTransport(local_address="0.0.0.0"),
299
300
  ),
300
301
  )
@@ -102,14 +102,14 @@ Methods:
102
102
  Types:
103
103
 
104
104
  ```python
105
- from payi.types import ExperienceInstance
105
+ from payi.types import ExperienceInstanceResponse
106
106
  ```
107
107
 
108
108
  Methods:
109
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.py">ExperienceInstance</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.py">ExperienceInstance</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.py">ExperienceInstance</a></code>
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
113
 
114
114
  ## Types
115
115
 
@@ -127,17 +127,29 @@ Methods:
127
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
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>
129
129
 
130
- # Csat
130
+ ## Csat
131
131
 
132
132
  Types:
133
133
 
134
134
  ```python
135
- from payi.types import Csat
135
+ from payi.types.experiences import CsatResponse
136
136
  ```
137
137
 
138
138
  Methods:
139
139
 
140
- - <code title="post /api/v1/csat/experiences/{experience_id}">client.csat.<a href="./src/payi/resources/csat.py">create</a>(experience_id, \*\*<a href="src/payi/types/csat_create_params.py">params</a>) -> <a href="./src/payi/types/csat.py">Csat</a></code>
140
+ - <code title="post /api/v1/experiences/instances/{experience_id}/csat">client.experiences.csat.<a href="./src/payi/resources/experiences/csat.py">create</a>(experience_id, \*\*<a href="src/payi/types/experiences/csat_create_params.py">params</a>) -> <a href="./src/payi/types/experiences/csat_response.py">CsatResponse</a></code>
141
+
142
+ ## Properties
143
+
144
+ Types:
145
+
146
+ ```python
147
+ from payi.types.experiences import PropertiesResponse
148
+ ```
149
+
150
+ Methods:
151
+
152
+ - <code title="post /api/v1/experiences/instances/{experience_id}/properties">client.experiences.properties.<a href="./src/payi/resources/experiences/properties.py">create</a>(experience_id, \*\*<a href="src/payi/types/experiences/property_create_params.py">params</a>) -> <a href="./src/payi/types/experience_instance_response.py">ExperienceInstanceResponse</a></code>
141
153
 
142
154
  # BillingModels
143
155
 
@@ -168,3 +180,11 @@ Methods:
168
180
  - <code title="post /api/v1/price-modifier">client.price_modifiers.<a href="./src/payi/resources/price_modifiers.py">create</a>(\*\*<a href="src/payi/types/price_modifier_create_params.py">params</a>) -> <a href="./src/payi/types/price_modifier.py">PriceModifier</a></code>
169
181
  - <code title="get /api/v1/price-modifier/{billing_model_id}">client.price_modifiers.<a href="./src/payi/resources/price_modifiers.py">retrieve</a>(billing_model_id) -> <a href="./src/payi/types/price_modifier_retrieve_response.py">PriceModifierRetrieveResponse</a></code>
170
182
  - <code title="put /api/v1/price-modifier">client.price_modifiers.<a href="./src/payi/resources/price_modifiers.py">update</a>(\*\*<a href="src/payi/types/price_modifier_update_params.py">params</a>) -> <a href="./src/payi/types/price_modifier.py">PriceModifier</a></code>
183
+
184
+ # Requests
185
+
186
+ ## Properties
187
+
188
+ Methods:
189
+
190
+ - <code title="post /api/v1/requests/{request_id}/properties">client.requests.properties.<a href="./src/payi/resources/requests/properties.py">create</a>(request_id, \*\*<a href="src/payi/types/requests/property_create_params.py">params</a>) -> <a href="./src/payi/types/experiences/properties_response.py">PropertiesResponse</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "payi"
3
- version = "0.1.0-alpha.30"
3
+ version = "0.1.0-alpha.32"
4
4
  description = "The official Python library for the payi API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -62,9 +62,9 @@ platformdirs==3.11.0
62
62
  # via virtualenv
63
63
  pluggy==1.5.0
64
64
  # via pytest
65
- pydantic==2.9.2
65
+ pydantic==2.10.3
66
66
  # via payi
67
- pydantic-core==2.23.4
67
+ pydantic-core==2.27.1
68
68
  # via pydantic
69
69
  pygments==2.18.0
70
70
  # via rich
@@ -30,9 +30,9 @@ httpx==0.25.2
30
30
  idna==3.4
31
31
  # via anyio
32
32
  # via httpx
33
- pydantic==2.9.2
33
+ pydantic==2.10.3
34
34
  # via payi
35
- pydantic-core==2.23.4
35
+ pydantic-core==2.27.1
36
36
  # via pydantic
37
37
  sniffio==1.3.0
38
38
  # via anyio
@@ -1,7 +1,7 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  from . import types
4
- from ._types import NOT_GIVEN, NoneType, NotGiven, Transport, ProxiesTypes
4
+ from ._types import NOT_GIVEN, Omit, NoneType, NotGiven, Transport, ProxiesTypes
5
5
  from ._utils import file_from_path
6
6
  from ._client import Payi, Client, Stream, Timeout, AsyncPayi, Transport, AsyncClient, AsyncStream, RequestOptions
7
7
  from ._models import BaseModel
@@ -36,6 +36,7 @@ __all__ = [
36
36
  "ProxiesTypes",
37
37
  "NotGiven",
38
38
  "NOT_GIVEN",
39
+ "Omit",
39
40
  "PayiError",
40
41
  "APIError",
41
42
  "APIStatusError",
@@ -50,9 +50,9 @@ class Payi(SyncAPIClient):
50
50
  ingest: resources.IngestResource
51
51
  categories: resources.CategoriesResource
52
52
  experiences: resources.ExperiencesResource
53
- csat: resources.CsatResource
54
53
  billing_models: resources.BillingModelsResource
55
54
  price_modifiers: resources.PriceModifiersResource
55
+ requests: resources.RequestsResource
56
56
  with_raw_response: PayiWithRawResponse
57
57
  with_streaming_response: PayiWithStreamedResponse
58
58
 
@@ -114,9 +114,9 @@ class Payi(SyncAPIClient):
114
114
  self.ingest = resources.IngestResource(self)
115
115
  self.categories = resources.CategoriesResource(self)
116
116
  self.experiences = resources.ExperiencesResource(self)
117
- self.csat = resources.CsatResource(self)
118
117
  self.billing_models = resources.BillingModelsResource(self)
119
118
  self.price_modifiers = resources.PriceModifiersResource(self)
119
+ self.requests = resources.RequestsResource(self)
120
120
  self.with_raw_response = PayiWithRawResponse(self)
121
121
  self.with_streaming_response = PayiWithStreamedResponse(self)
122
122
 
@@ -230,9 +230,9 @@ class AsyncPayi(AsyncAPIClient):
230
230
  ingest: resources.AsyncIngestResource
231
231
  categories: resources.AsyncCategoriesResource
232
232
  experiences: resources.AsyncExperiencesResource
233
- csat: resources.AsyncCsatResource
234
233
  billing_models: resources.AsyncBillingModelsResource
235
234
  price_modifiers: resources.AsyncPriceModifiersResource
235
+ requests: resources.AsyncRequestsResource
236
236
  with_raw_response: AsyncPayiWithRawResponse
237
237
  with_streaming_response: AsyncPayiWithStreamedResponse
238
238
 
@@ -294,9 +294,9 @@ class AsyncPayi(AsyncAPIClient):
294
294
  self.ingest = resources.AsyncIngestResource(self)
295
295
  self.categories = resources.AsyncCategoriesResource(self)
296
296
  self.experiences = resources.AsyncExperiencesResource(self)
297
- self.csat = resources.AsyncCsatResource(self)
298
297
  self.billing_models = resources.AsyncBillingModelsResource(self)
299
298
  self.price_modifiers = resources.AsyncPriceModifiersResource(self)
299
+ self.requests = resources.AsyncRequestsResource(self)
300
300
  self.with_raw_response = AsyncPayiWithRawResponse(self)
301
301
  self.with_streaming_response = AsyncPayiWithStreamedResponse(self)
302
302
 
@@ -411,9 +411,9 @@ class PayiWithRawResponse:
411
411
  self.ingest = resources.IngestResourceWithRawResponse(client.ingest)
412
412
  self.categories = resources.CategoriesResourceWithRawResponse(client.categories)
413
413
  self.experiences = resources.ExperiencesResourceWithRawResponse(client.experiences)
414
- self.csat = resources.CsatResourceWithRawResponse(client.csat)
415
414
  self.billing_models = resources.BillingModelsResourceWithRawResponse(client.billing_models)
416
415
  self.price_modifiers = resources.PriceModifiersResourceWithRawResponse(client.price_modifiers)
416
+ self.requests = resources.RequestsResourceWithRawResponse(client.requests)
417
417
 
418
418
 
419
419
  class AsyncPayiWithRawResponse:
@@ -422,9 +422,9 @@ class AsyncPayiWithRawResponse:
422
422
  self.ingest = resources.AsyncIngestResourceWithRawResponse(client.ingest)
423
423
  self.categories = resources.AsyncCategoriesResourceWithRawResponse(client.categories)
424
424
  self.experiences = resources.AsyncExperiencesResourceWithRawResponse(client.experiences)
425
- self.csat = resources.AsyncCsatResourceWithRawResponse(client.csat)
426
425
  self.billing_models = resources.AsyncBillingModelsResourceWithRawResponse(client.billing_models)
427
426
  self.price_modifiers = resources.AsyncPriceModifiersResourceWithRawResponse(client.price_modifiers)
427
+ self.requests = resources.AsyncRequestsResourceWithRawResponse(client.requests)
428
428
 
429
429
 
430
430
  class PayiWithStreamedResponse:
@@ -433,9 +433,9 @@ class PayiWithStreamedResponse:
433
433
  self.ingest = resources.IngestResourceWithStreamingResponse(client.ingest)
434
434
  self.categories = resources.CategoriesResourceWithStreamingResponse(client.categories)
435
435
  self.experiences = resources.ExperiencesResourceWithStreamingResponse(client.experiences)
436
- self.csat = resources.CsatResourceWithStreamingResponse(client.csat)
437
436
  self.billing_models = resources.BillingModelsResourceWithStreamingResponse(client.billing_models)
438
437
  self.price_modifiers = resources.PriceModifiersResourceWithStreamingResponse(client.price_modifiers)
438
+ self.requests = resources.RequestsResourceWithStreamingResponse(client.requests)
439
439
 
440
440
 
441
441
  class AsyncPayiWithStreamedResponse:
@@ -444,9 +444,9 @@ class AsyncPayiWithStreamedResponse:
444
444
  self.ingest = resources.AsyncIngestResourceWithStreamingResponse(client.ingest)
445
445
  self.categories = resources.AsyncCategoriesResourceWithStreamingResponse(client.categories)
446
446
  self.experiences = resources.AsyncExperiencesResourceWithStreamingResponse(client.experiences)
447
- self.csat = resources.AsyncCsatResourceWithStreamingResponse(client.csat)
448
447
  self.billing_models = resources.AsyncBillingModelsResourceWithStreamingResponse(client.billing_models)
449
448
  self.price_modifiers = resources.AsyncPriceModifiersResourceWithStreamingResponse(client.price_modifiers)
449
+ self.requests = resources.AsyncRequestsResourceWithStreamingResponse(client.requests)
450
450
 
451
451
 
452
452
  Client = Payi
@@ -192,10 +192,8 @@ ResponseT = TypeVar(
192
192
  StrBytesIntFloat = Union[str, bytes, int, float]
193
193
 
194
194
  # Note: copied from Pydantic
195
- # https://github.com/pydantic/pydantic/blob/32ea570bf96e84234d2992e1ddf40ab8a565925a/pydantic/main.py#L49
196
- IncEx: TypeAlias = Union[
197
- Set[int], Set[str], Mapping[int, Union["IncEx", Literal[True]]], Mapping[str, Union["IncEx", Literal[True]]]
198
- ]
195
+ # https://github.com/pydantic/pydantic/blob/6f31f8f68ef011f84357330186f603ff295312fd/pydantic/main.py#L79
196
+ IncEx: TypeAlias = Union[Set[int], Set[str], Mapping[int, Union["IncEx", bool]], Mapping[str, Union["IncEx", bool]]]
199
197
 
200
198
  PostParser = Callable[[Any], Any]
201
199
 
@@ -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.30" # x-release-please-version
4
+ __version__ = "0.1.0-alpha.32" # x-release-please-version
@@ -1,13 +1,5 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from .csat import (
4
- CsatResource,
5
- AsyncCsatResource,
6
- CsatResourceWithRawResponse,
7
- AsyncCsatResourceWithRawResponse,
8
- CsatResourceWithStreamingResponse,
9
- AsyncCsatResourceWithStreamingResponse,
10
- )
11
3
  from .ingest import (
12
4
  IngestResource,
13
5
  AsyncIngestResource,
@@ -24,6 +16,14 @@ from .budgets import (
24
16
  BudgetsResourceWithStreamingResponse,
25
17
  AsyncBudgetsResourceWithStreamingResponse,
26
18
  )
19
+ from .requests import (
20
+ RequestsResource,
21
+ AsyncRequestsResource,
22
+ RequestsResourceWithRawResponse,
23
+ AsyncRequestsResourceWithRawResponse,
24
+ RequestsResourceWithStreamingResponse,
25
+ AsyncRequestsResourceWithStreamingResponse,
26
+ )
27
27
  from .categories import (
28
28
  CategoriesResource,
29
29
  AsyncCategoriesResource,
@@ -82,12 +82,6 @@ __all__ = [
82
82
  "AsyncExperiencesResourceWithRawResponse",
83
83
  "ExperiencesResourceWithStreamingResponse",
84
84
  "AsyncExperiencesResourceWithStreamingResponse",
85
- "CsatResource",
86
- "AsyncCsatResource",
87
- "CsatResourceWithRawResponse",
88
- "AsyncCsatResourceWithRawResponse",
89
- "CsatResourceWithStreamingResponse",
90
- "AsyncCsatResourceWithStreamingResponse",
91
85
  "BillingModelsResource",
92
86
  "AsyncBillingModelsResource",
93
87
  "BillingModelsResourceWithRawResponse",
@@ -100,4 +94,10 @@ __all__ = [
100
94
  "AsyncPriceModifiersResourceWithRawResponse",
101
95
  "PriceModifiersResourceWithStreamingResponse",
102
96
  "AsyncPriceModifiersResourceWithStreamingResponse",
97
+ "RequestsResource",
98
+ "AsyncRequestsResource",
99
+ "RequestsResourceWithRawResponse",
100
+ "AsyncRequestsResourceWithRawResponse",
101
+ "RequestsResourceWithStreamingResponse",
102
+ "AsyncRequestsResourceWithStreamingResponse",
103
103
  ]
@@ -52,7 +52,7 @@ class BillingModelsResource(SyncAPIResource):
52
52
  self,
53
53
  *,
54
54
  name: str,
55
- type: Literal["costplus"],
55
+ type: Literal["invalid", "costplus", "subscription", "hybrid"],
56
56
  default_price_modifier: Optional[float] | NotGiven = NOT_GIVEN,
57
57
  prepaid_amount: Optional[float] | NotGiven = NOT_GIVEN,
58
58
  prepaid_max: Optional[float] | NotGiven = NOT_GIVEN,
@@ -128,7 +128,7 @@ class BillingModelsResource(SyncAPIResource):
128
128
  self,
129
129
  billing_model_id: str,
130
130
  *,
131
- type: Literal["costplus"],
131
+ type: Literal["invalid", "costplus", "subscription", "hybrid"],
132
132
  default_price_modifier: Optional[float] | NotGiven = NOT_GIVEN,
133
133
  name: Optional[str] | NotGiven = NOT_GIVEN,
134
134
  prepaid_amount: Optional[float] | NotGiven = NOT_GIVEN,
@@ -246,7 +246,7 @@ class AsyncBillingModelsResource(AsyncAPIResource):
246
246
  self,
247
247
  *,
248
248
  name: str,
249
- type: Literal["costplus"],
249
+ type: Literal["invalid", "costplus", "subscription", "hybrid"],
250
250
  default_price_modifier: Optional[float] | NotGiven = NOT_GIVEN,
251
251
  prepaid_amount: Optional[float] | NotGiven = NOT_GIVEN,
252
252
  prepaid_max: Optional[float] | NotGiven = NOT_GIVEN,
@@ -322,7 +322,7 @@ class AsyncBillingModelsResource(AsyncAPIResource):
322
322
  self,
323
323
  billing_model_id: str,
324
324
  *,
325
- type: Literal["costplus"],
325
+ type: Literal["invalid", "costplus", "subscription", "hybrid"],
326
326
  default_price_modifier: Optional[float] | NotGiven = NOT_GIVEN,
327
327
  name: Optional[str] | NotGiven = NOT_GIVEN,
328
328
  prepaid_amount: Optional[float] | NotGiven = NOT_GIVEN,
@@ -1,5 +1,13 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ from .csat import (
4
+ CsatResource,
5
+ AsyncCsatResource,
6
+ CsatResourceWithRawResponse,
7
+ AsyncCsatResourceWithRawResponse,
8
+ CsatResourceWithStreamingResponse,
9
+ AsyncCsatResourceWithStreamingResponse,
10
+ )
3
11
  from .types import (
4
12
  TypesResource,
5
13
  AsyncTypesResource,
@@ -8,6 +16,14 @@ from .types import (
8
16
  TypesResourceWithStreamingResponse,
9
17
  AsyncTypesResourceWithStreamingResponse,
10
18
  )
19
+ from .properties import (
20
+ PropertiesResource,
21
+ AsyncPropertiesResource,
22
+ PropertiesResourceWithRawResponse,
23
+ AsyncPropertiesResourceWithRawResponse,
24
+ PropertiesResourceWithStreamingResponse,
25
+ AsyncPropertiesResourceWithStreamingResponse,
26
+ )
11
27
  from .experiences import (
12
28
  ExperiencesResource,
13
29
  AsyncExperiencesResource,
@@ -24,6 +40,18 @@ __all__ = [
24
40
  "AsyncTypesResourceWithRawResponse",
25
41
  "TypesResourceWithStreamingResponse",
26
42
  "AsyncTypesResourceWithStreamingResponse",
43
+ "CsatResource",
44
+ "AsyncCsatResource",
45
+ "CsatResourceWithRawResponse",
46
+ "AsyncCsatResourceWithRawResponse",
47
+ "CsatResourceWithStreamingResponse",
48
+ "AsyncCsatResourceWithStreamingResponse",
49
+ "PropertiesResource",
50
+ "AsyncPropertiesResource",
51
+ "PropertiesResourceWithRawResponse",
52
+ "AsyncPropertiesResourceWithRawResponse",
53
+ "PropertiesResourceWithStreamingResponse",
54
+ "AsyncPropertiesResourceWithStreamingResponse",
27
55
  "ExperiencesResource",
28
56
  "AsyncExperiencesResource",
29
57
  "ExperiencesResourceWithRawResponse",
@@ -6,22 +6,22 @@ from typing import Optional
6
6
 
7
7
  import httpx
8
8
 
9
- from ..types import csat_create_params
10
- from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
11
- from .._utils import (
9
+ from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
10
+ from ..._utils import (
12
11
  maybe_transform,
13
12
  async_maybe_transform,
14
13
  )
15
- from .._compat import cached_property
16
- from .._resource import SyncAPIResource, AsyncAPIResource
17
- from .._response import (
14
+ from ..._compat import cached_property
15
+ from ..._resource import SyncAPIResource, AsyncAPIResource
16
+ from ..._response import (
18
17
  to_raw_response_wrapper,
19
18
  to_streamed_response_wrapper,
20
19
  async_to_raw_response_wrapper,
21
20
  async_to_streamed_response_wrapper,
22
21
  )
23
- from ..types.csat import Csat
24
- from .._base_client import make_request_options
22
+ from ..._base_client import make_request_options
23
+ from ...types.experiences import csat_create_params
24
+ from ...types.experiences.csat_response import CsatResponse
25
25
 
26
26
  __all__ = ["CsatResource", "AsyncCsatResource"]
27
27
 
@@ -58,9 +58,9 @@ class CsatResource(SyncAPIResource):
58
58
  extra_query: Query | None = None,
59
59
  extra_body: Body | None = None,
60
60
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
61
- ) -> Csat:
61
+ ) -> CsatResponse:
62
62
  """
63
- Created a CSAT rating for an Experience
63
+ Update an Experience properties
64
64
 
65
65
  Args:
66
66
  extra_headers: Send extra headers
@@ -74,7 +74,7 @@ class CsatResource(SyncAPIResource):
74
74
  if not experience_id:
75
75
  raise ValueError(f"Expected a non-empty value for `experience_id` but received {experience_id!r}")
76
76
  return self._post(
77
- f"/api/v1/csat/experiences/{experience_id}",
77
+ f"/api/v1/experiences/instances/{experience_id}/csat",
78
78
  body=maybe_transform(
79
79
  {
80
80
  "csat_rating": csat_rating,
@@ -85,7 +85,7 @@ class CsatResource(SyncAPIResource):
85
85
  options=make_request_options(
86
86
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
87
87
  ),
88
- cast_to=Csat,
88
+ cast_to=CsatResponse,
89
89
  )
90
90
 
91
91
 
@@ -121,9 +121,9 @@ class AsyncCsatResource(AsyncAPIResource):
121
121
  extra_query: Query | None = None,
122
122
  extra_body: Body | None = None,
123
123
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
124
- ) -> Csat:
124
+ ) -> CsatResponse:
125
125
  """
126
- Created a CSAT rating for an Experience
126
+ Update an Experience properties
127
127
 
128
128
  Args:
129
129
  extra_headers: Send extra headers
@@ -137,7 +137,7 @@ class AsyncCsatResource(AsyncAPIResource):
137
137
  if not experience_id:
138
138
  raise ValueError(f"Expected a non-empty value for `experience_id` but received {experience_id!r}")
139
139
  return await self._post(
140
- f"/api/v1/csat/experiences/{experience_id}",
140
+ f"/api/v1/experiences/instances/{experience_id}/csat",
141
141
  body=await async_maybe_transform(
142
142
  {
143
143
  "csat_rating": csat_rating,
@@ -148,7 +148,7 @@ class AsyncCsatResource(AsyncAPIResource):
148
148
  options=make_request_options(
149
149
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
150
150
  ),
151
- cast_to=Csat,
151
+ cast_to=CsatResponse,
152
152
  )
153
153
 
154
154