nimble_python 0.17.0__py3-none-any.whl → 0.18.0__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.
nimble_python/_client.py CHANGED
@@ -61,11 +61,14 @@ from .types.extract_async_response import ExtractAsyncResponse
61
61
  from .types.extract_batch_response import ExtractBatchResponse
62
62
 
63
63
  if TYPE_CHECKING:
64
- from .resources import agent, crawl, tasks, batches
64
+ from .resources import serp, agent, crawl, media, tasks, batches, domain_knowledge
65
+ from .resources.serp import SerpResource, AsyncSerpResource
65
66
  from .resources.agent import AgentResource, AsyncAgentResource
66
67
  from .resources.crawl import CrawlResource, AsyncCrawlResource
68
+ from .resources.media import MediaResource, AsyncMediaResource
67
69
  from .resources.tasks import TasksResource, AsyncTasksResource
68
70
  from .resources.batches import BatchesResource, AsyncBatchesResource
71
+ from .resources.domain_knowledge import DomainKnowledgeResource, AsyncDomainKnowledgeResource
69
72
 
70
73
  __all__ = ["Timeout", "Transport", "ProxiesTypes", "RequestOptions", "Nimble", "AsyncNimble", "Client", "AsyncClient"]
71
74
 
@@ -162,6 +165,24 @@ class Nimble(SyncAPIClient):
162
165
 
163
166
  return BatchesResource(self)
164
167
 
168
+ @cached_property
169
+ def domain_knowledge(self) -> DomainKnowledgeResource:
170
+ from .resources.domain_knowledge import DomainKnowledgeResource
171
+
172
+ return DomainKnowledgeResource(self)
173
+
174
+ @cached_property
175
+ def media(self) -> MediaResource:
176
+ from .resources.media import MediaResource
177
+
178
+ return MediaResource(self)
179
+
180
+ @cached_property
181
+ def serp(self) -> SerpResource:
182
+ from .resources.serp import SerpResource
183
+
184
+ return SerpResource(self)
185
+
165
186
  @cached_property
166
187
  def with_raw_response(self) -> NimbleWithRawResponse:
167
188
  return NimbleWithRawResponse(self)
@@ -3394,6 +3415,24 @@ class AsyncNimble(AsyncAPIClient):
3394
3415
 
3395
3416
  return AsyncBatchesResource(self)
3396
3417
 
3418
+ @cached_property
3419
+ def domain_knowledge(self) -> AsyncDomainKnowledgeResource:
3420
+ from .resources.domain_knowledge import AsyncDomainKnowledgeResource
3421
+
3422
+ return AsyncDomainKnowledgeResource(self)
3423
+
3424
+ @cached_property
3425
+ def media(self) -> AsyncMediaResource:
3426
+ from .resources.media import AsyncMediaResource
3427
+
3428
+ return AsyncMediaResource(self)
3429
+
3430
+ @cached_property
3431
+ def serp(self) -> AsyncSerpResource:
3432
+ from .resources.serp import AsyncSerpResource
3433
+
3434
+ return AsyncSerpResource(self)
3435
+
3397
3436
  @cached_property
3398
3437
  def with_raw_response(self) -> AsyncNimbleWithRawResponse:
3399
3438
  return AsyncNimbleWithRawResponse(self)
@@ -6580,6 +6619,24 @@ class NimbleWithRawResponse:
6580
6619
 
6581
6620
  return BatchesResourceWithRawResponse(self._client.batches)
6582
6621
 
6622
+ @cached_property
6623
+ def domain_knowledge(self) -> domain_knowledge.DomainKnowledgeResourceWithRawResponse:
6624
+ from .resources.domain_knowledge import DomainKnowledgeResourceWithRawResponse
6625
+
6626
+ return DomainKnowledgeResourceWithRawResponse(self._client.domain_knowledge)
6627
+
6628
+ @cached_property
6629
+ def media(self) -> media.MediaResourceWithRawResponse:
6630
+ from .resources.media import MediaResourceWithRawResponse
6631
+
6632
+ return MediaResourceWithRawResponse(self._client.media)
6633
+
6634
+ @cached_property
6635
+ def serp(self) -> serp.SerpResourceWithRawResponse:
6636
+ from .resources.serp import SerpResourceWithRawResponse
6637
+
6638
+ return SerpResourceWithRawResponse(self._client.serp)
6639
+
6583
6640
 
6584
6641
  class AsyncNimbleWithRawResponse:
6585
6642
  _client: AsyncNimble
@@ -6627,6 +6684,24 @@ class AsyncNimbleWithRawResponse:
6627
6684
 
6628
6685
  return AsyncBatchesResourceWithRawResponse(self._client.batches)
6629
6686
 
6687
+ @cached_property
6688
+ def domain_knowledge(self) -> domain_knowledge.AsyncDomainKnowledgeResourceWithRawResponse:
6689
+ from .resources.domain_knowledge import AsyncDomainKnowledgeResourceWithRawResponse
6690
+
6691
+ return AsyncDomainKnowledgeResourceWithRawResponse(self._client.domain_knowledge)
6692
+
6693
+ @cached_property
6694
+ def media(self) -> media.AsyncMediaResourceWithRawResponse:
6695
+ from .resources.media import AsyncMediaResourceWithRawResponse
6696
+
6697
+ return AsyncMediaResourceWithRawResponse(self._client.media)
6698
+
6699
+ @cached_property
6700
+ def serp(self) -> serp.AsyncSerpResourceWithRawResponse:
6701
+ from .resources.serp import AsyncSerpResourceWithRawResponse
6702
+
6703
+ return AsyncSerpResourceWithRawResponse(self._client.serp)
6704
+
6630
6705
 
6631
6706
  class NimbleWithStreamedResponse:
6632
6707
  _client: Nimble
@@ -6674,6 +6749,24 @@ class NimbleWithStreamedResponse:
6674
6749
 
6675
6750
  return BatchesResourceWithStreamingResponse(self._client.batches)
6676
6751
 
6752
+ @cached_property
6753
+ def domain_knowledge(self) -> domain_knowledge.DomainKnowledgeResourceWithStreamingResponse:
6754
+ from .resources.domain_knowledge import DomainKnowledgeResourceWithStreamingResponse
6755
+
6756
+ return DomainKnowledgeResourceWithStreamingResponse(self._client.domain_knowledge)
6757
+
6758
+ @cached_property
6759
+ def media(self) -> media.MediaResourceWithStreamingResponse:
6760
+ from .resources.media import MediaResourceWithStreamingResponse
6761
+
6762
+ return MediaResourceWithStreamingResponse(self._client.media)
6763
+
6764
+ @cached_property
6765
+ def serp(self) -> serp.SerpResourceWithStreamingResponse:
6766
+ from .resources.serp import SerpResourceWithStreamingResponse
6767
+
6768
+ return SerpResourceWithStreamingResponse(self._client.serp)
6769
+
6677
6770
 
6678
6771
  class AsyncNimbleWithStreamedResponse:
6679
6772
  _client: AsyncNimble
@@ -6721,6 +6814,24 @@ class AsyncNimbleWithStreamedResponse:
6721
6814
 
6722
6815
  return AsyncBatchesResourceWithStreamingResponse(self._client.batches)
6723
6816
 
6817
+ @cached_property
6818
+ def domain_knowledge(self) -> domain_knowledge.AsyncDomainKnowledgeResourceWithStreamingResponse:
6819
+ from .resources.domain_knowledge import AsyncDomainKnowledgeResourceWithStreamingResponse
6820
+
6821
+ return AsyncDomainKnowledgeResourceWithStreamingResponse(self._client.domain_knowledge)
6822
+
6823
+ @cached_property
6824
+ def media(self) -> media.AsyncMediaResourceWithStreamingResponse:
6825
+ from .resources.media import AsyncMediaResourceWithStreamingResponse
6826
+
6827
+ return AsyncMediaResourceWithStreamingResponse(self._client.media)
6828
+
6829
+ @cached_property
6830
+ def serp(self) -> serp.AsyncSerpResourceWithStreamingResponse:
6831
+ from .resources.serp import AsyncSerpResourceWithStreamingResponse
6832
+
6833
+ return AsyncSerpResourceWithStreamingResponse(self._client.serp)
6834
+
6724
6835
 
