yellowdog-sdk 11.7.0__py3-none-any.whl → 11.8.0__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.
@@ -1 +1 @@
1
- __version__ = '11.7.0' # YEL-13710
1
+ __version__ = '11.8.0' # YEL-14199
@@ -1,6 +1,9 @@
1
1
  from .account_client import AccountClient
2
2
  from .account_client_impl import AccountClientImpl
3
3
  from .account_service_proxy import AccountServiceProxy
4
+ from .application_client import ApplicationClient
5
+ from .application_client_impl import ApplicationClientImpl
6
+ from .application_service_proxy import ApplicationServiceProxy
4
7
  from .keyring_client_impl import KeyringClientImpl
5
8
  from .keyring_service_proxy import KeyringServiceProxy
6
9
  from .keyring_client import KeyringClient
@@ -9,6 +12,9 @@ __all__ = [
9
12
  "AccountClient",
10
13
  "AccountClientImpl",
11
14
  "AccountServiceProxy",
15
+ "ApplicationClient",
16
+ "ApplicationClientImpl",
17
+ "ApplicationServiceProxy",
12
18
  "KeyringClientImpl",
13
19
  "KeyringServiceProxy",
14
20
  "KeyringClient"
@@ -0,0 +1,13 @@
1
+ from __future__ import annotations
2
+
3
+ from abc import ABC, abstractmethod
4
+
5
+ from yellowdog_client.common import Closeable
6
+ from yellowdog_client.model import ApplicationDetails
7
+
8
+
9
+ class ApplicationClient(ABC, Closeable):
10
+
11
+ @abstractmethod
12
+ def get_application_details(self) -> ApplicationDetails:
13
+ pass
@@ -0,0 +1,15 @@
1
+ from yellowdog_client.account.application_client import ApplicationClient
2
+ from yellowdog_client.account.application_service_proxy import ApplicationServiceProxy
3
+ from yellowdog_client.model import ApplicationDetails
4
+
5
+
6
+ class ApplicationClientImpl(ApplicationClient):
7
+ def __init__(self, service_proxy: ApplicationServiceProxy) -> None:
8
+ self.__service_proxy = service_proxy
9
+
10
+ def get_application_details(self) -> ApplicationDetails:
11
+ return self.__service_proxy.get_application_details()
12
+
13
+ def close(self) -> None:
14
+ pass
15
+
@@ -0,0 +1,11 @@
1
+ from yellowdog_client.common import Proxy
2
+ from yellowdog_client.model import ApplicationDetails
3
+
4
+
5
+ class ApplicationServiceProxy:
6
+ def __init__(self, proxy: Proxy) -> None:
7
+ self.proxy: Proxy = proxy.append_base_url("/application/")
8
+
9
+ def get_application_details(self) -> ApplicationDetails:
10
+ return self.proxy.get(ApplicationDetails)
11
+
@@ -19,6 +19,7 @@ from .allowance_reset_type import AllowanceResetType
19
19
  from .allowance_search import AllowanceSearch
20
20
  from .api_key import ApiKey
21
21
  from .application import Application
22
+ from .application_details import ApplicationDetails
22
23
  from .application_search import ApplicationSearch
23
24
  from .attribute_constraint import AttributeConstraint
24
25
  from .attribute_definition import AttributeDefinition
@@ -343,6 +344,7 @@ __all__ = [
343
344
  "AllowanceSearch",
344
345
  "ApiKey",
345
346
  "Application",
347
+ "ApplicationDetails",
346
348
  "ApplicationSearch",
347
349
  "AttributeConstraint",
348
350
  "AttributeDefinition",
@@ -0,0 +1,15 @@
1
+ from dataclasses import dataclass
2
+ from typing import List, Optional
3
+
4
+ from .feature import Feature
5
+
6
+
7
+ @dataclass
8
+ class ApplicationDetails:
9
+ accountId: Optional[str] = None
10
+ accountName: Optional[str] = None
11
+ id: Optional[str] = None
12
+ name: Optional[str] = None
13
+ allNamespacesReadable: bool = False
14
+ readableNamespaces: Optional[List[str]] = None
15
+ features: Optional[List[Feature]] = None
@@ -1,7 +1,8 @@
1
1
  import sys
2
2
 
3
3
  from ._version import __version__
4
- from .account import KeyringClient, KeyringClientImpl, KeyringServiceProxy, AccountClientImpl, AccountServiceProxy
4
+ from .account import KeyringClient, KeyringClientImpl, KeyringServiceProxy, AccountClientImpl, AccountServiceProxy, \
5
+ ApplicationClient, ApplicationServiceProxy, ApplicationClientImpl
5
6
  from .account.account_client import AccountClient
6
7
  from .client_collection import ClientCollection
7
8
  from .cloud_info import CloudInfoClient, CloudInfoClientImpl, CloudInfoProxy
@@ -36,7 +37,8 @@ class PlatformClient(Closeable):
36
37
  worker_pool_client: WorkerPoolClient,
37
38
  object_store_client: ObjectStoreClient,
38
39
  allowances_client: AllowancesClient,
39
- cloud_info_client: CloudInfoClient
40
+ cloud_info_client: CloudInfoClient,
41
+ application_client: ApplicationClient
40
42
  ) -> None:
41
43
  self.__clients = ClientCollection()
42
44
  self.account_client: AccountClient = self.__clients.add(account_client)
@@ -59,6 +61,8 @@ class PlatformClient(Closeable):
59
61
  """Allowances client. Used to constrain how much compute can be used"""
60
62
  self.cloud_info_client: CloudInfoClient = self.__clients.add(cloud_info_client)
61
63
  """Cloud Info client. Used to query Cloud Info data """
64
+ self.application_client: ApplicationClient = self.__clients.add(application_client)
65
+ """Application client. Used to controlling applications """
62
66
 
63
67
  @staticmethod
64
68
  def create(services_schema: ServicesSchema, api_key: ApiKey) -> "PlatformClient":
@@ -104,6 +108,7 @@ class PlatformClient(Closeable):
104
108
  object_store_client = ObjectStoreClient(ObjectStoreServiceProxy(proxy.append_base_url(object_store_url)))
105
109
  allowances_client = AllowancesClientImpl(AllowancesServiceProxy(proxy.append_base_url(usage_url)))
106
110
  cloud_info_client = CloudInfoClientImpl(CloudInfoProxy(proxy.append_base_url(cloud_info_url)))
111
+ application_client = ApplicationClientImpl(ApplicationServiceProxy(proxy.append_base_url(account_url)))
107
112
 
108
113
  return PlatformClient(
109
114
  account_client=account_client,
@@ -115,7 +120,8 @@ class PlatformClient(Closeable):
115
120
  worker_pool_client=worker_pool_client,
116
121
  object_store_client=object_store_client,
117
122
  allowances_client=allowances_client,
118
- cloud_info_client=cloud_info_client
123
+ cloud_info_client=cloud_info_client,
124
+ application_client=application_client
119
125
  )
120
126
 
121
127
  def close(self) -> None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yellowdog-sdk
3
- Version: 11.7.0
3
+ Version: 11.8.0
4
4
  Summary: SDK for the YellowDog Platform
5
5
  Author-email: YellowDog Limited <support@yellowdog.co>
6
6
  Project-URL: Homepage, https://yellowdog.co
@@ -1,12 +1,15 @@
1
1
  __init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  yellowdog_client/__init__.py,sha256=xHGTw5UbjkeEl_hC8_gJCacfji6462qJWD1nvJdFssE,13162
3
- yellowdog_client/_version.py,sha256=2aZ_PT8TCx2hrcRwkXrP_WmGPdov3RYGhkKk3HNCwRg,35
3
+ yellowdog_client/_version.py,sha256=yhZfM3Td7gBCaq2bxiWfN5mNCY6e59sB87a88x7V9tg,35
4
4
  yellowdog_client/client_collection.py,sha256=VSEzjf6iR1qCQ0YGLyDq_Kgvw8r832QDwTp6-MLB4Vs,388
5
- yellowdog_client/platform_client.py,sha256=yCzKsOQKllnfzwP9bG-JGtvOdvY7EaEQzFsgX3ERzVY,7476
6
- yellowdog_client/account/__init__.py,sha256=DiLL3uSMyVlAKWsncX0k5Ioc2hw87HQoEkSYO0ro0fg,456
5
+ yellowdog_client/platform_client.py,sha256=J1KNYC99WlK-cg9reAvqFKc4IKTtWFet-INLpGdECqI,7923
6
+ yellowdog_client/account/__init__.py,sha256=3mb1pxWtzXaFI7R1KqP76y9ni4kV1Xcle-IgVMuWh18,713
7
7
  yellowdog_client/account/account_client.py,sha256=lt32hszRysBpOK4tWMw6sY98EVNIgQILn4zaW28LFmA,3529
8
8
  yellowdog_client/account/account_client_impl.py,sha256=zEr_5_j94TxlYjQ6yGJ2nrHKi63lcg4_UYneBIJ4BqY,6349
9
9
  yellowdog_client/account/account_service_proxy.py,sha256=b8HJXDxQ7dIysBbVCv0i3Dj4Vbsqxi38cqtwBEGIQrM,5679
10
+ yellowdog_client/account/application_client.py,sha256=TpIzV3qQFFHUMf_Ck34STQqTV9UUqx44BM7LtVbKgVc,311
11
+ yellowdog_client/account/application_client_impl.py,sha256=KEDZSmw5OBzUB8OsR_XvKxXshu5RSfH2OrpCCD5wVMs,550
12
+ yellowdog_client/account/application_service_proxy.py,sha256=k_fPjkR96dgjyGaqKqY6KRiIbfibzn43HEqNzec33pY,355
10
13
  yellowdog_client/account/keyring_client.py,sha256=IFogh3LNNtL0cSbvbaEuhJ41UhtJbItyxm0AEnAaFMk,1125
11
14
  yellowdog_client/account/keyring_client_impl.py,sha256=s_IltFtozR7lYdR9XNEZVj885pgJ0DoInv0B24GtblI,1665
12
15
  yellowdog_client/account/keyring_service_proxy.py,sha256=8oK6lK3FxHOIbq--qcKSAd5bqkPGMN023CrX_Q8RKeI,1220
@@ -53,7 +56,7 @@ yellowdog_client/images/images_service_proxy.py,sha256=eyP4u6FoIH1WJvNM_m8tacTCs
53
56
  yellowdog_client/images/page.py,sha256=UIvlxvzdcfnKvbcq2Cn6IB7ZtQMc3dzcBTUfElvVPwQ,391
54
57
  yellowdog_client/images/pageable.py,sha256=msD8uGGJ2F5jEqTNDYaFrh6z6drlxOXZ1AmB0T3edM0,296
55
58
  yellowdog_client/images/sort.py,sha256=YS05DlIRg1Cm3QLBi6KFjFdB3g-b3WrqFFitlMJUEMM,167
56
- yellowdog_client/model/__init__.py,sha256=Y27S6CVJXV_T1xeax4JV61qa6AQc1IPr2TIc4TgA2I0,26562
59
+ yellowdog_client/model/__init__.py,sha256=MIswjKfv8PiLYQfNqxpH4hRt5N8I8prR2lOsSENsmRM,26640
57
60
  yellowdog_client/model/access_delegate.py,sha256=jIW5P9jWG0LUirmci-rnHW_Lytv7dfKRJjAKwaLwvrU,575
58
61
  yellowdog_client/model/account.py,sha256=r_-7J-JjjMcQPZzaQ4_o9y6XY7-GMPRLWt9mGOucYU0,394
59
62
  yellowdog_client/model/account_allowance.py,sha256=c-MkSSRLB5Y5TMDZl5h5fipj4vzLLlO_AQXPeRJ0AYw,1021
@@ -75,6 +78,7 @@ yellowdog_client/model/allowance_reset_type.py,sha256=XtF2mbVm0Kn4Vb1xANYKJfXw4i
75
78
  yellowdog_client/model/allowance_search.py,sha256=p-FV1YkDsbLVu5_IxetGIVw7UDKC0WjjCxOai5pH5qg,624
76
79
  yellowdog_client/model/api_key.py,sha256=yQeXeMuoNqgYFAHMtWRzHWnBS8F-tVfZZ5zCB-klxT4,151
77
80
  yellowdog_client/model/application.py,sha256=6L4PBLoLfWCJ8H8HqgsXcXoJwJfdHORBWW7MIDTo-CU,494
81
+ yellowdog_client/model/application_details.py,sha256=0Um8d8B_gnKL_LGJdm0W6vmBg9h96P1ZN_Mjcttkifg,407
78
82
  yellowdog_client/model/application_search.py,sha256=UXAYUcGh_rSj87kqqwVgIMkhridIIJp0CRkBaCO_JRs,260
79
83
  yellowdog_client/model/attribute_constraint.py,sha256=6GqpFsQuDMY3UnMKHn337Erlkt0qnBadHJJ0fL6MF3s,129
80
84
  yellowdog_client/model/attribute_definition.py,sha256=7sl6txIaF-3E27D5btpRe40QRrV0n5w2U59i1Sr2isE,162
@@ -470,8 +474,8 @@ yellowdog_client/usage/__init__.py,sha256=XQwRJqTdxKZa1QUTsxBEL0TqQJeQHGyPklFeqc
470
474
  yellowdog_client/usage/allowances_client.py,sha256=H6n63jXjT4OwuWJgFUXSjSmvGTZz9uspy3kj3upinaA,1337
471
475
  yellowdog_client/usage/allowances_client_impl.py,sha256=nQPnSzJKhL3WvyCn5fmiDkwE84xZryH9YvV5Z1GjU4M,2061
472
476
  yellowdog_client/usage/allowances_service_proxy.py,sha256=uO6LWnpjIzUcZTGdOxPXn7SyYX7NMRqO5KUiHUGr490,1320
473
- yellowdog_sdk-11.7.0.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
474
- yellowdog_sdk-11.7.0.dist-info/METADATA,sha256=tad3kf9HkDHlrHo58vKRg3Rnr-cTPWBTcq9PZlln_lo,3239
475
- yellowdog_sdk-11.7.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
476
- yellowdog_sdk-11.7.0.dist-info/top_level.txt,sha256=6PH16DcoqpYHhQ5A0UJOjf0tg-1rTrNC9C2CLqCMuFo,26
477
- yellowdog_sdk-11.7.0.dist-info/RECORD,,
477
+ yellowdog_sdk-11.8.0.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
478
+ yellowdog_sdk-11.8.0.dist-info/METADATA,sha256=7TxSTAo8VMKSlPV0_CwJ3EtUT7HOrLcSlNJdNRcfIwg,3239
479
+ yellowdog_sdk-11.8.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
480
+ yellowdog_sdk-11.8.0.dist-info/top_level.txt,sha256=6PH16DcoqpYHhQ5A0UJOjf0tg-1rTrNC9C2CLqCMuFo,26
481
+ yellowdog_sdk-11.8.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5