truefoundry 0.3.2__py3-none-any.whl → 0.3.3rc1__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.

@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: application.json
3
- # timestamp: 2024-09-10T13:19:47+00:00
3
+ # timestamp: 2024-09-19T11:05:06+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -444,6 +444,30 @@ class Image(BaseModel):
444
444
  )
445
445
 
446
446
 
447
+ class JobAlert(BaseModel):
448
+ """
449
+ +docs=Describes the configuration for the job alerts
450
+ +label=Alert
451
+ """
452
+
453
+ notification_channel: str = Field(
454
+ ...,
455
+ description='+label=Notification Channel\n+usage=Specify the notification channel to send alerts to\n+uiType=IntegrationSelect\n+uiProps={"integrationType":"notification-channel"}\n+sort=660',
456
+ )
457
+ on_start: bool = Field(
458
+ False,
459
+ description="+label=On Start\n+usage=Send an alert when the job starts\n+sort=670",
460
+ )
461
+ on_completion: bool = Field(
462
+ False,
463
+ description="+label=On Completion\n+usage=Send an alert when the job completes\n+sort=680",
464
+ )
465
+ on_failure: bool = Field(
466
+ True,
467
+ description="+label=On Failure\n+usage=Send an alert when the job fails\n+sort=690",
468
+ )
469
+
470
+
447
471
  class KafkaMetricConfig(BaseModel):
448
472
  type: Literal["kafka"] = Field(..., description="+value=kafka")
449
473
  lag_threshold: conint(ge=1) = Field(
@@ -1350,6 +1374,10 @@ class Job(BaseModel):
1350
1374
  description="+label=Environment Variables\n+usage=Configure environment variables to be injected in the service either as plain text or secrets. [Docs](https://docs.truefoundry.com/docs/env-variables)\n+icon=fa-globe\n+sort=500",
1351
1375
  )
1352
1376
  resources: Optional[Resources] = None
1377
+ alerts: Optional[List[JobAlert]] = Field(
1378
+ None,
1379
+ description="+label=Alerts\n+usage=Configure alerts to be sent when the job starts/fails/completes\n+icon=fa-bell\n+sort=650",
1380
+ )
1353
1381
  retries: conint(ge=0, le=10) = Field(
1354
1382
  0,
1355
1383
  description="+label=Retries\n+usage=Specify the maximum number of attempts to retry a job before it is marked as failed.\n+icon=fa-repeat\n+sort=700",
@@ -36,7 +36,9 @@ def handle_exception(exception):
36
36
  )
37
37
  elif isinstance(exception, ConnectionError):
38
38
  print_dict_as_table_panel(
39
- {"Error": "Couldn't connect to TrueFoundry"},
39
+ {
40
+ "Error": "Couldn't connect to TrueFoundry. Please make sure that the provided `--host` is correct."
41
+ },
40
42
  title="Command Failed",
41
43
  border_style="red",
42
44
  )
@@ -3,6 +3,7 @@ from typing import Literal, Union
3
3
  from truefoundry.deploy.auto_gen import models
4
4
  from truefoundry.deploy.lib.model.entity import Deployment
5
5
  from truefoundry.deploy.v2.lib.deploy import deploy_component
6
+ from truefoundry.deploy.v2.lib.patched_models import LocalSource
6
7
  from truefoundry.pydantic_v1 import BaseModel, Field, conint
7
8
 
8
9
 
@@ -79,6 +80,9 @@ class Application(models.Application, DeployablePatchedModelBase):
79
80
 
80
81
  class Workflow(models.Workflow, DeployablePatchedModelBase):
81
82
  type: Literal["workflow"] = "workflow"
83
+ source: Union[models.RemoteSource, models.LocalSource] = Field(
84
+ default_factory=LocalSource
85
+ )
82
86
 
83
87
  def deploy(self, workspace_fqn: str, wait: bool = True) -> Deployment:
84
88
  from truefoundry.deploy.v2.lib.deploy_workflow import deploy_workflow
@@ -16,6 +16,7 @@ def generate_code(
16
16
  workspace_fqn: str,
17
17
  ):
18
18
  symbols = ",".join(symbols_to_import)
