Skip to content

Commit 1c235d0

Browse files
yarikopticclaude
andcommitted
refactor: update imports for private validate submodules, add __all__
- Update all import paths to use _io, _core, _types across 16 files - Add io functions to __init__.py re-exports and __all__ - Change load_validation_jsonl from variadic *paths to Iterable[paths] - Move record_version check from io loader into ValidationResult.model_post_init (fires regardless of load method) Co-Authored-By: Claude Code 2.1.81 / Claude Opus 4.6 <noreply@anthropic.com>
1 parent 87d4c81 commit 1c235d0

18 files changed

Lines changed: 65 additions & 61 deletions

File tree

dandi/bids_validator_deno/_validator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
from pydantic import DirectoryPath, validate_call
1414

1515
from dandi.utils import find_parent_directory_containing
16-
from dandi.validate.types import (
16+
from dandi.validate._types import (
1717
Origin,
1818
OriginType,
1919
Scope,

dandi/cli/cmd_upload.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ def upload(
9797
"""
9898
# Avoid heavy imports by importing with function:
9999
from ..upload import upload as upload_
100-
from ..validate.io import validation_companion_path
100+
from ..validate._io import validation_companion_path
101101

102102
if jobs_pair is None:
103103
jobs = None

dandi/cli/cmd_validate.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
from .base import devel_debug_option, devel_option, map_to_click_exceptions
1616
from .formatter import JSONFormatter, JSONLinesFormatter, YAMLFormatter
1717
from ..utils import pluralize
18-
from ..validate.core import validate as validate_
19-
from ..validate.io import validation_companion_path, write_validation_jsonl
20-
from ..validate.types import Severity, ValidationResult
18+
from ..validate._core import validate as validate_
19+
from ..validate._io import validation_companion_path, write_validation_jsonl
20+
from ..validate._types import Severity, ValidationResult
2121

2222
lgr = logging.getLogger(__name__)
2323

@@ -264,9 +264,9 @@ def validate(
264264
raise click.UsageError("--load and positional paths are mutually exclusive.")
265265

266266
if load:
267-
from ..validate.io import load_validation_jsonl
267+
from ..validate._io import load_validation_jsonl
268268

269-
results = load_validation_jsonl(*load)
269+
results = load_validation_jsonl(load)
270270
else:
271271
results = _collect_results(paths, schema, devel_debug, allow_any_path)
272272
# Auto-save companion right after collection, before filtering — so

dandi/cli/tests/test_cmd_validate.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
)
1818
from ..command import main
1919
from ...tests.xfail import mark_xfail_windows_python313_posixsubprocess
20-
from ...validate.io import load_validation_jsonl
21-
from ...validate.types import (
20+
from ...validate._io import load_validation_jsonl
21+
from ...validate._types import (
2222
Origin,
2323
OriginType,
2424
Scope,
@@ -857,7 +857,7 @@ def test_validate_auto_companion_text(
857857
assert len(companions := list(redirected_logdir.glob("*_validation.jsonl"))) == 1
858858

859859
# Verify content is loadable
860-
assert load_validation_jsonl(companions[0])
860+
assert load_validation_jsonl([companions[0]])
861861

862862

863863
@pytest.mark.ai_generated

dandi/files/bases.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
from dandi.metadata.core import get_default_metadata
3030
from dandi.misctypes import DUMMY_DANDI_ETAG, Digest, LocalReadableFile, P
3131
from dandi.utils import post_upload_size_check, pre_upload_size_check, yaml_load
32-
from dandi.validate.types import (
32+
from dandi.validate._types import (
3333
ORIGIN_INTERNAL_DANDI,
3434
ORIGIN_VALIDATION_DANDI,
3535
Origin,

dandi/files/bids.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from ..consts import ZARR_MIME_TYPE, dandiset_metadata_file
1717
from ..metadata.core import add_common_metadata, prepare_metadata
1818
from ..misctypes import Digest
19-
from ..validate.types import (
19+
from ..validate._types import (
2020
ORIGIN_VALIDATION_DANDI_LAYOUT,
2121
Scope,
2222
Severity,
@@ -92,7 +92,7 @@ def _get_metadata(self) -> None:
9292
with self._lock:
9393
if self._asset_metadata is None:
9494
# Import here to avoid circular import
95-
from dandi.validate.core import validate_bids
95+
from dandi.validate._core import validate_bids
9696

9797
# === Validate the dataset using bidsschematools ===
9898
# This is done to obtain the metadata for each asset in the dataset

dandi/files/zarr.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
)
4848

4949
from .bases import LocalDirectoryAsset
50-
from ..validate.types import (
50+
from ..validate._types import (
5151
ORIGIN_VALIDATION_DANDI_ZARR,
5252
Origin,
5353
OriginType,

dandi/organize.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
pluralize,
4444
yaml_load,
4545
)
46-
from .validate.types import (
46+
from .validate._types import (
4747
ORIGIN_VALIDATION_DANDI_LAYOUT,
4848
Scope,
4949
Severity,

dandi/pynwb_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
)
4343
from .misctypes import Readable
4444
from .utils import get_module_version, is_url
45-
from .validate.types import (
45+
from .validate._types import (
4646
Origin,
4747
OriginType,
4848
Scope,

dandi/tests/test_bids_validator_deno/test_validator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
)
2828
from dandi.consts import dandiset_metadata_file
2929
from dandi.tests.fixtures import BIDS_TESTDATA_SELECTION
30-
from dandi.validate.types import (
30+
from dandi.validate._types import (
3131
OriginType,
3232
Scope,
3333
Severity,

0 commit comments

Comments
 (0)