truefoundry 0.6.2__py3-none-any.whl → 0.6.3rc2__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: 2025-03-10T17:05:18+00:00
3
+ # timestamp: 2025-03-20T05:09:43+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -389,6 +389,10 @@ class JwtAuthConfig(BaseModel):
389
389
  claims: Optional[List[Claim]] = Field(
390
390
  None, description="List of key-value pairs of claims to verify in the JWT token"
391
391
  )
392
+ bypass_auth_paths: Optional[List[constr(regex=r"^/[^*]*")]] = Field(
393
+ None,
394
+ description="List of paths that will bypass auth.\nneeds to start with a forward slash(/) and should not contain wildcards(*)",
395
+ )
392
396
 
393
397
 
394
398
  class KafkaMetricConfig(BaseModel):
@@ -510,15 +514,36 @@ class NvidiaGPU(BaseModel):
510
514
 
511
515
  class Profile(str, Enum):
512
516
  """
513
- Name of the MIG profile to use. One of [1g.5gb, 2g.10gb, 3g.20gb, 1g.10gb, 2g.20gb, 3g.40gb]
517
+ Name of the MIG profile to use. One of the following based on gpu type
518
+ Please refer to https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#supported-mig-profiles for more details
519
+ A100 40 GB - [1g.5gb, 1g.10gb, 2g.10gb, 3g.20gb, 4g.20gb]
520
+ A100 80 GB / H100 80 GB - [1g.10gb, 1g.20gb, 2g.20gb, 3g.40gb, 4g.40gb]
521
+ H100 94 GB - [1g.12gb, 1g.24gb, 2g.24gb, 3g.47gb, 4g.47gb]
522
+ H100 96 GB - [1g.12gb, 1g.24gb, 2g.24gb, 3g.48gb, 4g.48gb]
523
+ H200 141 GB - [1g.18gb, 1g.35gb, 2g.35gb, 3g.71gb, 4g.71gb]
514
524
  """
515
525
 
516
526
  field_1g_5gb = "1g.5gb"
517
- field_2g_10gb = "2g.10gb"
518
- field_3g_20gb = "3g.20gb"
519
527
  field_1g_10gb = "1g.10gb"
528
+ field_1g_12gb = "1g.12gb"
529
+ field_1g_18gb = "1g.18gb"
530
+ field_1g_20gb = "1g.20gb"
531
+ field_1g_24gb = "1g.24gb"
532
+ field_1g_35gb = "1g.35gb"
533
+ field_2g_10gb = "2g.10gb"
520
534
  field_2g_20gb = "2g.20gb"
535
+ field_2g_24gb = "2g.24gb"
536
+ field_2g_35gb = "2g.35gb"
537
+ field_3g_20gb = "3g.20gb"
521
538
  field_3g_40gb = "3g.40gb"
539
+ field_3g_47gb = "3g.47gb"
540
+ field_3g_48gb = "3g.48gb"
541
+ field_3g_71gb = "3g.71gb"
542
+ field_4g_20gb = "4g.20gb"
543
+ field_4g_40gb = "4g.40gb"
544
+ field_4g_47gb = "4g.47gb"
545
+ field_4g_48gb = "4g.48gb"
546
+ field_4g_71gb = "4g.71gb"
522
547
 
523
548
 
524
549
  class NvidiaMIGGPU(BaseModel):
@@ -529,7 +554,7 @@ class NvidiaMIGGPU(BaseModel):
529
554
  )
530
555
  profile: Profile = Field(
531
556
  ...,
532
- description="Name of the MIG profile to use. One of [1g.5gb, 2g.10gb, 3g.20gb, 1g.10gb, 2g.20gb, 3g.40gb]",
557
+ description="Name of the MIG profile to use. One of the following based on gpu type\nPlease refer to https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#supported-mig-profiles for more details\nA100 40 GB - [1g.5gb, 1g.10gb, 2g.10gb, 3g.20gb, 4g.20gb]\nA100 80 GB / H100 80 GB - [1g.10gb, 1g.20gb, 2g.20gb, 3g.40gb, 4g.40gb]\nH100 94 GB - [1g.12gb, 1g.24gb, 2g.24gb, 3g.47gb, 4g.47gb]\nH100 96 GB - [1g.12gb, 1g.24gb, 2g.24gb, 3g.48gb, 4g.48gb]\nH200 141 GB - [1g.18gb, 1g.35gb, 2g.35gb, 3g.71gb, 4g.71gb]",
533
558
  )
534
559
 
535
560
 
@@ -918,6 +943,10 @@ class TrueFoundryArtifactSource(BaseModel):
918
943
 
919
944
  class TrueFoundryInteractiveLogin(BaseModel):
920
945
  type: Literal["truefoundry_oauth"] = Field(..., description="")
946
+ bypass_auth_paths: Optional[List[constr(regex=r"^/[^*]*")]] = Field(
947
+ None,
948
+ description="List of paths that will bypass auth.\nneeds to start with a forward slash(/) and should not contain wildcards(*)",
949
+ )
921
950
 
922
951
 
923
952
  class VolumeBrowser(BaseModel):
@@ -132,6 +132,7 @@ def _validate_workflow_entities( # noqa: C901
132
132
  `from truefoundry.workflow import PythonTaskConfig, ContainerTaskConfig`
133
133
  """
134
134
  tasks_without_truefoundry_worflow_package = []
135
+ task_names = set()
135
136
  for task in tasks:
136
137
  if _is_dynamic_task(task):
137
138
  raise ValueError("Dynamic workflows are not supported yet.")
@@ -141,6 +142,12 @@ def _validate_workflow_entities( # noqa: C901
141
142
  task.template.id.name
142
143
  )
143
144
  )
145
+ task_name = task.template.id.name
146
+ if task_name in task_names:
147
+ raise ValueError(
148
+ f"Task name should be unique, task with name {task_name} is repeated in the workflow"
149
+ )
150
+ task_names.add(task_name)
144
151
  task_image_spec = task.template.custom["truefoundry"]["image"]
145
152
  if task_image_spec["type"] == "task-python-build":
146
153
  is_tfy_wf_present_in_task_python_build = (
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: truefoundry
3
- Version: 0.6.2
3
+ Version: 0.6.3rc2
4
4
  Summary: TrueFoundry CLI
5
5
  Author-email: TrueFoundry Team <abhishek@truefoundry.com>
6
6
  Requires-Python: <3.14,>=3.8.1
@@ -30,7 +30,7 @@ Requires-Dist: requirements-parser<0.12.0,>=0.11.0
30
30
  Requires-Dist: rich-click<2.0.0,>=1.2.1
31
31
  Requires-Dist: rich<14.0.0,>=13.7.1
32
32
  Requires-Dist: tqdm<5.0.0,>=4.0.0
33
- Requires-Dist: truefoundry-sdk==0.0.6
33
+ Requires-Dist: truefoundry-sdk==0.0.8
34
34
  Requires-Dist: typing-extensions>=4.0
35
35
  Requires-Dist: urllib3<3,>=1.26.18
36
36
  Requires-Dist: yq<4.0.0,>=3.1.0
@@ -50,7 +50,7 @@ truefoundry/common/utils.py,sha256=Ev4lATS0jT9BDNPmQEP3aDn8IIeh9pmahv5pcNIjuuw,6
50
50
  truefoundry/common/warnings.py,sha256=rs6BHwk7imQYedo07iwh3TWEOywAR3Lqhj0AY4khByg,504
51
51
  truefoundry/deploy/__init__.py,sha256=lso6tFZVNyB3KmjEZICq_Sd6R_Yip-67XAPXYAQCvGw,2597
52
52
  truefoundry/deploy/python_deploy_codegen.py,sha256=AainOFR20XvhNeztJkLPWGZ40lAT_nwc-ZmG77Kum4o,6525
53
- truefoundry/deploy/_autogen/models.py,sha256=oi0Q80dQsXCMVL3SJudogxaBVdIOvBQDEaOi791Dj-4,66926
53
+ truefoundry/deploy/_autogen/models.py,sha256=3yTDqmWSO9F56ZsMky8wNtpB0othiSV0ewLT836P-BI,68662
54
54
  truefoundry/deploy/builder/__init__.py,sha256=nGQiR3r16iumRy7xbVQ6q-k0EApmijspsfVpXDE-9po,4953
55
55
  truefoundry/deploy/builder/constants.py,sha256=amUkHoHvVKzGv0v_knfiioRuKiJM0V0xW0diERgWiI0,508
56
56
  truefoundry/deploy/builder/docker_service.py,sha256=sm7GWeIqyrKaZpxskdLejZlsxcZnM3BTDJr6orvPN4E,3948
@@ -105,7 +105,7 @@ truefoundry/deploy/lib/model/entity.py,sha256=Up-DDOezkwM2tdqibfLdZO6jmT2pVq6SSh
105
105
  truefoundry/deploy/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
106
  truefoundry/deploy/v2/lib/__init__.py,sha256=WEiVMZXOVljzEE3tpGJil14liIn_PCDoACJ6b3tZ6sI,188
107
107
  truefoundry/deploy/v2/lib/deploy.py,sha256=23Sc2OxtAMvDzKfNmVv5vuaB6GqP-e1WAZWIezMzm3c,12413
108
- truefoundry/deploy/v2/lib/deploy_workflow.py,sha256=7NlL5eASwsDLcmsWhhh-YR-yBxS1CPwM-ceP87lNm_M,12860
108
+ truefoundry/deploy/v2/lib/deploy_workflow.py,sha256=TmrxnXJcdtv3SxQ34kGWYIogyHPQfq-qB3FkK3eqUhU,13141
109
109
  truefoundry/deploy/v2/lib/deployable_patched_models.py,sha256=xbHFD3pURflvCm8EODPvjfvRrv67mlSrjPUknY8SMB8,4060
110
110
  truefoundry/deploy/v2/lib/models.py,sha256=ogc1UYs1Z2nBdGSKCrde9sk8d0GxFKMkem99uqO5CmM,1148
111
111
  truefoundry/deploy/v2/lib/patched_models.py,sha256=Lowm-tyCGGv6-4iY9vfgmHrr4zPFy2u9wZEY3xQBv4E,16359
@@ -371,7 +371,7 @@ truefoundry/workflow/remote_filesystem/__init__.py,sha256=LQ95ViEjJ7Ts4JcCGOxMPs
371
371
  truefoundry/workflow/remote_filesystem/logger.py,sha256=em2l7D6sw7xTLDP0kQSLpgfRRCLpN14Qw85TN7ujQcE,1022
372
372
  truefoundry/workflow/remote_filesystem/tfy_signed_url_client.py,sha256=xcT0wQmQlgzcj0nP3tJopyFSVWT1uv3nhiTIuwfXYeg,12342
373
373
  truefoundry/workflow/remote_filesystem/tfy_signed_url_fs.py,sha256=nSGPZu0Gyd_jz0KsEE-7w_BmnTD8CVF1S8cUJoxaCbc,13305
374
- truefoundry-0.6.2.dist-info/METADATA,sha256=dooURHmZMoy9716p3g3tFJkt_LwqIqMVPU1vJgvp1VQ,2349
375
- truefoundry-0.6.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
376
- truefoundry-0.6.2.dist-info/entry_points.txt,sha256=xVjn7RMN-MW2-9f7YU-bBdlZSvvrwzhpX1zmmRmsNPU,98
377
- truefoundry-0.6.2.dist-info/RECORD,,
374
+ truefoundry-0.6.3rc2.dist-info/METADATA,sha256=izHRNtbS_jpAioPdbTK_35BgXLqiJ9eIvFW_GA3-4tM,2352
375
+ truefoundry-0.6.3rc2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
376
+ truefoundry-0.6.3rc2.dist-info/entry_points.txt,sha256=xVjn7RMN-MW2-9f7YU-bBdlZSvvrwzhpX1zmmRmsNPU,98
377
+ truefoundry-0.6.3rc2.dist-info/RECORD,,