payi 0.1.0a17__tar.gz → 0.1.0a18__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 (125) hide show
  1. payi-0.1.0a18/.release-please-manifest.json +3 -0
  2. {payi-0.1.0a17 → payi-0.1.0a18}/CHANGELOG.md +14 -0
  3. {payi-0.1.0a17 → payi-0.1.0a18}/PKG-INFO +1 -1
  4. {payi-0.1.0a17 → payi-0.1.0a18}/api.md +3 -3
  5. {payi-0.1.0a17 → payi-0.1.0a18}/pyproject.toml +2 -3
  6. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_version.py +1 -1
  7. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/resources/categories/resources.py +16 -16
  8. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/resources/ingest.py +6 -5
  9. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/__init__.py +1 -0
  10. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/category_resource_response.py +2 -0
  11. payi-0.1.0a18/src/payi/types/ingest_bulk_params.py +14 -0
  12. payi-0.1.0a17/src/payi/types/ingest_bulk_params.py → payi-0.1.0a18/src/payi/types/ingest_event_param.py +3 -6
  13. {payi-0.1.0a17 → payi-0.1.0a18}/tests/api_resources/categories/test_resources.py +28 -28
  14. payi-0.1.0a17/.release-please-manifest.json +0 -3
  15. {payi-0.1.0a17 → payi-0.1.0a18}/.gitignore +0 -0
  16. {payi-0.1.0a17 → payi-0.1.0a18}/CONTRIBUTING.md +0 -0
  17. {payi-0.1.0a17 → payi-0.1.0a18}/LICENSE +0 -0
  18. {payi-0.1.0a17 → payi-0.1.0a18}/README.md +0 -0
  19. {payi-0.1.0a17 → payi-0.1.0a18}/SECURITY.md +0 -0
  20. {payi-0.1.0a17 → payi-0.1.0a18}/bin/check-release-environment +0 -0
  21. {payi-0.1.0a17 → payi-0.1.0a18}/bin/publish-pypi +0 -0
  22. {payi-0.1.0a17 → payi-0.1.0a18}/examples/.keep +0 -0
  23. {payi-0.1.0a17 → payi-0.1.0a18}/mypy.ini +0 -0
  24. {payi-0.1.0a17 → payi-0.1.0a18}/noxfile.py +0 -0
  25. {payi-0.1.0a17 → payi-0.1.0a18}/release-please-config.json +0 -0
  26. {payi-0.1.0a17 → payi-0.1.0a18}/requirements-dev.lock +0 -0
  27. {payi-0.1.0a17 → payi-0.1.0a18}/requirements.lock +0 -0
  28. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/__init__.py +0 -0
  29. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_base_client.py +0 -0
  30. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_client.py +0 -0
  31. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_compat.py +0 -0
  32. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_constants.py +0 -0
  33. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_exceptions.py +0 -0
  34. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_files.py +0 -0
  35. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_models.py +0 -0
  36. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_qs.py +0 -0
  37. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_resource.py +0 -0
  38. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_response.py +0 -0
  39. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_streaming.py +0 -0
  40. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_types.py +0 -0
  41. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_utils/__init__.py +0 -0
  42. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_utils/_logs.py +0 -0
  43. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_utils/_proxy.py +0 -0
  44. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_utils/_reflection.py +0 -0
  45. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_utils/_streams.py +0 -0
  46. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_utils/_sync.py +0 -0
  47. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_utils/_transform.py +0 -0
  48. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_utils/_typing.py +0 -0
  49. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/_utils/_utils.py +0 -0
  50. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/lib/.keep +0 -0
  51. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/lib/helpers.py +0 -0
  52. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/py.typed +0 -0
  53. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/resources/__init__.py +0 -0
  54. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/resources/budgets/__init__.py +0 -0
  55. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/resources/budgets/budgets.py +0 -0
  56. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/resources/budgets/tags.py +0 -0
  57. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/resources/categories/__init__.py +0 -0
  58. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/resources/categories/categories.py +0 -0
  59. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/resources/experiences/__init__.py +0 -0
  60. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/resources/experiences/experiences.py +0 -0
  61. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/resources/experiences/types.py +0 -0
  62. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/budget_create_params.py +0 -0
  63. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/budget_history_response.py +0 -0
  64. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/budget_list_params.py +0 -0
  65. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/budget_response.py +0 -0
  66. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/budget_update_params.py +0 -0
  67. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/budgets/__init__.py +0 -0
  68. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/budgets/budget_tags.py +0 -0
  69. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/budgets/tag_create_params.py +0 -0
  70. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/budgets/tag_create_response.py +0 -0
  71. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/budgets/tag_delete_response.py +0 -0
  72. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/budgets/tag_list_response.py +0 -0
  73. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/budgets/tag_remove_params.py +0 -0
  74. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/budgets/tag_remove_response.py +0 -0
  75. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/budgets/tag_update_params.py +0 -0
  76. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/budgets/tag_update_response.py +0 -0
  77. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/bulk_ingest_response.py +0 -0
  78. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/categories/__init__.py +0 -0
  79. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/categories/resource_create_params.py +0 -0
  80. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/categories/resource_list_response.py +0 -0
  81. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/category_delete_resource_response.py +0 -0
  82. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/category_delete_response.py +0 -0
  83. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/category_list_resources_response.py +0 -0
  84. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/category_list_response.py +0 -0
  85. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/category_response.py +0 -0
  86. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/cost_data.py +0 -0
  87. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/cost_details.py +0 -0
  88. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/default_response.py +0 -0
  89. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/experience_instance.py +0 -0
  90. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/experiences/__init__.py +0 -0
  91. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/experiences/experience_type.py +0 -0
  92. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/experiences/type_create_params.py +0 -0
  93. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/experiences/type_list_response.py +0 -0
  94. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/experiences/type_update_params.py +0 -0
  95. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/ingest_response.py +0 -0
  96. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/ingest_units_params.py +0 -0
  97. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/paged_budget_list.py +0 -0
  98. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/requests_data.py +0 -0
  99. {payi-0.1.0a17 → payi-0.1.0a18}/src/payi/types/total_cost_data.py +0 -0
  100. {payi-0.1.0a17 → payi-0.1.0a18}/tests/__init__.py +0 -0
  101. {payi-0.1.0a17 → payi-0.1.0a18}/tests/api_resources/__init__.py +0 -0
  102. {payi-0.1.0a17 → payi-0.1.0a18}/tests/api_resources/budgets/__init__.py +0 -0
  103. {payi-0.1.0a17 → payi-0.1.0a18}/tests/api_resources/budgets/test_tags.py +0 -0
  104. {payi-0.1.0a17 → payi-0.1.0a18}/tests/api_resources/categories/__init__.py +0 -0
  105. {payi-0.1.0a17 → payi-0.1.0a18}/tests/api_resources/experiences/__init__.py +0 -0
  106. {payi-0.1.0a17 → payi-0.1.0a18}/tests/api_resources/experiences/test_types.py +0 -0
  107. {payi-0.1.0a17 → payi-0.1.0a18}/tests/api_resources/test_budgets.py +0 -0
  108. {payi-0.1.0a17 → payi-0.1.0a18}/tests/api_resources/test_categories.py +0 -0
  109. {payi-0.1.0a17 → payi-0.1.0a18}/tests/api_resources/test_experiences.py +0 -0
  110. {payi-0.1.0a17 → payi-0.1.0a18}/tests/api_resources/test_ingest.py +0 -0
  111. {payi-0.1.0a17 → payi-0.1.0a18}/tests/conftest.py +0 -0
  112. {payi-0.1.0a17 → payi-0.1.0a18}/tests/sample_file.txt +0 -0
  113. {payi-0.1.0a17 → payi-0.1.0a18}/tests/test_client.py +0 -0
  114. {payi-0.1.0a17 → payi-0.1.0a18}/tests/test_deepcopy.py +0 -0
  115. {payi-0.1.0a17 → payi-0.1.0a18}/tests/test_extract_files.py +0 -0
  116. {payi-0.1.0a17 → payi-0.1.0a18}/tests/test_files.py +0 -0
  117. {payi-0.1.0a17 → payi-0.1.0a18}/tests/test_models.py +0 -0
  118. {payi-0.1.0a17 → payi-0.1.0a18}/tests/test_qs.py +0 -0
  119. {payi-0.1.0a17 → payi-0.1.0a18}/tests/test_required_args.py +0 -0
  120. {payi-0.1.0a17 → payi-0.1.0a18}/tests/test_response.py +0 -0
  121. {payi-0.1.0a17 → payi-0.1.0a18}/tests/test_streaming.py +0 -0
  122. {payi-0.1.0a17 → payi-0.1.0a18}/tests/test_transform.py +0 -0
  123. {payi-0.1.0a17 → payi-0.1.0a18}/tests/test_utils/test_proxy.py +0 -0
  124. {payi-0.1.0a17 → payi-0.1.0a18}/tests/test_utils/test_typing.py +0 -0
  125. {payi-0.1.0a17 → payi-0.1.0a18}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.1.0-alpha.18"
3
+ }
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.18 (2024-08-08)
4
+
5
+ Full Changelog: [v0.1.0-alpha.17...v0.1.0-alpha.18](https://github.com/Pay-i/pay-i-python/compare/v0.1.0-alpha.17...v0.1.0-alpha.18)
6
+
7
+ ### Features
8
+
9
+ * **api:** update via SDK Studio ([#83](https://github.com/Pay-i/pay-i-python/issues/83)) ([c78b273](https://github.com/Pay-i/pay-i-python/commit/c78b273d807606abe94212e0092eff80895da96d))
10
+ * **api:** update via SDK Studio ([#86](https://github.com/Pay-i/pay-i-python/issues/86)) ([ea1bc86](https://github.com/Pay-i/pay-i-python/commit/ea1bc86c6a3671b49ba7394841b5534d7e8c0263))
11
+
12
+
13
+ ### Chores
14
+
15
+ * **internal:** remove deprecated ruff config ([#85](https://github.com/Pay-i/pay-i-python/issues/85)) ([744ae88](https://github.com/Pay-i/pay-i-python/commit/744ae888b57aa5a424e4a4729d7c0e85776b6d08))
16
+
3
17
  ## 0.1.0-alpha.17 (2024-08-07)
4
18
 
5
19
  Full Changelog: [v0.1.0-alpha.16...v0.1.0-alpha.17](https://github.com/Pay-i/pay-i-python/compare/v0.1.0-alpha.16...v0.1.0-alpha.17)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: payi
3
- Version: 0.1.0a17
3
+ Version: 0.1.0a18
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
@@ -52,7 +52,7 @@ Methods:
52
52
  Types:
53
53
 
54
54
  ```python
55
- from payi.types import BulkIngestResponse, IngestEvent, IngestResponse
55
+ from payi.types import BulkIngestResponse, IngestEvent, IngestResponse, IngestUnits
56
56
  ```
57
57
 
58
58
  Methods:
@@ -93,9 +93,9 @@ from payi.types.categories import ResourceListResponse
93
93
  Methods:
94
94
 
95
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}/{start_timestamp}">client.categories.resources.<a href="./src/payi/resources/categories/resources.py">retrieve</a>(start_timestamp, \*, category, resource) -> <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
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}/{start_timestamp}">client.categories.resources.<a href="./src/payi/resources/categories/resources.py">delete</a>(start_timestamp, \*, category, resource) -> <a href="./src/payi/types/category_resource_response.py">CategoryResourceResponse</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
99
 
100
100
  # Experiences
101
101
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "payi"
3
- version = "0.1.0-alpha.17"
3
+ version = "0.1.0-alpha.18"
4
4
  description = "The official Python library for the payi API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -195,7 +195,6 @@ unfixable = [
195
195
  "T201",
196
196
  "T203",
197
197
  ]
198
- ignore-init-module-imports = true
199
198
 
200
199
  [tool.ruff.lint.flake8-tidy-imports.banned-api]
201
200
  "functools.lru_cache".msg = "This function does not retain type information for the wrapped function's arguments; The `lru_cache` function from `_utils` should be used instead"
@@ -207,7 +206,7 @@ combine-as-imports = true
207
206
  extra-standard-library = ["typing_extensions"]
208
207
  known-first-party = ["payi", "tests"]
209
208
 
210
- [tool.ruff.per-file-ignores]
209
+ [tool.ruff.lint.per-file-ignores]
211
210
  "bin/**.py" = ["T201", "T203"]
212
211
  "scripts/**.py" = ["T201", "T203"]
213
212
  "tests/**.py" = ["T201", "T203"]
@@ -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.17" # x-release-please-version
4
+ __version__ = "0.1.0-alpha.18" # x-release-please-version
@@ -90,7 +90,7 @@ class ResourcesResource(SyncAPIResource):
90
90
 
91
91
  def retrieve(
92
92
  self,
93
- start_timestamp: Union[str, datetime],
93
+ resource_id: str,
94
94
  *,
95
95
  category: str,
96
96
  resource: str,
@@ -117,10 +117,10 @@ class ResourcesResource(SyncAPIResource):
117
117
  raise ValueError(f"Expected a non-empty value for `category` but received {category!r}")
118
118
  if not resource:
119
119
  raise ValueError(f"Expected a non-empty value for `resource` but received {resource!r}")
120
- if not start_timestamp:
121
- raise ValueError(f"Expected a non-empty value for `start_timestamp` but received {start_timestamp!r}")
120
+ if not resource_id:
121
+ raise ValueError(f"Expected a non-empty value for `resource_id` but received {resource_id!r}")
122
122
  return self._get(
123
- f"/api/v1/categories/{category}/resources/{resource}/{start_timestamp}",
123
+ f"/api/v1/categories/{category}/resources/{resource}/{resource_id}",
124
124
  options=make_request_options(
125
125
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
126
126
  ),
@@ -165,7 +165,7 @@ class ResourcesResource(SyncAPIResource):
165
165
 
166
166
  def delete(
167
167
  self,
168
- start_timestamp: Union[str, datetime],
168
+ resource_id: str,
169
169
  *,
170
170
  category: str,
171
171
  resource: str,
@@ -192,10 +192,10 @@ class ResourcesResource(SyncAPIResource):
192
192
  raise ValueError(f"Expected a non-empty value for `category` but received {category!r}")
193
193
  if not resource:
194
194
  raise ValueError(f"Expected a non-empty value for `resource` but received {resource!r}")
195
- if not start_timestamp:
196
- raise ValueError(f"Expected a non-empty value for `start_timestamp` but received {start_timestamp!r}")
195
+ if not resource_id:
196
+ raise ValueError(f"Expected a non-empty value for `resource_id` but received {resource_id!r}")
197
197
  return self._delete(
198
- f"/api/v1/categories/{category}/resources/{resource}/{start_timestamp}",
198
+ f"/api/v1/categories/{category}/resources/{resource}/{resource_id}",
199
199
  options=make_request_options(
200
200
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
201
201
  ),
@@ -265,7 +265,7 @@ class AsyncResourcesResource(AsyncAPIResource):
265
265
 
266
266
  async def retrieve(
267
267
  self,
268
- start_timestamp: Union[str, datetime],
268
+ resource_id: str,
269
269
  *,
270
270
  category: str,
271
271
  resource: str,
@@ -292,10 +292,10 @@ class AsyncResourcesResource(AsyncAPIResource):
292
292
  raise ValueError(f"Expected a non-empty value for `category` but received {category!r}")
293
293
  if not resource:
294
294
  raise ValueError(f"Expected a non-empty value for `resource` but received {resource!r}")
295
- if not start_timestamp:
296
- raise ValueError(f"Expected a non-empty value for `start_timestamp` but received {start_timestamp!r}")
295
+ if not resource_id:
296
+ raise ValueError(f"Expected a non-empty value for `resource_id` but received {resource_id!r}")
297
297
  return await self._get(
298
- f"/api/v1/categories/{category}/resources/{resource}/{start_timestamp}",
298
+ f"/api/v1/categories/{category}/resources/{resource}/{resource_id}",
299
299
  options=make_request_options(
300
300
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
301
301
  ),
@@ -340,7 +340,7 @@ class AsyncResourcesResource(AsyncAPIResource):
340
340
 
341
341
  async def delete(
342
342
  self,
343
- start_timestamp: Union[str, datetime],
343
+ resource_id: str,
344
344
  *,
345
345
  category: str,
346
346
  resource: str,
@@ -367,10 +367,10 @@ class AsyncResourcesResource(AsyncAPIResource):
367
367
  raise ValueError(f"Expected a non-empty value for `category` but received {category!r}")
368
368
  if not resource:
369
369
  raise ValueError(f"Expected a non-empty value for `resource` but received {resource!r}")
370
- if not start_timestamp:
371
- raise ValueError(f"Expected a non-empty value for `start_timestamp` but received {start_timestamp!r}")
370
+ if not resource_id:
371
+ raise ValueError(f"Expected a non-empty value for `resource_id` but received {resource_id!r}")
372
372
  return await self._delete(
373
- f"/api/v1/categories/{category}/resources/{resource}/{start_timestamp}",
373
+ f"/api/v1/categories/{category}/resources/{resource}/{resource_id}",
374
374
  options=make_request_options(
375
375
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
376
376
  ),
@@ -7,7 +7,7 @@ from datetime import datetime
7
7
 
8
8
  import httpx
9
9
 
10
- from ..types import ingest_bulk_params, ingest_units_params
10
+ from ..types import ingest_units_params
11
11
  from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
12
12
  from .._utils import (
13
13
  maybe_transform,
@@ -24,6 +24,7 @@ from .._response import (
24
24
  )
25
25
  from .._base_client import make_request_options
26
26
  from ..types.ingest_response import IngestResponse
27
+ from ..types.ingest_event_param import IngestEventParam
27
28
  from ..types.bulk_ingest_response import BulkIngestResponse
28
29
 
29
30
  __all__ = ["IngestResource", "AsyncIngestResource"]
@@ -41,7 +42,7 @@ class IngestResource(SyncAPIResource):
41
42
  def bulk(
42
43
  self,
43
44
  *,
44
- events: Iterable[ingest_bulk_params.Event],
45
+ events: Iterable[IngestEventParam],
45
46
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
46
47
  # The extra values given here take precedence over values defined on the client or passed to this method.
47
48
  extra_headers: Headers | None = None,
@@ -66,7 +67,7 @@ class IngestResource(SyncAPIResource):
66
67
  """
67
68
  return self._post(
68
69
  "/api/v1/ingest/bulk",
69
- body=maybe_transform(events, Iterable[ingest_bulk_params.Event]),
70
+ body=maybe_transform(events, Iterable[IngestEventParam]),
70
71
  options=make_request_options(
71
72
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
72
73
  ),
@@ -191,7 +192,7 @@ class AsyncIngestResource(AsyncAPIResource):
191
192
  async def bulk(
192
193
  self,
193
194
  *,
194
- events: Iterable[ingest_bulk_params.Event],
195
+ events: Iterable[IngestEventParam],
195
196
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
196
197
  # The extra values given here take precedence over values defined on the client or passed to this method.
197
198
  extra_headers: Headers | None = None,
@@ -215,7 +216,7 @@ class AsyncIngestResource(AsyncAPIResource):
215
216
  """
216
217
  return await self._post(
217
218
  "/api/v1/ingest/bulk",
218
- body=await async_maybe_transform(events, Iterable[ingest_bulk_params.Event]),
219
+ body=await async_maybe_transform(events, Iterable[IngestEventParam]),
219
220
  options=make_request_options(
220
221
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
221
222
  ),
@@ -13,6 +13,7 @@ from .category_response import CategoryResponse as CategoryResponse
13
13
  from .paged_budget_list import PagedBudgetList as PagedBudgetList
14
14
  from .budget_list_params import BudgetListParams as BudgetListParams
15
15
  from .ingest_bulk_params import IngestBulkParams as IngestBulkParams
16
+ from .ingest_event_param import IngestEventParam as IngestEventParam
16
17
  from .experience_instance import ExperienceInstance as ExperienceInstance
17
18
  from .ingest_units_params import IngestUnitsParams as IngestUnitsParams
18
19
  from .budget_create_params import BudgetCreateParams as BudgetCreateParams
@@ -13,6 +13,8 @@ class CategoryResourceResponse(BaseModel):
13
13
 
14
14
  resource: str
15
15
 
16
+ resource_id: str
17
+
16
18
  start_timestamp: datetime
17
19
 
18
20
  input_price: Optional[float] = None
@@ -0,0 +1,14 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Iterable
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ from .ingest_event_param import IngestEventParam
9
+
10
+ __all__ = ["IngestBulkParams"]
11
+
12
+
13
+ class IngestBulkParams(TypedDict, total=False):
14
+ events: Required[Iterable[IngestEventParam]]
@@ -2,19 +2,16 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Union, Iterable, Optional
5
+ from typing import List, Union, Optional
6
6
  from datetime import datetime
7
7
  from typing_extensions import Required, Annotated, TypedDict
8
8
 
9
9
  from .._utils import PropertyInfo
10
10
 
11
- __all__ = ["IngestBulkParams", "Event"]
11
+ __all__ = ["IngestEventParam"]
12
12
 
13
13
 
14
- class IngestBulkParams(TypedDict, total=False):
15
- events: Required[Iterable[Event]]
16
-
17
- class Event(TypedDict, total=False):
14
+ class IngestEventParam(TypedDict, total=False):
18
15
  category: Required[str]
19
16
 
20
17
  input: Required[int]
@@ -83,7 +83,7 @@ class TestResources:
83
83
  @parametrize
84
84
  def test_method_retrieve(self, client: Payi) -> None:
85
85
  resource = client.categories.resources.retrieve(
86
- start_timestamp=parse_datetime("2019-12-27T18:11:19.117Z"),
86
+ resource_id="resource_id",
87
87
  category="category",
88
88
  resource="resource",
89
89
  )
@@ -92,7 +92,7 @@ class TestResources:
92
92
  @parametrize
93
93
  def test_raw_response_retrieve(self, client: Payi) -> None:
94
94
  response = client.categories.resources.with_raw_response.retrieve(
95
- start_timestamp=parse_datetime("2019-12-27T18:11:19.117Z"),
95
+ resource_id="resource_id",
96
96
  category="category",
97
97
  resource="resource",
98
98
  )
@@ -105,7 +105,7 @@ class TestResources:
105
105
  @parametrize
106
106
  def test_streaming_response_retrieve(self, client: Payi) -> None:
107
107
  with client.categories.resources.with_streaming_response.retrieve(
108
- start_timestamp=parse_datetime("2019-12-27T18:11:19.117Z"),
108
+ resource_id="resource_id",
109
109
  category="category",
110
110
  resource="resource",
111
111
  ) as response:
@@ -121,21 +121,21 @@ class TestResources:
121
121
  def test_path_params_retrieve(self, client: Payi) -> None:
122
122
  with pytest.raises(ValueError, match=r"Expected a non-empty value for `category` but received ''"):
123
123
  client.categories.resources.with_raw_response.retrieve(
124
- start_timestamp=parse_datetime("2019-12-27T18:11:19.117Z"),
124
+ resource_id="resource_id",
125
125
  category="",
126
126
  resource="resource",
127
127
  )
128
128
 
129
129
  with pytest.raises(ValueError, match=r"Expected a non-empty value for `resource` but received ''"):
130
130
  client.categories.resources.with_raw_response.retrieve(
131
- start_timestamp=parse_datetime("2019-12-27T18:11:19.117Z"),
131
+ resource_id="resource_id",
132
132
  category="category",
133
133
  resource="",
134
134
  )
135
135
 
136
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `start_timestamp` but received ''"):
136
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `resource_id` but received ''"):
137
137
  client.categories.resources.with_raw_response.retrieve(
138
- start_timestamp="",
138
+ resource_id="",
139
139
  category="category",
140
140
  resource="resource",
141
141
  )
@@ -191,7 +191,7 @@ class TestResources:
191
191
  @parametrize
192
192
  def test_method_delete(self, client: Payi) -> None:
193
193
  resource = client.categories.resources.delete(
194
- start_timestamp=parse_datetime("2019-12-27T18:11:19.117Z"),
194
+ resource_id="resource_id",
195
195
  category="category",
196
196
  resource="resource",
197
197
  )
@@ -200,7 +200,7 @@ class TestResources:
200
200
  @parametrize
201
201
  def test_raw_response_delete(self, client: Payi) -> None:
202
202
  response = client.categories.resources.with_raw_response.delete(
203
- start_timestamp=parse_datetime("2019-12-27T18:11:19.117Z"),
203
+ resource_id="resource_id",
204
204
  category="category",
205
205
  resource="resource",
206
206
  )
@@ -213,7 +213,7 @@ class TestResources:
213
213
  @parametrize
214
214
  def test_streaming_response_delete(self, client: Payi) -> None:
215
215
  with client.categories.resources.with_streaming_response.delete(
216
- start_timestamp=parse_datetime("2019-12-27T18:11:19.117Z"),
216
+ resource_id="resource_id",
217
217
  category="category",
218
218
  resource="resource",
219
219
  ) as response:
@@ -229,21 +229,21 @@ class TestResources:
229
229
  def test_path_params_delete(self, client: Payi) -> None:
230
230
  with pytest.raises(ValueError, match=r"Expected a non-empty value for `category` but received ''"):
231
231
  client.categories.resources.with_raw_response.delete(
232
- start_timestamp=parse_datetime("2019-12-27T18:11:19.117Z"),
232
+ resource_id="resource_id",
233
233
  category="",
234
234
  resource="resource",
235
235
  )
236
236
 
237
237
  with pytest.raises(ValueError, match=r"Expected a non-empty value for `resource` but received ''"):
238
238
  client.categories.resources.with_raw_response.delete(
239
- start_timestamp=parse_datetime("2019-12-27T18:11:19.117Z"),
239
+ resource_id="resource_id",
240
240
  category="category",
241
241
  resource="",
242
242
  )
243
243
 
244
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `start_timestamp` but received ''"):
244
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `resource_id` but received ''"):
245
245
  client.categories.resources.with_raw_response.delete(
246
- start_timestamp="",
246
+ resource_id="",
247
247
  category="category",
248
248
  resource="resource",
249
249
  )
@@ -316,7 +316,7 @@ class TestAsyncResources:
316
316
  @parametrize
317
317
  async def test_method_retrieve(self, async_client: AsyncPayi) -> None:
318
318
  resource = await async_client.categories.resources.retrieve(
319
- start_timestamp=parse_datetime("2019-12-27T18:11:19.117Z"),
319
+ resource_id="resource_id",
320
320
  category="category",
321
321
  resource="resource",
322
322
  )
@@ -325,7 +325,7 @@ class TestAsyncResources:
325
325
  @parametrize
326
326
  async def test_raw_response_retrieve(self, async_client: AsyncPayi) -> None:
327
327
  response = await async_client.categories.resources.with_raw_response.retrieve(
328
- start_timestamp=parse_datetime("2019-12-27T18:11:19.117Z"),
328
+ resource_id="resource_id",
329
329
  category="category",
330
330
  resource="resource",
331
331
  )
@@ -338,7 +338,7 @@ class TestAsyncResources:
338
338
  @parametrize
339
339
  async def test_streaming_response_retrieve(self, async_client: AsyncPayi) -> None:
340
340
  async with async_client.categories.resources.with_streaming_response.retrieve(
341
- start_timestamp=parse_datetime("2019-12-27T18:11:19.117Z"),
341
+ resource_id="resource_id",
342
342
  category="category",
343
343
  resource="resource",
344
344
  ) as response:
@@ -354,21 +354,21 @@ class TestAsyncResources:
354
354
  async def test_path_params_retrieve(self, async_client: AsyncPayi) -> None:
355
355
  with pytest.raises(ValueError, match=r"Expected a non-empty value for `category` but received ''"):
356
356
  await async_client.categories.resources.with_raw_response.retrieve(
357
- start_timestamp=parse_datetime("2019-12-27T18:11:19.117Z"),
357
+ resource_id="resource_id",
358
358
  category="",
359
359
  resource="resource",
360
360
  )
361
361
 
362
362
  with pytest.raises(ValueError, match=r"Expected a non-empty value for `resource` but received ''"):
363
363
  await async_client.categories.resources.with_raw_response.retrieve(
364
- start_timestamp=parse_datetime("2019-12-27T18:11:19.117Z"),
364
+ resource_id="resource_id",
365
365
  category="category",
366
366
  resource="",
367
367
  )
368
368
 
369
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `start_timestamp` but received ''"):
369
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `resource_id` but received ''"):
370
370
  await async_client.categories.resources.with_raw_response.retrieve(
371
- start_timestamp="",
371
+ resource_id="",
372
372
  category="category",
373
373
  resource="resource",
374
374
  )
@@ -424,7 +424,7 @@ class TestAsyncResources:
424
424
  @parametrize
425
425
  async def test_method_delete(self, async_client: AsyncPayi) -> None:
426
426
  resource = await async_client.categories.resources.delete(
427
- start_timestamp=parse_datetime("2019-12-27T18:11:19.117Z"),
427
+ resource_id="resource_id",
428
428
  category="category",
429
429
  resource="resource",
430
430
  )
@@ -433,7 +433,7 @@ class TestAsyncResources:
433
433
  @parametrize
434
434
  async def test_raw_response_delete(self, async_client: AsyncPayi) -> None:
435
435
  response = await async_client.categories.resources.with_raw_response.delete(
436
- start_timestamp=parse_datetime("2019-12-27T18:11:19.117Z"),
436
+ resource_id="resource_id",
437
437
  category="category",
438
438
  resource="resource",
439
439
  )
@@ -446,7 +446,7 @@ class TestAsyncResources:
446
446
  @parametrize
447
447
  async def test_streaming_response_delete(self, async_client: AsyncPayi) -> None:
448
448
  async with async_client.categories.resources.with_streaming_response.delete(
449
- start_timestamp=parse_datetime("2019-12-27T18:11:19.117Z"),
449
+ resource_id="resource_id",
450
450
  category="category",
451
451
  resource="resource",
452
452
  ) as response:
@@ -462,21 +462,21 @@ class TestAsyncResources:
462
462
  async def test_path_params_delete(self, async_client: AsyncPayi) -> None:
463
463
  with pytest.raises(ValueError, match=r"Expected a non-empty value for `category` but received ''"):
464
464
  await async_client.categories.resources.with_raw_response.delete(
465
- start_timestamp=parse_datetime("2019-12-27T18:11:19.117Z"),
465
+ resource_id="resource_id",
466
466
  category="",
467
467
  resource="resource",
468
468
  )
469
469
 
470
470
  with pytest.raises(ValueError, match=r"Expected a non-empty value for `resource` but received ''"):
471
471
  await async_client.categories.resources.with_raw_response.delete(
472
- start_timestamp=parse_datetime("2019-12-27T18:11:19.117Z"),
472
+ resource_id="resource_id",
473
473
  category="category",
474
474
  resource="",
475
475
  )
476
476
 
477
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `start_timestamp` but received ''"):
477
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `resource_id` but received ''"):
478
478
  await async_client.categories.resources.with_raw_response.delete(
479
- start_timestamp="",
479
+ resource_id="",
480
480
  category="category",
481
481
  resource="resource",
482
482
  )
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.1.0-alpha.17"
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes