pulse-python-sdk 0.0.58__tar.gz → 0.0.59__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.
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/PKG-INFO +7 -3
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/README.md +6 -2
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/pyproject.toml +1 -1
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/client.py +30 -6
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/core/client_wrapper.py +9 -4
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/jobs/client.py +12 -4
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/webhooks/client.py +6 -2
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/__init__.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/core/__init__.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/core/api_error.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/core/datetime_utils.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/core/file.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/core/force_multipart.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/core/http_client.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/core/http_response.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/core/http_sse/__init__.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/core/http_sse/_api.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/core/http_sse/_decoders.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/core/http_sse/_exceptions.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/core/http_sse/_models.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/core/jsonable_encoder.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/core/pydantic_utilities.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/core/query_encoder.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/core/remove_none_from_dict.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/core/request_options.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/core/serialization.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/core/unchecked_base_model.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/environment.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/errors/__init__.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/errors/bad_request_error.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/errors/forbidden_error.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/errors/internal_server_error.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/errors/not_found_error.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/errors/too_many_requests_error.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/errors/unauthorized_error.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/jobs/__init__.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/jobs/raw_client.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/py.typed +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/raw_client.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/__init__.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_async_request_experimental_schema.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_async_request_schema.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_async_request_storage.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_async_request_structured_output.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_async_response.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_async_submission_response_status.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_input.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_input_experimental_schema.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_input_schema.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_input_storage.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_input_structured_output.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_options.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_options_experimental_schema.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_options_schema.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_options_storage.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_options_structured_output.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_request_experimental_schema.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_request_schema.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_request_storage.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_request_structured_output.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_response.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_source.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/job_cancellation_response.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/job_status.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/job_status_response.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/version.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/webhooks/__init__.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/webhooks/raw_client.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/webhooks/types/__init__.py +0 -0
- {pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/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.
|
|
3
|
+
Version: 0.0.59
|
|
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:
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
import os
|
|
5
6
|
import typing
|
|
6
7
|
|
|
7
8
|
import httpx
|
|
8
9
|
from . import core
|
|
10
|
+
from .core.api_error import ApiError
|
|
9
11
|
from .core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
10
12
|
from .core.request_options import RequestOptions
|
|
11
13
|
from .environment import PulseEnvironment
|
|
@@ -46,6 +48,7 @@ class Pulse:
|
|
|
46
48
|
|
|
47
49
|
|
|
48
50
|
|
|
51
|
+
api_key : typing.Optional[str]
|
|
49
52
|
headers : typing.Optional[typing.Dict[str, str]]
|
|
50
53
|
Additional headers to send with every request.
|
|
51
54
|
|
|
@@ -62,7 +65,9 @@ class Pulse:
|
|
|
62
65
|
--------
|
|
63
66
|
from pulse import Pulse
|
|
64
67
|
|
|
65
|
-
client = Pulse(
|
|
68
|
+
client = Pulse(
|
|
69
|
+
api_key="YOUR_API_KEY",
|
|
70
|
+
)
|
|
66
71
|
"""
|
|
67
72
|
|
|
68
73
|
def __init__(
|
|
@@ -70,6 +75,7 @@ class Pulse:
|
|
|
70
75
|
*,
|
|
71
76
|
base_url: typing.Optional[str] = None,
|
|
72
77
|
environment: PulseEnvironment = PulseEnvironment.DEFAULT,
|
|
78
|
+
api_key: typing.Optional[str] = os.getenv("PULSE_API_KEY"),
|
|
73
79
|
headers: typing.Optional[typing.Dict[str, str]] = None,
|
|
74
80
|
timeout: typing.Optional[float] = None,
|
|
75
81
|
follow_redirects: typing.Optional[bool] = True,
|
|
@@ -78,8 +84,11 @@ class Pulse:
|
|
|
78
84
|
_defaulted_timeout = (
|
|
79
85
|
timeout if timeout is not None else 60 if httpx_client is None else httpx_client.timeout.read
|
|
80
86
|
)
|
|
87
|
+
if api_key is None:
|
|
88
|
+
raise ApiError(body="The client must be instantiated be either passing in api_key or setting PULSE_API_KEY")
|
|
81
89
|
self._client_wrapper = SyncClientWrapper(
|
|
82
90
|
base_url=_get_base_url(base_url=base_url, environment=environment),
|
|
91
|
+
api_key=api_key,
|
|
83
92
|
headers=headers,
|
|
84
93
|
httpx_client=httpx_client
|
|
85
94
|
if httpx_client is not None
|
|
@@ -187,7 +196,9 @@ class Pulse:
|
|
|
187
196
|
--------
|
|
188
197
|
from pulse import Pulse
|
|
189
198
|
|
|
190
|
-
client = Pulse(
|
|
199
|
+
client = Pulse(
|
|
200
|
+
api_key="YOUR_API_KEY",
|
|
201
|
+
)
|
|
191
202
|
client.extract()
|
|
192
203
|
"""
|
|
193
204
|
_response = self._raw_client.extract(
|
|
@@ -294,7 +305,9 @@ class Pulse:
|
|
|
294
305
|
--------
|
|
295
306
|
from pulse import Pulse
|
|
296
307
|
|
|
297
|
-
client = Pulse(
|
|
308
|
+
client = Pulse(
|
|
309
|
+
api_key="YOUR_API_KEY",
|
|
310
|
+
)
|
|
298
311
|
client.extract_async()
|
|
299
312
|
"""
|
|
300
313
|
_response = self._raw_client.extract_async(
|
|
@@ -352,6 +365,7 @@ class AsyncPulse:
|
|
|
352
365
|
|
|
353
366
|
|
|
354
367
|
|
|
368
|
+
api_key : typing.Optional[str]
|
|
355
369
|
headers : typing.Optional[typing.Dict[str, str]]
|
|
356
370
|
Additional headers to send with every request.
|
|
357
371
|
|
|
@@ -368,7 +382,9 @@ class AsyncPulse:
|
|
|
368
382
|
--------
|
|
369
383
|
from pulse import AsyncPulse
|
|
370
384
|
|
|
371
|
-
client = AsyncPulse(
|
|
385
|
+
client = AsyncPulse(
|
|
386
|
+
api_key="YOUR_API_KEY",
|
|
387
|
+
)
|
|
372
388
|
"""
|
|
373
389
|
|
|
374
390
|
def __init__(
|
|
@@ -376,6 +392,7 @@ class AsyncPulse:
|
|
|
376
392
|
*,
|
|
377
393
|
base_url: typing.Optional[str] = None,
|
|
378
394
|
environment: PulseEnvironment = PulseEnvironment.DEFAULT,
|
|
395
|
+
api_key: typing.Optional[str] = os.getenv("PULSE_API_KEY"),
|
|
379
396
|
headers: typing.Optional[typing.Dict[str, str]] = None,
|
|
380
397
|
timeout: typing.Optional[float] = None,
|
|
381
398
|
follow_redirects: typing.Optional[bool] = True,
|
|
@@ -384,8 +401,11 @@ class AsyncPulse:
|
|
|
384
401
|
_defaulted_timeout = (
|
|
385
402
|
timeout if timeout is not None else 60 if httpx_client is None else httpx_client.timeout.read
|
|
386
403
|
)
|
|
404
|
+
if api_key is None:
|
|
405
|
+
raise ApiError(body="The client must be instantiated be either passing in api_key or setting PULSE_API_KEY")
|
|
387
406
|
self._client_wrapper = AsyncClientWrapper(
|
|
388
407
|
base_url=_get_base_url(base_url=base_url, environment=environment),
|
|
408
|
+
api_key=api_key,
|
|
389
409
|
headers=headers,
|
|
390
410
|
httpx_client=httpx_client
|
|
391
411
|
if httpx_client is not None
|
|
@@ -495,7 +515,9 @@ class AsyncPulse:
|
|
|
495
515
|
|
|
496
516
|
from pulse import AsyncPulse
|
|
497
517
|
|
|
498
|
-
client = AsyncPulse(
|
|
518
|
+
client = AsyncPulse(
|
|
519
|
+
api_key="YOUR_API_KEY",
|
|
520
|
+
)
|
|
499
521
|
|
|
500
522
|
|
|
501
523
|
async def main() -> None:
|
|
@@ -610,7 +632,9 @@ class AsyncPulse:
|
|
|
610
632
|
|
|
611
633
|
from pulse import AsyncPulse
|
|
612
634
|
|
|
613
|
-
client = AsyncPulse(
|
|
635
|
+
client = AsyncPulse(
|
|
636
|
+
api_key="YOUR_API_KEY",
|
|
637
|
+
)
|
|
614
638
|
|
|
615
639
|
|
|
616
640
|
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.
|
|
25
|
+
"User-Agent": "pulse-python-sdk/0.0.59",
|
|
24
26
|
"X-Fern-Language": "Python",
|
|
25
27
|
"X-Fern-SDK-Name": "pulse-python-sdk",
|
|
26
|
-
"X-Fern-SDK-Version": "0.0.
|
|
28
|
+
"X-Fern-SDK-Version": "0.0.59",
|
|
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:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/errors/internal_server_error.py
RENAMED
|
File without changes
|
|
File without changes
|
{pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/errors/too_many_requests_error.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_async_request_schema.py
RENAMED
|
File without changes
|
{pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_async_request_storage.py
RENAMED
|
File without changes
|
|
File without changes
|
{pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_async_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_input_storage.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_options_schema.py
RENAMED
|
File without changes
|
{pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_options_storage.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_request_schema.py
RENAMED
|
File without changes
|
{pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/extract_request_storage.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulse_python_sdk-0.0.58 → pulse_python_sdk-0.0.59}/src/pulse/types/job_cancellation_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|