diff --git a/pyproject.toml b/pyproject.toml index 3e40593..d53ee72 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -62,6 +62,7 @@ requires = ["setuptools>=65.3", "setuptools_scm>=8"] build-backend = "setuptools.build_meta" [tool.ruff] +src = ["src"] exclude = [ "submodules" ] diff --git a/src/ga4gh/va_spec/aac_2017/models.py b/src/ga4gh/va_spec/aac_2017/models.py index 47e2106..98028c4 100644 --- a/src/ga4gh/va_spec/aac_2017/models.py +++ b/src/ga4gh/va_spec/aac_2017/models.py @@ -6,6 +6,11 @@ from enum import Enum +from pydantic import ( + Field, + field_validator, +) + from ga4gh.core.models import MappableConcept, iriReference from ga4gh.va_spec.base.core import ( Method, @@ -16,10 +21,6 @@ ) from ga4gh.va_spec.base.enums import System from ga4gh.va_spec.base.validators import validate_mappable_concept -from pydantic import ( - Field, - field_validator, -) class Strength(str, Enum): diff --git a/src/ga4gh/va_spec/acmg_2015/models.py b/src/ga4gh/va_spec/acmg_2015/models.py index 28b1e0a..a3e0afa 100644 --- a/src/ga4gh/va_spec/acmg_2015/models.py +++ b/src/ga4gh/va_spec/acmg_2015/models.py @@ -5,6 +5,8 @@ from enum import Enum +from pydantic import Field, field_validator, model_validator + from ga4gh.core.models import MappableConcept, iriReference from ga4gh.va_spec.base.core import ( EvidenceLine, @@ -21,7 +23,6 @@ from ga4gh.va_spec.base.validators import ( validate_mappable_concept, ) -from pydantic import Field, field_validator, model_validator class AcmgClassification(str, Enum): diff --git a/src/ga4gh/va_spec/base/core.py b/src/ga4gh/va_spec/base/core.py index 612c684..e90fa7d 100644 --- a/src/ga4gh/va_spec/base/core.py +++ b/src/ga4gh/va_spec/base/core.py @@ -9,6 +9,15 @@ from enum import Enum from typing import Annotated, Literal, TypeVar +from pydantic import ( + ConfigDict, + Field, + RootModel, + StringConstraints, + ValidationError, + field_validator, +) + from ga4gh.cat_vrs.models import CategoricalVariant from ga4gh.core.models import ( BaseModelForbidExtra, @@ -25,14 +34,6 @@ ) from ga4gh.va_spec.base.validators import validate_mappable_concept from ga4gh.vrs.models import Allele, MolecularVariation -from pydantic import ( - ConfigDict, - Field, - RootModel, - StringConstraints, - ValidationError, - field_validator, -) StatementType = TypeVar("StatementType") EvidenceLineType = TypeVar("EvidenceLineType") diff --git a/src/ga4gh/va_spec/base/domain_entities.py b/src/ga4gh/va_spec/base/domain_entities.py index 5753043..baaf172 100644 --- a/src/ga4gh/va_spec/base/domain_entities.py +++ b/src/ga4gh/va_spec/base/domain_entities.py @@ -2,9 +2,10 @@ from __future__ import annotations +from pydantic import ConfigDict, Field, RootModel + from ga4gh.core.models import BaseModelForbidExtra, Element, MappableConcept from ga4gh.va_spec.base.enums import MembershipOperator -from pydantic import ConfigDict, Field, RootModel class ConditionSet(Element, BaseModelForbidExtra): diff --git a/src/ga4gh/va_spec/ccv_2022/models.py b/src/ga4gh/va_spec/ccv_2022/models.py index 850aba5..3ba4c88 100644 --- a/src/ga4gh/va_spec/ccv_2022/models.py +++ b/src/ga4gh/va_spec/ccv_2022/models.py @@ -5,6 +5,8 @@ from enum import Enum +from pydantic import Field, field_validator, model_validator + from ga4gh.core.models import MappableConcept, iriReference from ga4gh.va_spec.base.core import ( EvidenceLine, @@ -19,7 +21,6 @@ System, ) from ga4gh.va_spec.base.validators import validate_mappable_concept -from pydantic import Field, field_validator, model_validator class VariantOncogenicityEvidenceLine(EvidenceLine): diff --git a/tests/validation/test_va_spec_fixtures_validation.py b/tests/validation/test_va_spec_fixtures_validation.py index 0c94451..ab68c08 100644 --- a/tests/validation/test_va_spec_fixtures_validation.py +++ b/tests/validation/test_va_spec_fixtures_validation.py @@ -1,10 +1,10 @@ """Ensure that VA-Spec test fixtures validate against Pydantic models""" import yaml -from ga4gh.va_spec import aac_2017, acmg_2015, base, ccv_2022 - from tests.conftest import SUBMODULES_DIR, VaSpecSchema, get_va_spec_schema +from ga4gh.va_spec import aac_2017, acmg_2015, base, ccv_2022 + VA_SPEC_TESTS_DIR = SUBMODULES_DIR / "tests" diff --git a/tests/validation/test_va_spec_models.py b/tests/validation/test_va_spec_models.py index 43744c3..8a302c4 100644 --- a/tests/validation/test_va_spec_models.py +++ b/tests/validation/test_va_spec_models.py @@ -5,6 +5,9 @@ import pytest import yaml +from pydantic import ValidationError +from tests.conftest import SUBMODULES_DIR + from ga4gh.core.models import Coding, MappableConcept, code, iriReference from ga4gh.va_spec import acmg_2015, base, ccv_2022 from ga4gh.va_spec.aac_2017.models import VariantTherapeuticResponseStudyStatement @@ -23,9 +26,6 @@ VariantOncogenicityEvidenceLine, VariantOncogenicityStudyStatement, ) -from pydantic import ValidationError - -from tests.conftest import SUBMODULES_DIR VA_SPEC_TESTS_DIR = SUBMODULES_DIR / "tests" VA_SPEC_TEST_FIXTURES = VA_SPEC_TESTS_DIR / "fixtures" diff --git a/tests/validation/test_va_spec_schema.py b/tests/validation/test_va_spec_schema.py index 192f737..48b825a 100644 --- a/tests/validation/test_va_spec_schema.py +++ b/tests/validation/test_va_spec_schema.py @@ -4,15 +4,15 @@ from pathlib import Path import pytest -from ga4gh.va_spec import aac_2017, acmg_2015, base, ccv_2022 from pydantic import BaseModel - from tests.conftest import ( SUBMODULES_DIR, VaSpecSchema, get_va_spec_schema, ) +from ga4gh.va_spec import aac_2017, acmg_2015, base, ccv_2022 + VA_SCHEMA_DIR = SUBMODULES_DIR / "schema" / "va-spec"