Skip to content

Commit ed9c416

Browse files
sethfitzvcschapp
authored andcommitted
fix(cli): PLC0415 (import-outside-top-level) violations
Signed-off-by: Seth Fitzsimmons <sethfitz@amazon.com>
1 parent 0771274 commit ed9c416

6 files changed

Lines changed: 6 additions & 12 deletions

File tree

packages/overture-schema-cli/src/overture/schema/cli/commands.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"""Click-based CLI for overture-schema package."""
22

33
import builtins
4+
import io
45
import json
56
import sys
67
from collections import Counter, defaultdict
@@ -322,8 +323,6 @@ def load_input(filename: Path) -> tuple[dict | list, str]:
322323
pass
323324

324325
# Parse as single YAML/JSON document
325-
import io
326-
327326
data = yaml.load(io.StringIO(content), Loader=CoreLoader)
328327
return data, "<stdin>"
329328

packages/overture-schema-cli/src/overture/schema/cli/data_display.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from typing import Any
44

5+
from rich import box
56
from rich.panel import Panel
67
from rich.table import Table
78

@@ -670,8 +671,6 @@ def create_feature_display(
670671
table.add_row(field_name_styled, value_styled, "", "")
671672

672673
# Wrap table in a Panel with rounded borders
673-
from rich import box
674-
675674
# Add title: "Validation Failed" for single features, or item info for collections
676675
if item_index is not None:
677676
if item_type:

packages/overture-schema-cli/tests/test_cli_functions.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"""Tests for CLI helper functions (load_input, perform_validation)."""
22

3+
import io
34
import json
45
from pathlib import Path
56

@@ -175,8 +176,6 @@ def test_load_input_jsonl_from_stdin(
175176
JSONL format is commonly used for streaming GeoJSON features where each line
176177
is a complete JSON object/feature.
177178
"""
178-
import io
179-
180179
feature1 = build_feature(id="test1")
181180
feature2 = build_feature(id="test2")
182181
jsonl_input = f"{json.dumps(feature1)}\n{json.dumps(feature2)}\n"

packages/overture-schema-cli/tests/test_data_display.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
select_context_fields,
1111
)
1212
from rich.console import Console
13+
from rich.panel import Panel
1314

1415

1516
class TestExtractFeatureData:
@@ -291,8 +292,6 @@ def test_creates_panel_with_table(self) -> None:
291292
result = create_feature_display(fields, errors)
292293

293294
# Verify result is a Panel
294-
from rich.panel import Panel
295-
296295
assert isinstance(result, Panel)
297296

298297
def test_includes_error_annotation(self) -> None:

packages/overture-schema-cli/tests/test_resolve_types.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import pytest
44
from overture.schema.cli.commands import resolve_types
5+
from overture.schema.core.discovery import discover_models
56

67

78
class TestResolveTypes:
@@ -124,8 +125,6 @@ def test_resolve_types_returns_expected_themes(
124125
expected_themes: set[str],
125126
) -> None:
126127
"""Test that resolve_types returns models from expected themes."""
127-
from overture.schema.core.discovery import discover_models
128-
129128
models = discover_models(namespace=namespace)
130129
actual_themes = {key.theme for key in models.keys()}
131130

packages/overture-schema-cli/tests/test_type_analysis.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
get_or_create_structural_tuple,
1111
introspect_union,
1212
)
13-
from pydantic import BaseModel, Field
13+
from pydantic import BaseModel, Discriminator, Field
1414

1515

1616
class TestStructuralTuples:
@@ -277,7 +277,6 @@ class Place(BaseModel):
277277

278278
def test_callable_discriminator_extracts_field_name(self) -> None:
279279
"""Callable discriminators (Feature.field_discriminator) are supported."""
280-
from pydantic import Discriminator
281280

282281
class ModelA(BaseModel):
283282
kind: Literal["a"]

0 commit comments

Comments
 (0)