Skip to content

Commit bc9e57f

Browse files
Merge pull request #2652 from tamird/prototype/dependency-free-sync-generator
Remove third-party lazy imports from the Python client
2 parents fb257ff + e54a0fa commit bc9e57f

8 files changed

Lines changed: 2563 additions & 1737 deletions

File tree

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
Requested Commit/Tag : v7.24.0
2-
Actual Commit : 203d48678a3f51fc1e3bfe4f7257603530791ebb
1+
Requested Commit/Tag : 830e9d156960bb7f51a5337f31636a7e73226474
2+
Actual Commit : 830e9d156960bb7f51a5337f31636a7e73226474
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
7.24.0
1+
7.25.0-SNAPSHOT

kubernetes/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ This Python package is automatically generated by the [OpenAPI Generator](https:
55

66
- API version: release-1.36
77
- Package version: 36.0.0+snapshot
8-
- Generator version: 7.24.0
8+
- Generator version: 7.25.0-SNAPSHOT
99
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
1010

1111
## Requirements.

kubernetes/client/__init__.py

Lines changed: 856 additions & 863 deletions
Large diffs are not rendered by default.

kubernetes/client/api/__init__.py

Lines changed: 147 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,76 @@
11
# flake8: noqa
22

3-
if __import__("typing").TYPE_CHECKING:
3+
__all__ = [
4+
"WellKnownApi",
5+
"AdmissionregistrationApi",
6+
"AdmissionregistrationV1Api",
7+
"AdmissionregistrationV1alpha1Api",
8+
"AdmissionregistrationV1beta1Api",
9+
"ApiextensionsApi",
10+
"ApiextensionsV1Api",
11+
"ApiregistrationApi",
12+
"ApiregistrationV1Api",
13+
"ApisApi",
14+
"AppsApi",
15+
"AppsV1Api",
16+
"AuthenticationApi",
17+
"AuthenticationV1Api",
18+
"AuthorizationApi",
19+
"AuthorizationV1Api",
20+
"AutoscalingApi",
21+
"AutoscalingV1Api",
22+
"AutoscalingV2Api",
23+
"BatchApi",
24+
"BatchV1Api",
25+
"CertificatesApi",
26+
"CertificatesV1Api",
27+
"CertificatesV1alpha1Api",
28+
"CertificatesV1beta1Api",
29+
"CoordinationApi",
30+
"CoordinationV1Api",
31+
"CoordinationV1alpha2Api",
32+
"CoordinationV1beta1Api",
33+
"CoreApi",
34+
"CoreV1Api",
35+
"CustomObjectsApi",
36+
"DiscoveryApi",
37+
"DiscoveryV1Api",
38+
"EventsApi",
39+
"EventsV1Api",
40+
"FlowcontrolApiserverApi",
41+
"FlowcontrolApiserverV1Api",
42+
"InternalApiserverApi",
43+
"InternalApiserverV1alpha1Api",
44+
"LogsApi",
45+
"NetworkingApi",
46+
"NetworkingV1Api",
47+
"NetworkingV1beta1Api",
48+
"NodeApi",
49+
"NodeV1Api",
50+
"OpenidApi",
51+
"PolicyApi",
52+
"PolicyV1Api",
53+
"RbacAuthorizationApi",
54+
"RbacAuthorizationV1Api",
55+
"ResourceApi",
56+
"ResourceV1Api",
57+
"ResourceV1alpha3Api",
58+
"ResourceV1beta1Api",
59+
"ResourceV1beta2Api",
60+
"SchedulingApi",
61+
"SchedulingV1Api",
62+
"SchedulingV1alpha2Api",
63+
"StorageApi",
64+
"StorageV1Api",
65+
"StorageV1beta1Api",
66+
"StoragemigrationApi",
67+
"StoragemigrationV1beta1Api",
68+
"VersionApi",
69+
]
70+
71+
import typing as _typing
72+
73+
if _typing.TYPE_CHECKING:
474
# import apis into api package
575
from kubernetes.client.api.well_known_api import WellKnownApi
676
from kubernetes.client.api.admissionregistration_api import AdmissionregistrationApi
@@ -69,85 +139,82 @@
69139
from kubernetes.client.api.version_api import VersionApi
70140

71141
else:
72-
from lazy_imports import LazyModule, as_package, load
142+
from importlib import import_module
73143

74-
load(
75-
LazyModule(
76-
*as_package(__file__),
77-
"""# import apis into api package
78-
from kubernetes.client.api.well_known_api import WellKnownApi
79-
from kubernetes.client.api.admissionregistration_api import AdmissionregistrationApi
80-
from kubernetes.client.api.admissionregistration_v1_api import AdmissionregistrationV1Api
81-
from kubernetes.client.api.admissionregistration_v1alpha1_api import AdmissionregistrationV1alpha1Api
82-
from kubernetes.client.api.admissionregistration_v1beta1_api import AdmissionregistrationV1beta1Api
83-
from kubernetes.client.api.apiextensions_api import ApiextensionsApi
84-
from kubernetes.client.api.apiextensions_v1_api import ApiextensionsV1Api
85-
from kubernetes.client.api.apiregistration_api import ApiregistrationApi
86-
from kubernetes.client.api.apiregistration_v1_api import ApiregistrationV1Api
87-
from kubernetes.client.api.apis_api import ApisApi
88-
from kubernetes.client.api.apps_api import AppsApi
89-
from kubernetes.client.api.apps_v1_api import AppsV1Api
90-
from kubernetes.client.api.authentication_api import AuthenticationApi
91-
from kubernetes.client.api.authentication_v1_api import AuthenticationV1Api
92-
from kubernetes.client.api.authorization_api import AuthorizationApi
93-
from kubernetes.client.api.authorization_v1_api import AuthorizationV1Api
94-
from kubernetes.client.api.autoscaling_api import AutoscalingApi
95-
from kubernetes.client.api.autoscaling_v1_api import AutoscalingV1Api
96-
from kubernetes.client.api.autoscaling_v2_api import AutoscalingV2Api
97-
from kubernetes.client.api.batch_api import BatchApi
98-
from kubernetes.client.api.batch_v1_api import BatchV1Api
99-
from kubernetes.client.api.certificates_api import CertificatesApi
100-
from kubernetes.client.api.certificates_v1_api import CertificatesV1Api
101-
from kubernetes.client.api.certificates_v1alpha1_api import CertificatesV1alpha1Api
102-
from kubernetes.client.api.certificates_v1beta1_api import CertificatesV1beta1Api
103-
from kubernetes.client.api.coordination_api import CoordinationApi
104-
from kubernetes.client.api.coordination_v1_api import CoordinationV1Api
105-
from kubernetes.client.api.coordination_v1alpha2_api import CoordinationV1alpha2Api
106-
from kubernetes.client.api.coordination_v1beta1_api import CoordinationV1beta1Api
107-
from kubernetes.client.api.core_api import CoreApi
108-
from kubernetes.client.api.core_v1_api import CoreV1Api
109-
from kubernetes.client.api.custom_objects_api import CustomObjectsApi
110-
from kubernetes.client.api.discovery_api import DiscoveryApi
111-
from kubernetes.client.api.discovery_v1_api import DiscoveryV1Api
112-
from kubernetes.client.api.events_api import EventsApi
113-
from kubernetes.client.api.events_v1_api import EventsV1Api
114-
from kubernetes.client.api.flowcontrol_apiserver_api import FlowcontrolApiserverApi
115-
from kubernetes.client.api.flowcontrol_apiserver_v1_api import FlowcontrolApiserverV1Api
116-
from kubernetes.client.api.internal_apiserver_api import InternalApiserverApi
117-
from kubernetes.client.api.internal_apiserver_v1alpha1_api import InternalApiserverV1alpha1Api
118-
from kubernetes.client.api.logs_api import LogsApi
119-
from kubernetes.client.api.networking_api import NetworkingApi
120-
from kubernetes.client.api.networking_v1_api import NetworkingV1Api
121-
from kubernetes.client.api.networking_v1beta1_api import NetworkingV1beta1Api
122-
from kubernetes.client.api.node_api import NodeApi
123-
from kubernetes.client.api.node_v1_api import NodeV1Api
124-
from kubernetes.client.api.openid_api import OpenidApi
125-
from kubernetes.client.api.policy_api import PolicyApi
126-
from kubernetes.client.api.policy_v1_api import PolicyV1Api
127-
from kubernetes.client.api.rbac_authorization_api import RbacAuthorizationApi
128-
from kubernetes.client.api.rbac_authorization_v1_api import RbacAuthorizationV1Api
129-
from kubernetes.client.api.resource_api import ResourceApi
130-
from kubernetes.client.api.resource_v1_api import ResourceV1Api
131-
from kubernetes.client.api.resource_v1alpha3_api import ResourceV1alpha3Api
132-
from kubernetes.client.api.resource_v1beta1_api import ResourceV1beta1Api
133-
from kubernetes.client.api.resource_v1beta2_api import ResourceV1beta2Api
134-
from kubernetes.client.api.scheduling_api import SchedulingApi
135-
from kubernetes.client.api.scheduling_v1_api import SchedulingV1Api
136-
from kubernetes.client.api.scheduling_v1alpha2_api import SchedulingV1alpha2Api
137-
from kubernetes.client.api.storage_api import StorageApi
138-
from kubernetes.client.api.storage_v1_api import StorageV1Api
139-
from kubernetes.client.api.storage_v1beta1_api import StorageV1beta1Api
140-
from kubernetes.client.api.storagemigration_api import StoragemigrationApi
141-
from kubernetes.client.api.storagemigration_v1beta1_api import StoragemigrationV1beta1Api
142-
from kubernetes.client.api.version_api import VersionApi
144+
_exports = {
145+
"WellKnownApi": ".well_known_api",
146+
"AdmissionregistrationApi": ".admissionregistration_api",
147+
"AdmissionregistrationV1Api": ".admissionregistration_v1_api",
148+
"AdmissionregistrationV1alpha1Api": ".admissionregistration_v1alpha1_api",
149+
"AdmissionregistrationV1beta1Api": ".admissionregistration_v1beta1_api",
150+
"ApiextensionsApi": ".apiextensions_api",
151+
"ApiextensionsV1Api": ".apiextensions_v1_api",
152+
"ApiregistrationApi": ".apiregistration_api",
153+
"ApiregistrationV1Api": ".apiregistration_v1_api",
154+
"ApisApi": ".apis_api",
155+
"AppsApi": ".apps_api",
156+
"AppsV1Api": ".apps_v1_api",
157+
"AuthenticationApi": ".authentication_api",
158+
"AuthenticationV1Api": ".authentication_v1_api",
159+
"AuthorizationApi": ".authorization_api",
160+
"AuthorizationV1Api": ".authorization_v1_api",
161+
"AutoscalingApi": ".autoscaling_api",
162+
"AutoscalingV1Api": ".autoscaling_v1_api",
163+
"AutoscalingV2Api": ".autoscaling_v2_api",
164+
"BatchApi": ".batch_api",
165+
"BatchV1Api": ".batch_v1_api",
166+
"CertificatesApi": ".certificates_api",
167+
"CertificatesV1Api": ".certificates_v1_api",
168+
"CertificatesV1alpha1Api": ".certificates_v1alpha1_api",
169+
"CertificatesV1beta1Api": ".certificates_v1beta1_api",
170+
"CoordinationApi": ".coordination_api",
171+
"CoordinationV1Api": ".coordination_v1_api",
172+
"CoordinationV1alpha2Api": ".coordination_v1alpha2_api",
173+
"CoordinationV1beta1Api": ".coordination_v1beta1_api",
174+
"CoreApi": ".core_api",
175+
"CoreV1Api": ".core_v1_api",
176+
"CustomObjectsApi": ".custom_objects_api",
177+
"DiscoveryApi": ".discovery_api",
178+
"DiscoveryV1Api": ".discovery_v1_api",
179+
"EventsApi": ".events_api",
180+
"EventsV1Api": ".events_v1_api",
181+
"FlowcontrolApiserverApi": ".flowcontrol_apiserver_api",
182+
"FlowcontrolApiserverV1Api": ".flowcontrol_apiserver_v1_api",
183+
"InternalApiserverApi": ".internal_apiserver_api",
184+
"InternalApiserverV1alpha1Api": ".internal_apiserver_v1alpha1_api",
185+
"LogsApi": ".logs_api",
186+
"NetworkingApi": ".networking_api",
187+
"NetworkingV1Api": ".networking_v1_api",
188+
"NetworkingV1beta1Api": ".networking_v1beta1_api",
189+
"NodeApi": ".node_api",
190+
"NodeV1Api": ".node_v1_api",
191+
"OpenidApi": ".openid_api",
192+
"PolicyApi": ".policy_api",
193+
"PolicyV1Api": ".policy_v1_api",
194+
"RbacAuthorizationApi": ".rbac_authorization_api",
195+
"RbacAuthorizationV1Api": ".rbac_authorization_v1_api",
196+
"ResourceApi": ".resource_api",
197+
"ResourceV1Api": ".resource_v1_api",
198+
"ResourceV1alpha3Api": ".resource_v1alpha3_api",
199+
"ResourceV1beta1Api": ".resource_v1beta1_api",
200+
"ResourceV1beta2Api": ".resource_v1beta2_api",
201+
"SchedulingApi": ".scheduling_api",
202+
"SchedulingV1Api": ".scheduling_v1_api",
203+
"SchedulingV1alpha2Api": ".scheduling_v1alpha2_api",
204+
"StorageApi": ".storage_api",
205+
"StorageV1Api": ".storage_v1_api",
206+
"StorageV1beta1Api": ".storage_v1beta1_api",
207+
"StoragemigrationApi": ".storagemigration_api",
208+
"StoragemigrationV1beta1Api": ".storagemigration_v1beta1_api",
209+
"VersionApi": ".version_api",
210+
}
143211

144-
""",
145-
name=__name__,
146-
doc=__doc__,
147-
)
148-
)
212+
def __getattr__(name: str) -> object:
213+
if (module_name := _exports.get(name)) is None:
214+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
215+
value = getattr(import_module(module_name, __name__), name)
216+
globals()[name] = value
217+
return value
149218

150-
_lazy_module = __import__("sys").modules[__name__]
151-
_lazy_module.__package__ = __package__
152-
_lazy_module.__loader__ = __loader__
153-
_lazy_module.__spec__ = __spec__
219+
def __dir__() -> list[str]:
220+
return sorted(globals().keys() | _exports.keys())

kubernetes/client/api_client.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -790,11 +790,8 @@ def _apply_auth_params(
790790
headers['Cookie'] = ""
791791
else:
792792
headers['Cookie'] += "; "
793-
# Account for cookie value containing spaces and special characters
794-
cookie_value = str(auth_setting['value'])
795-
if not re.match("^\".*\"$", cookie_value):
796-
cookie_value = cookie_value.replace("\"", "\\\"")
797-
cookie_value = f"\"{cookie_value}\""
793+
# Account for cookie value containing spaces and special characters, excluding base64 delimiters
794+
cookie_value = quote(str(auth_setting['value']), safe="!#$%&'()*+-./:<=>?@[]^_`{|}~%+/=")
798795
headers['Cookie'] += f"{auth_setting['key']}={cookie_value}"
799796
elif auth_setting['in'] == 'header':
800797
if auth_setting['type'] != 'http-signature':

0 commit comments

Comments
 (0)