From a66c078e7b0c2aa02ee8fe09e4ecb473eca473ea Mon Sep 17 00:00:00 2001 From: Isaac To Date: Fri, 22 Nov 2024 19:01:43 -0800 Subject: [PATCH 1/2] chore: remove ruff rule `FA100` to ignore No longer need to ignore this rule because supported Python is not 3.10 --- pyproject.toml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 156d354..51e1173 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -93,9 +93,7 @@ line-length = 88 indent-width = 4 [tool.ruff.lint] ignore = [ - # Avoid use of `from __future__ import annotations` - # because it causes problem with Typer - "FA100" + # rules to ignore by ruff ] [tool.ruff.lint.per-file-ignores] "**/tests/**/*" = [ From b55af633c3a1d6c773db7056818ce634114cf34e Mon Sep 17 00:00:00 2001 From: Isaac To Date: Fri, 22 Nov 2024 23:01:52 -0800 Subject: [PATCH 2/2] chore: update code to Python 3.10 syntax --- src/dandisets_linkml_status_tools/cli/models.py | 6 +++--- src/dandisets_linkml_status_tools/cli/tools.py | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/dandisets_linkml_status_tools/cli/models.py b/src/dandisets_linkml_status_tools/cli/models.py index e526bc8..1a71b58 100644 --- a/src/dandisets_linkml_status_tools/cli/models.py +++ b/src/dandisets_linkml_status_tools/cli/models.py @@ -1,6 +1,6 @@ from collections.abc import Sequence from datetime import datetime -from typing import Annotated, Any, NamedTuple, Union +from typing import Annotated, Any, NamedTuple from dandi.dandiapi import VersionStatus from jsonschema.exceptions import ValidationError @@ -17,8 +17,8 @@ class JsonValidationErrorView(BaseModel): """ message: str - absolute_path: Sequence[Union[str, int]] - absolute_schema_path: Sequence[Union[str, int]] + absolute_path: Sequence[str | int] + absolute_schema_path: Sequence[str | int] validator: str validator_value: Any diff --git a/src/dandisets_linkml_status_tools/cli/tools.py b/src/dandisets_linkml_status_tools/cli/tools.py index 2dc676c..1a82ed6 100644 --- a/src/dandisets_linkml_status_tools/cli/tools.py +++ b/src/dandisets_linkml_status_tools/cli/tools.py @@ -7,7 +7,7 @@ from itertools import chain from pathlib import Path from shutil import rmtree -from typing import Any, NamedTuple, Optional +from typing import Any, NamedTuple from dandi.dandiapi import RemoteDandiset from dandischema.models import Dandiset, PublishedDandiset @@ -73,9 +73,9 @@ class DandiModelLinkmlValidator: """ # The LinkML schema produced by the pydantic2linkml translator for DANDI models - _dandi_linkml_schema: Optional[SchemaDefinition] = None + _dandi_linkml_schema: SchemaDefinition | None = None - def __init__(self, validation_plugins: Optional[list[ValidationPlugin]] = None): + def __init__(self, validation_plugins: list[ValidationPlugin] | None = None): """ Initialize a `DandiModelLinkmlValidator` instance that wraps a LinkML validator instance set up with schema produced by the pydantic2linkml translator, @@ -448,7 +448,7 @@ def sorting_key( return c[0].validator, -c[1] return sorted( - chain.from_iterable(zip(t, c) for t, c in counter.values()), key=sorting_key + chain.from_iterable(zip(t, c, strict=False) for t, c in counter.values()), key=sorting_key ) # A dictionary that keeps the counts of individual types of JSON schema validation