pulse-python-sdk 0.0.58__tar.gz → 0.0.60__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.
Files changed (70) hide show
  1. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/PKG-INFO +7 -3
  2. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/README.md +6 -2
  3. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/pyproject.toml +1 -1
  4. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/client.py +24 -6
  5. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/core/client_wrapper.py +9 -4
  6. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/jobs/client.py +12 -4
  7. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/webhooks/client.py +6 -2
  8. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/__init__.py +0 -0
  9. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/core/__init__.py +0 -0
  10. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/core/api_error.py +0 -0
  11. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/core/datetime_utils.py +0 -0
  12. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/core/file.py +0 -0
  13. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/core/force_multipart.py +0 -0
  14. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/core/http_client.py +0 -0
  15. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/core/http_response.py +0 -0
  16. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/core/http_sse/__init__.py +0 -0
  17. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/core/http_sse/_api.py +0 -0
  18. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/core/http_sse/_decoders.py +0 -0
  19. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/core/http_sse/_exceptions.py +0 -0
  20. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/core/http_sse/_models.py +0 -0
  21. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/core/jsonable_encoder.py +0 -0
  22. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/core/pydantic_utilities.py +0 -0
  23. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/core/query_encoder.py +0 -0
  24. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/core/remove_none_from_dict.py +0 -0
  25. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/core/request_options.py +0 -0
  26. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/core/serialization.py +0 -0
  27. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/core/unchecked_base_model.py +0 -0
  28. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/environment.py +0 -0
  29. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/errors/__init__.py +0 -0
  30. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/errors/bad_request_error.py +0 -0
  31. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/errors/forbidden_error.py +0 -0
  32. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/errors/internal_server_error.py +0 -0
  33. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/errors/not_found_error.py +0 -0
  34. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/errors/too_many_requests_error.py +0 -0
  35. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/errors/unauthorized_error.py +0 -0
  36. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/jobs/__init__.py +0 -0
  37. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/jobs/raw_client.py +0 -0
  38. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/py.typed +0 -0
  39. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/raw_client.py +0 -0
  40. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/__init__.py +0 -0
  41. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_async_request_experimental_schema.py +0 -0
  42. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_async_request_schema.py +0 -0
  43. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_async_request_storage.py +0 -0
  44. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_async_request_structured_output.py +0 -0
  45. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_async_response.py +0 -0
  46. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_async_submission_response_status.py +0 -0
  47. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_input.py +0 -0
  48. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_input_experimental_schema.py +0 -0
  49. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_input_schema.py +0 -0
  50. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_input_storage.py +0 -0
  51. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_input_structured_output.py +0 -0
  52. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_options.py +0 -0
  53. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_options_experimental_schema.py +0 -0
  54. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_options_schema.py +0 -0
  55. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_options_storage.py +0 -0
  56. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_options_structured_output.py +0 -0
  57. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_request_experimental_schema.py +0 -0
  58. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_request_schema.py +0 -0
  59. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_request_storage.py +0 -0
  60. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_request_structured_output.py +0 -0
  61. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_response.py +0 -0
  62. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/extract_source.py +0 -0
  63. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/job_cancellation_response.py +0 -0
  64. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/job_status.py +0 -0
  65. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/types/job_status_response.py +0 -0
  66. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/version.py +0 -0
  67. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/webhooks/__init__.py +0 -0
  68. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/webhooks/raw_client.py +0 -0
  69. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/webhooks/types/__init__.py +0 -0
  70. {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.60}/src/pulse/webhooks/types/create_webhook_link_response.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pulse-python-sdk
3
- Version: 0.0.58
3
+ Version: 0.0.60
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -63,7 +63,9 @@ Instantiate and use the client with the following:
63
63
  ```python
64
64
  from pulse import Pulse
65
65
 
66
- client = Pulse()
66
+ client = Pulse(
67
+ api_key="YOUR_API_KEY",
68
+ )
67
69
  client.extract()
68
70
  ```
69
71
 
@@ -76,7 +78,9 @@ import asyncio
76
78
 
77
79
  from pulse import AsyncPulse
78
80
 
79
- client = AsyncPulse()
81
+ client = AsyncPulse(
82
+ api_key="YOUR_API_KEY",
83
+ )
80
84
 
81
85
 
82
86
  async def main() -> None:
@@ -36,7 +36,9 @@ Instantiate and use the client with the following:
36
36
  ```python
37
37
  from pulse import Pulse
38
38
 
39
- client = Pulse()
39
+ client = Pulse(
40
+ api_key="YOUR_API_KEY",
41
+ )
40
42
  client.extract()
41
43
  ```
42
44
 
@@ -49,7 +51,9 @@ import asyncio
49
51
 
50
52
  from pulse import AsyncPulse
51
53
 
52
- client = AsyncPulse()
54
+ client = AsyncPulse(
55
+ api_key="YOUR_API_KEY",
56
+ )
53
57
 
