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.
- truefoundry/deploy/_autogen/models.py +34 -5
- truefoundry/deploy/v2/lib/deploy_workflow.py +7 -0
- {truefoundry-0.6.2.dist-info → truefoundry-0.6.3rc2.dist-info}/METADATA +2 -2
- {truefoundry-0.6.2.dist-info → truefoundry-0.6.3rc2.dist-info}/RECORD +6 -6
- {truefoundry-0.6.2.dist-info → truefoundry-0.6.3rc2.dist-info}/WHEEL +0 -0
- {truefoundry-0.6.2.dist-info → truefoundry-0.6.3rc2.dist-info}/entry_points.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: application.json
|
|
3
|
-
# timestamp: 2025-03-
|
|
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
|
|
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.
|
|
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.
|
|
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=
|
|
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=
|
|
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.
|
|
375
|
-
truefoundry-0.6.
|
|
376
|
-
truefoundry-0.6.
|
|
377
|
-
truefoundry-0.6.
|
|
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,,
|
|
File without changes
|
|
File without changes
|