truefoundry 0.9.0rc1__py3-none-any.whl → 0.9.2__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.

Potentially problematic release.


This version of truefoundry might be problematic. Click here for more details.

@@ -2,8 +2,6 @@ import os
2
2
  from pathlib import Path
3
3
  from typing import Any, Dict, List, Optional
4
4
 
5
- import questionary
6
- import rich_click as click
7
5
  import yaml
8
6
 
9
7
  DEFAULT_KUBECONFIG_PATH: Path = Path.home() / ".kube" / "config"
@@ -114,35 +112,7 @@ def get_cluster_context(
114
112
 
115
113
 
116
114
  def get_cluster_server_url(config: Dict[str, Any], cluster: str) -> Optional[str]:
117
- cluster: Optional[Dict[str, Any]] = get_cluster_context(config, cluster)
118
- if cluster:
119
- return cluster["cluster"].get("server")
115
+ cluster_context: Optional[Dict[str, Any]] = get_cluster_context(config, cluster)
116
+ if cluster_context:
117
+ return cluster_context["cluster"].get("server")
120
118
  return None
121
-
122
-
123
- def select_cluster(cluster: Optional[str] = None) -> str:
124
- """
125
- Retrieve available clusters and either return the specified one after validation
126
- or allow the user to interactively select from the list.
127
- """
128
- from truefoundry.deploy.lib.clients.servicefoundry_client import (
129
- ServiceFoundryServiceClient,
130
- )
131
-
132
- clusters = ServiceFoundryServiceClient().list_clusters()
133
-
134
- if not clusters:
135
- raise click.ClickException("No clusters found in your account.")
136
-
137
- if cluster:
138
- if not any(c.id == cluster for c in clusters):
139
- raise click.ClickException(
140
- f"Cluster {cluster} not found. Either it does not exist or you might not be autthorized to access it"
141
- )
142
- return cluster
143
-
144
- choices = {cluster.id: cluster for cluster in clusters}
145
- cluster = questionary.select("Pick a Cluster:", choices=list(choices.keys())).ask()
146
- if not cluster:
147
- raise click.ClickException("No cluster selected.")
148
- return cluster
@@ -222,12 +222,14 @@ class ServiceFoundryServiceClient(BaseServiceFoundryServiceClient):
222
222
  workspace_id: str,
223
223
  application: autogen_models.Workflow,
224
224
  force: bool = False,
225
+ trigger_on_deploy: bool = False,
225
226
  ) -> Deployment:
226
227
  data = {
227
228
  "workspaceId": workspace_id,
228
229
  "name": application.name,
229
230
  "manifest": application.dict(exclude_none=True),
230
231
  "forceDeploy": force,
232
+ "triggerOnDeploy": trigger_on_deploy,
231
233
  }
232
234
  logger.debug(json.dumps(data))
233
235
  url = f"{self._api_server_url}/{VERSION_PREFIX}/deployment"
@@ -262,6 +262,7 @@ def deploy_component(
262
262
  workspace_fqn: Optional[str] = None,
263
263
  wait: bool = True,
264
264
  force: bool = False,
265
+ trigger_on_deploy: bool = False,
265
266
  ) -> Deployment:
266
267
  workspace_fqn = _resolve_workspace_fqn(
267
268
  component=component, workspace_fqn=workspace_fqn
@@ -284,6 +285,7 @@ def deploy_component(
284
285
  workspace_id=workspace_id,
285
286
  application=updated_component,
286
287
  force=force,
288
+ trigger_on_deploy=trigger_on_deploy,
287
289
  )
288
290
  logger.info(
289
291
  "🚀 Deployment started for application '%s'. Deployment FQN is '%s'.",
@@ -1,10 +1,49 @@
1
- from typing import Literal, Union
1
+ import warnings
2
+ from typing import Any, Literal, Union
2
3
 
4
+ from truefoundry.common.warnings import TrueFoundryDeprecationWarning
3
5
  from truefoundry.deploy._autogen import models
4
6
  from truefoundry.deploy.lib.model.entity import Deployment
5
7
  from truefoundry.deploy.v2.lib.deploy import deploy_component
6
8
  from truefoundry.deploy.v2.lib.patched_models import LocalSource
7
- from truefoundry.pydantic_v1 import BaseModel, Field, conint
9
+ from truefoundry.pydantic_v1 import BaseModel, Field, conint, root_validator, validator
10
+
11
+ _TRIGGER_ON_DEPLOY_DEPRECATION_MESSAGE = """
12
+ Setting `trigger_on_deploy` in manifest has been deprecated and the field will be removed in future releases.
13
+
14
+ Please remove it from the spec and instead use
15
+
16
+ `trigger_on_deploy` argument on `.deploy`
17
+
18
+ E.g.
19
+
20
+ ```
21
+ job = Job(...) # remove `trigger_on_deploy` from initialization
22
+ job.deploy(..., trigger_on_deploy={arg_value})
23
+ ```
24
+
25
+ OR
26
+
27
+ `{flag}` option on `tfy deploy`
28
+
29
+ E.g.
30
+
31
+ ```
32
+ tfy deploy -f truefoundry.yaml {flag}
33
+ ```
34
+ """
35
+
36
+
37
+ def _warn_if_trigger_on_deploy_used(_klass, v: Any) -> Any:
38
+ if v is not None:
39
+ # v is the value of trigger_on_deploy, which is also the arg_value for the message
40
+ flag = "--trigger-on-deploy" if v else "--no-trigger-on-deploy"
41
+ warnings.warn(
42
+ _TRIGGER_ON_DEPLOY_DEPRECATION_MESSAGE.format(arg_value=v, flag=flag),
43
+ TrueFoundryDeprecationWarning,
44
+ stacklevel=2,
45
+ )
46
+ return v
8
47
 
9
48
 
10
49
  class DeployablePatchedModelBase(BaseModel):
@@ -12,13 +51,18 @@ class DeployablePatchedModelBase(BaseModel):
12
51
  extra = "forbid"
13
52
 
14
53
  def deploy(
15
- self, workspace_fqn: str, wait: bool = True, force: bool = False
54
+ self,
55
+ workspace_fqn: str,
56
+ wait: bool = True,
57
+ force: bool = False,
58
+ trigger_on_deploy: bool = False,
16
59
  ) -> Deployment:
17
60
  return deploy_component(
18
61
  component=self,
19
62
  workspace_fqn=workspace_fqn,
20
63
  wait=wait,
21
64
  force=force,
65
+ trigger_on_deploy=trigger_on_deploy,
22
66
  )
23
67
 
24
68
 
@@ -36,6 +80,10 @@ class Job(models.Job, DeployablePatchedModelBase):
36
80
  type: Literal["job"] = "job"
37
81
  resources: models.Resources = Field(default_factory=models.Resources)
38
82
 
83
+ @validator("trigger_on_deploy")
84
+ def _warn_if_trigger_on_deploy_used(cls, v: Any) -> Any:
85
+ return _warn_if_trigger_on_deploy_used(cls, v)
86
+
39
87
 
40
88
  class SparkJob(models.SparkJob, DeployablePatchedModelBase):
41
89
  type: Literal["spark-job"] = "spark-job"
@@ -79,9 +127,63 @@ class SSHServer(models.SSHServer, DeployablePatchedModelBase):
79
127
  resources: models.Resources = Field(default_factory=models.Resources)
80
128
 
81
129
 
82
- class Application(models.Application, DeployablePatchedModelBase):
130
+ class Workflow(models.Workflow, DeployablePatchedModelBase):
131
+ type: Literal["workflow"] = "workflow"
132
+ source: Union[models.RemoteSource, models.LocalSource] = Field(
133
+ default_factory=lambda: LocalSource(local_build=False)
134
+ )
135
+
83
136
  def deploy(
84
137
  self, workspace_fqn: str, wait: bool = True, force: bool = False
138
+ ) -> Deployment:
139
+ from truefoundry.deploy.v2.lib.deploy_workflow import deploy_workflow
140
+
141
+ return deploy_workflow(
142
+ workflow=self, workspace_fqn=workspace_fqn, wait=wait, force=force
143
+ )
144
+
145
+
146
+ class Application(models.Application, DeployablePatchedModelBase):
147
+ # We need a discriminator field to the root model to simplify the Validation errors
148
+ # Unfortunately cue export cannot add discriminator in OAS
149
+ # Even if we add it manually in OAS, `datamodel-code-generator` has bugs when discriminator field is enum type in member models.
150
+ # It will change the members to be incorrect like this
151
+ # >>> class Service(BaseModel):
152
+ # >>> type: Literal["Service"] = Field("Service") # notice the capital casing
153
+ # This is why we add it manually here
154
+ __root__: Union[
155
+ models.Service,
156
+ models.AsyncService,
157
+ models.Job,
158
+ models.Notebook,
159
+ models.Codeserver,
160
+ models.SSHServer,
161
+ models.RStudio,
162
+ models.Helm,
163
+ models.Volume,
164
+ models.ApplicationSet,
165
+ models.Workflow,
166
+ models.SparkJob,
167
+ ] = Field(..., description="", discriminator="type")
168
+
169
+ @root_validator(pre=True)
170
+ def _validate_spec(cls, values: Any) -> Any:
171
+ if isinstance(values, dict) and "__root__" in values:
172
+ root = values["__root__"]
173
+ if (
174
+ isinstance(root, dict)
175
+ and root.get("type") == "job"
176
+ and root.get("trigger_on_deploy") is not None
177
+ ):
178
+ _warn_if_trigger_on_deploy_used(cls, root.get("trigger_on_deploy"))
179
+ return values
180
+
181
+ def deploy(
182
+ self,
183
+ workspace_fqn: str,
184
+ wait: bool = True,
185
+ force: bool = False,
186
+ trigger_on_deploy: bool = False,
85
187
  ) -> Deployment:
86
188
  if isinstance(self.__root__, models.Workflow):
87
189
  from truefoundry.deploy.v2.lib.deploy_workflow import deploy_workflow
@@ -98,20 +200,5 @@ class Application(models.Application, DeployablePatchedModelBase):
98
200
  workspace_fqn=workspace_fqn,
99
201
  wait=wait,
100
202
  force=force,
203
+ trigger_on_deploy=trigger_on_deploy,
101
204
  )
102
-
103
-
104
- class Workflow(models.Workflow, DeployablePatchedModelBase):
105
- type: Literal["workflow"] = "workflow"
106
- source: Union[models.RemoteSource, models.LocalSource] = Field(
107
- default_factory=lambda: LocalSource(local_build=False)
108
- )
109
-
110
- def deploy(
111
- self, workspace_fqn: str, wait: bool = True, force: bool = False
112
- ) -> Deployment:
113
- from truefoundry.deploy.v2.lib.deploy_workflow import deploy_workflow
114
-
115
- return deploy_workflow(
116
- workflow=self, workspace_fqn=workspace_fqn, wait=wait, force=force
117
- )
@@ -9,6 +9,7 @@ except ImportError:
9
9
 
10
10
  from flytekit import conditional
11
11
  from flytekit.types.directory import FlyteDirectory
12
+ from flytekit.types.error.error import FlyteError
12
13
  from flytekit.types.file import FlyteFile
13
14
 
14
15
  from truefoundry.common.constants import ENV_VARS
@@ -39,6 +40,7 @@ __all__ = [
39
40
  "PythonTaskConfig",
40
41
  "ExecutionConfig",
41
42
  "FlyteFile",
43
+ "FlyteError",
42
44
  ]
43
45
 
44
46
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: truefoundry
3
- Version: 0.9.0rc1
3
+ Version: 0.9.2
4
4
  Summary: TrueFoundry CLI
5
5
  Author-email: TrueFoundry Team <abhishek@truefoundry.com>
6
6
  Requires-Python: <3.14,>=3.8.1
@@ -14,7 +14,6 @@ Requires-Dist: gitpython<4.0.0,>=3.1.43
14
14
  Requires-Dist: importlib-metadata<9.0.0,>=4.11.3
15
15
  Requires-Dist: importlib-resources<7.0.0,>=5.2.0
16
16
  Requires-Dist: mako<2.0.0,>=1.1.6
17
- Requires-Dist: mcp==1.8.1; python_version >= '3.10'
18
17
  Requires-Dist: numpy<3.0.0,>=1.23.0
19
18
  Requires-Dist: openai<2.0.0,>=1.16.2
20
19
  Requires-Dist: packaging<26.0,>=20.0
@@ -35,6 +34,8 @@ Requires-Dist: truefoundry-sdk<0.2.0,>=0.1.1
35
34
  Requires-Dist: typing-extensions>=4.0
36
35
  Requires-Dist: urllib3<3,>=1.26.18
37
36
  Requires-Dist: yq<4.0.0,>=3.1.0
37
+ Provides-Extra: ai
38
+ Requires-Dist: mcp==1.9.1; (python_version >= '3.10') and extra == 'ai'
38
39
  Provides-Extra: workflow
39
40
  Requires-Dist: flytekit==1.15.3; (python_version >= '3.9' and python_version < '3.13') and extra == 'workflow'
40
41
  Description-Content-Type: text/markdown
@@ -3,6 +3,10 @@ truefoundry/_client.py,sha256=Y3qHi_Lg4Sx6GNvsjAHIoAfFr8PJnqgCrXmpNAI3ECg,1417
3
3
  truefoundry/logger.py,sha256=u-YCNjg5HBwE70uQcpjIG64Ghos-K2ulTWaxC03BSj4,714
4
4
  truefoundry/pydantic_v1.py,sha256=jSuhGtz0Mbk1qYu8jJ1AcnIDK4oxUsdhALc4spqstmM,345
5
5
  truefoundry/version.py,sha256=bqiT4Q-VWrTC6P4qfK43mez-Ppf-smWfrl6DcwV7mrw,137
6
+ truefoundry/_ask/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ truefoundry/_ask/cli.py,sha256=zPaDvxhX2dITmPTtut2Iu6WAIaizrwR-U_dDZ6xv2io,5814
8
+ truefoundry/_ask/client.py,sha256=4vWO04jWbSF0XD3q8DwXjvL4HW-WBg7nsQ0DydNwHmM,18479
9
+ truefoundry/_ask/llm_utils.py,sha256=ayjz7JtVu142lrm8t0cVoxLxUpx76b71y8R62z_WurY,13537
6
10
  truefoundry/autodeploy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
11
  truefoundry/autodeploy/cli.py,sha256=9ZxKu_MGIpraMzaW4ZyuQZhlKIQYE3biBrBV4S1h6Fo,14167
8
12
  truefoundry/autodeploy/constants.py,sha256=vTh2nA7cjqghqbW2rNh3FbtcIk2scdAWZuuQCmVBO80,1273
@@ -28,15 +32,15 @@ truefoundry/autodeploy/utils/client.py,sha256=PvbSkfgAjAogGjisinqmh4mP4svowxAC0I
28
32
  truefoundry/autodeploy/utils/diff.py,sha256=Ef8Y-VffDKel_-q-GxRam6gqiv8qTLMcqVg6iifXfcA,5358
29
33
  truefoundry/autodeploy/utils/pydantic_compat.py,sha256=hEAUy5kLjhPdzw7yGZ2iXGMXbbMVXVlGzIofmyHafXQ,412
30
34
  truefoundry/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
- truefoundry/cli/__main__.py,sha256=k9wgXDoUOYdsK5Ply_GpDV-Ns4DNn0jRKNUQSCRnZ-0,3976
35
+ truefoundry/cli/__main__.py,sha256=6qCyQ4iXJYwSqepQurw9rifYeiEmuu7WLJgEWFqvQJk,4004
32
36
  truefoundry/cli/config.py,sha256=f7z0_gmYZiNImB7Bxz0AnOlrxY2X4lFnX4jYW1I7NHQ,139
33
37
  truefoundry/cli/console.py,sha256=9-dMy4YPisCJQziRKTg8Qa0UJnOGl1soiUnJjsnLDvE,242
34
38
  truefoundry/cli/const.py,sha256=dVHPo1uAiDSSMXwXoT2mR5kNQjExT98QNVRz98Hz_Ts,510
35
- truefoundry/cli/display_util.py,sha256=s0_eWUUAK1dbmqW5h_qAG93roH81dh-g1nLjuQVFm6k,5130
36
- truefoundry/cli/util.py,sha256=7DmKXY5OPslPu2LO6vrUUfDtoHeo12sJTDUA0GOi8IM,3922
39
+ truefoundry/cli/display_util.py,sha256=9vzN3mbQqU6OhS7qRUiMRana4PTHa4sDTA0Hn7OVjCI,3108
40
+ truefoundry/cli/util.py,sha256=pezUfF2GC6ru7s8VeH2a7uvXTU0xN9ka7yLXkIgC3dY,4998
37
41
  truefoundry/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
42
  truefoundry/common/auth_service_client.py,sha256=N3YxKlx63r6cPZqbgb2lqBOPI69ShB7D7RCIq4FSCjc,7949
39
- truefoundry/common/constants.py,sha256=eWcElAYIVb0jnHUAcsHvgnkdKf2E1nCg_Ybbi8ibxF0,4365
43
+ truefoundry/common/constants.py,sha256=pAEuXtUNtg_qQIU40HBtS-L-KSunVAsF_UqzyIPnpEw,4487
40
44
  truefoundry/common/credential_file_manager.py,sha256=1yEk1Zm2xS4G0VDFwKSZ4w0VUrcPWQ1nJnoBaz9xyKA,4251
41
45
  truefoundry/common/credential_provider.py,sha256=_OhJ2XFlDaVsrUO-FyywxctcGGqDdC2pgcvwEKqQD0Q,4071
42
46
  truefoundry/common/entities.py,sha256=b4R6ss06-ygDS3C4Tqa_GOq5LFKDYbt7x4Mghnfz6yo,4007
@@ -50,7 +54,7 @@ truefoundry/common/utils.py,sha256=j3QP0uOsaGD_VmDDR68JTwoYE1okkAq6OqpVkzVf48Q,6
50
54
  truefoundry/common/warnings.py,sha256=rs6BHwk7imQYedo07iwh3TWEOywAR3Lqhj0AY4khByg,504
51
55
  truefoundry/deploy/__init__.py,sha256=6D22iiCgd5xlzBaG34q9Cx4rGgwf5qIAKQrOCgaCXYY,2746
52
56
  truefoundry/deploy/python_deploy_codegen.py,sha256=AainOFR20XvhNeztJkLPWGZ40lAT_nwc-ZmG77Kum4o,6525
53
- truefoundry/deploy/_autogen/models.py,sha256=gGH63evQTTnU0fEjtNgCsD0aqIxhdp316GL3Xb65NJk,71461
57
+ truefoundry/deploy/_autogen/models.py,sha256=8zuCebKyr3Ake4OR4IRfagAo0VbV3WVOpvPmiB25RAg,71444
54
58
  truefoundry/deploy/builder/__init__.py,sha256=nGQiR3r16iumRy7xbVQ6q-k0EApmijspsfVpXDE-9po,4953
55
59
  truefoundry/deploy/builder/constants.py,sha256=amUkHoHvVKzGv0v_knfiioRuKiJM0V0xW0diERgWiI0,508
56
60
  truefoundry/deploy/builder/docker_service.py,sha256=sm7GWeIqyrKaZpxskdLejZlsxcZnM3BTDJr6orvPN4E,3948
@@ -62,24 +66,23 @@ truefoundry/deploy/builder/builders/tfy_notebook_buildpack/dockerfile_template.p
62
66
  truefoundry/deploy/builder/builders/tfy_python_buildpack/__init__.py,sha256=_fjqHKn80qKi68SAMMALge7_A6e1sTsQWichw8uoGIw,2025
63
67
  truefoundry/deploy/builder/builders/tfy_python_buildpack/dockerfile_template.py,sha256=f4l3fH21E2b8W3-JotMKc0AdPcCxV7LRPxxYJa7z_UQ,9134
64
68
  truefoundry/deploy/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
- truefoundry/deploy/cli/commands/__init__.py,sha256=f7sXiQK9UuxDJmvBa-QCFNyumUpGGMhZbCxdwJzWXwQ,1116
69
+ truefoundry/deploy/cli/commands/__init__.py,sha256=qv818jxqSAygJ3h-6Ul8t-5VOgR_UrSgsVtNCl3e5G0,1408
66
70
  truefoundry/deploy/cli/commands/apply_command.py,sha256=Y2e_C8HVpo8CssVod-3JRz-89qStC5JRaNzJ7O2mRlY,2039
67
- truefoundry/deploy/cli/commands/ask_command.py,sha256=9TDZVKEKhBvNx3NVz51bbkbbeeEMI3Xc85THnOGHM1g,5970
68
71
  truefoundry/deploy/cli/commands/build_command.py,sha256=zJBywMatbpUlXx5O2aqpEVmPeBIJ9RNnG9abSc8C8CE,1234
69
72
  truefoundry/deploy/cli/commands/delete_command.py,sha256=i_lr_MocTEPKF2VwLe8B7oZWsgXK06EX_43_xdM5DIs,3875
70
- truefoundry/deploy/cli/commands/deploy_command.py,sha256=8aTBvzPaT9xg6KPmpcpqJlmdj4yXzWUfAy6slcoPN74,4123
73
+ truefoundry/deploy/cli/commands/deploy_command.py,sha256=fN6yVXdSGD8xWyAj6KcwayCjA_sV5aKCpxLuNCrUl8U,4681
71
74
  truefoundry/deploy/cli/commands/deploy_init_command.py,sha256=g-jBfrEmhZ0TDWsyqPDn4K6q33EqJSGmBTt1eMYig-w,600
72
75
  truefoundry/deploy/cli/commands/get_command.py,sha256=bR8tAjQQhimzaTQ57L6BPJwcxQ_SGWCF5CqHDpxgG90,837
73
76
  truefoundry/deploy/cli/commands/k8s_exec_credential_command.py,sha256=EknpdufMAEnjSGMG7a-Jj7tkoiS5zmbJRREafb14Alw,2160
74
- truefoundry/deploy/cli/commands/kubeconfig_command.py,sha256=v6LmDyf2YQPxPrueGlzIq_leN6kKi1ks2zyWb4FmbXU,3150
77
+ truefoundry/deploy/cli/commands/kubeconfig_command.py,sha256=WTYCv_itwUb6kwlsGkq3hwn5i-Gjd7cVrbBhoLZDnJI,3146
75
78
  truefoundry/deploy/cli/commands/login_command.py,sha256=kbEs4leyMYK2kz7L9ql2PXVgLVmCYo-LWtnntVVYLFY,1065
76
79
  truefoundry/deploy/cli/commands/logout_command.py,sha256=u3kfrEp0ETbrz40KjD4GCC3XEZ5YRAlrca_Df4U_mk0,536
77
80
  truefoundry/deploy/cli/commands/logs_command.py,sha256=osl2z5VaIceB9sYa6GtwsuyAPZKcw-A0oVEt3g1f62Q,4140
78
- truefoundry/deploy/cli/commands/patch_application_command.py,sha256=YdTlkWGI2gCMoVAgPJtybjuvRFqZq9tp6TqbCpwgXUY,2443
81
+ truefoundry/deploy/cli/commands/patch_application_command.py,sha256=aRTHu2OmxQd7j9iE0RavsFCkCILp0rGh4DJO51Oij5I,2591
79
82
  truefoundry/deploy/cli/commands/patch_command.py,sha256=wA95khMO9uVz8SaJlgYMUwaX7HagtchjyxXXATq83Bk,1665
80
83
  truefoundry/deploy/cli/commands/terminate_comand.py,sha256=UKhOdbAej8ubX3q44vpLrOotAcvH4vHpRZJQrRf_AfM,1077
81
84
  truefoundry/deploy/cli/commands/trigger_command.py,sha256=_qSl-AShepZpbGUGTfLfJGd74VJJ_wd3eXYt2DfxIFo,4716
82
- truefoundry/deploy/cli/commands/utils.py,sha256=44XkNPxGK1wUEHfUTAn9pHZXosvUlby4PVy2cY3yBNc,4723
85
+ truefoundry/deploy/cli/commands/utils.py,sha256=mIMYbHuAxnT0yz_0PU8LDC9sAZPU_xURZFMOrGoasuc,3694
83
86
  truefoundry/deploy/core/__init__.py,sha256=j61bMWj4BkWihdssKMSFhieo7afJDtpc7qO7zk1rDB4,140
84
87
  truefoundry/deploy/core/login.py,sha256=N2VrW3nlBzoyoYulkipxwQvCpjBhi3sfsmhxK1ktWhg,236
85
88
  truefoundry/deploy/core/logout.py,sha256=TpWLq4_DsxYS5GX2OJQGDhekNOfiOLb-vO5khQueHXw,80
@@ -95,8 +98,7 @@ truefoundry/deploy/lib/session.py,sha256=fLdgR6ZDp8-hFl5NTON4ngnWLsMzGxvKtfpDOOw
95
98
  truefoundry/deploy/lib/util.py,sha256=J7r8San2wKo48A7-BlH2-OKTlBO67zlPjLEhMsL8os0,1059
96
99
  truefoundry/deploy/lib/win32.py,sha256=1RcvPTdlOAJ48rt8rCbE2Ufha2ztRqBAE9dueNXArrY,5009
97
100
  truefoundry/deploy/lib/clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
- truefoundry/deploy/lib/clients/ask_client.py,sha256=77106708EC16wsi2M1n1_5HgOVboEZoq9_obKsf24M0,13494
99
- truefoundry/deploy/lib/clients/servicefoundry_client.py,sha256=fmRlPYCimk1ZLbMgdzfJVCbcKRCVnFYL5T3j2uJA0Tc,27037
101
+ truefoundry/deploy/lib/clients/servicefoundry_client.py,sha256=HLBXRQqzwrJfxFnXnxKInx4UWPA8rF8T_ouk-OX7HaE,27128
100
102
  truefoundry/deploy/lib/dao/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
103
  truefoundry/deploy/lib/dao/application.py,sha256=oMszpueXPUfTUuN_XdKwoRjQyqAgWHhZ-10cbprCVdM,9226
102
104
  truefoundry/deploy/lib/dao/apply.py,sha256=5IFERe5sLmZGlavaKTIxL4xPHAme4ZS2Ww0a2rKTyT0,3029
@@ -107,9 +109,9 @@ truefoundry/deploy/lib/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
107
109
  truefoundry/deploy/lib/model/entity.py,sha256=Bp9sLB-M5INCpw5lPmFdygHWS1zvnLicnSiSCi2iqhQ,8591
108
110
  truefoundry/deploy/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
109
111
  truefoundry/deploy/v2/lib/__init__.py,sha256=WEiVMZXOVljzEE3tpGJil14liIn_PCDoACJ6b3tZ6sI,188
110
- truefoundry/deploy/v2/lib/deploy.py,sha256=kAnh6RO4ci7AVjlIoN1Sr5FmcOU7nbkwNvbrS802spY,12625
112
+ truefoundry/deploy/v2/lib/deploy.py,sha256=HfSUdAS3gSpFAFtV0Mq9LscfpkaXqA2LHW4VXqk9Y0g,12707
111
113
  truefoundry/deploy/v2/lib/deploy_workflow.py,sha256=G5BzMIbap8pgDX1eY-TITruUxQdkKhYtBmRwLL6lDeY,14342
112
- truefoundry/deploy/v2/lib/deployable_patched_models.py,sha256=xbHFD3pURflvCm8EODPvjfvRrv67mlSrjPUknY8SMB8,4060
114
+ truefoundry/deploy/v2/lib/deployable_patched_models.py,sha256=mUi-OjPf7bc8rzfrPLdFb79LKuDq7F36RxL4V-AXebs,6830
113
115
  truefoundry/deploy/v2/lib/models.py,sha256=ogc1UYs1Z2nBdGSKCrde9sk8d0GxFKMkem99uqO5CmM,1148
114
116
  truefoundry/deploy/v2/lib/patched_models.py,sha256=8ib9Y7b4-DoEml2zCv3V7QIqh4tLJUjzPj1AWomwvag,14775
115
117
  truefoundry/deploy/v2/lib/source.py,sha256=d6-8_6Zn5koBglqrBrY6ZLG_7yyPuLdyEmK4iZTw6xY,9405
@@ -365,7 +367,7 @@ truefoundry/ml/log_types/image/constants.py,sha256=wLtGEOA4T5fZHSlOXPuNDLX3lpbCt
365
367
  truefoundry/ml/log_types/image/image.py,sha256=sa0tBHdyluC8bELXY16E0HgFrUDnDBxHrteix4BFXcs,12479
366
368
  truefoundry/ml/log_types/image/image_normalizer.py,sha256=vrzfuSpVGgIxw_Q2sbFe7kQ_JpAndX0bMwC7wtfi41g,3104
367
369
  truefoundry/ml/log_types/image/types.py,sha256=inFQlyAyDvZtfliFpENirNCm1XO9beyZ8DNn97DoDKs,1568
368
- truefoundry/workflow/__init__.py,sha256=MNxnOh5fzAmDaK-cJy9qwtA-zH2CdOEP2h0q9lEiLgY,1588
370
+ truefoundry/workflow/__init__.py,sha256=8wjsorcOGzCAWGqLRbAUf8eyezxpnB4NvXHX_rdO7ks,1656
369
371
  truefoundry/workflow/container_task.py,sha256=8arieePsX4__OnG337hOtCiNgJwtKJJCsZcmFmCBJtk,402
370
372
  truefoundry/workflow/map_task.py,sha256=f9vcAPRQy0Ttw6bvdZBKUVJMSm4eGQrbE1GHWhepHIU,1864
371
373
  truefoundry/workflow/python_task.py,sha256=SRXRLC4vdBqGjhkwuaY39LEWN6iPCpJAuW17URRdWTY,1128
@@ -375,7 +377,7 @@ truefoundry/workflow/remote_filesystem/__init__.py,sha256=LQ95ViEjJ7Ts4JcCGOxMPs
375
377
  truefoundry/workflow/remote_filesystem/logger.py,sha256=em2l7D6sw7xTLDP0kQSLpgfRRCLpN14Qw85TN7ujQcE,1022
376
378
  truefoundry/workflow/remote_filesystem/tfy_signed_url_client.py,sha256=xcT0wQmQlgzcj0nP3tJopyFSVWT1uv3nhiTIuwfXYeg,12342
377
379
  truefoundry/workflow/remote_filesystem/tfy_signed_url_fs.py,sha256=nSGPZu0Gyd_jz0KsEE-7w_BmnTD8CVF1S8cUJoxaCbc,13305
378
- truefoundry-0.9.0rc1.dist-info/METADATA,sha256=Jke--bMLUmA_EhDKqqVyPODCMgbsIHC0W7yH2nRsjqk,2468
379
- truefoundry-0.9.0rc1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
380
- truefoundry-0.9.0rc1.dist-info/entry_points.txt,sha256=xVjn7RMN-MW2-9f7YU-bBdlZSvvrwzhpX1zmmRmsNPU,98
381
- truefoundry-0.9.0rc1.dist-info/RECORD,,
380
+ truefoundry-0.9.2.dist-info/METADATA,sha256=2jpQDTSr8gNEmXZp1N5Dk8-hsHbfBiW4O8TuNY2Wjdg,2504
381
+ truefoundry-0.9.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
382
+ truefoundry-0.9.2.dist-info/entry_points.txt,sha256=xVjn7RMN-MW2-9f7YU-bBdlZSvvrwzhpX1zmmRmsNPU,98
383
+ truefoundry-0.9.2.dist-info/RECORD,,