19
+ application_type = application_type.replace(" ", "").replace("-", "_")
19
20
  code = f"""\
20
21
  import logging
21
22
  from truefoundry.deploy import (
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: truefoundry
3
- Version: 0.3.2
3
+ Version: 0.3.3rc1
4
4
  Summary: Truefoundry CLI
5
5
  Author: Abhishek Choudhary
6
6
  Author-email: abhishek@truefoundry.com
@@ -26,7 +26,7 @@ truefoundry/autodeploy/utils/pydantic_compat.py,sha256=hEAUy5kLjhPdzw7yGZ2iXGMXb
26
26
  truefoundry/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  truefoundry/cli/__main__.py,sha256=Jap_IddZ9zNyMIyIkCw75xHQCN0WtV2dPZJ_pzdLsVc,916
28
28
  truefoundry/deploy/__init__.py,sha256=ugawKF2G02EmEXX35oZ2tec12d9oWN28Sf6mtGGIERY,2281
29
- truefoundry/deploy/auto_gen/models.py,sha256=cWY3KE-_NTPrDf1ywgUuOqqV31QQglUM1qeUGMj9mVU,78972
29
+ truefoundry/deploy/auto_gen/models.py,sha256=YhvSvYruchLu4jx9UgKUUWJRekgbdEfVHLhdAkbvHMw,79990
30
30
  truefoundry/deploy/builder/__init__.py,sha256=a1qR6nicHGcxRaeNTxWRsmDs8zsmXc7j13-I8q0qqVk,4938
31
31
  truefoundry/deploy/builder/builders/__init__.py,sha256=tlFLXqyDaKLd4iZbo4Hcu_8gOmgtL6drnXpbmQ6x1P8,636
32
32
  truefoundry/deploy/builder/builders/dockerfile.py,sha256=AXXTziCkaqIhuM_bwyD1vT1znOwemN1TKgU7eyo-KuM,1522
@@ -58,7 +58,7 @@ truefoundry/deploy/cli/config.py,sha256=tf8w4UfVzcC6eYkENvuuCPYt_V3sqVpO1bclORV9
58
58
  truefoundry/deploy/cli/console.py,sha256=9-dMy4YPisCJQziRKTg8Qa0UJnOGl1soiUnJjsnLDvE,242
59
59
  truefoundry/deploy/cli/const.py,sha256=dVHPo1uAiDSSMXwXoT2mR5kNQjExT98QNVRz98Hz_Ts,510
60
60
  truefoundry/deploy/cli/display_util.py,sha256=gq8EBdpBMHUzYQp_hxOg9EOYi08FIHgOVFCqXqC2tuo,3044
61
- truefoundry/deploy/cli/util.py,sha256=tSPYTQLSqEApx7nXxy69BTH69t4LewY1JtMJz5VEz40,3463
61
+ truefoundry/deploy/cli/util.py,sha256=0bc0jUjfnxLfAblDt4D4DroCw7aTgnxvIvkElBZscDU,3550
62
62
  truefoundry/deploy/core/__init__.py,sha256=j61bMWj4BkWihdssKMSFhieo7afJDtpc7qO7zk1rDB4,140
63
63
  truefoundry/deploy/core/login.py,sha256=N2VrW3nlBzoyoYulkipxwQvCpjBhi3sfsmhxK1ktWhg,236
64
64
  truefoundry/deploy/core/logout.py,sha256=TpWLq4_DsxYS5GX2OJQGDhekNOfiOLb-vO5khQueHXw,80
@@ -104,7 +104,7 @@ truefoundry/deploy/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
104
104
  truefoundry/deploy/v2/lib/__init__.py,sha256=WEiVMZXOVljzEE3tpGJil14liIn_PCDoACJ6b3tZ6sI,188
105
105
  truefoundry/deploy/v2/lib/deploy.py,sha256=o0bOpXuYV9-AvyMaTYnPc3Gy3vjeN3ZP7F8r3nFzxjk,12001
106
106
  truefoundry/deploy/v2/lib/deploy_workflow.py,sha256=WhlrBuRf7r83qoQdTZSQzHt635fw9D4_qQIqusFWGag,12372
107
- truefoundry/deploy/v2/lib/deployable_patched_models.py,sha256=YVeTiasyf0s-QXjDqdvGSmN83oVAQ0h9g6F687PJyVI,3141
107
+ truefoundry/deploy/v2/lib/deployable_patched_models.py,sha256=ShEXd-bKFqpEfaTwozwXREFmVhRcUQUKnRqiw5ELKN4,3316
108
108
  truefoundry/deploy/v2/lib/models.py,sha256=pSolLMTArDuYpeNsmeeS5DWliloN_iCDfZSpRllMHUg,1120
109
109
  truefoundry/deploy/v2/lib/patched_models.py,sha256=qL3N7y6zf7jywx6uY-yMxsH65NB367V_82o47ZYJt1I,13820
110
110
  truefoundry/deploy/v2/lib/source.py,sha256=VHKuFREiixUP40D3Mrz-TA70spu1M0RbCzl--qwlFaY,9263
@@ -117,7 +117,7 @@ truefoundry/langchain/utils.py,sha256=XIDpvz3zXpRLeyxLizacqLVDakUJYQZUoXRS1m-tMf
117
117
  truefoundry/logger.py,sha256=7dLqW_Q2rEgo-_z1WZnQbGHaoy1L1MP3NqGgssaSS6o,685
118
118
  truefoundry/ml/__init__.py,sha256=yFjvF-e1RW488vLHgn5M7TXoajqww6grkKHb3mhqDEw,179
119
119
  truefoundry/pydantic_v1.py,sha256=IJy5FtaPg-_H5XLRd9nueTuyijEJPdCa1vZ7-pinmRI,158
120
- truefoundry/python_deploy_codegen.py,sha256=hd8XRytuT-U6AXSzYSjISbtYY4HLB_B1EeLB5TRDfNw,3947
120
+ truefoundry/python_deploy_codegen.py,sha256=SoXIyPKLCA-VxUlUKt9ZmSrNPVTzHwZISOSZQNf-nUc,4022
121
121
  truefoundry/version.py,sha256=bqiT4Q-VWrTC6P4qfK43mez-Ppf-smWfrl6DcwV7mrw,137
122
122
  truefoundry/workflow/__init__.py,sha256=m0puY8RJ3GBvdAXW0A9PLuCpmDdLqh6eF0t3DCEpZkg,659
123
123
  truefoundry/workflow/container_task.py,sha256=8arieePsX4__OnG337hOtCiNgJwtKJJCsZcmFmCBJtk,402
@@ -130,7 +130,7 @@ truefoundry/workflow/map_task.py,sha256=2m3qGXQ90k9LdS45q8dqCCECc3qr8t2m_LMCVd1m
130
130
  truefoundry/workflow/python_task.py,sha256=SRXRLC4vdBqGjhkwuaY39LEWN6iPCpJAuW17URRdWTY,1128
131
131
  truefoundry/workflow/task.py,sha256=ToitYiKcNzFCtOVQwz1W8sRjbR97eVS7vQBdbgUQtKg,1779
132
132
  truefoundry/workflow/workflow.py,sha256=WaTqUjhwfAXDWu4E5ehuwAxrCbDJkoAf1oWmR2E9Qy0,4575
133
- truefoundry-0.3.2.dist-info/METADATA,sha256=gUrAlvlOkQE9AwfRsYRDRTOTH9N6hDS1pgRGemzQbEk,2690
134
- truefoundry-0.3.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
135
- truefoundry-0.3.2.dist-info/entry_points.txt,sha256=TXvUxQkI6zmqJuycPsyxEIMr3oqfDjgrWj0m_9X12x4,95
136
- truefoundry-0.3.2.dist-info/RECORD,,
133
+ truefoundry-0.3.3rc1.dist-info/METADATA,sha256=34uGK_eaKgtusGZ_TB1pasA3nF_5rzR_F7mWdanwFOA,2693
134
+ truefoundry-0.3.3rc1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
135
+ truefoundry-0.3.3rc1.dist-info/entry_points.txt,sha256=TXvUxQkI6zmqJuycPsyxEIMr3oqfDjgrWj0m_9X12x4,95
136
+ truefoundry-0.3.3rc1.dist-info/RECORD,,