raystack-proton 2025.11.5.35259__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.
Files changed (181) hide show
  1. google/__init__.py +0 -0
  2. google/api/__init__.py +0 -0
  3. google/api/annotations_pb2.py +37 -0
  4. google/api/annotations_pb2.pyi +8 -0
  5. google/api/field_behavior_pb2.py +38 -0
  6. google/api/field_behavior_pb2.pyi +27 -0
  7. google/api/http_pb2.py +41 -0
  8. google/api/http_pb2.pyi +47 -0
  9. google/api/httpbody_pb2.py +38 -0
  10. google/api/httpbody_pb2.pyi +18 -0
  11. protoc_gen_openapiv2/__init__.py +0 -0
  12. protoc_gen_openapiv2/options/__init__.py +0 -0
  13. protoc_gen_openapiv2/options/annotations_pb2.py +37 -0
  14. protoc_gen_openapiv2/options/annotations_pb2.pyi +16 -0
  15. protoc_gen_openapiv2/options/openapiv2_pb2.py +142 -0
  16. protoc_gen_openapiv2/options/openapiv2_pb2.pyi +463 -0
  17. raystack/__init__.py +0 -0
  18. raystack/assets/__init__.py +0 -0
  19. raystack/assets/v1beta1/__init__.py +0 -0
  20. raystack/assets/v1beta1/bucket_pb2.py +45 -0
  21. raystack/assets/v1beta1/bucket_pb2.pyi +59 -0
  22. raystack/assets/v1beta1/dashboard_pb2.py +45 -0
  23. raystack/assets/v1beta1/dashboard_pb2.pyi +65 -0
  24. raystack/assets/v1beta1/event_pb2.py +38 -0
  25. raystack/assets/v1beta1/event_pb2.pyi +19 -0
  26. raystack/assets/v1beta1/group_pb2.py +43 -0
  27. raystack/assets/v1beta1/group_pb2.pyi +35 -0
  28. raystack/assets/v1beta1/job_pb2.py +43 -0
  29. raystack/assets/v1beta1/job_pb2.pyi +28 -0
  30. raystack/assets/v1beta1/lineage_pb2.py +38 -0
  31. raystack/assets/v1beta1/lineage_pb2.pyi +16 -0
  32. raystack/assets/v1beta1/ownership_pb2.py +39 -0
  33. raystack/assets/v1beta1/ownership_pb2.pyi +25 -0
  34. raystack/assets/v1beta1/preview_pb2.py +38 -0
  35. raystack/assets/v1beta1/preview_pb2.pyi +16 -0
  36. raystack/assets/v1beta1/properties_pb2.py +42 -0
  37. raystack/assets/v1beta1/properties_pb2.pyi +25 -0
  38. raystack/assets/v1beta1/resource_pb2.py +37 -0
  39. raystack/assets/v1beta1/resource_pb2.pyi +21 -0
  40. raystack/assets/v1beta1/schema_pb2.py +44 -0
  41. raystack/assets/v1beta1/schema_pb2.pyi +58 -0
  42. raystack/assets/v1beta1/table_pb2.py +49 -0
  43. raystack/assets/v1beta1/table_pb2.pyi +63 -0
  44. raystack/assets/v1beta1/timestamp_pb2.py +40 -0
  45. raystack/assets/v1beta1/timestamp_pb2.pyi +25 -0
  46. raystack/assets/v1beta1/topic_pb2.py +46 -0
  47. raystack/assets/v1beta1/topic_pb2.pyi +41 -0
  48. raystack/assets/v1beta1/user_pb2.py +45 -0
  49. raystack/assets/v1beta1/user_pb2.pyi +63 -0
  50. raystack/assets/v1beta2/__init__.py +0 -0
  51. raystack/assets/v1beta2/application_pb2.py +39 -0
  52. raystack/assets/v1beta2/application_pb2.pyi +24 -0
  53. raystack/assets/v1beta2/asset_pb2.py +44 -0
  54. raystack/assets/v1beta2/asset_pb2.pyi +49 -0
  55. raystack/assets/v1beta2/bucket_pb2.py +42 -0
  56. raystack/assets/v1beta2/bucket_pb2.pyi +54 -0
  57. raystack/assets/v1beta2/common_pb2.py +44 -0
  58. raystack/assets/v1beta2/common_pb2.pyi +52 -0
  59. raystack/assets/v1beta2/dashboard_pb2.py +42 -0
  60. raystack/assets/v1beta2/dashboard_pb2.pyi +60 -0
  61. raystack/assets/v1beta2/experiment_pb2.py +41 -0
  62. raystack/assets/v1beta2/experiment_pb2.pyi +40 -0
  63. raystack/assets/v1beta2/feature_table_pb2.py +47 -0
  64. raystack/assets/v1beta2/feature_table_pb2.pyi +59 -0
  65. raystack/assets/v1beta2/group_pb2.py +40 -0
  66. raystack/assets/v1beta2/group_pb2.pyi +26 -0
  67. raystack/assets/v1beta2/job_pb2.py +39 -0
  68. raystack/assets/v1beta2/job_pb2.pyi +20 -0
  69. raystack/assets/v1beta2/metric_pb2.py +39 -0
  70. raystack/assets/v1beta2/metric_pb2.pyi +28 -0
  71. raystack/assets/v1beta2/model_pb2.py +49 -0
  72. raystack/assets/v1beta2/model_pb2.pyi +73 -0
  73. raystack/assets/v1beta2/table_pb2.py +47 -0
  74. raystack/assets/v1beta2/table_pb2.pyi +93 -0
  75. raystack/assets/v1beta2/topic_pb2.py +43 -0
  76. raystack/assets/v1beta2/topic_pb2.pyi +40 -0
  77. raystack/assets/v1beta2/user_pb2.py +43 -0
  78. raystack/assets/v1beta2/user_pb2.pyi +61 -0
  79. raystack/common/__init__.py +0 -0
  80. raystack/common/v1/__init__.py +0 -0
  81. raystack/common/v1/service_connect.py +119 -0
  82. raystack/common/v1/service_pb2.py +48 -0
  83. raystack/common/v1/service_pb2.pyi +39 -0
  84. raystack/compass/__init__.py +0 -0
  85. raystack/compass/v1beta1/__init__.py +0 -0
  86. raystack/compass/v1beta1/service_connect.py +2784 -0
  87. raystack/compass/v1beta1/service_pb2.py +581 -0
  88. raystack/compass/v1beta1/service_pb2.pyi +1055 -0
  89. raystack/entropy/__init__.py +0 -0
  90. raystack/entropy/v1beta1/__init__.py +0 -0
  91. raystack/entropy/v1beta1/module_connect.py +379 -0
  92. raystack/entropy/v1beta1/module_pb2.py +72 -0
  93. raystack/entropy/v1beta1/module_pb2.pyi +88 -0
  94. raystack/entropy/v1beta1/resource_connect.py +574 -0
  95. raystack/entropy/v1beta1/resource_pb2.py +134 -0
  96. raystack/entropy/v1beta1/resource_pb2.pyi +268 -0
  97. raystack/frontier/__init__.py +0 -0
  98. raystack/frontier/v1beta1/__init__.py +0 -0
  99. raystack/frontier/v1beta1/admin_connect.py +4021 -0
  100. raystack/frontier/v1beta1/admin_pb2.py +617 -0
  101. raystack/frontier/v1beta1/admin_pb2.pyi +1151 -0
  102. raystack/frontier/v1beta1/frontier_connect.py +10974 -0
  103. raystack/frontier/v1beta1/frontier_pb2.py +1612 -0
  104. raystack/frontier/v1beta1/frontier_pb2.pyi +2666 -0
  105. raystack/frontier/v1beta1/models_pb2.py +400 -0
  106. raystack/frontier/v1beta1/models_pb2.pyi +1160 -0
  107. raystack/guardian/__init__.py +0 -0
  108. raystack/guardian/v1beta1/__init__.py +0 -0
  109. raystack/guardian/v1beta1/guardian_connect.py +2654 -0
  110. raystack/guardian/v1beta1/guardian_pb2.py +527 -0
  111. raystack/guardian/v1beta1/guardian_pb2.pyi +1257 -0
  112. raystack/optimus/__init__.py +0 -0
  113. raystack/optimus/core/__init__.py +0 -0
  114. raystack/optimus/core/v1beta1/__init__.py +0 -0
  115. raystack/optimus/core/v1beta1/backup_connect.py +249 -0
  116. raystack/optimus/core/v1beta1/backup_pb2.py +70 -0
  117. raystack/optimus/core/v1beta1/backup_pb2.pyi +108 -0
  118. raystack/optimus/core/v1beta1/job_run_connect.py +314 -0
  119. raystack/optimus/core/v1beta1/job_run_pb2.py +88 -0
  120. raystack/optimus/core/v1beta1/job_run_pb2.pyi +164 -0
  121. raystack/optimus/core/v1beta1/job_spec_connect.py +1289 -0
  122. raystack/optimus/core/v1beta1/job_spec_pb2.py +229 -0
  123. raystack/optimus/core/v1beta1/job_spec_pb2.pyi +700 -0
  124. raystack/optimus/core/v1beta1/namespace_connect.py +249 -0
  125. raystack/optimus/core/v1beta1/namespace_pb2.py +63 -0
  126. raystack/optimus/core/v1beta1/namespace_pb2.pyi +66 -0
  127. raystack/optimus/core/v1beta1/project_connect.py +249 -0
  128. raystack/optimus/core/v1beta1/project_pb2.py +63 -0
  129. raystack/optimus/core/v1beta1/project_pb2.pyi +60 -0
  130. raystack/optimus/core/v1beta1/replay_connect.py +314 -0
  131. raystack/optimus/core/v1beta1/replay_pb2.py +72 -0
  132. raystack/optimus/core/v1beta1/replay_pb2.pyi +127 -0
  133. raystack/optimus/core/v1beta1/resource_connect.py +509 -0
  134. raystack/optimus/core/v1beta1/resource_pb2.py +93 -0
  135. raystack/optimus/core/v1beta1/resource_pb2.pyi +182 -0
  136. raystack/optimus/core/v1beta1/runtime_connect.py +119 -0
  137. raystack/optimus/core/v1beta1/runtime_pb2.py +45 -0
  138. raystack/optimus/core/v1beta1/runtime_pb2.pyi +19 -0
  139. raystack/optimus/core/v1beta1/secret_connect.py +314 -0
  140. raystack/optimus/core/v1beta1/secret_pb2.py +66 -0
  141. raystack/optimus/core/v1beta1/secret_pb2.pyi +81 -0
  142. raystack/optimus/core/v1beta1/status_pb2.py +39 -0
  143. raystack/optimus/core/v1beta1/status_pb2.pyi +31 -0
  144. raystack/optimus/integration/__init__.py +0 -0
  145. raystack/optimus/integration/v1beta1/__init__.py +0 -0
  146. raystack/optimus/integration/v1beta1/event_pb2.py +50 -0
  147. raystack/optimus/integration/v1beta1/event_pb2.pyi +94 -0
  148. raystack/optimus/plugins/__init__.py +0 -0
  149. raystack/optimus/plugins/v1beta1/__init__.py +0 -0
  150. raystack/optimus/plugins/v1beta1/dependency_resolver_connect.py +314 -0
  151. raystack/optimus/plugins/v1beta1/dependency_resolver_pb2.py +66 -0
  152. raystack/optimus/plugins/v1beta1/dependency_resolver_pb2.pyi +118 -0
  153. raystack/predator/__init__.py +0 -0
  154. raystack/predator/v1beta1/__init__.py +0 -0
  155. raystack/predator/v1beta1/metrics_log_pb2.py +46 -0
  156. raystack/predator/v1beta1/metrics_log_pb2.pyi +68 -0
  157. raystack/predator/v1beta1/result_log_pb2.py +45 -0
  158. raystack/predator/v1beta1/result_log_pb2.pyi +61 -0
  159. raystack/raccoon/__init__.py +0 -0
  160. raystack/raccoon/v1beta1/__init__.py +0 -0
  161. raystack/raccoon/v1beta1/raccoon_connect.py +119 -0
  162. raystack/raccoon/v1beta1/raccoon_pb2.py +52 -0
  163. raystack/raccoon/v1beta1/raccoon_pb2.pyi +74 -0
  164. raystack/siren/__init__.py +0 -0
  165. raystack/siren/v1beta1/__init__.py +0 -0
  166. raystack/siren/v1beta1/siren_connect.py +2329 -0
  167. raystack/siren/v1beta1/siren_pb2.py +415 -0
  168. raystack/siren/v1beta1/siren_pb2.pyi +890 -0
  169. raystack/stencil/__init__.py +0 -0
  170. raystack/stencil/v1beta1/__init__.py +0 -0
  171. raystack/stencil/v1beta1/stencil_connect.py +1094 -0
  172. raystack/stencil/v1beta1/stencil_pb2.py +158 -0
  173. raystack/stencil/v1beta1/stencil_pb2.pyi +357 -0
  174. raystack_proton-2025.11.5.35259.dist-info/METADATA +103 -0
  175. raystack_proton-2025.11.5.35259.dist-info/RECORD +181 -0
  176. raystack_proton-2025.11.5.35259.dist-info/WHEEL +5 -0
  177. raystack_proton-2025.11.5.35259.dist-info/licenses/LICENSE +201 -0
  178. raystack_proton-2025.11.5.35259.dist-info/top_level.txt +4 -0
  179. validate/__init__.py +0 -0
  180. validate/validate_pb2.py +86 -0
  181. validate/validate_pb2.pyi +497 -0
