payi 0.1.0a59__py3-none-any.whl → 0.1.0a61__py3-none-any.whl

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 (52) hide show
  1. payi/_version.py +1 -1
  2. payi/lib/AnthropicInstrumentor.py +11 -11
  3. payi/lib/BedrockInstrumentor.py +15 -15
  4. payi/lib/OpenAIInstrumentor.py +16 -16
  5. payi/lib/helpers.py +16 -12
  6. payi/lib/instrument.py +180 -39
  7. payi/pagination.py +50 -0
  8. payi/resources/categories/categories.py +108 -23
  9. payi/resources/categories/resources.py +42 -12
  10. payi/resources/experiences/types/types.py +37 -17
  11. payi/resources/limits/limits.py +21 -30
  12. payi/resources/use_cases/__init__.py +14 -0
  13. payi/resources/use_cases/definitions/__init__.py +14 -0
  14. payi/resources/use_cases/definitions/definitions.py +68 -18
  15. payi/resources/use_cases/definitions/kpis.py +584 -0
  16. payi/resources/use_cases/kpis.py +469 -0
  17. payi/resources/use_cases/use_cases.py +32 -0
  18. payi/types/__init__.py +3 -3
  19. payi/types/categories/__init__.py +1 -1
  20. payi/types/categories/resource_list_params.py +17 -0
  21. payi/types/category_list_params.py +15 -0
  22. payi/types/category_list_resources_params.py +15 -0
  23. payi/types/category_response.py +0 -5
  24. payi/types/experiences/__init__.py +0 -1
  25. payi/types/experiences/type_list_params.py +6 -1
  26. payi/types/limit_list_params.py +4 -13
  27. payi/types/limit_list_response.py +30 -0
  28. payi/types/use_cases/__init__.py +4 -1
  29. payi/types/use_cases/definition_list_params.py +6 -1
  30. payi/types/use_cases/definitions/__init__.py +8 -0
  31. payi/types/use_cases/definitions/kpi_create_params.py +17 -0
  32. payi/types/use_cases/definitions/kpi_create_response.py +20 -0
  33. payi/types/use_cases/definitions/kpi_delete_response.py +20 -0
  34. payi/types/use_cases/definitions/kpi_list_params.py +17 -0
  35. payi/types/use_cases/definitions/kpi_list_response.py +20 -0
  36. payi/types/use_cases/definitions/kpi_retrieve_response.py +20 -0
  37. payi/types/use_cases/definitions/kpi_update_params.py +16 -0
  38. payi/types/use_cases/definitions/kpi_update_response.py +20 -0
  39. payi/types/use_cases/kpi_create_params.py +13 -0
  40. payi/types/use_cases/kpi_list_params.py +17 -0
  41. payi/types/use_cases/kpi_list_response.py +21 -0
  42. payi/types/use_cases/kpi_update_params.py +13 -0
  43. {payi-0.1.0a59.dist-info → payi-0.1.0a61.dist-info}/METADATA +91 -28
  44. {payi-0.1.0a59.dist-info → payi-0.1.0a61.dist-info}/RECORD +46 -33
  45. payi/types/categories/resource_list_response.py +0 -10
  46. payi/types/category_list_resources_response.py +0 -10
  47. payi/types/category_list_response.py +0 -10
  48. payi/types/experiences/type_list_response.py +0 -10
  49. payi/types/paged_limit_list.py +0 -52
  50. payi/types/use_cases/definition_list_response.py +0 -10
  51. {payi-0.1.0a59.dist-info → payi-0.1.0a61.dist-info}/WHEEL +0 -0
  52. {payi-0.1.0a59.dist-info → payi-0.1.0a61.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,469 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ import httpx
6
+
7
+ from ..._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
8
+ from ..._utils import (
9
+ maybe_transform,
10
+ async_maybe_transform,
11
+ )
12
+ from ..._compat import cached_property
13
+ from ..._resource import SyncAPIResource, AsyncAPIResource
14
+ from ..._response import (
15
+ to_raw_response_wrapper,
16
+ to_streamed_response_wrapper,
17
+ async_to_raw_response_wrapper,
18
+ async_to_streamed_response_wrapper,
19
+ )
20
+ from ...pagination import SyncCursorPage, AsyncCursorPage
21
+ from ..._base_client import AsyncPaginator, make_request_options
22
+ from ...types.use_cases import kpi_list_params, kpi_create_params, kpi_update_params
23
+ from ...types.use_cases.kpi_list_response import KpiListResponse
24
+
25
+ __all__ = ["KpisResource", "AsyncKpisResource"]
26
+
27
+
28
+ class KpisResource(SyncAPIResource):
29
+ @cached_property
30
+ def with_raw_response(self) -> KpisResourceWithRawResponse:
31
+ """
32
+ This property can be used as a prefix for any HTTP method call to return
33
+ the raw response object instead of the parsed content.
34
+
35
+ For more information, see https://www.github.com/Pay-i/pay-i-python#accessing-raw-response-data-eg-headers
36
+ """
37
+ return KpisResourceWithRawResponse(self)
38
+
39
+ @cached_property
40
+ def with_streaming_response(self) -> KpisResourceWithStreamingResponse:
41
+ """
42
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
43
+
44
+ For more information, see https://www.github.com/Pay-i/pay-i-python#with_streaming_response
45
+ """
46
+ return KpisResourceWithStreamingResponse(self)
47
+
48
+ def create(
49
+ self,
50
+ kpi_name: str,
51
+ *,
52
+ use_case_id: str,
53
+ score: float | NotGiven = NOT_GIVEN,
54
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
55
+ # The extra values given here take precedence over values defined on the client or passed to this method.
56
+ extra_headers: Headers | None = None,
57
+ extra_query: Query | None = None,
58
+ extra_body: Body | None = None,
59
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
60
+ ) -> None:
61
+ """
62
+ Add a KPI to a Use Case instance
63
+
64
+ Args:
65
+ extra_headers: Send extra headers
66
+
67
+ extra_query: Add additional query parameters to the request
68
+
69
+ extra_body: Add additional JSON properties to the request
70
+
71
+ timeout: Override the client-level default timeout for this request, in seconds
72
+ """
73
+ if not use_case_id:
74
+ raise ValueError(f"Expected a non-empty value for `use_case_id` but received {use_case_id!r}")
75
+ if not kpi_name:
76
+ raise ValueError(f"Expected a non-empty value for `kpi_name` but received {kpi_name!r}")
77
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
78
+ return self._post(
79
+ f"/api/v1/use_cases/instances/{use_case_id}/kpis/{kpi_name}",
80
+ body=maybe_transform({"score": score}, kpi_create_params.KpiCreateParams),
81
+ options=make_request_options(
82
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
83
+ ),
84
+ cast_to=NoneType,
85
+ )
86
+
87
+ def update(
88
+ self,
89
+ kpi_name: str,
90
+ *,
91
+ use_case_id: str,
92
+ score: float | NotGiven = NOT_GIVEN,
93
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
94
+ # The extra values given here take precedence over values defined on the client or passed to this method.
95
+ extra_headers: Headers | None = None,
96
+ extra_query: Query | None = None,
97
+ extra_body: Body | None = None,
98
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
99
+ ) -> None:
100
+ """
101
+ Update a KPI on a Use Case instance
102
+
103
+ Args:
104
+ extra_headers: Send extra headers
105
+
106
+ extra_query: Add additional query parameters to the request
107
+
108
+ extra_body: Add additional JSON properties to the request
109
+
110
+ timeout: Override the client-level default timeout for this request, in seconds
111
+ """
112
+ if not use_case_id:
113
+ raise ValueError(f"Expected a non-empty value for `use_case_id` but received {use_case_id!r}")
114
+ if not kpi_name:
115
+ raise ValueError(f"Expected a non-empty value for `kpi_name` but received {kpi_name!r}")
116
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
117
+ return self._put(
118
+ f"/api/v1/use_cases/instances/{use_case_id}/kpis/{kpi_name}",
119
+ body=maybe_transform({"score": score}, kpi_update_params.KpiUpdateParams),
120
+ options=make_request_options(
121
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
122
+ ),
123
+ cast_to=NoneType,
124
+ )
125
+
126
+ def list(
127
+ self,
128
+ use_case_id: str,
129
+ *,
130
+ cursor: str | NotGiven = NOT_GIVEN,
131
+ kpi_name: str | NotGiven = NOT_GIVEN,
132
+ limit: int | NotGiven = NOT_GIVEN,
133
+ sort_ascending: bool | NotGiven = NOT_GIVEN,
134
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
135
+ # The extra values given here take precedence over values defined on the client or passed to this method.
136
+ extra_headers: Headers | None = None,
137
+ extra_query: Query | None = None,
138
+ extra_body: Body | None = None,
139
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
140
+ ) -> SyncCursorPage[KpiListResponse]:
141
+ """
142
+ Return all KPI scores for a Use Case instance
143
+
144
+ Args:
145
+ extra_headers: Send extra headers
146
+
147
+ extra_query: Add additional query parameters to the request
148
+
149
+ extra_body: Add additional JSON properties to the request
150
+
151
+ timeout: Override the client-level default timeout for this request, in seconds
152
+ """
153
+ if not use_case_id:
154
+ raise ValueError(f"Expected a non-empty value for `use_case_id` but received {use_case_id!r}")
155
+ return self._get_api_list(
156
+ f"/api/v1/use_cases/instances/{use_case_id}/kpis",
157
+ page=SyncCursorPage[KpiListResponse],
158
+ options=make_request_options(
159
+ extra_headers=extra_headers,
160
+ extra_query=extra_query,
161
+ extra_body=extra_body,
162
+ timeout=timeout,
163
+ query=maybe_transform(
164
+ {
165
+ "cursor": cursor,
166
+ "kpi_name": kpi_name,
167
+ "limit": limit,
168
+ "sort_ascending": sort_ascending,
169
+ },
170
+ kpi_list_params.KpiListParams,
171
+ ),
172
+ ),
173
+ model=KpiListResponse,
174
+ )
175
+
176
+ def delete(
177
+ self,
178
+ kpi_name: str,
179
+ *,
180
+ use_case_id: str,
181
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
182
+ # The extra values given here take precedence over values defined on the client or passed to this method.
183
+ extra_headers: Headers | None = None,
184
+ extra_query: Query | None = None,
185
+ extra_body: Body | None = None,
186
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
187
+ ) -> None:
188
+ """
189
+ Delete a KPI from a Use Case instance
190
+
191
+ Args:
192
+ extra_headers: Send extra headers
193
+
194
+ extra_query: Add additional query parameters to the request
195
+
196
+ extra_body: Add additional JSON properties to the request
197
+
198
+ timeout: Override the client-level default timeout for this request, in seconds
199
+ """
200
+ if not use_case_id:
201
+ raise ValueError(f"Expected a non-empty value for `use_case_id` but received {use_case_id!r}")
202
+ if not kpi_name:
203
+ raise ValueError(f"Expected a non-empty value for `kpi_name` but received {kpi_name!r}")
204
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
205
+ return self._delete(
206
+ f"/api/v1/use_cases/instances/{use_case_id}/kpis/{kpi_name}",
207
+ options=make_request_options(
208
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
209
+ ),
210
+ cast_to=NoneType,
211
+ )
212
+
213
+
214
+ class AsyncKpisResource(AsyncAPIResource):
215
+ @cached_property
216
+ def with_raw_response(self) -> AsyncKpisResourceWithRawResponse:
217
+ """
218
+ This property can be used as a prefix for any HTTP method call to return
219
+ the raw response object instead of the parsed content.
220
+
221
+ For more information, see https://www.github.com/Pay-i/pay-i-python#accessing-raw-response-data-eg-headers
222
+ """
223
+ return AsyncKpisResourceWithRawResponse(self)
224
+
225
+ @cached_property
226
+ def with_streaming_response(self) -> AsyncKpisResourceWithStreamingResponse:
227
+ """
228
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
229
+
230
+ For more information, see https://www.github.com/Pay-i/pay-i-python#with_streaming_response
231
+ """
232
+ return AsyncKpisResourceWithStreamingResponse(self)
233
+
234
+ async def create(
235
+ self,
236
+ kpi_name: str,
237
+ *,
238
+ use_case_id: str,
239
+ score: float | NotGiven = NOT_GIVEN,
240
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
241
+ # The extra values given here take precedence over values defined on the client or passed to this method.
242
+ extra_headers: Headers | None = None,
243
+ extra_query: Query | None = None,
244
+ extra_body: Body | None = None,
245
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
246
+ ) -> None:
247
+ """
248
+ Add a KPI to a Use Case instance
249
+
250
+ Args:
251
+ extra_headers: Send extra headers
252
+
253
+ extra_query: Add additional query parameters to the request
254
+
255
+ extra_body: Add additional JSON properties to the request
256
+
257
+ timeout: Override the client-level default timeout for this request, in seconds
258
+ """
259
+ if not use_case_id:
260
+ raise ValueError(f"Expected a non-empty value for `use_case_id` but received {use_case_id!r}")
261
+ if not kpi_name:
262
+ raise ValueError(f"Expected a non-empty value for `kpi_name` but received {kpi_name!r}")
263
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
264
+ return await self._post(
265
+ f"/api/v1/use_cases/instances/{use_case_id}/kpis/{kpi_name}",
266
+ body=await async_maybe_transform({"score": score}, kpi_create_params.KpiCreateParams),
267
+ options=make_request_options(
268
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
269
+ ),
270
+ cast_to=NoneType,
271
+ )
272
+
273
+ async def update(
274
+ self,
275
+ kpi_name: str,
276
+ *,
277
+ use_case_id: str,
278
+ score: float | NotGiven = NOT_GIVEN,
279
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
280
+ # The extra values given here take precedence over values defined on the client or passed to this method.
281
+ extra_headers: Headers | None = None,
282
+ extra_query: Query | None = None,
283
+ extra_body: Body | None = None,
284
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
285
+ ) -> None:
286
+ """
287
+ Update a KPI on a Use Case instance
288
+
289
+ Args:
290
+ extra_headers: Send extra headers
291
+
292
+ extra_query: Add additional query parameters to the request
293
+
294
+ extra_body: Add additional JSON properties to the request
295
+
296
+ timeout: Override the client-level default timeout for this request, in seconds
297
+ """
298
+ if not use_case_id:
299
+ raise ValueError(f"Expected a non-empty value for `use_case_id` but received {use_case_id!r}")
300
+ if not kpi_name:
301
+ raise ValueError(f"Expected a non-empty value for `kpi_name` but received {kpi_name!r}")
302
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
303
+ return await self._put(
304
+ f"/api/v1/use_cases/instances/{use_case_id}/kpis/{kpi_name}",
305
+ body=await async_maybe_transform({"score": score}, kpi_update_params.KpiUpdateParams),
306
+ options=make_request_options(
307
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
308
+ ),
309
+ cast_to=NoneType,
310
+ )
311
+
312
+ def list(
313
+ self,
314
+ use_case_id: str,
315
+ *,
316
+ cursor: str | NotGiven = NOT_GIVEN,
317
+ kpi_name: str | NotGiven = NOT_GIVEN,
318
+ limit: int | NotGiven = NOT_GIVEN,
319
+ sort_ascending: bool | NotGiven = NOT_GIVEN,
320
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
321
+ # The extra values given here take precedence over values defined on the client or passed to this method.
322
+ extra_headers: Headers | None = None,
323
+ extra_query: Query | None = None,
324
+ extra_body: Body | None = None,
325
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
326
+ ) -> AsyncPaginator[KpiListResponse, AsyncCursorPage[KpiListResponse]]:
327
+ """
328
+ Return all KPI scores for a Use Case instance
329
+
330
+ Args:
331
+ extra_headers: Send extra headers
332
+
333
+ extra_query: Add additional query parameters to the request
334
+
335
+ extra_body: Add additional JSON properties to the request
336
+
337
+ timeout: Override the client-level default timeout for this request, in seconds
338
+ """
339
+ if not use_case_id:
340
+ raise ValueError(f"Expected a non-empty value for `use_case_id` but received {use_case_id!r}")
341
+ return self._get_api_list(
342
+ f"/api/v1/use_cases/instances/{use_case_id}/kpis",
343
+ page=AsyncCursorPage[KpiListResponse],
344
+ options=make_request_options(
345
+ extra_headers=extra_headers,
346
+ extra_query=extra_query,
347
+ extra_body=extra_body,
348
+ timeout=timeout,
349
+ query=maybe_transform(
350
+ {
351
+ "cursor": cursor,
352
+ "kpi_name": kpi_name,
353
+ "limit": limit,
354
+ "sort_ascending": sort_ascending,
355
+ },
356
+ kpi_list_params.KpiListParams,
357
+ ),
358
+ ),
359
+ model=KpiListResponse,
360
+ )
361
+
362
+ async def delete(
363
+ self,
364
+ kpi_name: str,
365
+ *,
366
+ use_case_id: str,
367
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
368
+ # The extra values given here take precedence over values defined on the client or passed to this method.
369
+ extra_headers: Headers | None = None,
370
+ extra_query: Query | None = None,
371
+ extra_body: Body | None = None,
372
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
373
+ ) -> None:
374
+ """
375
+ Delete a KPI from a Use Case instance
376
+
377
+ Args:
378
+ extra_headers: Send extra headers
379
+
380
+ extra_query: Add additional query parameters to the request
381
+
382
+ extra_body: Add additional JSON properties to the request
383
+
384
+ timeout: Override the client-level default timeout for this request, in seconds
385
+ """
386
+ if not use_case_id:
387
+ raise ValueError(f"Expected a non-empty value for `use_case_id` but received {use_case_id!r}")
388
+ if not kpi_name:
389
+ raise ValueError(f"Expected a non-empty value for `kpi_name` but received {kpi_name!r}")
390
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
391
+ return await self._delete(
392
+ f"/api/v1/use_cases/instances/{use_case_id}/kpis/{kpi_name}",
393
+ options=make_request_options(
394
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
395
+ ),
396
+ cast_to=NoneType,
397
+ )
398
+
399
+
400
+ class KpisResourceWithRawResponse:
401
+ def __init__(self, kpis: KpisResource) -> None:
402
+ self._kpis = kpis
403
+
404
+ self.create = to_raw_response_wrapper(
405
+ kpis.create,
406
+ )
407
+ self.update = to_raw_response_wrapper(
408
+ kpis.update,
409
+ )
410
+ self.list = to_raw_response_wrapper(
411
+ kpis.list,
412
+ )
413
+ self.delete = to_raw_response_wrapper(
414
+ kpis.delete,
415
+ )
416
+
417
+
418
+ class AsyncKpisResourceWithRawResponse:
419
+ def __init__(self, kpis: AsyncKpisResource) -> None:
420
+ self._kpis = kpis
421
+
422
+ self.create = async_to_raw_response_wrapper(
423
+ kpis.create,
424
+ )
425
+ self.update = async_to_raw_response_wrapper(
426
+ kpis.update,
427
+ )
428
+ self.list = async_to_raw_response_wrapper(
429
+ kpis.list,
430
+ )
431
+ self.delete = async_to_raw_response_wrapper(
432
+ kpis.delete,
433
+ )
434
+
435
+
436
+ class KpisResourceWithStreamingResponse:
437
+ def __init__(self, kpis: KpisResource) -> None:
438
+ self._kpis = kpis
439
+
440
+ self.create = to_streamed_response_wrapper(
441
+ kpis.create,
442
+ )
443
+ self.update = to_streamed_response_wrapper(
444
+ kpis.update,
445
+ )
446
+ self.list = to_streamed_response_wrapper(
447
+ kpis.list,
448
+ )
449
+ self.delete = to_streamed_response_wrapper(
450
+ kpis.delete,
451
+ )
452
+
453
+
454
+ class AsyncKpisResourceWithStreamingResponse:
455
+ def __init__(self, kpis: AsyncKpisResource) -> None:
456
+ self._kpis = kpis
457
+
458
+ self.create = async_to_streamed_response_wrapper(
459
+ kpis.create,
460
+ )
461
+ self.update = async_to_streamed_response_wrapper(
462
+ kpis.update,
463
+ )
464
+ self.list = async_to_streamed_response_wrapper(
465
+ kpis.list,
466
+ )
467
+ self.delete = async_to_streamed_response_wrapper(
468
+ kpis.delete,
469
+ )
@@ -4,6 +4,14 @@ from __future__ import annotations
4
4
 
5
5
  import httpx
6
6
 
7
+ from .kpis import (
8
+ KpisResource,
9
+ AsyncKpisResource,
10
+ KpisResourceWithRawResponse,
11
+ AsyncKpisResourceWithRawResponse,
12
+ KpisResourceWithStreamingResponse,
13
+ AsyncKpisResourceWithStreamingResponse,
14
+ )
7
15
  from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
8
16
  from ..._compat import cached_property
9
17
  from .properties import (
@@ -36,6 +44,10 @@ __all__ = ["UseCasesResource", "AsyncUseCasesResource"]
36
44
 
37
45
 
38
46
  class UseCasesResource(SyncAPIResource):
47
+ @cached_property
48
+ def kpis(self) -> KpisResource:
49
+ return KpisResource(self._client)
50
+
39
51
  @cached_property
40
52
  def definitions(self) -> DefinitionsResource:
41
53
  return DefinitionsResource(self._client)
@@ -164,6 +176,10 @@ class UseCasesResource(SyncAPIResource):
164
176
 
165
177
 
166
178
  class AsyncUseCasesResource(AsyncAPIResource):
179
+ @cached_property
180
+ def kpis(self) -> AsyncKpisResource:
181
+ return AsyncKpisResource(self._client)
182
+
167
183
  @cached_property
168
184
  def definitions(self) -> AsyncDefinitionsResource:
169
185
  return AsyncDefinitionsResource(self._client)
@@ -305,6 +321,10 @@ class UseCasesResourceWithRawResponse:
305
321
  use_cases.delete,
306
322
  )
307
323
 
324
+ @cached_property
325
+ def kpis(self) -> KpisResourceWithRawResponse:
326
+ return KpisResourceWithRawResponse(self._use_cases.kpis)
327
+
308
328
  @cached_property
309
329
  def definitions(self) -> DefinitionsResourceWithRawResponse:
310
330
  return DefinitionsResourceWithRawResponse(self._use_cases.definitions)
@@ -328,6 +348,10 @@ class AsyncUseCasesResourceWithRawResponse:
328
348
  use_cases.delete,
329
349
  )
330
350
 
351
+ @cached_property
352
+ def kpis(self) -> AsyncKpisResourceWithRawResponse:
353
+ return AsyncKpisResourceWithRawResponse(self._use_cases.kpis)
354
+
331
355
  @cached_property
332
356
  def definitions(self) -> AsyncDefinitionsResourceWithRawResponse:
333
357
  return AsyncDefinitionsResourceWithRawResponse(self._use_cases.definitions)
@@ -351,6 +375,10 @@ class UseCasesResourceWithStreamingResponse:
351
375
  use_cases.delete,
352
376
  )
353
377
 
378
+ @cached_property
379
+ def kpis(self) -> KpisResourceWithStreamingResponse:
380
+ return KpisResourceWithStreamingResponse(self._use_cases.kpis)
381
+
354
382
  @cached_property
355
383
  def definitions(self) -> DefinitionsResourceWithStreamingResponse:
356
384
  return DefinitionsResourceWithStreamingResponse(self._use_cases.definitions)
@@ -374,6 +402,10 @@ class AsyncUseCasesResourceWithStreamingResponse:
374
402
  use_cases.delete,
375
403
  )
376
404
 
405
+ @cached_property
406
+ def kpis(self) -> AsyncKpisResourceWithStreamingResponse:
407
+ return AsyncKpisResourceWithStreamingResponse(self._use_cases.kpis)
408
+
377
409
  @cached_property
378
410
  def definitions(self) -> AsyncDefinitionsResourceWithStreamingResponse:
379
411
  return AsyncDefinitionsResourceWithStreamingResponse(self._use_cases.definitions)
payi/types/__init__.py CHANGED
@@ -14,7 +14,6 @@ from .limit_response import LimitResponse as LimitResponse
14
14
  from .ingest_response import IngestResponse as IngestResponse
15
15
  from .total_cost_data import TotalCostData as TotalCostData
16
16
  from .default_response import DefaultResponse as DefaultResponse
17
- from .paged_limit_list import PagedLimitList as PagedLimitList
18
17
  from .category_response import CategoryResponse as CategoryResponse
19
18
  from .limit_list_params import LimitListParams as LimitListParams
20
19
  from .ingest_bulk_params import IngestBulkParams as IngestBulkParams
@@ -22,15 +21,16 @@ from .ingest_event_param import IngestEventParam as IngestEventParam
22
21
  from .limit_reset_params import LimitResetParams as LimitResetParams
23
22
  from .ingest_units_params import IngestUnitsParams as IngestUnitsParams
24
23
  from .limit_create_params import LimitCreateParams as LimitCreateParams
24
+ from .limit_list_response import LimitListResponse as LimitListResponse
25
25
  from .limit_update_params import LimitUpdateParams as LimitUpdateParams
26
26
  from .bulk_ingest_response import BulkIngestResponse as BulkIngestResponse
27
- from .category_list_response import CategoryListResponse as CategoryListResponse
27
+ from .category_list_params import CategoryListParams as CategoryListParams
28
28
  from .limit_history_response import LimitHistoryResponse as LimitHistoryResponse
29
29
  from .category_delete_response import CategoryDeleteResponse as CategoryDeleteResponse
30
30
  from .category_resource_response import CategoryResourceResponse as CategoryResourceResponse
31
31
  from .use_case_instance_response import UseCaseInstanceResponse as UseCaseInstanceResponse
32
32
  from .experience_instance_response import ExperienceInstanceResponse as ExperienceInstanceResponse
33
- from .category_list_resources_response import CategoryListResourcesResponse as CategoryListResourcesResponse
33
+ from .category_list_resources_params import CategoryListResourcesParams as CategoryListResourcesParams
34
34
  from .category_delete_resource_response import CategoryDeleteResourceResponse as CategoryDeleteResourceResponse
35
35
  from .pay_i_common_models_api_router_header_info_param import (
36
36
  PayICommonModelsAPIRouterHeaderInfoParam as PayICommonModelsAPIRouterHeaderInfoParam,
@@ -2,5 +2,5 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from .resource_list_params import ResourceListParams as ResourceListParams
5
6
  from .resource_create_params import ResourceCreateParams as ResourceCreateParams
6
- from .resource_list_response import ResourceListResponse as ResourceListResponse
@@ -0,0 +1,17 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["ResourceListParams"]
8
+
9
+
10
+ class ResourceListParams(TypedDict, total=False):
11
+ category: Required[str]
12
+
13
+ cursor: str
14
+
15
+ limit: int
16
+
17
+ sort_ascending: bool
@@ -0,0 +1,15 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["CategoryListParams"]
8
+
9
+
10
+ class CategoryListParams(TypedDict, total=False):
11
+ cursor: str
12
+
13
+ limit: int
14
+
15
+ sort_ascending: bool
@@ -0,0 +1,15 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["CategoryListResourcesParams"]
8
+
9
+
10
+ class CategoryListResourcesParams(TypedDict, total=False):
11
+ cursor: str
12
+
13
+ limit: int
14
+
15
+ sort_ascending: bool
@@ -1,6 +1,5 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from datetime import datetime
4
3
 
5
4
  from .._models import BaseModel
6
5
 
@@ -9,7 +8,3 @@ __all__ = ["CategoryResponse"]
9
8
 
10
9
  class CategoryResponse(BaseModel):
11
10
  category: str
12
-
13
- resource_count: int
14
-
15
- start_timestamp: datetime
@@ -5,6 +5,5 @@ from __future__ import annotations
5
5
  from .experience_type import ExperienceType as ExperienceType
6
6
  from .type_list_params import TypeListParams as TypeListParams
7
7
  from .type_create_params import TypeCreateParams as TypeCreateParams
8
- from .type_list_response import TypeListResponse as TypeListResponse
9
8
  from .type_update_params import TypeUpdateParams as TypeUpdateParams
10
9
  from .property_create_params import PropertyCreateParams as PropertyCreateParams
@@ -8,5 +8,10 @@ __all__ = ["TypeListParams"]
8
8
 
9
9
 
10
10
  class TypeListParams(TypedDict, total=False):
11
+ cursor: str
12
+
13
+ limit: int
14
+
11
15
  name: str
12
- """Experience Type Name"""
16
+
17
+ sort_ascending: bool