6725
6836
  Client = Nimble
6726
6837
 
nimble_python/_files.py CHANGED
@@ -99,7 +99,7 @@ async def async_to_httpx_files(files: RequestFiles | None) -> HttpxRequestFiles
99
99
  elif is_sequence_t(files):
100
100
  files = [(key, await _async_transform_file(file)) for key, file in files]
101
101
  else:
102
- raise TypeError("Unexpected file type input {type(files)}, expected mapping or sequence")
102
+ raise TypeError(f"Unexpected file type input {type(files)}, expected mapping or sequence")
103
103
 
104
104
  return files
105
105
 
nimble_python/_version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "nimble_python"
4
- __version__ = "0.17.0" # x-release-please-version
4
+ __version__ = "0.18.0" # x-release-please-version
@@ -1,5 +1,13 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ from .serp import (
4
+ SerpResource,
5
+ AsyncSerpResource,
6
+ SerpResourceWithRawResponse,
7
+ AsyncSerpResourceWithRawResponse,
8
+ SerpResourceWithStreamingResponse,
9
+ AsyncSerpResourceWithStreamingResponse,
10
+ )
3
11
  from .agent import (
4
12
  AgentResource,
5
13
  AsyncAgentResource,
@@ -16,6 +24,14 @@ from .crawl import (
16
24
  CrawlResourceWithStreamingResponse,
17
25
  AsyncCrawlResourceWithStreamingResponse,
18
26
  )
27
+ from .media import (
28
+ MediaResource,
29
+ AsyncMediaResource,
30
+ MediaResourceWithRawResponse,
31
+ AsyncMediaResourceWithRawResponse,
32
+ MediaResourceWithStreamingResponse,
33
+ AsyncMediaResourceWithStreamingResponse,
34
+ )
19
35
  from .tasks import (
20
36
  TasksResource,
21
37
  AsyncTasksResource,
@@ -32,6 +48,14 @@ from .batches import (
32
48
  BatchesResourceWithStreamingResponse,
33
49
  AsyncBatchesResourceWithStreamingResponse,
34
50
  )
51
+ from .domain_knowledge import (
52
+ DomainKnowledgeResource,
53
+ AsyncDomainKnowledgeResource,
54
+ DomainKnowledgeResourceWithRawResponse,
55
+ AsyncDomainKnowledgeResourceWithRawResponse,
56
+ DomainKnowledgeResourceWithStreamingResponse,
57
+ AsyncDomainKnowledgeResourceWithStreamingResponse,
58
+ )
35
59
 
36
60
  __all__ = [
37
61
  "AgentResource",
@@ -58,4 +82,22 @@ __all__ = [
58
82
  "AsyncBatchesResourceWithRawResponse",
59
83
  "BatchesResourceWithStreamingResponse",
60
84
  "AsyncBatchesResourceWithStreamingResponse",
85
+ "DomainKnowledgeResource",
86
+ "AsyncDomainKnowledgeResource",
87
+ "DomainKnowledgeResourceWithRawResponse",
88
+ "AsyncDomainKnowledgeResourceWithRawResponse",
89
+ "DomainKnowledgeResourceWithStreamingResponse",
90
+ "AsyncDomainKnowledgeResourceWithStreamingResponse",
91
+ "MediaResource",
92
+ "AsyncMediaResource",
93
+ "MediaResourceWithRawResponse",
94
+ "AsyncMediaResourceWithRawResponse",
95
+ "MediaResourceWithStreamingResponse",
96
+ "AsyncMediaResourceWithStreamingResponse",
97
+ "SerpResource",
98
+ "AsyncSerpResource",
99
+ "SerpResourceWithRawResponse",
100
+ "AsyncSerpResourceWithRawResponse",
101
+ "SerpResourceWithStreamingResponse",
102
+ "AsyncSerpResourceWithStreamingResponse",
61
103
  ]
@@ -0,0 +1,195 @@
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 domain_knowledge_get_driver_params
8
+ from .._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
9
+ from .._utils import maybe_transform, async_maybe_transform
10
+ from .._compat import cached_property
11
+ from .._resource import SyncAPIResource, AsyncAPIResource
12
+ from .._response import (
13
+ to_raw_response_wrapper,
14
+ to_streamed_response_wrapper,
15
+ async_to_raw_response_wrapper,
16
+ async_to_streamed_response_wrapper,
17
+ )
18
+ from .._base_client import make_request_options
19
+ from ..types.domain_knowledge_get_driver_response import DomainKnowledgeGetDriverResponse
20
+
21
+ __all__ = ["DomainKnowledgeResource", "AsyncDomainKnowledgeResource"]
22
+
23
+
24
+ class DomainKnowledgeResource(SyncAPIResource):
25
+ @cached_property
26
+ def with_raw_response(self) -> DomainKnowledgeResourceWithRawResponse:
27
+ """
28
+ This property can be used as a prefix for any HTTP method call to return
29
+ the raw response object instead of the parsed content.
30
+
31
+ For more information, see https://www.github.com/Nimbleway/nimble-python#accessing-raw-response-data-eg-headers
32
+ """
33
+ return DomainKnowledgeResourceWithRawResponse(self)
34
+
35
+ @cached_property
36
+ def with_streaming_response(self) -> DomainKnowledgeResourceWithStreamingResponse:
37
+ """
38
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
39
+
40
+ For more information, see https://www.github.com/Nimbleway/nimble-python#with_streaming_response
41
+ """
42
+ return DomainKnowledgeResourceWithStreamingResponse(self)
43
+
44
+ def get_driver(
45
+ self,
46
+ *,
47
+ agent: str | Omit = omit,
48
+ url: str | Omit = omit,
49
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
50
+ # The extra values given here take precedence over values defined on the client or passed to this method.
51
+ extra_headers: Headers | None = None,
52
+ extra_query: Query | None = None,
53
+ extra_body: Body | None = None,
54
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
55
+ ) -> DomainKnowledgeGetDriverResponse:
56
+ """Resolves the suggested driver for a given URL or agent name.
57
+
58
+ Exactly one of
59
+ `url` or `agent` must be provided.
60
+
61
+ Args:
62
+ agent: Agent name to resolve driver for (e.g. nimble-ecommerce).
63
+
64
+ url: Target domain to resolve driver for (e.g. amazon.com).
65
+
66
+ extra_headers: Send extra headers
67
+
68
+ extra_query: Add additional query parameters to the request
69
+
70
+ extra_body: Add additional JSON properties to the request
71
+
72
+ timeout: Override the client-level default timeout for this request, in seconds
73
+ """
74
+ return self._get(
75
+ "/v1/domain-knowledge/driver",
76
+ options=make_request_options(
77
+ extra_headers=extra_headers,
78
+ extra_query=extra_query,
79
+ extra_body=extra_body,
80
+ timeout=timeout,
81
+ query=maybe_transform(
82
+ {
83
+ "agent": agent,
84
+ "url": url,
85
+ },
86
+ domain_knowledge_get_driver_params.DomainKnowledgeGetDriverParams,
87
+ ),
88
+ ),
89
+ cast_to=DomainKnowledgeGetDriverResponse,
90
+ )
91
+
92
+
93
+ class AsyncDomainKnowledgeResource(AsyncAPIResource):
94
+ @cached_property
95
+ def with_raw_response(self) -> AsyncDomainKnowledgeResourceWithRawResponse:
96
+ """
97
+ This property can be used as a prefix for any HTTP method call to return
98
+ the raw response object instead of the parsed content.
99
+
100
+ For more information, see https://www.github.com/Nimbleway/nimble-python#accessing-raw-response-data-eg-headers
101
+ """
102
+ return AsyncDomainKnowledgeResourceWithRawResponse(self)
103
+
104
+ @cached_property
105
+ def with_streaming_response(self) -> AsyncDomainKnowledgeResourceWithStreamingResponse:
106
+ """
107
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
108
+
109
+ For more information, see https://www.github.com/Nimbleway/nimble-python#with_streaming_response
110
+ """
111
+ return AsyncDomainKnowledgeResourceWithStreamingResponse(self)
112
+
113
+ async def get_driver(
114
+ self,
115
+ *,
116
+ agent: str | Omit = omit,
117
+ url: str | Omit = omit,
118
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
119
+ # The extra values given here take precedence over values defined on the client or passed to this method.
120
+ extra_headers: Headers | None = None,
121
+ extra_query: Query | None = None,
122
+ extra_body: Body | None = None,
123
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
124
+ ) -> DomainKnowledgeGetDriverResponse:
125
+ """Resolves the suggested driver for a given URL or agent name.
126
+
127
+ Exactly one of
128
+ `url` or `agent` must be provided.
129
+
130
+ Args:
131
+ agent: Agent name to resolve driver for (e.g. nimble-ecommerce).
132
+
133
+ url: Target domain to resolve driver for (e.g. amazon.com).
134
+
135
+ extra_headers: Send extra headers
136
+
137
+ extra_query: Add additional query parameters to the request
138
+
139
+ extra_body: Add additional JSON properties to the request
140
+
141
+ timeout: Override the client-level default timeout for this request, in seconds
142
+ """
143
+ return await self._get(
144
+ "/v1/domain-knowledge/driver",
145
+ options=make_request_options(
146
+ extra_headers=extra_headers,
147
+ extra_query=extra_query,
148
+ extra_body=extra_body,
149
+ timeout=timeout,
150
+ query=await async_maybe_transform(
151
+ {
152
+ "agent": agent,
153
+ "url": url,
154
+ },
155
+ domain_knowledge_get_driver_params.DomainKnowledgeGetDriverParams,
156
+ ),
157
+ ),
158
+ cast_to=DomainKnowledgeGetDriverResponse,
159
+ )
160
+
161
+
162
+ class DomainKnowledgeResourceWithRawResponse:
163
+ def __init__(self, domain_knowledge: DomainKnowledgeResource) -> None:
164
+ self._domain_knowledge = domain_knowledge
165
+
166
+ self.get_driver = to_raw_response_wrapper(
167
+ domain_knowledge.get_driver,
168
+ )
169
+
170
+
171
+ class AsyncDomainKnowledgeResourceWithRawResponse:
172
+ def __init__(self, domain_knowledge: AsyncDomainKnowledgeResource) -> None:
173
+ self._domain_knowledge = domain_knowledge
174
+
175
+ self.get_driver = async_to_raw_response_wrapper(
176
+ domain_knowledge.get_driver,
177
+ )
178
+
179
+
180
+ class DomainKnowledgeResourceWithStreamingResponse:
181
+ def __init__(self, domain_knowledge: DomainKnowledgeResource) -> None:
182
+ self._domain_knowledge = domain_knowledge
183
+
184
+ self.get_driver = to_streamed_response_wrapper(
185
+ domain_knowledge.get_driver,
186
+ )
187
+
188
+
189
+ class AsyncDomainKnowledgeResourceWithStreamingResponse:
190
+ def __init__(self, domain_knowledge: AsyncDomainKnowledgeResource) -> None:
191
+ self._domain_knowledge = domain_knowledge
192
+
193
+ self.get_driver = async_to_streamed_response_wrapper(
194
+ domain_knowledge.get_driver,
195
+ )