profound 0.1.0__tar.gz → 0.2.0__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 profound might be problematic. Click here for more details.

Files changed (108) hide show
  1. profound-0.2.0/.release-please-manifest.json +3 -0
  2. {profound-0.1.0 → profound-0.2.0}/CHANGELOG.md +16 -0
  3. {profound-0.1.0 → profound-0.2.0}/PKG-INFO +1 -1
  4. {profound-0.1.0 → profound-0.2.0}/api.md +10 -4
  5. {profound-0.1.0 → profound-0.2.0}/pyproject.toml +1 -1
  6. {profound-0.1.0 → profound-0.2.0}/src/profound/_client.py +11 -30
  7. {profound-0.1.0 → profound-0.2.0}/src/profound/_version.py +1 -1
  8. {profound-0.1.0 → profound-0.2.0}/src/profound/resources/logs/raw.py +5 -5
  9. {profound-0.1.0 → profound-0.2.0}/src/profound/resources/prompts.py +3 -3
  10. {profound-0.1.0 → profound-0.2.0}/src/profound/resources/reports.py +24 -20
  11. {profound-0.1.0 → profound-0.2.0}/src/profound/types/__init__.py +4 -4
  12. {profound-0.1.0 → profound-0.2.0}/src/profound/types/logs/raw_bots_params.py +2 -2
  13. {profound-0.1.0 → profound-0.2.0}/src/profound/types/logs/raw_bots_response.py +2 -2
  14. {profound-0.1.0 → profound-0.2.0}/src/profound/types/logs/raw_logs_params.py +2 -2
  15. {profound-0.1.0 → profound-0.2.0}/src/profound/types/logs/raw_logs_response.py +2 -2
  16. {profound-0.1.0 → profound-0.2.0}/src/profound/types/prompt_answers_params.py +2 -2
  17. {profound-0.1.0 → profound-0.2.0}/src/profound/types/report_citations_params.py +3 -3
  18. {profound-0.1.0 → profound-0.2.0}/src/profound/types/report_citations_response.py +4 -4
  19. profound-0.1.0/src/profound/types/info.py → profound-0.2.0/src/profound/types/report_info.py +2 -2
  20. profound-0.1.0/src/profound/types/response.py → profound-0.2.0/src/profound/types/report_response.py +6 -6
  21. profound-0.1.0/src/profound/types/result.py → profound-0.2.0/src/profound/types/report_result.py +2 -2
  22. {profound-0.1.0 → profound-0.2.0}/src/profound/types/report_sentiment_params.py +3 -3
  23. {profound-0.1.0 → profound-0.2.0}/src/profound/types/report_visibility_params.py +2 -2
  24. profound-0.2.0/src/profound/types/shared/__init__.py +3 -0
  25. profound-0.2.0/src/profound/types/shared/pagination.py +15 -0
  26. profound-0.2.0/src/profound/types/shared_params/__init__.py +3 -0
  27. profound-0.1.0/src/profound/types/pagination_param.py → profound-0.2.0/src/profound/types/shared_params/pagination.py +2 -2
  28. {profound-0.1.0 → profound-0.2.0}/tests/api_resources/test_reports.py +17 -17
  29. {profound-0.1.0 → profound-0.2.0}/tests/test_client.py +9 -23
  30. profound-0.1.0/.release-please-manifest.json +0 -3
  31. {profound-0.1.0 → profound-0.2.0}/.gitignore +0 -0
  32. {profound-0.1.0 → profound-0.2.0}/CONTRIBUTING.md +0 -0
  33. {profound-0.1.0 → profound-0.2.0}/LICENSE +0 -0
  34. {profound-0.1.0 → profound-0.2.0}/README.md +0 -0
  35. {profound-0.1.0 → profound-0.2.0}/SECURITY.md +0 -0
  36. {profound-0.1.0 → profound-0.2.0}/bin/check-release-environment +0 -0
  37. {profound-0.1.0 → profound-0.2.0}/bin/publish-pypi +0 -0
  38. {profound-0.1.0 → profound-0.2.0}/examples/.keep +0 -0
  39. {profound-0.1.0 → profound-0.2.0}/noxfile.py +0 -0
  40. {profound-0.1.0 → profound-0.2.0}/release-please-config.json +0 -0
  41. {profound-0.1.0 → profound-0.2.0}/requirements-dev.lock +0 -0
  42. {profound-0.1.0 → profound-0.2.0}/requirements.lock +0 -0
  43. {profound-0.1.0 → profound-0.2.0}/src/profound/__init__.py +0 -0
  44. {profound-0.1.0 → profound-0.2.0}/src/profound/_base_client.py +0 -0
  45. {profound-0.1.0 → profound-0.2.0}/src/profound/_compat.py +0 -0
  46. {profound-0.1.0 → profound-0.2.0}/src/profound/_constants.py +0 -0
  47. {profound-0.1.0 → profound-0.2.0}/src/profound/_exceptions.py +0 -0
  48. {profound-0.1.0 → profound-0.2.0}/src/profound/_files.py +0 -0
  49. {profound-0.1.0 → profound-0.2.0}/src/profound/_models.py +0 -0
  50. {profound-0.1.0 → profound-0.2.0}/src/profound/_qs.py +0 -0
  51. {profound-0.1.0 → profound-0.2.0}/src/profound/_resource.py +0 -0
  52. {profound-0.1.0 → profound-0.2.0}/src/profound/_response.py +0 -0
  53. {profound-0.1.0 → profound-0.2.0}/src/profound/_streaming.py +0 -0
  54. {profound-0.1.0 → profound-0.2.0}/src/profound/_types.py +0 -0
  55. {profound-0.1.0 → profound-0.2.0}/src/profound/_utils/__init__.py +0 -0
  56. {profound-0.1.0 → profound-0.2.0}/src/profound/_utils/_compat.py +0 -0
  57. {profound-0.1.0 → profound-0.2.0}/src/profound/_utils/_datetime_parse.py +0 -0
  58. {profound-0.1.0 → profound-0.2.0}/src/profound/_utils/_logs.py +0 -0
  59. {profound-0.1.0 → profound-0.2.0}/src/profound/_utils/_proxy.py +0 -0
  60. {profound-0.1.0 → profound-0.2.0}/src/profound/_utils/_reflection.py +0 -0
  61. {profound-0.1.0 → profound-0.2.0}/src/profound/_utils/_resources_proxy.py +0 -0
  62. {profound-0.1.0 → profound-0.2.0}/src/profound/_utils/_streams.py +0 -0
  63. {profound-0.1.0 → profound-0.2.0}/src/profound/_utils/_sync.py +0 -0
  64. {profound-0.1.0 → profound-0.2.0}/src/profound/_utils/_transform.py +0 -0
  65. {profound-0.1.0 → profound-0.2.0}/src/profound/_utils/_typing.py +0 -0
  66. {profound-0.1.0 → profound-0.2.0}/src/profound/_utils/_utils.py +0 -0
  67. {profound-0.1.0 → profound-0.2.0}/src/profound/lib/.keep +0 -0
  68. {profound-0.1.0 → profound-0.2.0}/src/profound/py.typed +0 -0
  69. {profound-0.1.0 → profound-0.2.0}/src/profound/resources/__init__.py +0 -0
  70. {profound-0.1.0 → profound-0.2.0}/src/profound/resources/logs/__init__.py +0 -0
  71. {profound-0.1.0 → profound-0.2.0}/src/profound/resources/logs/logs.py +0 -0
  72. {profound-0.1.0 → profound-0.2.0}/src/profound/resources/organizations/__init__.py +0 -0
  73. {profound-0.1.0 → profound-0.2.0}/src/profound/resources/organizations/categories.py +0 -0
  74. {profound-0.1.0 → profound-0.2.0}/src/profound/resources/organizations/organizations.py +0 -0
  75. {profound-0.1.0 → profound-0.2.0}/src/profound/types/logs/__init__.py +0 -0
  76. {profound-0.1.0 → profound-0.2.0}/src/profound/types/organization_domains_response.py +0 -0
  77. {profound-0.1.0 → profound-0.2.0}/src/profound/types/organization_models_response.py +0 -0
  78. {profound-0.1.0 → profound-0.2.0}/src/profound/types/organization_regions_response.py +0 -0
  79. {profound-0.1.0 → profound-0.2.0}/src/profound/types/organizations/__init__.py +0 -0
  80. {profound-0.1.0 → profound-0.2.0}/src/profound/types/organizations/category_list_response.py +0 -0
  81. {profound-0.1.0 → profound-0.2.0}/src/profound/types/organizations/category_prompts_response.py +0 -0
  82. {profound-0.1.0 → profound-0.2.0}/src/profound/types/organizations/category_tags_response.py +0 -0
  83. {profound-0.1.0 → profound-0.2.0}/src/profound/types/organizations/category_topics_response.py +0 -0
  84. {profound-0.1.0 → profound-0.2.0}/src/profound/types/organizations/org_item.py +0 -0
  85. {profound-0.1.0 → profound-0.2.0}/src/profound/types/prompt_answers_response.py +0 -0
  86. {profound-0.1.0 → profound-0.2.0}/tests/__init__.py +0 -0
  87. {profound-0.1.0 → profound-0.2.0}/tests/api_resources/__init__.py +0 -0
  88. {profound-0.1.0 → profound-0.2.0}/tests/api_resources/logs/__init__.py +0 -0
  89. {profound-0.1.0 → profound-0.2.0}/tests/api_resources/logs/test_raw.py +0 -0
  90. {profound-0.1.0 → profound-0.2.0}/tests/api_resources/organizations/__init__.py +0 -0
  91. {profound-0.1.0 → profound-0.2.0}/tests/api_resources/organizations/test_categories.py +0 -0
  92. {profound-0.1.0 → profound-0.2.0}/tests/api_resources/test_organizations.py +0 -0
  93. {profound-0.1.0 → profound-0.2.0}/tests/api_resources/test_prompts.py +0 -0
  94. {profound-0.1.0 → profound-0.2.0}/tests/conftest.py +0 -0
  95. {profound-0.1.0 → profound-0.2.0}/tests/sample_file.txt +0 -0
  96. {profound-0.1.0 → profound-0.2.0}/tests/test_deepcopy.py +0 -0
  97. {profound-0.1.0 → profound-0.2.0}/tests/test_extract_files.py +0 -0
  98. {profound-0.1.0 → profound-0.2.0}/tests/test_files.py +0 -0
  99. {profound-0.1.0 → profound-0.2.0}/tests/test_models.py +0 -0
  100. {profound-0.1.0 → profound-0.2.0}/tests/test_qs.py +0 -0
  101. {profound-0.1.0 → profound-0.2.0}/tests/test_required_args.py +0 -0
  102. {profound-0.1.0 → profound-0.2.0}/tests/test_response.py +0 -0
  103. {profound-0.1.0 → profound-0.2.0}/tests/test_streaming.py +0 -0
  104. {profound-0.1.0 → profound-0.2.0}/tests/test_transform.py +0 -0
  105. {profound-0.1.0 → profound-0.2.0}/tests/test_utils/test_datetime_parse.py +0 -0
  106. {profound-0.1.0 → profound-0.2.0}/tests/test_utils/test_proxy.py +0 -0
  107. {profound-0.1.0 → profound-0.2.0}/tests/test_utils/test_typing.py +0 -0
  108. {profound-0.1.0 → profound-0.2.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.2.0"
3
+ }
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.0 (2025-10-08)
4
+
5
+ Full Changelog: [v0.1.0...v0.2.0](https://github.com/cooper-square-technologies/profound-python-sdk/compare/v0.1.0...v0.2.0)
6
+
7
+ ### ⚠ BREAKING CHANGES
8
+
9
+ * **api:** move Pagination to shared models
10
+ * **api:** rename reports models
11
+
12
+ ### Features
13
+
14
+ * **api:** api update ([dfc3d79](https://github.com/cooper-square-technologies/profound-python-sdk/commit/dfc3d7909d6c41534e267114514bd9b94bd0bc0a))
15
+ * **api:** manual updates ([99bf2bc](https://github.com/cooper-square-technologies/profound-python-sdk/commit/99bf2bcf8300c6bc8db63e8bfee7c9a9c4bf3bfc))
16
+ * **api:** move Pagination to shared models ([aeae55d](https://github.com/cooper-square-technologies/profound-python-sdk/commit/aeae55d2461ad5bacb206c4e887faad4a6e904fa))
17
+ * **api:** rename reports models ([435b4fb](https://github.com/cooper-square-technologies/profound-python-sdk/commit/435b4fb8f08c8e7526d58f7bc2515b9826062fc3))
18
+
3
19
  ## 0.1.0 (2025-10-03)
4
20
 
5
21
  Full Changelog: [v0.0.1...v0.1.0](https://github.com/cooper-square-technologies/profound-python-sdk/compare/v0.0.1...v0.1.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: profound
3
- Version: 0.1.0
3
+ Version: 0.2.0
4
4
  Summary: The official Python library for the profound API
5
5
  Project-URL: Homepage, https://github.com/cooper-square-technologies/profound-python-sdk
6
6
  Project-URL: Repository, https://github.com/cooper-square-technologies/profound-python-sdk
@@ -1,3 +1,9 @@
1
+ # Shared Types
2
+
3
+ ```python
4
+ from profound.types import Pagination
5
+ ```
6
+
1
7
  # Organizations
2
8
 
3
9
  Types:
@@ -42,7 +48,7 @@ Methods:
42
48
  Types:
43
49
 
44
50
  ```python
45
- from profound.types import Pagination, PromptAnswersResponse
51
+ from profound.types import PromptAnswersResponse
46
52
  ```
47
53
 
48
54
  Methods:
@@ -54,14 +60,14 @@ Methods:
54
60
  Types:
55
61
 
56
62
  ```python
57
- from profound.types import Info, Response, Result, ReportCitationsResponse
63
+ from profound.types import ReportInfo, ReportResponse, ReportResult, ReportCitationsResponse
58
64
  ```
59
65
 
60
66
  Methods:
61
67
 
62
68
  - <code title="post /v1/reports/citations">client.reports.<a href="./src/profound/resources/reports.py">citations</a>(\*\*<a href="src/profound/types/report_citations_params.py">params</a>) -> <a href="./src/profound/types/report_citations_response.py">ReportCitationsResponse</a></code>
63
- - <code title="post /v1/reports/sentiment">client.reports.<a href="./src/profound/resources/reports.py">sentiment</a>(\*\*<a href="src/profound/types/report_sentiment_params.py">params</a>) -> <a href="./src/profound/types/response.py">Response</a></code>
64
- - <code title="post /v1/reports/visibility">client.reports.<a href="./src/profound/resources/reports.py">visibility</a>(\*\*<a href="src/profound/types/report_visibility_params.py">params</a>) -> <a href="./src/profound/types/response.py">Response</a></code>
69
+ - <code title="post /v1/reports/sentiment">client.reports.<a href="./src/profound/resources/reports.py">sentiment</a>(\*\*<a href="src/profound/types/report_sentiment_params.py">params</a>) -> <a href="./src/profound/types/report_response.py">ReportResponse</a></code>
70
+ - <code title="post /v1/reports/visibility">client.reports.<a href="./src/profound/resources/reports.py">visibility</a>(\*\*<a href="src/profound/types/report_visibility_params.py">params</a>) -> <a href="./src/profound/types/report_response.py">ReportResponse</a></code>
65
71
 
66
72
  # Logs
67
73
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "profound"
3
- version = "0.1.0"
3
+ version = "0.2.0"
4
4
  description = "The official Python library for the profound API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -12,7 +12,6 @@ from . import _exceptions
12
12
  from ._qs import Querystring
13
13
  from ._types import (
14
14
  Omit,
15
- Headers,
16
15
  Timeout,
17
16
  NotGiven,
18
17
  Transport,
@@ -24,7 +23,7 @@ from ._utils import is_given, get_async_library
24
23
  from ._version import __version__
25
24
  from .resources import prompts, reports
26
25
  from ._streaming import Stream as Stream, AsyncStream as AsyncStream
27
- from ._exceptions import APIStatusError
26
+ from ._exceptions import ProfoundError, APIStatusError
28
27
  from ._base_client import (
29
28
  DEFAULT_MAX_RETRIES,
30
29
  SyncAPIClient,
@@ -54,7 +53,7 @@ class Profound(SyncAPIClient):
54
53
  with_streaming_response: ProfoundWithStreamedResponse
55
54
 
56
55
  # client options
57
- api_key: str | None
56
+ api_key: str
58
57
 
59
58
  def __init__(
60
59
  self,
@@ -85,6 +84,10 @@ class Profound(SyncAPIClient):
85
84
  """
86
85
  if api_key is None:
87
86
  api_key = os.environ.get("PROFOUND_API_KEY")
87
+ if api_key is None:
88
+ raise ProfoundError(
89
+ "The api_key client option must be set either by passing api_key to the client or by setting the PROFOUND_API_KEY environment variable"
90
+ )
88
91
  self.api_key = api_key
89
92
 
90
93
  if base_url is None:
@@ -119,8 +122,6 @@ class Profound(SyncAPIClient):
119
122
  @override
120
123
  def auth_headers(self) -> dict[str, str]:
121
124
  api_key = self.api_key
122
- if api_key is None:
123
- return {}
124
125
  return {"X-API-Key": api_key}
125
126
 
126
127
  @property
@@ -132,17 +133,6 @@ class Profound(SyncAPIClient):
132
133
  **self._custom_headers,
133
134
  }
134
135
 
135
- @override
136
- def _validate_headers(self, headers: Headers, custom_headers: Headers) -> None:
137
- if self.api_key and headers.get("X-API-Key"):
138
- return
139
- if isinstance(custom_headers.get("X-API-Key"), Omit):
140
- return
141
-
142
- raise TypeError(
143
- '"Could not resolve authentication method. Expected the api_key to be set. Or for the `X-API-Key` headers to be explicitly omitted"'
144
- )
145
-
146
136
  def copy(
147
137
  self,
148
138
  *,
@@ -237,7 +227,7 @@ class AsyncProfound(AsyncAPIClient):
237
227
  with_streaming_response: AsyncProfoundWithStreamedResponse
238
228
 
239
229
  # client options
240
- api_key: str | None
230
+ api_key: str
241
231
 
242
232
  def __init__(
243
233
  self,
@@ -268,6 +258,10 @@ class AsyncProfound(AsyncAPIClient):
268
258
  """
269
259
  if api_key is None:
270
260
  api_key = os.environ.get("PROFOUND_API_KEY")
261
+ if api_key is None:
262
+ raise ProfoundError(
263
+ "The api_key client option must be set either by passing api_key to the client or by setting the PROFOUND_API_KEY environment variable"
264
+ )
271
265
  self.api_key = api_key
272
266
 
273
267
  if base_url is None:
@@ -302,8 +296,6 @@ class AsyncProfound(AsyncAPIClient):
302
296
  @override
303
297
  def auth_headers(self) -> dict[str, str]:
304
298
  api_key = self.api_key
305
- if api_key is None:
306
- return {}
307
299
  return {"X-API-Key": api_key}
308
300
 
309
301
  @property
@@ -315,17 +307,6 @@ class AsyncProfound(AsyncAPIClient):
315
307
  **self._custom_headers,
316
308
  }
317
309
 
318
- @override
319
- def _validate_headers(self, headers: Headers, custom_headers: Headers) -> None:
320
- if self.api_key and headers.get("X-API-Key"):
321
- return
322
- if isinstance(custom_headers.get("X-API-Key"), Omit):
323
- return
324
-
325
- raise TypeError(
326
- '"Could not resolve authentication method. Expected the api_key to be set. Or for the `X-API-Key` headers to be explicitly omitted"'
327
- )
328
-
329
310
  def copy(
330
311
  self,
331
312
  *,
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "profound"
4
- __version__ = "0.1.0" # x-release-please-version
4
+ __version__ = "0.2.0" # x-release-please-version
@@ -20,9 +20,9 @@ from ..._response import (
20
20
  )
21
21
  from ...types.logs import raw_bots_params, raw_logs_params
22
22
  from ..._base_client import make_request_options
23
- from ...types.pagination_param import PaginationParam
24
23
  from ...types.logs.raw_bots_response import RawBotsResponse
25
24
  from ...types.logs.raw_logs_response import RawLogsResponse
25
+ from ...types.shared_params.pagination import Pagination
26
26
 
27
27
  __all__ = ["RawResource", "AsyncRawResource"]
28
28
 
@@ -72,7 +72,7 @@ class RawResource(SyncAPIResource):
72
72
  end_date: Union[str, datetime] | Omit = omit,
73
73
  filters: Iterable[raw_bots_params.Filter] | Omit = omit,
74
74
  order_by: Dict[str, Literal["asc", "desc"]] | Omit = omit,
75
- pagination: PaginationParam | Omit = omit,
75
+ pagination: Pagination | Omit = omit,
76
76
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
77
77
  # The extra values given here take precedence over values defined on the client or passed to this method.
78
78
  extra_headers: Headers | None = None,
@@ -171,7 +171,7 @@ class RawResource(SyncAPIResource):
171
171
  end_date: Union[str, datetime] | Omit = omit,
172
172
  filters: Iterable[raw_logs_params.Filter] | Omit = omit,
173
173
  order_by: Dict[str, Literal["asc", "desc"]] | Omit = omit,
174
- pagination: PaginationParam | Omit = omit,
174
+ pagination: Pagination | Omit = omit,
175
175
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
176
176
  # The extra values given here take precedence over values defined on the client or passed to this method.
177
177
  extra_headers: Headers | None = None,
@@ -290,7 +290,7 @@ class AsyncRawResource(AsyncAPIResource):
290
290
  end_date: Union[str, datetime] | Omit = omit,
291
291
  filters: Iterable[raw_bots_params.Filter] | Omit = omit,
292
292
  order_by: Dict[str, Literal["asc", "desc"]] | Omit = omit,
293
- pagination: PaginationParam | Omit = omit,
293
+ pagination: Pagination | Omit = omit,
294
294
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
295
295
  # The extra values given here take precedence over values defined on the client or passed to this method.
296
296
  extra_headers: Headers | None = None,
@@ -389,7 +389,7 @@ class AsyncRawResource(AsyncAPIResource):
389
389
  end_date: Union[str, datetime] | Omit = omit,
390
390
  filters: Iterable[raw_logs_params.Filter] | Omit = omit,
391
391
  order_by: Dict[str, Literal["asc", "desc"]] | Omit = omit,
392
- pagination: PaginationParam | Omit = omit,
392
+ pagination: Pagination | Omit = omit,
393
393
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
394
394
  # The extra values given here take precedence over values defined on the client or passed to this method.
395
395
  extra_headers: Headers | None = None,
@@ -19,8 +19,8 @@ from .._response import (
19
19
  async_to_streamed_response_wrapper,
20
20
  )
21
21
  from .._base_client import make_request_options
22
- from ..types.pagination_param import PaginationParam
23
22
  from ..types.prompt_answers_response import PromptAnswersResponse
23
+ from ..types.shared_params.pagination import Pagination
24
24
 
25
25
  __all__ = ["PromptsResource", "AsyncPromptsResource"]
26
26
 
@@ -53,7 +53,7 @@ class PromptsResource(SyncAPIResource):
53
53
  start_date: Union[str, datetime],
54
54
  filters: Iterable[prompt_answers_params.Filter] | Omit = omit,
55
55
  include: prompt_answers_params.Include | Omit = omit,
56
- pagination: PaginationParam | Omit = omit,
56
+ pagination: Pagination | Omit = omit,
57
57
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
58
58
  # The extra values given here take precedence over values defined on the client or passed to this method.
59
59
  extra_headers: Headers | None = None,
@@ -123,7 +123,7 @@ class AsyncPromptsResource(AsyncAPIResource):
123
123
  start_date: Union[str, datetime],
124
124
  filters: Iterable[prompt_answers_params.Filter] | Omit = omit,
125
125
  include: prompt_answers_params.Include | Omit = omit,
126
- pagination: PaginationParam | Omit = omit,
126
+ pagination: Pagination | Omit = omit,
127
127
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
128
128
  # The extra values given here take precedence over values defined on the client or passed to this method.
129
129
  extra_headers: Headers | None = None,
@@ -20,8 +20,8 @@ from .._response import (
20
20
  async_to_streamed_response_wrapper,
21
21
  )
22
22
  from .._base_client import make_request_options
23
- from ..types.response import Response
24
- from ..types.pagination_param import PaginationParam
23
+ from ..types.report_response import ReportResponse
24
+ from ..types.shared_params.pagination import Pagination
25
25
  from ..types.report_citations_response import ReportCitationsResponse
26
26
 
27
27
  __all__ = ["ReportsResource", "AsyncReportsResource"]
@@ -55,10 +55,11 @@ class ReportsResource(SyncAPIResource):
55
55
  metrics: List[Literal["count", "share_of_voice"]],
56
56
  start_date: Union[str, datetime],
57
57
  date_interval: Literal["day", "week", "month", "year"] | Omit = omit,
58
- dimensions: List[Literal["hostname", "path", "date", "region", "topic", "model", "tag"]] | Omit = omit,
58
+ dimensions: List[Literal["hostname", "path", "date", "region", "topic", "model", "tag", "prompt"]]
59
+ | Omit = omit,
59
60
  filters: Iterable[report_citations_params.Filter] | Omit = omit,
60
61
  order_by: Dict[str, Literal["asc", "desc"]] | Omit = omit,
61
- pagination: PaginationParam | Omit = omit,
62
+ pagination: Pagination | Omit = omit,
62
63
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
63
64
  # The extra values given here take precedence over values defined on the client or passed to this method.
64
65
  extra_headers: Headers | None = None,
@@ -135,17 +136,18 @@ class ReportsResource(SyncAPIResource):
135
136
  metrics: List[Literal["positive", "negative"]],
136
137
  start_date: Union[str, datetime],
137
138
  date_interval: Literal["day", "week", "month", "year"] | Omit = omit,
138
- dimensions: List[Literal["theme", "date", "region", "topic", "model", "asset_name", "tag"]] | Omit = omit,
139
+ dimensions: List[Literal["theme", "date", "region", "topic", "model", "asset_name", "tag", "prompt"]]
140
+ | Omit = omit,
139
141
  filters: Iterable[report_sentiment_params.Filter] | Omit = omit,
140
142
  order_by: Dict[str, Literal["asc", "desc"]] | Omit = omit,
141
- pagination: PaginationParam | Omit = omit,
143
+ pagination: Pagination | Omit = omit,
142
144
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
143
145
  # The extra values given here take precedence over values defined on the client or passed to this method.
144
146
  extra_headers: Headers | None = None,
145
147
  extra_query: Query | None = None,
146
148
  extra_body: Body | None = None,
147
149
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
148
- ) -> Response:
150
+ ) -> ReportResponse:
149
151
  """Get citations for a given category.
150
152
 
151
153
  Args:
@@ -204,7 +206,7 @@ class ReportsResource(SyncAPIResource):
204
206
  options=make_request_options(
205
207
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
206
208
  ),
207
- cast_to=Response,
209
+ cast_to=ReportResponse,
208
210
  )
209
211
 
210
212
  def visibility(
@@ -218,14 +220,14 @@ class ReportsResource(SyncAPIResource):
218
220
  dimensions: List[Literal["date", "region", "topic", "model", "asset_name", "prompt", "tag"]] | Omit = omit,
219
221
  filters: Iterable[report_visibility_params.Filter] | Omit = omit,
220
222
  order_by: Dict[str, Literal["asc", "desc"]] | Omit = omit,
221
- pagination: PaginationParam | Omit = omit,
223
+ pagination: Pagination | Omit = omit,
222
224
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
223
225
  # The extra values given here take precedence over values defined on the client or passed to this method.
224
226
  extra_headers: Headers | None = None,
225
227
  extra_query: Query | None = None,
226
228
  extra_body: Body | None = None,
227
229
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
228
- ) -> Response:
230
+ ) -> ReportResponse:
229
231
  """Query visibility report.
230
232
 
231
233
  Args:
@@ -284,7 +286,7 @@ class ReportsResource(SyncAPIResource):
284
286
  options=make_request_options(
285
287
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
286
288
  ),
287
- cast_to=Response,
289
+ cast_to=ReportResponse,
288
290
  )
289
291
 
290
292
 
@@ -316,10 +318,11 @@ class AsyncReportsResource(AsyncAPIResource):
316
318
  metrics: List[Literal["count", "share_of_voice"]],
317
319
  start_date: Union[str, datetime],
318
320
  date_interval: Literal["day", "week", "month", "year"] | Omit = omit,
319
- dimensions: List[Literal["hostname", "path", "date", "region", "topic", "model", "tag"]] | Omit = omit,
321
+ dimensions: List[Literal["hostname", "path", "date", "region", "topic", "model", "tag", "prompt"]]
322
+ | Omit = omit,
320
323
  filters: Iterable[report_citations_params.Filter] | Omit = omit,
321
324
  order_by: Dict[str, Literal["asc", "desc"]] | Omit = omit,
322
- pagination: PaginationParam | Omit = omit,
325
+ pagination: Pagination | Omit = omit,
323
326
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
324
327
  # The extra values given here take precedence over values defined on the client or passed to this method.
325
328
  extra_headers: Headers | None = None,
@@ -396,17 +399,18 @@ class AsyncReportsResource(AsyncAPIResource):
396
399
  metrics: List[Literal["positive", "negative"]],
397
400
  start_date: Union[str, datetime],
398
401
  date_interval: Literal["day", "week", "month", "year"] | Omit = omit,
399
- dimensions: List[Literal["theme", "date", "region", "topic", "model", "asset_name", "tag"]] | Omit = omit,
402
+ dimensions: List[Literal["theme", "date", "region", "topic", "model", "asset_name", "tag", "prompt"]]
403
+ | Omit = omit,
400
404
  filters: Iterable[report_sentiment_params.Filter] | Omit = omit,
401
405
  order_by: Dict[str, Literal["asc", "desc"]] | Omit = omit,
402
- pagination: PaginationParam | Omit = omit,
406
+ pagination: Pagination | Omit = omit,
403
407
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
404
408
  # The extra values given here take precedence over values defined on the client or passed to this method.
405
409
  extra_headers: Headers | None = None,
406
410
  extra_query: Query | None = None,
407
411
  extra_body: Body | None = None,
408
412
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
409
- ) -> Response:
413
+ ) -> ReportResponse:
410
414
  """Get citations for a given category.
411
415
 
412
416
  Args:
@@ -465,7 +469,7 @@ class AsyncReportsResource(AsyncAPIResource):
465
469
  options=make_request_options(
466
470
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
467
471
  ),
468
- cast_to=Response,
472
+ cast_to=ReportResponse,
469
473
  )
470
474
 
471
475
  async def visibility(
@@ -479,14 +483,14 @@ class AsyncReportsResource(AsyncAPIResource):
479
483
  dimensions: List[Literal["date", "region", "topic", "model", "asset_name", "prompt", "tag"]] | Omit = omit,
480
484
  filters: Iterable[report_visibility_params.Filter] | Omit = omit,
481
485
  order_by: Dict[str, Literal["asc", "desc"]] | Omit = omit,
482
- pagination: PaginationParam | Omit = omit,
486
+ pagination: Pagination | Omit = omit,
483
487
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
484
488
  # The extra values given here take precedence over values defined on the client or passed to this method.
485
489
  extra_headers: Headers | None = None,
486
490
  extra_query: Query | None = None,
487
491
  extra_body: Body | None = None,
488
492
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
489
- ) -> Response:
493
+ ) -> ReportResponse:
490
494
  """Query visibility report.
491
495
 
492
496
  Args:
@@ -545,7 +549,7 @@ class AsyncReportsResource(AsyncAPIResource):
545
549
  options=make_request_options(
546
550
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
547
551
  ),
548
- cast_to=Response,
552
+ cast_to=ReportResponse,
549
553
  )
550
554
 
551
555
 
@@ -2,10 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from .info import Info as Info
6
- from .result import Result as Result
7
- from .response import Response as Response
8
- from .pagination_param import PaginationParam as PaginationParam
5
+ from .shared import Pagination as Pagination
6
+ from .report_info import ReportInfo as ReportInfo
7
+ from .report_result import ReportResult as ReportResult
8
+ from .report_response import ReportResponse as ReportResponse
9
9
  from .prompt_answers_params import PromptAnswersParams as PromptAnswersParams
10
10
  from .prompt_answers_response import PromptAnswersResponse as PromptAnswersResponse
11
11
  from .report_citations_params import ReportCitationsParams as ReportCitationsParams
@@ -8,7 +8,7 @@ from typing_extensions import Literal, Required, Annotated, TypedDict
8
8
 
9
9
  from ..._types import SequenceNotStr
10
10
  from ..._utils import PropertyInfo
11
- from ..pagination_param import PaginationParam
11
+ from ..shared_params.pagination import Pagination
12
12
 
13
13
  __all__ = ["RawBotsParams", "Filter"]
14
14
 
@@ -70,7 +70,7 @@ class RawBotsParams(TypedDict, total=False):
70
70
  descending.
71
71
  """
72
72
 
73
- pagination: PaginationParam
73
+ pagination: Pagination
74
74
  """Pagination settings for the report results."""
75
75
 
76
76
 
@@ -5,7 +5,7 @@ from datetime import datetime
5
5
  from typing_extensions import Literal, TypeAlias
6
6
 
7
7
  from ..._models import BaseModel
8
- from ..response import Response
8
+ from ..report_response import ReportResponse
9
9
 
10
10
  __all__ = ["RawBotsResponse", "LogVisitBotList"]
11
11
 
@@ -42,4 +42,4 @@ class LogVisitBotList(BaseModel):
42
42
  referer: Optional[str] = None
43
43
 
44
44
 
45
- RawBotsResponse: TypeAlias = Union[List[LogVisitBotList], Response]
45
+ RawBotsResponse: TypeAlias = Union[List[LogVisitBotList], ReportResponse]
@@ -8,7 +8,7 @@ from typing_extensions import Literal, Required, Annotated, TypedDict
8
8
 
9
9
  from ..._types import SequenceNotStr
10
10
  from ..._utils import PropertyInfo
11
- from ..pagination_param import PaginationParam
11
+ from ..shared_params.pagination import Pagination
12
12
 
13
13
  __all__ = ["RawLogsParams", "Filter"]
14
14
 
@@ -71,7 +71,7 @@ class RawLogsParams(TypedDict, total=False):
71
71
  descending.
72
72
  """
73
73
 
74
- pagination: PaginationParam
74
+ pagination: Pagination
75
75
  """Pagination settings for the report results."""
76
76
 
77
77
 
@@ -5,7 +5,7 @@ from datetime import datetime
5
5
  from typing_extensions import TypeAlias
6
6
 
7
7
  from ..._models import BaseModel
8
- from ..response import Response
8
+ from ..report_response import ReportResponse
9
9
 
10
10
  __all__ = ["RawLogsResponse", "LogVisitList"]
11
11
 
@@ -36,4 +36,4 @@ class LogVisitList(BaseModel):
36
36
  referer: Optional[str] = None
37
37
 
38
38
 
39
- RawLogsResponse: TypeAlias = Union[List[LogVisitList], Response]
39
+ RawLogsResponse: TypeAlias = Union[List[LogVisitList], ReportResponse]
@@ -8,7 +8,7 @@ from typing_extensions import Literal, Required, Annotated, TypedDict
8
8
 
9
9
  from .._types import SequenceNotStr
10
10
  from .._utils import PropertyInfo
11
- from .pagination_param import PaginationParam
11
+ from .shared_params.pagination import Pagination
12
12
 
13
13
  __all__ = ["PromptAnswersParams", "Filter", "Include"]
14
14
 
@@ -24,7 +24,7 @@ class PromptAnswersParams(TypedDict, total=False):
24
24
 
25
25
  include: Include
26
26
 
27
- pagination: PaginationParam
27
+ pagination: Pagination
28
28
  """Pagination parameters for the results. Default is 10,000 rows with no offset."""
29
29
 
30
30
 
@@ -8,7 +8,7 @@ from typing_extensions import Literal, Required, Annotated, TypedDict
8
8
 
9
9
  from .._types import SequenceNotStr
10
10
  from .._utils import PropertyInfo
11
- from .pagination_param import PaginationParam
11
+ from .shared_params.pagination import Pagination
12
12
 
13
13
  __all__ = ["ReportCitationsParams", "Filter"]
14
14
 
@@ -33,7 +33,7 @@ class ReportCitationsParams(TypedDict, total=False):
33
33
  date_interval: Literal["day", "week", "month", "year"]
34
34
  """Date interval for the report. (only used with date dimension)"""
35
35
 
36
- dimensions: List[Literal["hostname", "path", "date", "region", "topic", "model", "tag"]]
36
+ dimensions: List[Literal["hostname", "path", "date", "region", "topic", "model", "tag", "prompt"]]
37
37
  """Dimensions to group the report by."""
38
38
 
39
39
  filters: Iterable[Filter]
@@ -55,7 +55,7 @@ class ReportCitationsParams(TypedDict, total=False):
55
55
  descending.
56
56
  """
57
57
 
58
- pagination: PaginationParam
58
+ pagination: Pagination
59
59
  """Pagination settings for the report results."""
60
60
 
61
61
 
@@ -2,15 +2,15 @@
2
2
 
3
3
  from typing import List
4
4
 
5
- from .info import Info
6
- from .result import Result
7
5
  from .._models import BaseModel
6
+ from .report_info import ReportInfo
7
+ from .report_result import ReportResult
8
8
 
9
9
  __all__ = ["ReportCitationsResponse"]
10
10
 
11
11
 
12
12
  class ReportCitationsResponse(BaseModel):
13
- data: List[Result]
13
+ data: List[ReportResult]
14
14
 
15
- info: Info
15
+ info: ReportInfo
16
16
  """Base model for report information."""
@@ -4,10 +4,10 @@ from typing import Dict, Optional
4
4
 
5
5
  from .._models import BaseModel
6
6
 
7
- __all__ = ["Info"]
7
+ __all__ = ["ReportInfo"]
8
8
 
9
9
 
10
- class Info(BaseModel):
10
+ class ReportInfo(BaseModel):
11
11
  total_rows: int
12
12
 
13
13
  query: Optional[Dict[str, object]] = None
@@ -2,15 +2,15 @@
2
2
 
3
3
  from typing import List
4
4
 
5
- from .info import Info
6
- from .result import Result
7
5
  from .._models import BaseModel
6
+ from .report_info import ReportInfo
7
+ from .report_result import ReportResult
8
8
 
9
- __all__ = ["Response"]
9
+ __all__ = ["ReportResponse"]
10
10
 
11
11
 
12
- class Response(BaseModel):
13
- data: List[Result]
12
+ class ReportResponse(BaseModel):
13
+ data: List[ReportResult]
14
14
 
15
- info: Info
15
+ info: ReportInfo
16
16
  """Base model for report information."""
@@ -4,10 +4,10 @@ from typing import List
4
4
 
5
5
  from .._models import BaseModel
6
6
 
7
- __all__ = ["Result"]
7
+ __all__ = ["ReportResult"]
8
8
 
9
9
 
10
- class Result(BaseModel):
10
+ class ReportResult(BaseModel):
11
11
  dimensions: List[str]
12
12
 
13
13
  metrics: List[float]
@@ -8,7 +8,7 @@ from typing_extensions import Literal, Required, Annotated, TypedDict
8
8
 
9
9
  from .._types import SequenceNotStr
10
10
  from .._utils import PropertyInfo
11
- from .pagination_param import PaginationParam
11
+ from .shared_params.pagination import Pagination
12
12
 
13
13
  __all__ = ["ReportSentimentParams", "Filter"]
14
14
 
@@ -33,7 +33,7 @@ class ReportSentimentParams(TypedDict, total=False):
33
33
  date_interval: Literal["day", "week", "month", "year"]
34
34
  """Date interval for the report. (only used with date dimension)"""
35
35
 
36
- dimensions: List[Literal["theme", "date", "region", "topic", "model", "asset_name", "tag"]]
36
+ dimensions: List[Literal["theme", "date", "region", "topic", "model", "asset_name", "tag", "prompt"]]
37
37
  """Dimensions to group the report by."""
38
38
 
39
39
  filters: Iterable[Filter]
@@ -55,7 +55,7 @@ class ReportSentimentParams(TypedDict, total=False):
55
55
  descending.
56
56
  """
57
57
 
58
- pagination: PaginationParam
58
+ pagination: Pagination
59
59
  """Pagination settings for the report results."""
60
60
 
61
61