54
58
 
55
59
  async def main() -> None:
@@ -4,7 +4,7 @@ dynamic = ["version"]
4
4
 
5
5
  [tool.poetry]
6
6
  name = "pulse-python-sdk"
7
- version = "0.0.58"
7
+ version = "0.0.60"
8
8
  description = ""
9
9
  readme = "README.md"
10
10
  authors = []
@@ -46,6 +46,7 @@ class Pulse:
46
46
 
47
47
 
48
48
 
49
+ api_key : str
49
50
  headers : typing.Optional[typing.Dict[str, str]]
50
51
  Additional headers to send with every request.
51
52
 
@@ -62,7 +63,9 @@ class Pulse:
62
63
  --------
63
64
  from pulse import Pulse
64
65
 
65
- client = Pulse()
66
+ client = Pulse(
67
+ api_key="YOUR_API_KEY",
68
+ )
66
69
  """
67
70
 
68
71
  def __init__(
@@ -70,6 +73,7 @@ class Pulse:
70
73
  *,
71
74
  base_url: typing.Optional[str] = None,
72
75
  environment: PulseEnvironment = PulseEnvironment.DEFAULT,
76
+ api_key: str,
73
77
  headers: typing.Optional[typing.Dict[str, str]] = None,
74
78
  timeout: typing.Optional[float] = None,
75
79
  follow_redirects: typing.Optional[bool] = True,
@@ -80,6 +84,7 @@ class Pulse:
80
84
  )
81
85
  self._client_wrapper = SyncClientWrapper(
82
86
  base_url=_get_base_url(base_url=base_url, environment=environment),
87
+ api_key=api_key,
83
88
  headers=headers,
84
89
  httpx_client=httpx_client
85
90
  if httpx_client is not None
@@ -187,7 +192,9 @@ class Pulse:
187
192
  --------
188
193
  from pulse import Pulse
189
194
 
190
- client = Pulse()
195
+ client = Pulse(
196
+ api_key="YOUR_API_KEY",
197
+ )
191
198
  client.extract()
192
199
  """
193
200
  _response = self._raw_client.extract(
@@ -294,7 +301,9 @@ class Pulse:
294
301
  --------
295
302
  from pulse import Pulse
296
303
 
297
- client = Pulse()
304
+ client = Pulse(
305
+ api_key="YOUR_API_KEY",
306
+ )
298
307
  client.extract_async()
299
308
  """
300
309
  _response = self._raw_client.extract_async(
@@ -352,6 +361,7 @@ class AsyncPulse:
352
361
 
353
362
 
354
363
 
364
+ api_key : str
355
365
  headers : typing.Optional[typing.Dict[str, str]]
356
366
  Additional headers to send with every request.
357
367
 
@@ -368,7 +378,9 @@ class AsyncPulse:
368
378
  --------
369
379
  from pulse import AsyncPulse
370
380
 
371
- client = AsyncPulse()
381
+ client = AsyncPulse(
382
+ api_key="YOUR_API_KEY",
383
+ )
372
384
  """
373
385
 
374
386
  def __init__(
@@ -376,6 +388,7 @@ class AsyncPulse:
376
388
  *,
377
389
  base_url: typing.Optional[str] = None,
378
390
  environment: PulseEnvironment = PulseEnvironment.DEFAULT,
391
+ api_key: str,
379
392
  headers: typing.Optional[typing.Dict[str, str]] = None,
380
393
  timeout: typing.Optional[float] = None,
381
394
  follow_redirects: typing.Optional[bool] = True,
@@ -386,6 +399,7 @@ class AsyncPulse:
386
399
  )
387
400
  self._client_wrapper = AsyncClientWrapper(
388
401
  base_url=_get_base_url(base_url=base_url, environment=environment),
402
+ api_key=api_key,
389
403
  headers=headers,
390
404
  httpx_client=httpx_client
391
405
  if httpx_client is not None
@@ -495,7 +509,9 @@ class AsyncPulse:
495
509
 
496
510
  from pulse import AsyncPulse
497
511
 
498
- client = AsyncPulse()
512
+ client = AsyncPulse(
513
+ api_key="YOUR_API_KEY",
514
+ )
499
515
 
500
516
 
501
517
  async def main() -> None:
@@ -610,7 +626,9 @@ class AsyncPulse:
610
626
 
611
627
  from pulse import AsyncPulse
612
628
 
613
- client = AsyncPulse()
629
+ client = AsyncPulse(
630
+ api_key="YOUR_API_KEY",
631
+ )
614
632
 
615
633
 
616
634
  async def main() -> None:
@@ -10,22 +10,25 @@ class BaseClientWrapper:
10
10
  def __init__(
11
11
  self,
12
12
  *,
13
+ api_key: str,
13
14
  headers: typing.Optional[typing.Dict[str, str]] = None,
14
15
  base_url: str,
15
16
  timeout: typing.Optional[float] = None,
16
17
  ):
18
+ self.api_key = api_key
17
19
  self._headers = headers
18
20
  self._base_url = base_url
19
21
  self._timeout = timeout
20
22
 
21
23
  def get_headers(self) -> typing.Dict[str, str]:
22
24
  headers: typing.Dict[str, str] = {
23
- "User-Agent": "pulse-python-sdk/0.0.58",
25
+ "User-Agent": "pulse-python-sdk/0.0.60",
24
26
  "X-Fern-Language": "Python",
25
27
  "X-Fern-SDK-Name": "pulse-python-sdk",
26
- "X-Fern-SDK-Version": "0.0.58",
28
+ "X-Fern-SDK-Version": "0.0.60",
27
29
  **(self.get_custom_headers() or {}),
28
30
  }
31
+ headers["X_API_KEY"] = self.api_key
29
32
  return headers
30
33
 
31
34
  def get_custom_headers(self) -> typing.Optional[typing.Dict[str, str]]:
@@ -42,12 +45,13 @@ class SyncClientWrapper(BaseClientWrapper):
42
45
  def __init__(
43
46
  self,
44
47
  *,
48
+ api_key: str,
45
49
  headers: typing.Optional[typing.Dict[str, str]] = None,
46
50
  base_url: str,
47
51
  timeout: typing.Optional[float] = None,
48
52
  httpx_client: httpx.Client,
49
53
  ):
50
- super().__init__(headers=headers, base_url=base_url, timeout=timeout)
54
+ super().__init__(api_key=api_key, headers=headers, base_url=base_url, timeout=timeout)
51
55
  self.httpx_client = HttpClient(
52
56
  httpx_client=httpx_client,
53
57
  base_headers=self.get_headers,
@@ -60,13 +64,14 @@ class AsyncClientWrapper(BaseClientWrapper):
60
64
  def __init__(
61
65
  self,
62
66
  *,
67
+ api_key: str,
63
68
  headers: typing.Optional[typing.Dict[str, str]] = None,
64
69
  base_url: str,
65
70
  timeout: typing.Optional[float] = None,
66
71
  async_token: typing.Optional[typing.Callable[[], typing.Awaitable[str]]] = None,
67
72
  httpx_client: httpx.AsyncClient,
68
73
  ):
69
- super().__init__(headers=headers, base_url=base_url, timeout=timeout)
74
+ super().__init__(api_key=api_key, headers=headers, base_url=base_url, timeout=timeout)
70
75
  self._async_token = async_token
71
76
  self.httpx_client = AsyncHttpClient(
72
77
  httpx_client=httpx_client,
@@ -46,7 +46,9 @@ class JobsClient:
46
46
  --------
47
47
  from pulse import Pulse
48
48
 
49
- client = Pulse()
49
+ client = Pulse(
50
+ api_key="YOUR_API_KEY",
51
+ )
50
52
  client.jobs.get_job(
51
53
  job_id="jobId",
52
54
  )
@@ -78,7 +80,9 @@ class JobsClient:
78
80
  --------
79
81
  from pulse import Pulse
80
82
 
81
- client = Pulse()
83
+ client = Pulse(
84
+ api_key="YOUR_API_KEY",
85
+ )
82
86
  client.jobs.cancel_job(
83
87
  job_id="jobId",
84
88
  )
@@ -128,7 +132,9 @@ class AsyncJobsClient:
128
132
 
129
133
  from pulse import AsyncPulse
130
134
 
131
- client = AsyncPulse()
135
+ client = AsyncPulse(
136
+ api_key="YOUR_API_KEY",
137
+ )
132
138
 
133
139
 
134
140
  async def main() -> None:
@@ -168,7 +174,9 @@ class AsyncJobsClient:
168
174
 
169
175
  from pulse import AsyncPulse
170
176
 
171
- client = AsyncPulse()
177
+ client = AsyncPulse(
178
+ api_key="YOUR_API_KEY",
179
+ )
172
180
 
173
181
 
174
182
  async def main() -> None:
@@ -43,7 +43,9 @@ class WebhooksClient:
43
43
  --------
44
44
  from pulse import Pulse
45
45
 
46
- client = Pulse()
46
+ client = Pulse(
47
+ api_key="YOUR_API_KEY",
48
+ )
47
49
  client.webhooks.create_webhook_link()
48
50
  """
49
51
  _response = self._raw_client.create_webhook_link(request_options=request_options)
@@ -87,7 +89,9 @@ class AsyncWebhooksClient:
87
89
 
88
90
  from pulse import AsyncPulse
89
91
 
90
- client = AsyncPulse()
92
+ client = AsyncPulse(
93
+ api_key="YOUR_API_KEY",
94
+ )
91
95
 
92
96
 
93
97
  async def main() -> None: