From 7a0bab946a800ce40f302cb01950e209f981e7ef Mon Sep 17 00:00:00 2001 From: ChethanUK Date: Fri, 11 Sep 2026 03:54:22 +0200 Subject: [PATCH] chore: enforce future annotations in src AGENTS.md and STYLEGUIDE.md require `from __future__ import annotations` in every source file, but no lint rule checked it. Turn on ruff's isort required-imports (I002) for packages/*/src and add the import to the 16 src __init__.py files that lacked it. FA102 would not help here: it only fires when the target is Python 3.9 or older, and the project targets py310. I002 skips files with no statements, so it guards every src file with code, including re-export __init__.py modules; the header-only stubs get the import anyway. Signed-off-by: ChethanUK --- .../src/data_designer/config/analysis/__init__.py | 2 ++ .../data-designer-engine/src/data_designer/engine/__init__.py | 2 ++ .../src/data_designer/engine/column_generators/__init__.py | 2 ++ .../engine/column_generators/generators/__init__.py | 2 ++ .../data_designer/engine/dataset_builders/utils/__init__.py | 2 ++ .../src/data_designer/engine/models/__init__.py | 2 ++ .../src/data_designer/engine/models/parsers/__init__.py | 2 ++ .../src/data_designer/engine/processing/__init__.py | 2 ++ .../src/data_designer/engine/processing/ginja/__init__.py | 2 ++ .../data_designer/engine/processing/gsonschema/__init__.py | 2 ++ .../data_designer/engine/processing/processors/__init__.py | 2 ++ .../src/data_designer/engine/resources/__init__.py | 2 ++ .../data_designer/engine/sampling_gen/entities/__init__.py | 2 ++ .../src/data_designer/engine/storage/__init__.py | 2 ++ .../data-designer/src/data_designer/cli/commands/__init__.py | 2 ++ .../src/data_designer/integrations/huggingface/__init__.py | 2 ++ pyproject.toml | 4 ++++ 17 files changed, 36 insertions(+) diff --git a/packages/data-designer-config/src/data_designer/config/analysis/__init__.py b/packages/data-designer-config/src/data_designer/config/analysis/__init__.py index 52a7a9daf..f1ea03ddb 100644 --- a/packages/data-designer-config/src/data_designer/config/analysis/__init__.py +++ b/packages/data-designer-config/src/data_designer/config/analysis/__init__.py @@ -1,2 +1,4 @@ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations diff --git a/packages/data-designer-engine/src/data_designer/engine/__init__.py b/packages/data-designer-engine/src/data_designer/engine/__init__.py index 52a7a9daf..f1ea03ddb 100644 --- a/packages/data-designer-engine/src/data_designer/engine/__init__.py +++ b/packages/data-designer-engine/src/data_designer/engine/__init__.py @@ -1,2 +1,4 @@ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations diff --git a/packages/data-designer-engine/src/data_designer/engine/column_generators/__init__.py b/packages/data-designer-engine/src/data_designer/engine/column_generators/__init__.py index 52a7a9daf..f1ea03ddb 100644 --- a/packages/data-designer-engine/src/data_designer/engine/column_generators/__init__.py +++ b/packages/data-designer-engine/src/data_designer/engine/column_generators/__init__.py @@ -1,2 +1,4 @@ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations diff --git a/packages/data-designer-engine/src/data_designer/engine/column_generators/generators/__init__.py b/packages/data-designer-engine/src/data_designer/engine/column_generators/generators/__init__.py index 52a7a9daf..f1ea03ddb 100644 --- a/packages/data-designer-engine/src/data_designer/engine/column_generators/generators/__init__.py +++ b/packages/data-designer-engine/src/data_designer/engine/column_generators/generators/__init__.py @@ -1,2 +1,4 @@ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations diff --git a/packages/data-designer-engine/src/data_designer/engine/dataset_builders/utils/__init__.py b/packages/data-designer-engine/src/data_designer/engine/dataset_builders/utils/__init__.py index 52a7a9daf..f1ea03ddb 100644 --- a/packages/data-designer-engine/src/data_designer/engine/dataset_builders/utils/__init__.py +++ b/packages/data-designer-engine/src/data_designer/engine/dataset_builders/utils/__init__.py @@ -1,2 +1,4 @@ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations diff --git a/packages/data-designer-engine/src/data_designer/engine/models/__init__.py b/packages/data-designer-engine/src/data_designer/engine/models/__init__.py index e5725ea5a..3d2894b76 100644 --- a/packages/data-designer-engine/src/data_designer/engine/models/__init__.py +++ b/packages/data-designer-engine/src/data_designer/engine/models/__init__.py @@ -1,2 +1,4 @@ # SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations diff --git a/packages/data-designer-engine/src/data_designer/engine/models/parsers/__init__.py b/packages/data-designer-engine/src/data_designer/engine/models/parsers/__init__.py index 52a7a9daf..f1ea03ddb 100644 --- a/packages/data-designer-engine/src/data_designer/engine/models/parsers/__init__.py +++ b/packages/data-designer-engine/src/data_designer/engine/models/parsers/__init__.py @@ -1,2 +1,4 @@ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations diff --git a/packages/data-designer-engine/src/data_designer/engine/processing/__init__.py b/packages/data-designer-engine/src/data_designer/engine/processing/__init__.py index 52a7a9daf..f1ea03ddb 100644 --- a/packages/data-designer-engine/src/data_designer/engine/processing/__init__.py +++ b/packages/data-designer-engine/src/data_designer/engine/processing/__init__.py @@ -1,2 +1,4 @@ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations diff --git a/packages/data-designer-engine/src/data_designer/engine/processing/ginja/__init__.py b/packages/data-designer-engine/src/data_designer/engine/processing/ginja/__init__.py index 52a7a9daf..f1ea03ddb 100644 --- a/packages/data-designer-engine/src/data_designer/engine/processing/ginja/__init__.py +++ b/packages/data-designer-engine/src/data_designer/engine/processing/ginja/__init__.py @@ -1,2 +1,4 @@ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations diff --git a/packages/data-designer-engine/src/data_designer/engine/processing/gsonschema/__init__.py b/packages/data-designer-engine/src/data_designer/engine/processing/gsonschema/__init__.py index 52a7a9daf..f1ea03ddb 100644 --- a/packages/data-designer-engine/src/data_designer/engine/processing/gsonschema/__init__.py +++ b/packages/data-designer-engine/src/data_designer/engine/processing/gsonschema/__init__.py @@ -1,2 +1,4 @@ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations diff --git a/packages/data-designer-engine/src/data_designer/engine/processing/processors/__init__.py b/packages/data-designer-engine/src/data_designer/engine/processing/processors/__init__.py index 52a7a9daf..f1ea03ddb 100644 --- a/packages/data-designer-engine/src/data_designer/engine/processing/processors/__init__.py +++ b/packages/data-designer-engine/src/data_designer/engine/processing/processors/__init__.py @@ -1,2 +1,4 @@ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations diff --git a/packages/data-designer-engine/src/data_designer/engine/resources/__init__.py b/packages/data-designer-engine/src/data_designer/engine/resources/__init__.py index 52a7a9daf..f1ea03ddb 100644 --- a/packages/data-designer-engine/src/data_designer/engine/resources/__init__.py +++ b/packages/data-designer-engine/src/data_designer/engine/resources/__init__.py @@ -1,2 +1,4 @@ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations diff --git a/packages/data-designer-engine/src/data_designer/engine/sampling_gen/entities/__init__.py b/packages/data-designer-engine/src/data_designer/engine/sampling_gen/entities/__init__.py index 52a7a9daf..f1ea03ddb 100644 --- a/packages/data-designer-engine/src/data_designer/engine/sampling_gen/entities/__init__.py +++ b/packages/data-designer-engine/src/data_designer/engine/sampling_gen/entities/__init__.py @@ -1,2 +1,4 @@ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations diff --git a/packages/data-designer-engine/src/data_designer/engine/storage/__init__.py b/packages/data-designer-engine/src/data_designer/engine/storage/__init__.py index 9d416c657..5b8d326b4 100644 --- a/packages/data-designer-engine/src/data_designer/engine/storage/__init__.py +++ b/packages/data-designer-engine/src/data_designer/engine/storage/__init__.py @@ -1,6 +1,8 @@ # SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 +from __future__ import annotations + from data_designer.engine.storage.media_storage import MediaStorage, StorageMode __all__ = ["MediaStorage", "StorageMode"] diff --git a/packages/data-designer/src/data_designer/cli/commands/__init__.py b/packages/data-designer/src/data_designer/cli/commands/__init__.py index 52a7a9daf..f1ea03ddb 100644 --- a/packages/data-designer/src/data_designer/cli/commands/__init__.py +++ b/packages/data-designer/src/data_designer/cli/commands/__init__.py @@ -1,2 +1,4 @@ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 + +from __future__ import annotations diff --git a/packages/data-designer/src/data_designer/integrations/huggingface/__init__.py b/packages/data-designer/src/data_designer/integrations/huggingface/__init__.py index 9db421562..3ade4bd91 100644 --- a/packages/data-designer/src/data_designer/integrations/huggingface/__init__.py +++ b/packages/data-designer/src/data_designer/integrations/huggingface/__init__.py @@ -1,6 +1,8 @@ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 +from __future__ import annotations + from data_designer.integrations.huggingface.client import HuggingFaceHubClient, HuggingFaceHubClientUploadError from data_designer.integrations.huggingface.dataset_card import DataDesignerDatasetCard diff --git a/pyproject.toml b/pyproject.toml index 7adb30943..ac2c94d96 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -103,6 +103,10 @@ ignore = [ [tool.ruff.lint.isort] known-first-party = ["data_designer", "data_designer_e2e_tests"] +required-imports = ["from __future__ import annotations"] + +[tool.ruff.lint.per-file-ignores] +"!packages/*/src/**" = ["I002"] [tool.ruff.lint.flake8-tidy-imports] ban-relative-imports = "all"