From 18f0e256ec200a85992644e5cec475f6ed4c8ddb Mon Sep 17 00:00:00 2001 From: Bowie Chen <543091+bowiechen@users.noreply.github.com> Date: Fri, 21 Nov 2025 22:02:49 -0800 Subject: [PATCH] Update pyfmt component on FBS:master (#1165) Summary: X-link: https://github.com/meta-pytorch/tritonbench/pull/661 X-link: https://github.com/facebook/Ax/pull/4572 X-link: https://github.com/facebookexternal/aepsych_prerelease/pull/42 X-link: https://github.com/facebook/dotslash/pull/89 Pull Request resolved: https://github.com/meta-pytorch/torchx/pull/1165 X-link: https://github.com/facebookresearch/aepsych/pull/824 X-link: https://github.com/meta-pytorch/botorch/pull/3088 Differential Revision: D87671961 --- docs/source/ext/fbcode.py | 1 - fmt-requirements.txt | 8 ++++---- scripts/minikube_trainer.py | 1 - torchx/cli/cmd_list.py | 1 - torchx/cli/cmd_log.py | 1 - torchx/cli/cmd_tracker.py | 1 - torchx/cli/test/cmd_run_test.py | 1 - torchx/cli/test/main_test.py | 1 - torchx/components/component_test_base.py | 2 -- torchx/components/integration_tests/integ_tests.py | 1 - torchx/distributed/__init__.py | 1 - torchx/distributed/test/dist_test.py | 1 - torchx/examples/apps/lightning/profiler.py | 1 - torchx/examples/apps/tracker/main.py | 2 -- torchx/runner/api.py | 1 - torchx/schedulers/aws_batch_scheduler.py | 3 +-- torchx/schedulers/aws_sagemaker_scheduler.py | 1 - torchx/schedulers/kubernetes_mcad_scheduler.py | 2 -- torchx/schedulers/local_scheduler.py | 1 - torchx/schedulers/test/lsf_scheduler_test.py | 2 -- torchx/specs/__init__.py | 3 --- torchx/specs/finder.py | 1 - torchx/specs/test/builders_test.py | 1 - torchx/specs/test/file_linter_test.py | 1 - torchx/specs/test/finder_test.py | 1 - torchx/test/fixtures.py | 1 - torchx/tracker/api.py | 2 +- torchx/tracker/backend/fsspec.py | 1 - torchx/tracker/backend/test/fsspec_test.py | 1 - torchx/tracker/mlflow.py | 1 - torchx/tracker/test/api_test.py | 1 - torchx/tracker/test/mlflow_test.py | 1 - torchx/util/test/entrypoints_test.py | 2 -- torchx/workspace/docker_workspace.py | 1 - torchx/workspace/test/api_test.py | 2 -- torchx/workspace/test/docker_workspace_test.py | 1 - 36 files changed, 6 insertions(+), 48 deletions(-) diff --git a/docs/source/ext/fbcode.py b/docs/source/ext/fbcode.py index f49666098..ebbea3b15 100644 --- a/docs/source/ext/fbcode.py +++ b/docs/source/ext/fbcode.py @@ -9,7 +9,6 @@ import os from docutils import nodes - from docutils.parsers.rst import directives from sphinx.util.docutils import SphinxDirective from sphinx.util.nodes import nested_parse_with_titles diff --git a/fmt-requirements.txt b/fmt-requirements.txt index 7ef5305e7..0effe7e4e 100644 --- a/fmt-requirements.txt +++ b/fmt-requirements.txt @@ -1,6 +1,6 @@ # generated by `pyfmt --requirements` -black==24.4.2 -ruff-api==0.1.0 +black==25.11.0 +ruff-api==0.2.0 stdlibs==2024.1.28 -ufmt==2.8.0 -usort==1.0.8.post1 +ufmt==2.9.0 +usort==1.1.0 diff --git a/scripts/minikube_trainer.py b/scripts/minikube_trainer.py index 7f9eb9953..efd4e26a0 100644 --- a/scripts/minikube_trainer.py +++ b/scripts/minikube_trainer.py @@ -12,7 +12,6 @@ """ from component_integration_tests import build_and_push_image - from integ_test_utils import getenv_asserts, MissingEnvError from torchx.components.dist import ddp as dist_ddp from torchx.runner import get_runner diff --git a/torchx/cli/cmd_list.py b/torchx/cli/cmd_list.py index cc3fd927d..720b6d7fe 100644 --- a/torchx/cli/cmd_list.py +++ b/torchx/cli/cmd_list.py @@ -11,7 +11,6 @@ import logging from tabulate import tabulate - from torchx.cli.cmd_base import SubCommand from torchx.runner import get_runner from torchx.schedulers import get_default_scheduler_name, get_scheduler_factories diff --git a/torchx/cli/cmd_log.py b/torchx/cli/cmd_log.py index 0f31441d0..35f13df85 100644 --- a/torchx/cli/cmd_log.py +++ b/torchx/cli/cmd_log.py @@ -27,7 +27,6 @@ _find_role_replicas as find_role_replicas, _prefix_line, ) - from torchx.util.types import none_throws logger: logging.Logger = logging.getLogger(__name__) diff --git a/torchx/cli/cmd_tracker.py b/torchx/cli/cmd_tracker.py index c7bdb49fe..2a2e5c992 100644 --- a/torchx/cli/cmd_tracker.py +++ b/torchx/cli/cmd_tracker.py @@ -10,7 +10,6 @@ import logging from tabulate import tabulate - from torchx.cli.cmd_base import SubCommand from torchx.runner.api import get_configured_trackers from torchx.tracker.api import build_trackers, TrackerBase diff --git a/torchx/cli/test/cmd_run_test.py b/torchx/cli/test/cmd_run_test.py index 31bf46cb9..b7b2e2d91 100644 --- a/torchx/cli/test/cmd_run_test.py +++ b/torchx/cli/test/cmd_run_test.py @@ -31,7 +31,6 @@ ) from torchx.runner.config import ENV_TORCHXCONFIG from torchx.schedulers.local_scheduler import SignalException - from torchx.specs import AppDryRunInfo, CfgVal diff --git a/torchx/cli/test/main_test.py b/torchx/cli/test/main_test.py index 67ff1c5fe..d54cace33 100644 --- a/torchx/cli/test/main_test.py +++ b/torchx/cli/test/main_test.py @@ -14,7 +14,6 @@ from unittest.mock import MagicMock, patch from torchx.cli.argparse_util import ArgOnceAction, torchxconfig - from torchx.cli.cmd_base import SubCommand from torchx.cli.main import get_sub_cmds, main diff --git a/torchx/components/component_test_base.py b/torchx/components/component_test_base.py index fc40502e4..075acd605 100644 --- a/torchx/components/component_test_base.py +++ b/torchx/components/component_test_base.py @@ -25,9 +25,7 @@ from typing import Any, Callable, Dict, Optional from torchx.runner import get_runner - from torchx.specs import AppDef, AppStatus - from torchx.specs.builders import _create_args_parser from torchx.specs.finder import get_component diff --git a/torchx/components/integration_tests/integ_tests.py b/torchx/components/integration_tests/integ_tests.py index 28c382166..bd88a4928 100644 --- a/torchx/components/integration_tests/integ_tests.py +++ b/torchx/components/integration_tests/integ_tests.py @@ -18,7 +18,6 @@ from torchx.components.integration_tests.component_provider import ComponentProvider from torchx.runner import get_runner from torchx.specs import AppHandle, AppState, AppStatus, CfgVal - from torchx.util.types import none_throws diff --git a/torchx/distributed/__init__.py b/torchx/distributed/__init__.py index 7f49638aa..b92b9559c 100644 --- a/torchx/distributed/__init__.py +++ b/torchx/distributed/__init__.py @@ -17,7 +17,6 @@ import torch import torch.distributed as dist from torch.distributed.distributed_c10d import _get_default_group - from torchx.util.cuda import has_cuda_devices from typing_extensions import Literal diff --git a/torchx/distributed/test/dist_test.py b/torchx/distributed/test/dist_test.py index 0d53515b4..4d3e9eb44 100644 --- a/torchx/distributed/test/dist_test.py +++ b/torchx/distributed/test/dist_test.py @@ -12,7 +12,6 @@ import torch import torch.distributed as dist - from torchx.distributed import ( init_pg, is_local_rank0, diff --git a/torchx/examples/apps/lightning/profiler.py b/torchx/examples/apps/lightning/profiler.py index f5ab0dee4..fbf4d1f82 100644 --- a/torchx/examples/apps/lightning/profiler.py +++ b/torchx/examples/apps/lightning/profiler.py @@ -20,7 +20,6 @@ from typing import Dict from pytorch_lightning.loggers.logger import Logger - from pytorch_lightning.profilers.profiler import Profiler diff --git a/torchx/examples/apps/tracker/main.py b/torchx/examples/apps/tracker/main.py index c9231730e..5ea911997 100644 --- a/torchx/examples/apps/tracker/main.py +++ b/torchx/examples/apps/tracker/main.py @@ -19,10 +19,8 @@ import torchx.tracker as tracker from torch import Tensor from torch.optim.lr_scheduler import StepLR - from torch.utils.tensorboard import SummaryWriter from torchvision import datasets, transforms - from torchvision.datasets import VisionDataset diff --git a/torchx/runner/api.py b/torchx/runner/api.py index fe2b9ca4b..795d74534 100644 --- a/torchx/runner/api.py +++ b/torchx/runner/api.py @@ -52,7 +52,6 @@ tracker_config_env_var_name, ) from torchx.util.session import get_session_id_or_create_new, TORCHX_INTERNAL_SESSION_ID - from torchx.util.types import none_throws from torchx.workspace import WorkspaceMixin diff --git a/torchx/schedulers/aws_batch_scheduler.py b/torchx/schedulers/aws_batch_scheduler.py index 420d4b981..5fb0d9db9 100644 --- a/torchx/schedulers/aws_batch_scheduler.py +++ b/torchx/schedulers/aws_batch_scheduler.py @@ -66,7 +66,6 @@ Scheduler, Stream, ) - from torchx.schedulers.devices import get_device_mounts from torchx.schedulers.ids import make_unique from torchx.specs.api import ( @@ -188,7 +187,7 @@ def resource_requirements_from_resource(resource: Resource) -> List[Dict[str, st def resource_from_resource_requirements( - resource_requirements: List[Dict[str, str]] + resource_requirements: List[Dict[str, str]], ) -> Resource: resrc_req = { ResourceType.from_str(r["type"]): int(r["value"]) for r in resource_requirements diff --git a/torchx/schedulers/aws_sagemaker_scheduler.py b/torchx/schedulers/aws_sagemaker_scheduler.py index 083ea0f7c..88714a0cb 100644 --- a/torchx/schedulers/aws_sagemaker_scheduler.py +++ b/torchx/schedulers/aws_sagemaker_scheduler.py @@ -31,7 +31,6 @@ import boto3 import yaml - from sagemaker.pytorch import PyTorch from torchx.components.structured_arg import StructuredNameArgument from torchx.schedulers.api import ( diff --git a/torchx/schedulers/kubernetes_mcad_scheduler.py b/torchx/schedulers/kubernetes_mcad_scheduler.py index e0ee17eb1..6c02a0331 100644 --- a/torchx/schedulers/kubernetes_mcad_scheduler.py +++ b/torchx/schedulers/kubernetes_mcad_scheduler.py @@ -32,7 +32,6 @@ import json import logging import re - import warnings from dataclasses import dataclass from datetime import datetime @@ -77,7 +76,6 @@ runopts, VolumeMount, ) - from torchx.workspace.docker_workspace import DockerWorkspaceMixin if TYPE_CHECKING: diff --git a/torchx/schedulers/local_scheduler.py b/torchx/schedulers/local_scheduler.py index c039ebf54..b3529ac03 100644 --- a/torchx/schedulers/local_scheduler.py +++ b/torchx/schedulers/local_scheduler.py @@ -55,7 +55,6 @@ from torchx.schedulers.streams import Tee from torchx.specs import AppDryRunInfo from torchx.specs.api import AppDef, AppState, is_terminal, macros, NONE, Role, runopts - from torchx.util.types import none_throws log: logging.Logger = logging.getLogger(__name__) diff --git a/torchx/schedulers/test/lsf_scheduler_test.py b/torchx/schedulers/test/lsf_scheduler_test.py index 144d23356..ed093f27d 100644 --- a/torchx/schedulers/test/lsf_scheduler_test.py +++ b/torchx/schedulers/test/lsf_scheduler_test.py @@ -7,7 +7,6 @@ # pyre-strict import unittest - from unittest.mock import MagicMock, patch import torchx @@ -37,7 +36,6 @@ Role, VolumeMount, ) - from torchx.util import shlex diff --git a/torchx/specs/__init__.py b/torchx/specs/__init__.py index 08391ba82..a257404c5 100644 --- a/torchx/specs/__init__.py +++ b/torchx/specs/__init__.py @@ -12,7 +12,6 @@ scheduler or pipeline adapter. """ import difflib - import os from typing import Callable, Dict, Iterator, Mapping, Optional @@ -50,9 +49,7 @@ Workspace, ) from torchx.specs.builders import make_app_handle, materialize_appdef, parse_mounts - from torchx.util.entrypoints import load_group - from torchx.util.modules import import_attr GiB: int = 1024 diff --git a/torchx/specs/finder.py b/torchx/specs/finder.py index 373430baf..fcf695636 100644 --- a/torchx/specs/finder.py +++ b/torchx/specs/finder.py @@ -20,7 +20,6 @@ from typing import Callable, Dict, Generator, List, Optional, Union from torchx.specs import AppDef - from torchx.specs.file_linter import ( ComponentFunctionValidator, get_fn_docstring, diff --git a/torchx/specs/test/builders_test.py b/torchx/specs/test/builders_test.py index 46d2ebf4c..a52589958 100644 --- a/torchx/specs/test/builders_test.py +++ b/torchx/specs/test/builders_test.py @@ -26,7 +26,6 @@ parse_mounts, VolumeMount, ) - from torchx.util.types import none_throws diff --git a/torchx/specs/test/file_linter_test.py b/torchx/specs/test/file_linter_test.py index 91ea38021..dd034d837 100644 --- a/torchx/specs/test/file_linter_test.py +++ b/torchx/specs/test/file_linter_test.py @@ -17,7 +17,6 @@ from unittest.mock import patch from torchx.specs import AppDef - from torchx.specs.file_linter import ( get_fn_docstring, TorchXArgumentHelpFormatter, diff --git a/torchx/specs/test/finder_test.py b/torchx/specs/test/finder_test.py index 1b5bd3762..de5b80f70 100644 --- a/torchx/specs/test/finder_test.py +++ b/torchx/specs/test/finder_test.py @@ -15,7 +15,6 @@ from unittest.mock import MagicMock, patch import torchx.specs.finder as finder - from importlib_metadata import EntryPoints from torchx.runner import get_runner from torchx.runtime.tracking import FsspecResultTracker diff --git a/torchx/test/fixtures.py b/torchx/test/fixtures.py index fb56fb45f..a2a70dda4 100644 --- a/torchx/test/fixtures.py +++ b/torchx/test/fixtures.py @@ -19,7 +19,6 @@ from torch.distributed.elastic.multiprocessing import Std from torch.distributed.launcher import elastic_launch, LaunchConfig - from torchx.schedulers.test import test_util IS_CI: bool = os.getenv("CI", "false").lower() == "true" diff --git a/torchx/tracker/api.py b/torchx/tracker/api.py index b84fb95a2..c480ddff4 100644 --- a/torchx/tracker/api.py +++ b/torchx/tracker/api.py @@ -179,7 +179,7 @@ def _extract_tracker_name_and_config_from_environ() -> Mapping[str, Optional[str def build_trackers( - factory_and_config: Mapping[str, Optional[str]] + factory_and_config: Mapping[str, Optional[str]], ) -> Iterable[TrackerBase]: trackers = [] diff --git a/torchx/tracker/backend/fsspec.py b/torchx/tracker/backend/fsspec.py index a8642d4fb..2874afda3 100644 --- a/torchx/tracker/backend/fsspec.py +++ b/torchx/tracker/backend/fsspec.py @@ -16,7 +16,6 @@ from typing import Any, Dict, Iterable, Mapping, Optional import fsspec - from torchx.tracker.api import Lineage, TrackerArtifact, TrackerBase, TrackerSource diff --git a/torchx/tracker/backend/test/fsspec_test.py b/torchx/tracker/backend/test/fsspec_test.py index 10ed27f5d..4f313f6d2 100644 --- a/torchx/tracker/backend/test/fsspec_test.py +++ b/torchx/tracker/backend/test/fsspec_test.py @@ -13,7 +13,6 @@ from typing import List import fsspec - from torchx.tracker.backend.fsspec import ( _decode_torchx_run_id, _encode_torchx_run_id, diff --git a/torchx/tracker/mlflow.py b/torchx/tracker/mlflow.py index c9f908640..d8ad600bb 100644 --- a/torchx/tracker/mlflow.py +++ b/torchx/tracker/mlflow.py @@ -16,7 +16,6 @@ import mlflow from mlflow import MlflowClient from mlflow.entities import Experiment, Run - from torchx.distributed import on_rank0_first from torchx.runner.config import get_configs from torchx.tracker.api import ( diff --git a/torchx/tracker/test/api_test.py b/torchx/tracker/test/api_test.py index 83639b1a4..102bb7510 100644 --- a/torchx/tracker/test/api_test.py +++ b/torchx/tracker/test/api_test.py @@ -26,7 +26,6 @@ trackers_from_environ, TrackerSource, ) - from torchx.tracker.mlflow import MLflowTracker RunId = str diff --git a/torchx/tracker/test/mlflow_test.py b/torchx/tracker/test/mlflow_test.py index 791e388f0..93253af8e 100644 --- a/torchx/tracker/test/mlflow_test.py +++ b/torchx/tracker/test/mlflow_test.py @@ -12,7 +12,6 @@ import mlflow from mlflow.utils.name_utils import _generate_random_name - from torchx.distributed import init_pg, on_rank0_first, rank from torchx.test.fixtures import DistributedTestCase, IS_CI, IS_MACOS, TestWithTmpDir from torchx.tracker.mlflow import create_tracker, MLflowTracker diff --git a/torchx/util/test/entrypoints_test.py b/torchx/util/test/entrypoints_test.py index a4e11a53e..247cbe440 100644 --- a/torchx/util/test/entrypoints_test.py +++ b/torchx/util/test/entrypoints_test.py @@ -8,10 +8,8 @@ import unittest from configparser import ConfigParser - from importlib.metadata import EntryPoint from types import ModuleType - from unittest.mock import MagicMock, patch from torchx.util.entrypoints import load, load_group diff --git a/torchx/workspace/docker_workspace.py b/torchx/workspace/docker_workspace.py index 008b6e09d..cf708e3ee 100644 --- a/torchx/workspace/docker_workspace.py +++ b/torchx/workspace/docker_workspace.py @@ -16,7 +16,6 @@ from typing import Dict, IO, Iterable, Mapping, Optional, TextIO, Tuple, TYPE_CHECKING import fsspec - import torchx from docker.errors import BuildError from torchx.specs import AppDef, CfgVal, Role, runopts diff --git a/torchx/workspace/test/api_test.py b/torchx/workspace/test/api_test.py index 372017ea8..ff3da1eb1 100644 --- a/torchx/workspace/test/api_test.py +++ b/torchx/workspace/test/api_test.py @@ -7,13 +7,11 @@ # pyre-strict import shutil - from pathlib import Path from typing import Mapping from torchx.specs import CfgVal, Role, Workspace from torchx.test.fixtures import TestWithTmpDir - from torchx.workspace.api import WorkspaceMixin from typing_extensions import override diff --git a/torchx/workspace/test/docker_workspace_test.py b/torchx/workspace/test/docker_workspace_test.py index d8418d35a..3522175e1 100644 --- a/torchx/workspace/test/docker_workspace_test.py +++ b/torchx/workspace/test/docker_workspace_test.py @@ -18,7 +18,6 @@ import fsspec from docker.errors import BuildError - from torchx.specs import AppDef, Role from torchx.workspace.docker_workspace import ( _build_context,