Skip to content

Commit 9dd6570

Browse files
committed
ci: regenerated with OpenAPI Doc 0.1.0, Speakeay CLI 0.10.5
1 parent 9dd676e commit 9dd6570

File tree

4 files changed

+58
-41
lines changed

4 files changed

+58
-41
lines changed

gen.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
management:
22
openapi-checksum: 46093b002f359f8049d6b8210be2bc73
33
openapi-version: 0.1.0
4-
speakeasy-version: 0.10.2
4+
speakeasy-version: 0.10.5
55
python:
66
author: Speakeasy
77
description: Speakeasy API Client SDK for Python
88
packagename: speakeasy-client-sdk-python
9-
version: 0.3.10
9+
version: 0.3.11

setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
setuptools.setup(
1010
name="speakeasy-client-sdk-python",
11-
version="0.3.9",
11+
version="0.3.10",
1212
author="Speakeasy",
1313
description="Speakeasy API Client SDK for Python",
1414
long_description=long_description,

src/sdk/sdk.py

+46-33
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,31 @@
1212

1313
class SDK:
1414
r"""SDK Documentation: https://docs.speakeasyapi.dev - The Speakeasy Platform Documentation"""
15-
client = requests.Session()
15+
client: requests.Session
16+
security_client: requests.Session
17+
security: shared.Security
1618
server_url = SERVERS[0]
1719

20+
def __init__(self) -> None:
21+
self.client = requests.Session()
22+
self.security_client = requests.Session()
23+
1824
def config_server_url(self, server_url: str, params: dict[str, str]):
1925
if not params is None:
2026
self.server_url = utils.replace_parameters(server_url, params)
2127
else:
2228
self.server_url = server_url
29+
30+
def config_client(self, client: requests.Session):
31+
self.client = client
32+
33+
if self.security is not None:
34+
self.security_client = utils.configure_security_client(self.client, self.security)
2335

2436

2537
def config_security(self, security: shared.Security):
26-
self.client = utils.configure_security_client(security)
38+
self.security = security
39+
self.security_client = utils.configure_security_client(self.client, security)
2740

2841

2942
def delete_api(self, request: operations.DeleteAPIRequest) -> operations.DeleteAPIResponse:
@@ -36,7 +49,7 @@ def delete_api(self, request: operations.DeleteAPIRequest) -> operations.DeleteA
3649
url = utils.generate_url(base_url, "/v1/apis/{apiID}/version/{versionID}", request.path_params)
3750

3851

39-
client = self.client
52+
client = self.security_client
4053

4154
r = client.request("DELETE", url)
4255
content_type = r.headers.get("Content-Type")
@@ -63,7 +76,7 @@ def delete_api_endpoint(self, request: operations.DeleteAPIEndpointRequest) -> o
6376
url = utils.generate_url(base_url, "/v1/apis/{apiID}/version/{versionID}/api_endpoints/{apiEndpointID}", request.path_params)
6477

6578

66-
client = self.client
79+
client = self.security_client
6780

6881
r = client.request("DELETE", url)
6982
content_type = r.headers.get("Content-Type")
@@ -89,7 +102,7 @@ def delete_schema(self, request: operations.DeleteSchemaRequest) -> operations.D
89102
url = utils.generate_url(base_url, "/v1/apis/{apiID}/version/{versionID}/schema/{revisionID}", request.path_params)
90103

91104

92-
client = self.client
105+
client = self.security_client
93106

94107
r = client.request("DELETE", url)
95108
content_type = r.headers.get("Content-Type")
@@ -115,7 +128,7 @@ def delete_version_metadata(self, request: operations.DeleteVersionMetadataReque
115128
url = utils.generate_url(base_url, "/v1/apis/{apiID}/version/{versionID}/metadata/{metaKey}/{metaValue}", request.path_params)
116129

117130

118-
client = self.client
131+
client = self.security_client
119132

120133
r = client.request("DELETE", url)
121134
content_type = r.headers.get("Content-Type")
@@ -141,7 +154,7 @@ def download_schema(self, request: operations.DownloadSchemaRequest) -> operatio
141154
url = utils.generate_url(base_url, "/v1/apis/{apiID}/version/{versionID}/schema/download", request.path_params)
142155

143156

144-
client = self.client
157+
client = self.security_client
145158

146159
r = client.request("GET", url)
147160
content_type = r.headers.get("Content-Type")
@@ -171,7 +184,7 @@ def download_schema_revision(self, request: operations.DownloadSchemaRevisionReq
171184
url = utils.generate_url(base_url, "/v1/apis/{apiID}/version/{versionID}/schema/{revisionID}/download", request.path_params)
172185

173186

174-
client = self.client
187+
client = self.security_client
175188

176189
r = client.request("GET", url)
177190
content_type = r.headers.get("Content-Type")
@@ -203,7 +216,7 @@ def find_api_endpoint(self, request: operations.FindAPIEndpointRequest) -> opera
203216
url = utils.generate_url(base_url, "/v1/apis/{apiID}/version/{versionID}/api_endpoints/find/{displayName}", request.path_params)
204217

205218

206-
client = self.client
219+
client = self.security_client
207220

208221
r = client.request("GET", url)
209222
content_type = r.headers.get("Content-Type")
@@ -233,7 +246,7 @@ def generate_open_api_spec(self, request: operations.GenerateOpenAPISpecRequest)
233246
url = utils.generate_url(base_url, "/v1/apis/{apiID}/version/{versionID}/generate/openapi", request.path_params)
234247

235248

236-
client = self.client
249+
client = self.security_client
237250

238251
r = client.request("GET", url)
239252
content_type = r.headers.get("Content-Type")
@@ -263,7 +276,7 @@ def generate_open_api_spec_for_api_endpoint(self, request: operations.GenerateOp
263276
url = utils.generate_url(base_url, "/v1/apis/{apiID}/version/{versionID}/api_endpoints/{apiEndpointID}/generate/openapi", request.path_params)
264277

265278

266-
client = self.client
279+
client = self.security_client
267280

268281
r = client.request("GET", url)
269282
content_type = r.headers.get("Content-Type")
@@ -292,7 +305,7 @@ def generate_postman_collection(self, request: operations.GeneratePostmanCollect
292305
url = utils.generate_url(base_url, "/v1/apis/{apiID}/version/{versionID}/generate/postman", request.path_params)
293306

294307

295-
client = self.client
308+
client = self.security_client
296309

297310
r = client.request("GET", url)
298311
content_type = r.headers.get("Content-Type")
@@ -321,7 +334,7 @@ def generate_postman_collection_for_api_endpoint(self, request: operations.Gener
321334
url = utils.generate_url(base_url, "/v1/apis/{apiID}/version/{versionID}/api_endpoints/{apiEndpointID}/generate/postman", request.path_params)
322335

323336

324-
client = self.client
337+
client = self.security_client
325338

326339
r = client.request("GET", url)
327340
content_type = r.headers.get("Content-Type")
@@ -351,7 +364,7 @@ def generate_request_postman_collection(self, request: operations.GenerateReques
351364
url = utils.generate_url(base_url, "/v1/eventlog/{requestID}/generate/postman", request.path_params)
352365

353366

354-
client = self.client
367+
client = self.security_client
355368

356369
r = client.request("GET", url)
357370
content_type = r.headers.get("Content-Type")
@@ -379,7 +392,7 @@ def get_all_api_endpoints(self, request: operations.GetAllAPIEndpointsRequest) -
379392
url = utils.generate_url(base_url, "/v1/apis/{apiID}/api_endpoints", request.path_params)
380393

381394

382-
client = self.client
395+
client = self.security_client
383396

384397
r = client.request("GET", url)
385398
content_type = r.headers.get("Content-Type")
@@ -410,7 +423,7 @@ def get_all_api_versions(self, request: operations.GetAllAPIVersionsRequest) ->
410423

411424
query_params = utils.get_query_params(request.query_params)
412425

413-
client = self.client
426+
client = self.security_client
414427

415428
r = client.request("GET", url, params=query_params)
416429
content_type = r.headers.get("Content-Type")
@@ -438,7 +451,7 @@ def get_all_for_version_api_endpoints(self, request: operations.GetAllForVersion
438451
url = utils.generate_url(base_url, "/v1/apis/{apiID}/version/{versionID}/api_endpoints", request.path_params)
439452

440453

441-
client = self.client
454+
client = self.security_client
442455

443456
r = client.request("GET", url)
444457
content_type = r.headers.get("Content-Type")
@@ -466,7 +479,7 @@ def get_api_endpoint(self, request: operations.GetAPIEndpointRequest) -> operati
466479
url = utils.generate_url(base_url, "/v1/apis/{apiID}/version/{versionID}/api_endpoints/{apiEndpointID}", request.path_params)
467480

468481

469-
client = self.client
482+
client = self.security_client
470483

471484
r = client.request("GET", url)
472485
content_type = r.headers.get("Content-Type")
@@ -497,7 +510,7 @@ def get_apis(self, request: operations.GetApisRequest) -> operations.GetApisResp
497510

498511
query_params = utils.get_query_params(request.query_params)
499512

500-
client = self.client
513+
client = self.security_client
501514

502515
r = client.request("GET", url, params=query_params)
503516
content_type = r.headers.get("Content-Type")
@@ -528,7 +541,7 @@ def get_embed_access_token(self, request: operations.GetEmbedAccessTokenRequest)
528541

529542
query_params = utils.get_query_params(request.query_params)
530543

531-
client = self.client
544+
client = self.security_client
532545

533546
r = client.request("GET", url, params=query_params)
534547
content_type = r.headers.get("Content-Type")
@@ -556,7 +569,7 @@ def get_request_from_event_log(self, request: operations.GetRequestFromEventLogR
556569
url = utils.generate_url(base_url, "/v1/eventlog/{requestID}", request.path_params)
557570

558571

559-
client = self.client
572+
client = self.security_client
560573

561574
r = client.request("GET", url)
562575
content_type = r.headers.get("Content-Type")
@@ -586,7 +599,7 @@ def get_schema(self, request: operations.GetSchemaRequest) -> operations.GetSche
586599
url = utils.generate_url(base_url, "/v1/apis/{apiID}/version/{versionID}/schema", request.path_params)
587600

588601

589-
client = self.client
602+
client = self.security_client
590603

591604
r = client.request("GET", url)
592605
content_type = r.headers.get("Content-Type")
@@ -614,7 +627,7 @@ def get_schema_diff(self, request: operations.GetSchemaDiffRequest) -> operation
614627
url = utils.generate_url(base_url, "/v1/apis/{apiID}/version/{versionID}/schema/{baseRevisionID}/diff/{targetRevisionID}", request.path_params)
615628

616629

617-
client = self.client
630+
client = self.security_client
618631

619632
r = client.request("GET", url)
620633
content_type = r.headers.get("Content-Type")
@@ -644,7 +657,7 @@ def get_schema_revision(self, request: operations.GetSchemaRevisionRequest) -> o
644657
url = utils.generate_url(base_url, "/v1/apis/{apiID}/version/{versionID}/schema/{revisionID}", request.path_params)
645658

646659

647-
client = self.client
660+
client = self.security_client
648661

649662
r = client.request("GET", url)
650663
content_type = r.headers.get("Content-Type")
@@ -674,7 +687,7 @@ def get_schemas(self, request: operations.GetSchemasRequest) -> operations.GetSc
674687
url = utils.generate_url(base_url, "/v1/apis/{apiID}/version/{versionID}/schemas", request.path_params)
675688

676689

677-
client = self.client
690+
client = self.security_client
678691

679692
r = client.request("GET", url)
680693
content_type = r.headers.get("Content-Type")
@@ -702,7 +715,7 @@ def get_valid_embed_access_tokens(self) -> operations.GetValidEmbedAccessTokensR
702715
url = base_url.removesuffix("/") + "/v1/workspace/embed-access-tokens/valid"
703716

704717

705-
client = self.client
718+
client = self.security_client
706719

707720
r = client.request("GET", url)
708721
content_type = r.headers.get("Content-Type")
@@ -730,7 +743,7 @@ def get_version_metadata(self, request: operations.GetVersionMetadataRequest) ->
730743
url = utils.generate_url(base_url, "/v1/apis/{apiID}/version/{versionID}/metadata", request.path_params)
731744

732745

733-
client = self.client
746+
client = self.security_client
734747

735748
r = client.request("GET", url)
736749
content_type = r.headers.get("Content-Type")
@@ -764,7 +777,7 @@ def insert_version_metadata(self, request: operations.InsertVersionMetadataReque
764777
if data is None and form is None:
765778
raise Exception('request body is required')
766779

767-
client = self.client
780+
client = self.security_client
768781

769782
r = client.request("POST", url, data=data, files=form, headers=headers)
770783
content_type = r.headers.get("Content-Type")
@@ -795,7 +808,7 @@ def query_event_log(self, request: operations.QueryEventLogRequest) -> operation
795808

796809
query_params = utils.get_query_params(request.query_params)
797810

798-
client = self.client
811+
client = self.security_client
799812

800813
r = client.request("GET", url, params=query_params)
801814
content_type = r.headers.get("Content-Type")
@@ -831,7 +844,7 @@ def register_schema(self, request: operations.RegisterSchemaRequest) -> operatio
831844
if data is None and form is None:
832845
raise Exception('request body is required')
833846

834-
client = self.client
847+
client = self.security_client
835848

836849
r = client.request("POST", url, data=data, files=form, headers=headers)
837850
content_type = r.headers.get("Content-Type")
@@ -857,7 +870,7 @@ def revoke_embed_access_token(self, request: operations.RevokeEmbedAccessTokenRe
857870
url = utils.generate_url(base_url, "/v1/workspace/embed-access-tokens/{tokenID}", request.path_params)
858871

859872

860-
client = self.client
873+
client = self.security_client
861874

862875
r = client.request("DELETE", url)
863876
content_type = r.headers.get("Content-Type")
@@ -891,7 +904,7 @@ def upsert_api(self, request: operations.UpsertAPIRequest) -> operations.UpsertA
891904
if data is None and form is None:
892905
raise Exception('request body is required')
893906

894-
client = self.client
907+
client = self.security_client
895908

896909
r = client.request("PUT", url, data=data, files=form, headers=headers)
897910
content_type = r.headers.get("Content-Type")
@@ -926,7 +939,7 @@ def upsert_api_endpoint(self, request: operations.UpsertAPIEndpointRequest) -> o
926939
if data is None and form is None:
927940
raise Exception('request body is required')
928941

929-
client = self.client
942+
client = self.security_client
930943

931944
r = client.request("PUT", url, data=data, files=form, headers=headers)
932945
content_type = r.headers.get("Content-Type")

src/sdk/utils/utils.py

+9-5
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,29 @@
33
import json
44
import re
55
from dataclasses import Field, dataclass, fields, is_dataclass, make_dataclass
6-
from typing import Callable, List, Tuple, Union, get_origin, get_args
6+
from typing import Callable, List, Tuple, Union, get_args, get_origin
77
from xmlrpc.client import boolean
88

99
import requests
1010
from dataclasses_json import DataClassJsonMixin
1111

1212

1313
class SecurityClient:
14-
client: requests.Session = requests.Session()
14+
client: requests.Session
1515
query_params: dict[str, str] = {}
1616

17+
def __init__(self, client: requests.Session):
18+
self.client = client
19+
1720
def request(self, method, url, **kwargs):
1821
params = kwargs.get('params', {})
1922
kwargs["params"] = self.query_params | params
2023

2124
return self.client.request(method, url, **kwargs)
2225

2326

24-
def configure_security_client(security: dataclass):
25-
client = SecurityClient()
27+
def configure_security_client(client: requests.Session, security: dataclass):
28+
client = SecurityClient(client)
2629

2730
sec_fields: Tuple[Field, ...] = fields(security)
2831
for sec_field in sec_fields:
@@ -110,7 +113,8 @@ def generate_url(server_url: str, path: str, path_params: dataclass) -> str:
110113
'{' + param_metadata.get('field_name', f.name) + '}', ",".join(pp_vals), 1)
111114
elif not isinstance(param, (str, int, float, complex, bool)):
112115
pp_vals: list[str] = []
113-
attrs: list[str] = [p for p in dir(param) if not p.startswith('__') and not callable(getattr(param, p))]
116+
attrs: list[str] = [p for p in dir(param) if not p.startswith(
117+
'__') and not callable(getattr(param, p))]
114118
for attr in attrs:
115119
field: Field = _get_field_from_attr(param, attr)
116120
param_field_val = getattr(param, attr)

0 commit comments

Comments
 (0)