@@ -0,0 +1,249 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by https://github.com/connectrpc/connect-python. DO NOT EDIT!
3
+ # source: raystack/optimus/core/v1beta1/namespace.proto
4
+
5
+ from collections.abc import AsyncIterator, Iterable, Iterator, Mapping
6
+ from typing import Protocol
7
+
8
+ from connectrpc.client import ConnectClient, ConnectClientSync
9
+ from connectrpc.code import Code
10
+ from connectrpc.errors import ConnectError
11
+ from connectrpc.interceptor import Interceptor, InterceptorSync
12
+ from connectrpc.method import IdempotencyLevel, MethodInfo
13
+ from connectrpc.request import Headers, RequestContext
14
+ from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync
15
+ import raystack.optimus.core.v1beta1.namespace_pb2 as raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2
16
+
17
+
18
+ class NamespaceService(Protocol):
19
+ async def register_project_namespace(self, request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.RegisterProjectNamespaceRequest, ctx: RequestContext) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.RegisterProjectNamespaceResponse:
20
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
21
+
22
+ async def list_project_namespaces(self, request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.ListProjectNamespacesRequest, ctx: RequestContext) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.ListProjectNamespacesResponse:
23
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
24
+
25
+ async def get_namespace(self, request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.GetNamespaceRequest, ctx: RequestContext) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.GetNamespaceResponse:
26
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
27
+
28
+
29
+ class NamespaceServiceASGIApplication(ConnectASGIApplication):
30
+ def __init__(self, service: NamespaceService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
31
+ super().__init__(
32
+ endpoints={
33
+ "/raystack.optimus.core.v1beta1.NamespaceService/RegisterProjectNamespace": Endpoint.unary(
34
+ method=MethodInfo(
35
+ name="RegisterProjectNamespace",
36
+ service_name="raystack.optimus.core.v1beta1.NamespaceService",
37
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.RegisterProjectNamespaceRequest,
38
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.RegisterProjectNamespaceResponse,
39
+ idempotency_level=IdempotencyLevel.UNKNOWN,
40
+ ),
41
+ function=service.register_project_namespace,
42
+ ),
43
+ "/raystack.optimus.core.v1beta1.NamespaceService/ListProjectNamespaces": Endpoint.unary(
44
+ method=MethodInfo(
45
+ name="ListProjectNamespaces",
46
+ service_name="raystack.optimus.core.v1beta1.NamespaceService",
47
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.ListProjectNamespacesRequest,
48
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.ListProjectNamespacesResponse,
49
+ idempotency_level=IdempotencyLevel.UNKNOWN,
50
+ ),
51
+ function=service.list_project_namespaces,
52
+ ),
53
+ "/raystack.optimus.core.v1beta1.NamespaceService/GetNamespace": Endpoint.unary(
54
+ method=MethodInfo(
55
+ name="GetNamespace",
56
+ service_name="raystack.optimus.core.v1beta1.NamespaceService",
57
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.GetNamespaceRequest,
58
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.GetNamespaceResponse,
59
+ idempotency_level=IdempotencyLevel.UNKNOWN,
60
+ ),
61
+ function=service.get_namespace,
62
+ ),
63
+ },
64
+ interceptors=interceptors,
65
+ read_max_bytes=read_max_bytes,
66
+ )
67
+
68
+ @property
69
+ def path(self) -> str:
70
+ """Returns the URL path to mount the application to when serving multiple applications."""
71
+ return "/raystack.optimus.core.v1beta1.NamespaceService"
72
+
73
+
74
+ class NamespaceServiceClient(ConnectClient):
75
+ async def register_project_namespace(
76
+ self,
77
+ request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.RegisterProjectNamespaceRequest,
78
+ *,
79
+ headers: Headers | Mapping[str, str] | None = None,
80
+ timeout_ms: int | None = None,
81
+ ) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.RegisterProjectNamespaceResponse:
82
+ return await self.execute_unary(
83
+ request=request,
84
+ method=MethodInfo(
85
+ name="RegisterProjectNamespace",
86
+ service_name="raystack.optimus.core.v1beta1.NamespaceService",
87
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.RegisterProjectNamespaceRequest,
88
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.RegisterProjectNamespaceResponse,
89
+ idempotency_level=IdempotencyLevel.UNKNOWN,
90
+ ),
91
+ headers=headers,
92
+ timeout_ms=timeout_ms,
93
+ )
94
+
95
+ async def list_project_namespaces(
96
+ self,
97
+ request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.ListProjectNamespacesRequest,
98
+ *,
99
+ headers: Headers | Mapping[str, str] | None = None,
100
+ timeout_ms: int | None = None,
101
+ ) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.ListProjectNamespacesResponse:
102
+ return await self.execute_unary(
103
+ request=request,
104
+ method=MethodInfo(
105
+ name="ListProjectNamespaces",
106
+ service_name="raystack.optimus.core.v1beta1.NamespaceService",
107
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.ListProjectNamespacesRequest,
108
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.ListProjectNamespacesResponse,
109
+ idempotency_level=IdempotencyLevel.UNKNOWN,
110
+ ),
111
+ headers=headers,
112
+ timeout_ms=timeout_ms,
113
+ )
114
+
115
+ async def get_namespace(
116
+ self,
117
+ request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.GetNamespaceRequest,
118
+ *,
119
+ headers: Headers | Mapping[str, str] | None = None,
120
+ timeout_ms: int | None = None,
121
+ ) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.GetNamespaceResponse:
122
+ return await self.execute_unary(
123
+ request=request,
124
+ method=MethodInfo(
125
+ name="GetNamespace",
126
+ service_name="raystack.optimus.core.v1beta1.NamespaceService",
127
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.GetNamespaceRequest,
128
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.GetNamespaceResponse,
129
+ idempotency_level=IdempotencyLevel.UNKNOWN,
130
+ ),
131
+ headers=headers,
132
+ timeout_ms=timeout_ms,
133
+ )
134
+
135
+
136
+ class NamespaceServiceSync(Protocol):
137
+ def register_project_namespace(self, request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.RegisterProjectNamespaceRequest, ctx: RequestContext) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.RegisterProjectNamespaceResponse:
138
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
139
+ def list_project_namespaces(self, request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.ListProjectNamespacesRequest, ctx: RequestContext) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.ListProjectNamespacesResponse:
140
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
141
+ def get_namespace(self, request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.GetNamespaceRequest, ctx: RequestContext) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.GetNamespaceResponse:
142
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
143
+
144
+
145
+ class NamespaceServiceWSGIApplication(ConnectWSGIApplication):
146
+ def __init__(self, service: NamespaceServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
147
+ super().__init__(
148
+ endpoints={
149
+ "/raystack.optimus.core.v1beta1.NamespaceService/RegisterProjectNamespace": EndpointSync.unary(
150
+ method=MethodInfo(
151
+ name="RegisterProjectNamespace",
152
+ service_name="raystack.optimus.core.v1beta1.NamespaceService",
153
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.RegisterProjectNamespaceRequest,
154
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.RegisterProjectNamespaceResponse,
155
+ idempotency_level=IdempotencyLevel.UNKNOWN,
156
+ ),
157
+ function=service.register_project_namespace,
158
+ ),
159
+ "/raystack.optimus.core.v1beta1.NamespaceService/ListProjectNamespaces": EndpointSync.unary(
160
+ method=MethodInfo(
161
+ name="ListProjectNamespaces",
162
+ service_name="raystack.optimus.core.v1beta1.NamespaceService",
163
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.ListProjectNamespacesRequest,
164
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.ListProjectNamespacesResponse,
165
+ idempotency_level=IdempotencyLevel.UNKNOWN,
166
+ ),
167
+ function=service.list_project_namespaces,
168
+ ),
169
+ "/raystack.optimus.core.v1beta1.NamespaceService/GetNamespace": EndpointSync.unary(
170
+ method=MethodInfo(
171
+ name="GetNamespace",
172
+ service_name="raystack.optimus.core.v1beta1.NamespaceService",
173
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.GetNamespaceRequest,
174
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.GetNamespaceResponse,
175
+ idempotency_level=IdempotencyLevel.UNKNOWN,
176
+ ),
177
+ function=service.get_namespace,
178
+ ),
179
+ },
180
+ interceptors=interceptors,
181
+ read_max_bytes=read_max_bytes,
182
+ )
183
+
184
+ @property
185
+ def path(self) -> str:
186
+ """Returns the URL path to mount the application to when serving multiple applications."""
187
+ return "/raystack.optimus.core.v1beta1.NamespaceService"
188
+
189
+
190
+ class NamespaceServiceClientSync(ConnectClientSync):
191
+ def register_project_namespace(
192
+ self,
193
+ request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.RegisterProjectNamespaceRequest,
194
+ *,
195
+ headers: Headers | Mapping[str, str] | None = None,
196
+ timeout_ms: int | None = None,
197
+ ) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.RegisterProjectNamespaceResponse:
198
+ return self.execute_unary(
199
+ request=request,
200
+ method=MethodInfo(
201
+ name="RegisterProjectNamespace",
202
+ service_name="raystack.optimus.core.v1beta1.NamespaceService",
203
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.RegisterProjectNamespaceRequest,
204
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.RegisterProjectNamespaceResponse,
205
+ idempotency_level=IdempotencyLevel.UNKNOWN,
206
+ ),
207
+ headers=headers,
208
+ timeout_ms=timeout_ms,
209
+ )
210
+
211
+ def list_project_namespaces(
212
+ self,
213
+ request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.ListProjectNamespacesRequest,
214
+ *,
215
+ headers: Headers | Mapping[str, str] | None = None,
216
+ timeout_ms: int | None = None,
217
+ ) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.ListProjectNamespacesResponse:
218
+ return self.execute_unary(
219
+ request=request,
220
+ method=MethodInfo(
221
+ name="ListProjectNamespaces",
222
+ service_name="raystack.optimus.core.v1beta1.NamespaceService",
223
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.ListProjectNamespacesRequest,
224
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.ListProjectNamespacesResponse,
225
+ idempotency_level=IdempotencyLevel.UNKNOWN,
226
+ ),
227
+ headers=headers,
228
+ timeout_ms=timeout_ms,
229
+ )
230
+
231
+ def get_namespace(
232
+ self,
233
+ request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.GetNamespaceRequest,
234
+ *,
235
+ headers: Headers | Mapping[str, str] | None = None,
236
+ timeout_ms: int | None = None,
237
+ ) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.GetNamespaceResponse:
238
+ return self.execute_unary(
239
+ request=request,
240
+ method=MethodInfo(
241
+ name="GetNamespace",
242
+ service_name="raystack.optimus.core.v1beta1.NamespaceService",
243
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.GetNamespaceRequest,
244
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_namespace__pb2.GetNamespaceResponse,
245
+ idempotency_level=IdempotencyLevel.UNKNOWN,
246
+ ),
247
+ headers=headers,
248
+ timeout_ms=timeout_ms,
249
+ )
@@ -0,0 +1,63 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: raystack/optimus/core/v1beta1/namespace.proto
5
+ # Protobuf Python Version: 6.33.0
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 33,
16
+ 0,
17
+ '',
18
+ 'raystack/optimus/core/v1beta1/namespace.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
26
+ from protoc_gen_openapiv2.options import annotations_pb2 as protoc__gen__openapiv2_dot_options_dot_annotations__pb2
27
+
28
+
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-raystack/optimus/core/v1beta1/namespace.proto\x12\x1draystack.optimus.core.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\x99\x01\n\x1fRegisterProjectNamespaceRequest\x12!\n\x0cproject_name\x18\x01 \x01(\tR\x0bprojectName\x12S\n\tnamespace\x18\x02 \x01(\x0b\x32\x35.raystack.optimus.core.v1beta1.NamespaceSpecificationR\tnamespace\"V\n RegisterProjectNamespaceResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\"A\n\x1cListProjectNamespacesRequest\x12!\n\x0cproject_name\x18\x01 \x01(\tR\x0bprojectName\"v\n\x1dListProjectNamespacesResponse\x12U\n\nnamespaces\x18\x01 \x03(\x0b\x32\x35.raystack.optimus.core.v1beta1.NamespaceSpecificationR\nnamespaces\"_\n\x13GetNamespaceRequest\x12!\n\x0cproject_name\x18\x01 \x01(\tR\x0bprojectName\x12%\n\x0enamespace_name\x18\x02 \x01(\tR\rnamespaceName\"k\n\x14GetNamespaceResponse\x12S\n\tnamespace\x18\x01 \x01(\x0b\x32\x35.raystack.optimus.core.v1beta1.NamespaceSpecificationR\tnamespace\"\xc2\x01\n\x16NamespaceSpecification\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12Y\n\x06\x63onfig\x18\x02 \x03(\x0b\x32\x41.raystack.optimus.core.v1beta1.NamespaceSpecification.ConfigEntryR\x06\x63onfig\x1a\x39\n\x0b\x43onfigEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x32\xec\x04\n\x10NamespaceService\x12\xd1\x01\n\x18RegisterProjectNamespace\x12>.raystack.optimus.core.v1beta1.RegisterProjectNamespaceRequest\x1a?.raystack.optimus.core.v1beta1.RegisterProjectNamespaceResponse\"4\x82\xd3\xe4\x93\x02.\")/v1beta1/project/{project_name}/namespace:\x01*\x12\xc5\x01\n\x15ListProjectNamespaces\x12;.raystack.optimus.core.v1beta1.ListProjectNamespacesRequest\x1a<.raystack.optimus.core.v1beta1.ListProjectNamespacesResponse\"1\x82\xd3\xe4\x93\x02+\x12)/v1beta1/project/{project_name}/namespace\x12\xbb\x01\n\x0cGetNamespace\x12\x32.raystack.optimus.core.v1beta1.GetNamespaceRequest\x1a\x33.raystack.optimus.core.v1beta1.GetNamespaceResponse\"B\x82\xd3\xe4\x93\x02<\x12:/v1beta1/project/{project_name}/namespace/{namespace_name}B\x9c\x01\n\x1borg.raystack.proton.optimusB\x17NamespaceServiceManagerP\x01Z\"github.com/raystack/proton/optimus\x92\x41=\x12\x05\x32\x03\x30.1\x1a\x0e\x31\x32\x37.0.0.1:9100\"\x04/api*\x01\x01r\x1b\n\x19Optimus Namespace Serviceb\x06proto3')
30
+
31
+ _globals = globals()
32
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
33
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'raystack.optimus.core.v1beta1.namespace_pb2', _globals)
34
+ if not _descriptor._USE_C_DESCRIPTORS:
35
+ _globals['DESCRIPTOR']._loaded_options = None
36
+ _globals['DESCRIPTOR']._serialized_options = b'\n\033org.raystack.proton.optimusB\027NamespaceServiceManagerP\001Z\"github.com/raystack/proton/optimus\222A=\022\0052\0030.1\032\016127.0.0.1:9100\"\004/api*\001\001r\033\n\031Optimus Namespace Service'
37
+ _globals['_NAMESPACESPECIFICATION_CONFIGENTRY']._loaded_options = None
38
+ _globals['_NAMESPACESPECIFICATION_CONFIGENTRY']._serialized_options = b'8\001'
39
+ _globals['_NAMESPACESERVICE'].methods_by_name['RegisterProjectNamespace']._loaded_options = None
40
+ _globals['_NAMESPACESERVICE'].methods_by_name['RegisterProjectNamespace']._serialized_options = b'\202\323\344\223\002.\")/v1beta1/project/{project_name}/namespace:\001*'
41
+ _globals['_NAMESPACESERVICE'].methods_by_name['ListProjectNamespaces']._loaded_options = None
42
+ _globals['_NAMESPACESERVICE'].methods_by_name['ListProjectNamespaces']._serialized_options = b'\202\323\344\223\002+\022)/v1beta1/project/{project_name}/namespace'
43
+ _globals['_NAMESPACESERVICE'].methods_by_name['GetNamespace']._loaded_options = None
44
+ _globals['_NAMESPACESERVICE'].methods_by_name['GetNamespace']._serialized_options = b'\202\323\344\223\002<\022:/v1beta1/project/{project_name}/namespace/{namespace_name}'
45
+ _globals['_REGISTERPROJECTNAMESPACEREQUEST']._serialized_start=159
46
+ _globals['_REGISTERPROJECTNAMESPACEREQUEST']._serialized_end=312
47
+ _globals['_REGISTERPROJECTNAMESPACERESPONSE']._serialized_start=314
48
+ _globals['_REGISTERPROJECTNAMESPACERESPONSE']._serialized_end=400
49
+ _globals['_LISTPROJECTNAMESPACESREQUEST']._serialized_start=402
50
+ _globals['_LISTPROJECTNAMESPACESREQUEST']._serialized_end=467
51
+ _globals['_LISTPROJECTNAMESPACESRESPONSE']._serialized_start=469
52
+ _globals['_LISTPROJECTNAMESPACESRESPONSE']._serialized_end=587
53
+ _globals['_GETNAMESPACEREQUEST']._serialized_start=589
54
+ _globals['_GETNAMESPACEREQUEST']._serialized_end=684
55
+ _globals['_GETNAMESPACERESPONSE']._serialized_start=686
56
+ _globals['_GETNAMESPACERESPONSE']._serialized_end=793
57
+ _globals['_NAMESPACESPECIFICATION']._serialized_start=796
58
+ _globals['_NAMESPACESPECIFICATION']._serialized_end=990
59
+ _globals['_NAMESPACESPECIFICATION_CONFIGENTRY']._serialized_start=933
60
+ _globals['_NAMESPACESPECIFICATION_CONFIGENTRY']._serialized_end=990
61
+ _globals['_NAMESPACESERVICE']._serialized_start=993
62
+ _globals['_NAMESPACESERVICE']._serialized_end=1613
63
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,66 @@
1
+ from google.api import annotations_pb2 as _annotations_pb2
2
+ from protoc_gen_openapiv2.options import annotations_pb2 as _annotations_pb2_1
3
+ from google.protobuf.internal import containers as _containers
4
+ from google.protobuf import descriptor as _descriptor
5
+ from google.protobuf import message as _message
6
+ from collections.abc import Iterable as _Iterable, Mapping as _Mapping
7
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
8
+
9
+ DESCRIPTOR: _descriptor.FileDescriptor
10
+
11
+ class RegisterProjectNamespaceRequest(_message.Message):
12
+ __slots__ = ()
13
+ PROJECT_NAME_FIELD_NUMBER: _ClassVar[int]
14
+ NAMESPACE_FIELD_NUMBER: _ClassVar[int]
15
+ project_name: str
16
+ namespace: NamespaceSpecification
17
+ def __init__(self, project_name: _Optional[str] = ..., namespace: _Optional[_Union[NamespaceSpecification, _Mapping]] = ...) -> None: ...
18
+
19
+ class RegisterProjectNamespaceResponse(_message.Message):
20
+ __slots__ = ()
21
+ SUCCESS_FIELD_NUMBER: _ClassVar[int]
22
+ MESSAGE_FIELD_NUMBER: _ClassVar[int]
23
+ success: bool
24
+ message: str
25
+ def __init__(self, success: _Optional[bool] = ..., message: _Optional[str] = ...) -> None: ...
26
+
27
+ class ListProjectNamespacesRequest(_message.Message):
28
+ __slots__ = ()
29
+ PROJECT_NAME_FIELD_NUMBER: _ClassVar[int]
30
+ project_name: str
31
+ def __init__(self, project_name: _Optional[str] = ...) -> None: ...
32
+
33
+ class ListProjectNamespacesResponse(_message.Message):
34
+ __slots__ = ()
35
+ NAMESPACES_FIELD_NUMBER: _ClassVar[int]
36
+ namespaces: _containers.RepeatedCompositeFieldContainer[NamespaceSpecification]
37
+ def __init__(self, namespaces: _Optional[_Iterable[_Union[NamespaceSpecification, _Mapping]]] = ...) -> None: ...
38
+
39
+ class GetNamespaceRequest(_message.Message):
40
+ __slots__ = ()
41
+ PROJECT_NAME_FIELD_NUMBER: _ClassVar[int]
42
+ NAMESPACE_NAME_FIELD_NUMBER: _ClassVar[int]
43
+ project_name: str
44
+ namespace_name: str
45
+ def __init__(self, project_name: _Optional[str] = ..., namespace_name: _Optional[str] = ...) -> None: ...
46
+
47
+ class GetNamespaceResponse(_message.Message):
48
+ __slots__ = ()
49
+ NAMESPACE_FIELD_NUMBER: _ClassVar[int]
50
+ namespace: NamespaceSpecification
51
+ def __init__(self, namespace: _Optional[_Union[NamespaceSpecification, _Mapping]] = ...) -> None: ...
52
+
53
+ class NamespaceSpecification(_message.Message):
54
+ __slots__ = ()
55
+ class ConfigEntry(_message.Message):
56
+ __slots__ = ()
57
+ KEY_FIELD_NUMBER: _ClassVar[int]
58
+ VALUE_FIELD_NUMBER: _ClassVar[int]
59
+ key: str
60
+ value: str
61
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
62
+ NAME_FIELD_NUMBER: _ClassVar[int]
63
+ CONFIG_FIELD_NUMBER: _ClassVar[int]
64
+ name: str
65
+ config: _containers.ScalarMap[str, str]
66
+ def __init__(self, name: _Optional[str] = ..., config: _Optional[_Mapping[str, str]] = ...) -> None: ...
@@ -0,0 +1,249 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by https://github.com/connectrpc/connect-python. DO NOT EDIT!
3
+ # source: raystack/optimus/core/v1beta1/project.proto
4
+
5
+ from collections.abc import AsyncIterator, Iterable, Iterator, Mapping
6
+ from typing import Protocol
7
+
8
+ from connectrpc.client import ConnectClient, ConnectClientSync
9
+ from connectrpc.code import Code
10
+ from connectrpc.errors import ConnectError
11
+ from connectrpc.interceptor import Interceptor, InterceptorSync
12
+ from connectrpc.method import IdempotencyLevel, MethodInfo
13
+ from connectrpc.request import Headers, RequestContext
14
+ from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync
15
+ import raystack.optimus.core.v1beta1.project_pb2 as raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2
16
+
17
+
18
+ class ProjectService(Protocol):
19
+ async def register_project(self, request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.RegisterProjectRequest, ctx: RequestContext) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.RegisterProjectResponse:
20
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
21
+
22
+ async def list_projects(self, request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.ListProjectsRequest, ctx: RequestContext) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.ListProjectsResponse:
23
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
24
+
25
+ async def get_project(self, request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.GetProjectRequest, ctx: RequestContext) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.GetProjectResponse:
26
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
27
+
28
+
29
+ class ProjectServiceASGIApplication(ConnectASGIApplication):
30
+ def __init__(self, service: ProjectService, *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None) -> None:
31
+ super().__init__(
32
+ endpoints={
33
+ "/raystack.optimus.core.v1beta1.ProjectService/RegisterProject": Endpoint.unary(
34
+ method=MethodInfo(
35
+ name="RegisterProject",
36
+ service_name="raystack.optimus.core.v1beta1.ProjectService",
37
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.RegisterProjectRequest,
38
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.RegisterProjectResponse,
39
+ idempotency_level=IdempotencyLevel.UNKNOWN,
40
+ ),
41
+ function=service.register_project,
42
+ ),
43
+ "/raystack.optimus.core.v1beta1.ProjectService/ListProjects": Endpoint.unary(
44
+ method=MethodInfo(
45
+ name="ListProjects",
46
+ service_name="raystack.optimus.core.v1beta1.ProjectService",
47
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.ListProjectsRequest,
48
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.ListProjectsResponse,
49
+ idempotency_level=IdempotencyLevel.UNKNOWN,
50
+ ),
51
+ function=service.list_projects,
52
+ ),
53
+ "/raystack.optimus.core.v1beta1.ProjectService/GetProject": Endpoint.unary(
54
+ method=MethodInfo(
55
+ name="GetProject",
56
+ service_name="raystack.optimus.core.v1beta1.ProjectService",
57
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.GetProjectRequest,
58
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.GetProjectResponse,
59
+ idempotency_level=IdempotencyLevel.UNKNOWN,
60
+ ),
61
+ function=service.get_project,
62
+ ),
63
+ },
64
+ interceptors=interceptors,
65
+ read_max_bytes=read_max_bytes,
66
+ )
67
+
68
+ @property
69
+ def path(self) -> str:
70
+ """Returns the URL path to mount the application to when serving multiple applications."""
71
+ return "/raystack.optimus.core.v1beta1.ProjectService"
72
+
73
+
74
+ class ProjectServiceClient(ConnectClient):
75
+ async def register_project(
76
+ self,
77
+ request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.RegisterProjectRequest,
78
+ *,
79
+ headers: Headers | Mapping[str, str] | None = None,
80
+ timeout_ms: int | None = None,
81
+ ) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.RegisterProjectResponse:
82
+ return await self.execute_unary(
83
+ request=request,
84
+ method=MethodInfo(
85
+ name="RegisterProject",
86
+ service_name="raystack.optimus.core.v1beta1.ProjectService",
87
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.RegisterProjectRequest,
88
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.RegisterProjectResponse,
89
+ idempotency_level=IdempotencyLevel.UNKNOWN,
90
+ ),
91
+ headers=headers,
92
+ timeout_ms=timeout_ms,
93
+ )
94
+
95
+ async def list_projects(
96
+ self,
97
+ request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.ListProjectsRequest,
98
+ *,
99
+ headers: Headers | Mapping[str, str] | None = None,
100
+ timeout_ms: int | None = None,
101
+ ) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.ListProjectsResponse:
102
+ return await self.execute_unary(
103
+ request=request,
104
+ method=MethodInfo(
105
+ name="ListProjects",
106
+ service_name="raystack.optimus.core.v1beta1.ProjectService",
107
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.ListProjectsRequest,
108
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.ListProjectsResponse,
109
+ idempotency_level=IdempotencyLevel.UNKNOWN,
110
+ ),
111
+ headers=headers,
112
+ timeout_ms=timeout_ms,
113
+ )
114
+
115
+ async def get_project(
116
+ self,
117
+ request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.GetProjectRequest,
118
+ *,
119
+ headers: Headers | Mapping[str, str] | None = None,
120
+ timeout_ms: int | None = None,
121
+ ) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.GetProjectResponse:
122
+ return await self.execute_unary(
123
+ request=request,
124
+ method=MethodInfo(
125
+ name="GetProject",
126
+ service_name="raystack.optimus.core.v1beta1.ProjectService",
127
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.GetProjectRequest,
128
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.GetProjectResponse,
129
+ idempotency_level=IdempotencyLevel.UNKNOWN,
130
+ ),
131
+ headers=headers,
132
+ timeout_ms=timeout_ms,
133
+ )
134
+
135
+
136
+ class ProjectServiceSync(Protocol):
137
+ def register_project(self, request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.RegisterProjectRequest, ctx: RequestContext) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.RegisterProjectResponse:
138
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
139
+ def list_projects(self, request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.ListProjectsRequest, ctx: RequestContext) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.ListProjectsResponse:
140
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
141
+ def get_project(self, request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.GetProjectRequest, ctx: RequestContext) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.GetProjectResponse:
142
+ raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
143
+
144
+
145
+ class ProjectServiceWSGIApplication(ConnectWSGIApplication):
146
+ def __init__(self, service: ProjectServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None) -> None:
147
+ super().__init__(
148
+ endpoints={
149
+ "/raystack.optimus.core.v1beta1.ProjectService/RegisterProject": EndpointSync.unary(
150
+ method=MethodInfo(
151
+ name="RegisterProject",
152
+ service_name="raystack.optimus.core.v1beta1.ProjectService",
153
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.RegisterProjectRequest,
154
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.RegisterProjectResponse,
155
+ idempotency_level=IdempotencyLevel.UNKNOWN,
156
+ ),
157
+ function=service.register_project,
158
+ ),
159
+ "/raystack.optimus.core.v1beta1.ProjectService/ListProjects": EndpointSync.unary(
160
+ method=MethodInfo(
161
+ name="ListProjects",
162
+ service_name="raystack.optimus.core.v1beta1.ProjectService",
163
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.ListProjectsRequest,
164
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.ListProjectsResponse,
165
+ idempotency_level=IdempotencyLevel.UNKNOWN,
166
+ ),
167
+ function=service.list_projects,
168
+ ),
169
+ "/raystack.optimus.core.v1beta1.ProjectService/GetProject": EndpointSync.unary(
170
+ method=MethodInfo(
171
+ name="GetProject",
172
+ service_name="raystack.optimus.core.v1beta1.ProjectService",
173
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.GetProjectRequest,
174
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.GetProjectResponse,
175
+ idempotency_level=IdempotencyLevel.UNKNOWN,
176
+ ),
177
+ function=service.get_project,
178
+ ),
179
+ },
180
+ interceptors=interceptors,
181
+ read_max_bytes=read_max_bytes,
182
+ )
183
+
184
+ @property
185
+ def path(self) -> str:
186
+ """Returns the URL path to mount the application to when serving multiple applications."""
187
+ return "/raystack.optimus.core.v1beta1.ProjectService"
188
+
189
+
190
+ class ProjectServiceClientSync(ConnectClientSync):
191
+ def register_project(
192
+ self,
193
+ request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.RegisterProjectRequest,
194
+ *,
195
+ headers: Headers | Mapping[str, str] | None = None,
196
+ timeout_ms: int | None = None,
197
+ ) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.RegisterProjectResponse:
198
+ return self.execute_unary(
199
+ request=request,
200
+ method=MethodInfo(
201
+ name="RegisterProject",
202
+ service_name="raystack.optimus.core.v1beta1.ProjectService",
203
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.RegisterProjectRequest,
204
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.RegisterProjectResponse,
205
+ idempotency_level=IdempotencyLevel.UNKNOWN,
206
+ ),
207
+ headers=headers,
208
+ timeout_ms=timeout_ms,
209
+ )
210
+
211
+ def list_projects(
212
+ self,
213
+ request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.ListProjectsRequest,
214
+ *,
215
+ headers: Headers | Mapping[str, str] | None = None,
216
+ timeout_ms: int | None = None,
217
+ ) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.ListProjectsResponse:
218
+ return self.execute_unary(
219
+ request=request,
220
+ method=MethodInfo(
221
+ name="ListProjects",
222
+ service_name="raystack.optimus.core.v1beta1.ProjectService",
223
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.ListProjectsRequest,
224
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.ListProjectsResponse,
225
+ idempotency_level=IdempotencyLevel.UNKNOWN,
226
+ ),
227
+ headers=headers,
228
+ timeout_ms=timeout_ms,
229
+ )
230
+
231
+ def get_project(
232
+ self,
233
+ request: raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.GetProjectRequest,
234
+ *,
235
+ headers: Headers | Mapping[str, str] | None = None,
236
+ timeout_ms: int | None = None,
237
+ ) -> raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.GetProjectResponse:
238
+ return self.execute_unary(
239
+ request=request,
240
+ method=MethodInfo(
241
+ name="GetProject",
242
+ service_name="raystack.optimus.core.v1beta1.ProjectService",
243
+ input=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.GetProjectRequest,
244
+ output=raystack_dot_optimus_dot_core_dot_v1beta1_dot_project__pb2.GetProjectResponse,
245
+ idempotency_level=IdempotencyLevel.UNKNOWN,
246
+ ),
247
+ headers=headers,
248
+ timeout_ms=timeout_ms,
249
+ )