torchx-nightly 2025.10.14__py3-none-any.whl → 2025.10.15__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 torchx-nightly might be problematic. Click here for more details.
- torchx/cli/cmd_run.py +1 -2
- torchx/runner/api.py +2 -2
- torchx/schedulers/api.py +2 -2
- torchx/specs/__init__.py +7 -3
- torchx/specs/named_resources_aws.py +11 -0
- torchx/workspace/__init__.py +1 -1
- {torchx_nightly-2025.10.14.dist-info → torchx_nightly-2025.10.15.dist-info}/METADATA +1 -1
- {torchx_nightly-2025.10.14.dist-info → torchx_nightly-2025.10.15.dist-info}/RECORD +12 -12
- {torchx_nightly-2025.10.14.dist-info → torchx_nightly-2025.10.15.dist-info}/LICENSE +0 -0
- {torchx_nightly-2025.10.14.dist-info → torchx_nightly-2025.10.15.dist-info}/WHEEL +0 -0
- {torchx_nightly-2025.10.14.dist-info → torchx_nightly-2025.10.15.dist-info}/entry_points.txt +0 -0
- {torchx_nightly-2025.10.14.dist-info → torchx_nightly-2025.10.15.dist-info}/top_level.txt +0 -0
torchx/cli/cmd_run.py
CHANGED
|
@@ -26,7 +26,7 @@ from torchx.cli.cmd_log import get_logs
|
|
|
26
26
|
from torchx.runner import config, get_runner, Runner
|
|
27
27
|
from torchx.runner.config import load_sections
|
|
28
28
|
from torchx.schedulers import get_default_scheduler_name, get_scheduler_factories
|
|
29
|
-
from torchx.specs import CfgVal
|
|
29
|
+
from torchx.specs import CfgVal, Workspace
|
|
30
30
|
from torchx.specs.finder import (
|
|
31
31
|
_Component,
|
|
32
32
|
ComponentNotFoundException,
|
|
@@ -36,7 +36,6 @@ from torchx.specs.finder import (
|
|
|
36
36
|
)
|
|
37
37
|
from torchx.util.log_tee_helpers import tee_logs
|
|
38
38
|
from torchx.util.types import none_throws
|
|
39
|
-
from torchx.workspace import Workspace
|
|
40
39
|
|
|
41
40
|
|
|
42
41
|
MISSING_COMPONENT_ERROR_MSG = (
|
torchx/runner/api.py
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
1
|
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
2
|
# All rights reserved.
|
|
4
3
|
#
|
|
@@ -43,6 +42,7 @@ from torchx.specs import (
|
|
|
43
42
|
parse_app_handle,
|
|
44
43
|
runopts,
|
|
45
44
|
UnknownAppException,
|
|
45
|
+
Workspace,
|
|
46
46
|
)
|
|
47
47
|
from torchx.specs.finder import get_component
|
|
48
48
|
from torchx.tracker.api import (
|
|
@@ -54,7 +54,7 @@ from torchx.tracker.api import (
|
|
|
54
54
|
from torchx.util.session import get_session_id_or_create_new, TORCHX_INTERNAL_SESSION_ID
|
|
55
55
|
|
|
56
56
|
from torchx.util.types import none_throws
|
|
57
|
-
from torchx.workspace
|
|
57
|
+
from torchx.workspace import WorkspaceMixin
|
|
58
58
|
|
|
59
59
|
if TYPE_CHECKING:
|
|
60
60
|
from typing_extensions import Self
|
torchx/schedulers/api.py
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
1
|
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
2
|
# All rights reserved.
|
|
4
3
|
#
|
|
@@ -22,8 +21,9 @@ from torchx.specs import (
|
|
|
22
21
|
Role,
|
|
23
22
|
RoleStatus,
|
|
24
23
|
runopts,
|
|
24
|
+
Workspace,
|
|
25
25
|
)
|
|
26
|
-
from torchx.workspace
|
|
26
|
+
from torchx.workspace import WorkspaceMixin
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
DAYS_IN_2_WEEKS = 14
|
torchx/specs/__init__.py
CHANGED
|
@@ -12,6 +12,8 @@ used by components to define the apps which can then be launched via a TorchX
|
|
|
12
12
|
scheduler or pipeline adapter.
|
|
13
13
|
"""
|
|
14
14
|
import difflib
|
|
15
|
+
|
|
16
|
+
import os
|
|
15
17
|
from typing import Callable, Dict, Mapping, Optional
|
|
16
18
|
|
|
17
19
|
from torchx.specs.api import (
|
|
@@ -64,8 +66,10 @@ AWS_NAMED_RESOURCES: Mapping[str, ResourceFactory] = import_attr(
|
|
|
64
66
|
GENERIC_NAMED_RESOURCES: Mapping[str, ResourceFactory] = import_attr(
|
|
65
67
|
"torchx.specs.named_resources_generic", "NAMED_RESOURCES", default={}
|
|
66
68
|
)
|
|
67
|
-
|
|
68
|
-
"torchx.specs.fb.named_resources",
|
|
69
|
+
CUSTOM_NAMED_RESOURCES: Mapping[str, ResourceFactory] = import_attr(
|
|
70
|
+
os.environ.get("TORCHX_CUSTOM_NAMED_RESOURCES", "torchx.specs.fb.named_resources"),
|
|
71
|
+
"NAMED_RESOURCES",
|
|
72
|
+
default={},
|
|
69
73
|
)
|
|
70
74
|
|
|
71
75
|
|
|
@@ -76,7 +80,7 @@ def _load_named_resources() -> Dict[str, Callable[[], Resource]]:
|
|
|
76
80
|
for name, resource in {
|
|
77
81
|
**GENERIC_NAMED_RESOURCES,
|
|
78
82
|
**AWS_NAMED_RESOURCES,
|
|
79
|
-
**
|
|
83
|
+
**CUSTOM_NAMED_RESOURCES,
|
|
80
84
|
**resource_methods,
|
|
81
85
|
}.items():
|
|
82
86
|
materialized_resources[name] = resource
|
|
@@ -120,6 +120,16 @@ def aws_p5_48xlarge() -> Resource:
|
|
|
120
120
|
)
|
|
121
121
|
|
|
122
122
|
|
|
123
|
+
def aws_p5e_48xlarge() -> Resource:
|
|
124
|
+
return Resource(
|
|
125
|
+
cpu=192,
|
|
126
|
+
gpu=8,
|
|
127
|
+
memMB=2048 * GiB,
|
|
128
|
+
capabilities={K8S_ITYPE: "p5e.48xlarge"},
|
|
129
|
+
devices={EFA_DEVICE: 32},
|
|
130
|
+
)
|
|
131
|
+
|
|
132
|
+
|
|
123
133
|
def aws_p5en_48xlarge() -> Resource:
|
|
124
134
|
return Resource(
|
|
125
135
|
cpu=192,
|
|
@@ -419,6 +429,7 @@ NAMED_RESOURCES: Mapping[str, Callable[[], Resource]] = {
|
|
|
419
429
|
"aws_p4d.24xlarge": aws_p4d_24xlarge,
|
|
420
430
|
"aws_p4de.24xlarge": aws_p4de_24xlarge,
|
|
421
431
|
"aws_p5.48xlarge": aws_p5_48xlarge,
|
|
432
|
+
"aws_p5e.48xlarge": aws_p5e_48xlarge,
|
|
422
433
|
"aws_p5en.48xlarge": aws_p5en_48xlarge,
|
|
423
434
|
"aws_g4dn.xlarge": aws_g4dn_xlarge,
|
|
424
435
|
"aws_g4dn.2xlarge": aws_g4dn_2xlarge,
|
torchx/workspace/__init__.py
CHANGED
|
@@ -22,4 +22,4 @@ Example workspace paths:
|
|
|
22
22
|
* ``memory://foo-bar/`` an in-memory workspace for notebook/programmatic usage
|
|
23
23
|
"""
|
|
24
24
|
|
|
25
|
-
from torchx.workspace.api import walk_workspace,
|
|
25
|
+
from torchx.workspace.api import walk_workspace, WorkspaceMixin # noqa: F401
|
|
@@ -16,7 +16,7 @@ torchx/cli/cmd_configure.py,sha256=1kTv0qbsbV44So74plAySwWu56pQrqjhfW_kbfdC3Rw,1
|
|
|
16
16
|
torchx/cli/cmd_describe.py,sha256=E5disbHoKTsqYKp2s3DaFW9GDLCCOgdOc3pQoHKoyCs,1283
|
|
17
17
|
torchx/cli/cmd_list.py,sha256=alkS9aIaDI8lX3W8uj8Vtr3IU3G2VeCuokKSd3zOFug,1409
|
|
18
18
|
torchx/cli/cmd_log.py,sha256=v-EZYUDOcG95rEgTnrsmPJMUyxM9Mk8YFAJtUxtgViE,5475
|
|
19
|
-
torchx/cli/cmd_run.py,sha256=
|
|
19
|
+
torchx/cli/cmd_run.py,sha256=z8wS-M2W9hHZfLkA6DFiV6Y0LFS9KfEBc_NTwAwdviQ,18780
|
|
20
20
|
torchx/cli/cmd_runopts.py,sha256=NWZiP8XpQjfTDJgays2c6MgL_8wxFoeDge6NstaZdKk,1302
|
|
21
21
|
torchx/cli/cmd_status.py,sha256=22IAEmKs0qkG6kJi83u9dRX2Q-ntT7yehVx7FxtY-vQ,2114
|
|
22
22
|
torchx/cli/cmd_tracker.py,sha256=9gmOmYi-89qQRGQfSrXCTto7ve54_JKFqs_wa7oRUA8,5223
|
|
@@ -48,7 +48,7 @@ torchx/examples/apps/lightning/profiler.py,sha256=SSSihnwjeUTkBoz0E3qn1b-wbkfUIo
|
|
|
48
48
|
torchx/examples/apps/lightning/train.py,sha256=0wvvshGHvZowePB4LfclXwn40X7i9euM0ReETWBcPSo,6253
|
|
49
49
|
torchx/pipelines/__init__.py,sha256=2MbRVk5xwRjg-d2qPemeXpEhDsocMQumPQ53lsesZAI,606
|
|
50
50
|
torchx/runner/__init__.py,sha256=x8Sz7s_tLxPgJgvWIhK4ju9BNZU61uBFywGwDY6CqJs,315
|
|
51
|
-
torchx/runner/api.py,sha256=
|
|
51
|
+
torchx/runner/api.py,sha256=jxtgOl7nNOqpzG-sjUJngXhIOachqaVfKu9rF8YqHWI,31271
|
|
52
52
|
torchx/runner/config.py,sha256=SaKOB50d79WaMFPWK8CC4as6UaNFaRGhrBkfajq3KC4,18311
|
|
53
53
|
torchx/runner/events/__init__.py,sha256=cMiNjnr4eUNQ2Nxxtu4nsvN5lu56b-a6nJ-ct3i7DQk,5536
|
|
54
54
|
torchx/runner/events/api.py,sha256=bvxKBAYK8LzbrBNaNLgL1x0aivtfANmWo1EMGOrSR8k,2668
|
|
@@ -57,7 +57,7 @@ torchx/runtime/__init__.py,sha256=Wxje2BryzeQneFu5r6P9JJiEKG-_C9W1CcZ_JNrKT6g,59
|
|
|
57
57
|
torchx/runtime/tracking/__init__.py,sha256=dYnAPnrXYREfPXkpHhdOFkcYIODWEbA13PdD-wLQYBo,3055
|
|
58
58
|
torchx/runtime/tracking/api.py,sha256=SmUQyUKZqG3KlAhT7CJOGqRz1O274E4m63wQeOVq3CU,5472
|
|
59
59
|
torchx/schedulers/__init__.py,sha256=FQN9boQM4mwOD3sK9LZ3GBgw-gJ7Vx4MFj6z6ATQIrc,2211
|
|
60
|
-
torchx/schedulers/api.py,sha256=
|
|
60
|
+
torchx/schedulers/api.py,sha256=5Amli1httEl82XebAqd8vl3dM8zMKwYfRgfd0mEq3is,14538
|
|
61
61
|
torchx/schedulers/aws_batch_scheduler.py,sha256=-HpjNVhSFBDxZo3cebK-3YEguB49dxoaud2gz30cAVM,29437
|
|
62
62
|
torchx/schedulers/aws_sagemaker_scheduler.py,sha256=flN8GumKE2Dz4X_foAt6Jnvt-ZVojWs6pcyrHwB0hz0,20921
|
|
63
63
|
torchx/schedulers/devices.py,sha256=RjVcu22ZRl_9OKtOtmA1A3vNXgu2qD6A9ST0L0Hsg4I,1734
|
|
@@ -69,12 +69,12 @@ torchx/schedulers/local_scheduler.py,sha256=ttnxFDy48_DSYDEW-no27OirFZOyfrjwJ2S1
|
|
|
69
69
|
torchx/schedulers/lsf_scheduler.py,sha256=YS6Yel8tXJqLPxbcGz95lZG2nCi36AQXdNDyuBJePKg,17661
|
|
70
70
|
torchx/schedulers/slurm_scheduler.py,sha256=vypGaCZe61bkyNkqRlK4Iwmk_NaAUQi-DsspaWd6BZw,31873
|
|
71
71
|
torchx/schedulers/streams.py,sha256=8_SLezgnWgfv_zXUsJCUM34-h2dtv25NmZuxEwkzmxw,2007
|
|
72
|
-
torchx/specs/__init__.py,sha256=
|
|
72
|
+
torchx/specs/__init__.py,sha256=SXS4r_roOkbbAL-p7EY5fl5ou-AG7S9Ck-zKtRBdHOk,6760
|
|
73
73
|
torchx/specs/api.py,sha256=ICKsTWxEats9IwWXUm-D1NJy4jyONMV2zdrWfUrpKNg,47827
|
|
74
74
|
torchx/specs/builders.py,sha256=Ye3of4MupJ-da8vLaX6_-nzGo_FRw1BFpYsX6dAZCNk,13730
|
|
75
75
|
torchx/specs/file_linter.py,sha256=z0c4mKJv47BWiPaWCdUM0A8kHwnj4b1s7oTmESuD9Tc,14407
|
|
76
76
|
torchx/specs/finder.py,sha256=gWQNEFrLYqrZoI0gMMhQ70YAC4sxqS0ZFpoWAmcVi44,17438
|
|
77
|
-
torchx/specs/named_resources_aws.py,sha256=
|
|
77
|
+
torchx/specs/named_resources_aws.py,sha256=ZNAbw6lD8NUlMfcJ-LpX14dMSaHO7m4Yt9iHwAF44yg,11674
|
|
78
78
|
torchx/specs/named_resources_generic.py,sha256=Sg4tAdqiiWDrDz2Lj_pnfsjzGIXKTou73wPseh6j55w,2646
|
|
79
79
|
torchx/specs/test/components/__init__.py,sha256=J8qjUOysmcMAek2KFN13mViOXZxTYc5vCrF02t3VuFU,223
|
|
80
80
|
torchx/specs/test/components/a/__init__.py,sha256=kdxEgnI8QBSBiuTjaB4qDD7JX84hWowyPWU4B2Cqe9A,561
|
|
@@ -98,13 +98,13 @@ torchx/util/session.py,sha256=r6M_nyzXgcbk1GgYGZ324F_ehRGCqjjdVk4YgKxMj8M,1214
|
|
|
98
98
|
torchx/util/shlex.py,sha256=eXEKu8KC3zIcd8tEy9_s8Ds5oma8BORr-0VGWNpG2dk,463
|
|
99
99
|
torchx/util/strings.py,sha256=7Ef1loz2IYMrzeJ6Lewywi5cBIc3X3g7lSPbT1Tn_z4,664
|
|
100
100
|
torchx/util/types.py,sha256=E9dxAWQnsJkIDuHtg-poeOJ4etucSI_xP_Z5kNJX8uI,9229
|
|
101
|
-
torchx/workspace/__init__.py,sha256=
|
|
101
|
+
torchx/workspace/__init__.py,sha256=FqN8AN4VhR1C_SBY10MggQvNZmyanbbuPuE-JCjkyUY,798
|
|
102
102
|
torchx/workspace/api.py,sha256=h2SaC-pYPBLuo3XtkXJ0APMoro-C-ry7KucI7r3EUf4,8753
|
|
103
103
|
torchx/workspace/dir_workspace.py,sha256=npNW_IjUZm_yS5r-8hrRkH46ndDd9a_eApT64m1S1T4,2268
|
|
104
104
|
torchx/workspace/docker_workspace.py,sha256=PFu2KQNVC-0p2aKJ-W_BKA9ZOmXdCY2ABEkCExp3udQ,10269
|
|
105
|
-
torchx_nightly-2025.10.
|
|
106
|
-
torchx_nightly-2025.10.
|
|
107
|
-
torchx_nightly-2025.10.
|
|
108
|
-
torchx_nightly-2025.10.
|
|
109
|
-
torchx_nightly-2025.10.
|
|
110
|
-
torchx_nightly-2025.10.
|
|
105
|
+
torchx_nightly-2025.10.15.dist-info/LICENSE,sha256=WVHfXhFC0Ia8LTKt_nJVYobdqTJVg_4J3Crrfm2A8KQ,1721
|
|
106
|
+
torchx_nightly-2025.10.15.dist-info/METADATA,sha256=TzPu_BGlpYuU43FKQXVFz1N6AAHidhAmgRSrcCMKCuA,5069
|
|
107
|
+
torchx_nightly-2025.10.15.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
108
|
+
torchx_nightly-2025.10.15.dist-info/entry_points.txt,sha256=T328AMXeKI3JZnnxfkEew2ZcMN1oQDtkXjMz7lkV-P4,169
|
|
109
|
+
torchx_nightly-2025.10.15.dist-info/top_level.txt,sha256=pxew3bc2gsiViS0zADs0jb6kC5v8o_Yy_85fhHj_J1A,7
|
|
110
|
+
torchx_nightly-2025.10.15.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
{torchx_nightly-2025.10.14.dist-info → torchx_nightly-2025.10.15.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|