From 682f54c46fe2751d1802b53851f54fa971e6524b Mon Sep 17 00:00:00 2001 From: Simon Jones Date: Thu, 21 Sep 2023 20:54:26 -0400 Subject: [PATCH 1/8] fix: comparing min/max when one is Nonetype is switched --- chasten/checks.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/chasten/checks.py b/chasten/checks.py index 4b3e5de0..6e1d2b54 100644 --- a/chasten/checks.py +++ b/chasten/checks.py @@ -81,13 +81,13 @@ def check_match_count( if min_value is not None and max_value is not None: return is_in_closed_interval(count, min_value, max_value) # at this point, only one of the values might not be None - # if min_value is not None, then confirm that it is less than or equal + # if min_value is not None, then confirm that it is greater than or equal if min_value is not None: - if count <= min_value: + if count >= min_value: return True - # if max_value is not None, then confirm that it is greater than or equal + # if max_value is not None, then confirm that it is less than or equal if max_value is not None: - if count >= max_value: + if count <= max_value: return True # if none of those conditions were true, then the count is not # between the minimum and the maximum value, inclusively From 6f080841cec5b040041fcc0c3b89fb7515bfe976 Mon Sep 17 00:00:00 2001 From: Simon Jones Date: Thu, 21 Sep 2023 20:55:14 -0400 Subject: [PATCH 2/8] feat: updating jsonschema validation to allow null for min and max --- chasten/validate.py | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/chasten/validate.py b/chasten/validate.py index f393df64..41f4d739 100644 --- a/chasten/validate.py +++ b/chasten/validate.py @@ -48,19 +48,43 @@ "anyOf": [ { "type": "object", - "properties": {"min": {"type": "integer"}}, + "properties": { + "min": { + "anyOf": [ + {"type": "integer"}, + {"type": "null"}, + ] + } + }, "required": ["min"], }, { "type": "object", - "properties": {"max": {"type": "integer"}}, + "properties": { + "max": { + "anyOf": [ + {"type": "integer"}, + {"type": "null"}, + ] + } + }, "required": ["max"], }, { "type": "object", "properties": { - "min": {"type": "integer"}, - "max": {"type": "integer"}, + "min": { + "anyOf": [ + {"type": "integer"}, + {"type": "null"}, + ] + }, + "max": { + "anyOf": [ + {"type": "integer"}, + {"type": "null"}, + ] + }, }, "required": ["min", "max"], }, From 96fddd481a77ea8908587915fdf34532f6b28545 Mon Sep 17 00:00:00 2001 From: Simon Jones Date: Thu, 21 Sep 2023 20:57:30 -0400 Subject: [PATCH 3/8] feat: pydantic BaseModel allows nullable integers greater than zero this also uses the pydantic conint type to constrain the min and max values to be greater than or equal to zero, as there is no need to have a check count be negative. --- chasten/results.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/chasten/results.py b/chasten/results.py index fd6eecad..6a005e75 100644 --- a/chasten/results.py +++ b/chasten/results.py @@ -3,10 +3,11 @@ import uuid from datetime import datetime from pathlib import Path -from typing import List, Union +from typing import List, Union, Optional from pyastgrep import search as pyastgrepsearch # type: ignore from pydantic import BaseModel +from pydantic.types import conint from chasten import debug @@ -67,8 +68,8 @@ class Check(BaseModel): id: str name: str description: str = "" - min: Union[None, int] = 0 - max: Union[None, int] = 0 + min: Optional[conint(ge=0)] = 0 + max: Optional[conint(ge=0)] = 0 pattern: str passed: bool matches: list[Match] = [] From c5849e4c6c95b39a47776bf67384729bd317a831 Mon Sep 17 00:00:00 2001 From: Simon Jones Date: Thu, 21 Sep 2023 21:10:36 -0400 Subject: [PATCH 4/8] fix: ignore type of pydantic `conint` to pass linter check --- chasten/results.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chasten/results.py b/chasten/results.py index 6a005e75..78331fbe 100644 --- a/chasten/results.py +++ b/chasten/results.py @@ -68,8 +68,8 @@ class Check(BaseModel): id: str name: str description: str = "" - min: Optional[conint(ge=0)] = 0 - max: Optional[conint(ge=0)] = 0 + min: Optional[conint(ge=0)] = 0 # type: ignore + max: Optional[conint(ge=0)] = 0 # type: ignore pattern: str passed: bool matches: list[Match] = [] From cd16005e09cb7fe1e636e45218a44dbcbfe1dff8 Mon Sep 17 00:00:00 2001 From: Simon Jones Date: Thu, 21 Sep 2023 21:40:58 -0400 Subject: [PATCH 5/8] fix: reformatting --- chasten/results.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chasten/results.py b/chasten/results.py index 78331fbe..a7effeb0 100644 --- a/chasten/results.py +++ b/chasten/results.py @@ -68,8 +68,8 @@ class Check(BaseModel): id: str name: str description: str = "" - min: Optional[conint(ge=0)] = 0 # type: ignore - max: Optional[conint(ge=0)] = 0 # type: ignore + min: Optional[conint(ge=0)] = 0 # type: ignore + max: Optional[conint(ge=0)] = 0 # type: ignore pattern: str passed: bool matches: list[Match] = [] From 015583a27aad8cc3440c5eb7b983ecb573b692af Mon Sep 17 00:00:00 2001 From: Simon Jones Date: Thu, 21 Sep 2023 21:49:06 -0400 Subject: [PATCH 6/8] fix: formatting imports --- chasten/checks.py | 11 ++++++++--- chasten/database.py | 5 ++++- chasten/filesystem.py | 13 +++++++++++-- chasten/main.py | 34 ++++++++++++++++++---------------- chasten/output.py | 10 ++++++++-- chasten/process.py | 9 +++++++-- chasten/results.py | 4 +++- chasten/server.py | 3 ++- chasten/validate.py | 5 ++++- tests/test_checks.py | 12 ++++++------ tests/test_configuration.py | 3 ++- tests/test_constants.py | 3 ++- tests/test_debug.py | 3 ++- tests/test_filesystem.py | 6 ++++-- tests/test_main.py | 5 ++++- tests/test_util.py | 3 ++- tests/test_validate.py | 6 ++++-- 17 files changed, 91 insertions(+), 44 deletions(-) diff --git a/chasten/checks.py b/chasten/checks.py index 6e1d2b54..c732f6c0 100644 --- a/chasten/checks.py +++ b/chasten/checks.py @@ -1,8 +1,13 @@ """Extract and analyze details about specific checks.""" -from typing import Dict, List, Tuple, Union - -from chasten import constants, enumerations, util +from typing import Dict +from typing import List +from typing import Tuple +from typing import Union + +from chasten import constants +from chasten import enumerations +from chasten import util def extract_min_max( diff --git a/chasten/database.py b/chasten/database.py index 401333ad..1c618389 100644 --- a/chasten/database.py +++ b/chasten/database.py @@ -6,7 +6,10 @@ from sqlite_utils import Database -from chasten import constants, enumerations, filesystem, output +from chasten import constants +from chasten import enumerations +from chasten import filesystem +from chasten import output CHASTEN_SQL_SELECT_QUERY = """ SELECT diff --git a/chasten/filesystem.py b/chasten/filesystem.py index 5d12e249..368d94a2 100644 --- a/chasten/filesystem.py +++ b/chasten/filesystem.py @@ -5,12 +5,21 @@ import uuid from datetime import datetime from pathlib import Path -from typing import Any, Dict, List, NoReturn, Optional, Tuple, Union +from typing import Any +from typing import Dict +from typing import List +from typing import NoReturn +from typing import Optional +from typing import Tuple +from typing import Union import flatterer # type: ignore from rich.tree import Tree -from chasten import configuration, constants, database, results +from chasten import configuration +from chasten import constants +from chasten import database +from chasten import results CONFIGURATION_FILE_DEFAULT_CONTENTS = """ # chasten configuration diff --git a/chasten/main.py b/chasten/main.py index f6ed91f6..4b439dd1 100644 --- a/chasten/main.py +++ b/chasten/main.py @@ -2,7 +2,11 @@ import sys from pathlib import Path -from typing import Any, Dict, List, Tuple, Union +from typing import Any +from typing import Dict +from typing import List +from typing import Tuple +from typing import Union import typer import yaml @@ -10,21 +14,19 @@ from trogon import Trogon # type: ignore from typer.main import get_group -from chasten import ( - checks, - configuration, - constants, - database, - debug, - enumerations, - filesystem, - output, - process, - results, - server, - util, - validate, -) +from chasten import checks +from chasten import configuration +from chasten import constants +from chasten import database +from chasten import debug +from chasten import enumerations +from chasten import filesystem +from chasten import output +from chasten import process +from chasten import results +from chasten import server +from chasten import util +from chasten import validate # create a Typer object to support the command-line interface cli = typer.Typer() diff --git a/chasten/output.py b/chasten/output.py index a2958cc6..2e090738 100644 --- a/chasten/output.py +++ b/chasten/output.py @@ -3,14 +3,20 @@ import logging from copy import deepcopy from pathlib import Path -from typing import Any, Dict, List +from typing import Any +from typing import Dict +from typing import List from pyastgrep import search as pyastgrepsearch # type: ignore from rich.console import Console from rich.panel import Panel from rich.syntax import Syntax -from chasten import checks, configuration, constants, debug, results +from chasten import checks +from chasten import configuration +from chasten import constants +from chasten import debug +from chasten import results # declare a default logger logger: logging.Logger = logging.getLogger() diff --git a/chasten/process.py b/chasten/process.py index 5670b4e1..a701c059 100644 --- a/chasten/process.py +++ b/chasten/process.py @@ -1,12 +1,17 @@ """Analyze the abstract syntax tree, its XML-based representation, and/or the search results.""" import json -from typing import Any, Dict, List, Tuple, Union +from typing import Any +from typing import Dict +from typing import List +from typing import Tuple +from typing import Union from pyastgrep import search as pyastgrepsearch # type: ignore from thefuzz import fuzz # type: ignore -from chasten import constants, enumerations +from chasten import constants +from chasten import enumerations def include_or_exclude_checks( diff --git a/chasten/results.py b/chasten/results.py index a7effeb0..7b9fd95e 100644 --- a/chasten/results.py +++ b/chasten/results.py @@ -3,7 +3,9 @@ import uuid from datetime import datetime from pathlib import Path -from typing import List, Union, Optional +from typing import List +from typing import Optional +from typing import Union from pyastgrep import search as pyastgrepsearch # type: ignore from pydantic import BaseModel diff --git a/chasten/server.py b/chasten/server.py index acf75116..e6e813d5 100644 --- a/chasten/server.py +++ b/chasten/server.py @@ -4,7 +4,8 @@ import logging.handlers import socketserver -from chasten import constants, output +from chasten import constants +from chasten import output LOG_FILE = constants.server.Log_File HOST = constants.server.Localhost diff --git a/chasten/validate.py b/chasten/validate.py index 41f4d739..58705448 100644 --- a/chasten/validate.py +++ b/chasten/validate.py @@ -1,6 +1,9 @@ """Validate various aspects of configurations and command-line arguments.""" -from typing import Any, Dict, List, Tuple +from typing import Any +from typing import Dict +from typing import List +from typing import Tuple import jsonschema from jsonschema.exceptions import ValidationError diff --git a/tests/test_checks.py b/tests/test_checks.py index 98054a5b..68828c22 100644 --- a/tests/test_checks.py +++ b/tests/test_checks.py @@ -2,14 +2,14 @@ import hypothesis.strategies as st import pytest -from hypothesis import HealthCheck, given, settings +from hypothesis import HealthCheck +from hypothesis import given +from hypothesis import settings from hypothesis_jsonschema import from_schema -from chasten.checks import ( - check_match_count, - extract_min_max, - is_in_closed_interval, -) +from chasten.checks import check_match_count +from chasten.checks import extract_min_max +from chasten.checks import is_in_closed_interval JSON_SCHEMA_COUNT = { "type": "object", diff --git a/tests/test_configuration.py b/tests/test_configuration.py index 739572a4..184dd0fe 100644 --- a/tests/test_configuration.py +++ b/tests/test_configuration.py @@ -3,7 +3,8 @@ import logging import pytest -from hypothesis import given, strategies +from hypothesis import given +from hypothesis import strategies from chasten import configuration diff --git a/tests/test_constants.py b/tests/test_constants.py index d86f2c42..05723739 100644 --- a/tests/test_constants.py +++ b/tests/test_constants.py @@ -3,7 +3,8 @@ from dataclasses import FrozenInstanceError import pytest -from hypothesis import given, strategies +from hypothesis import given +from hypothesis import strategies from chasten import constants diff --git a/tests/test_debug.py b/tests/test_debug.py index 0303ea8d..e486f86d 100644 --- a/tests/test_debug.py +++ b/tests/test_debug.py @@ -2,7 +2,8 @@ import pytest -from chasten.debug import DebugDestination, DebugLevel +from chasten.debug import DebugDestination +from chasten.debug import DebugLevel def test_debug_level_values(): diff --git a/tests/test_filesystem.py b/tests/test_filesystem.py index 691e81e1..5d2e1adb 100644 --- a/tests/test_filesystem.py +++ b/tests/test_filesystem.py @@ -4,10 +4,12 @@ from unittest.mock import patch import pytest -from hypothesis import given, strategies +from hypothesis import given +from hypothesis import strategies from rich.tree import Tree -from chasten import constants, filesystem +from chasten import constants +from chasten import filesystem def test_valid_directory() -> None: diff --git a/tests/test_main.py b/tests/test_main.py index 17504aae..1f945020 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -5,7 +5,10 @@ from unittest.mock import patch import pytest -from hypothesis import HealthCheck, given, settings, strategies +from hypothesis import HealthCheck +from hypothesis import given +from hypothesis import settings +from hypothesis import strategies from typer.testing import CliRunner from chasten import main diff --git a/tests/test_util.py b/tests/test_util.py index d323fa5d..397adaa3 100644 --- a/tests/test_util.py +++ b/tests/test_util.py @@ -1,7 +1,8 @@ """Pytest test suite for the util module.""" import pytest -from hypothesis import given, strategies +from hypothesis import given +from hypothesis import strategies from chasten import util diff --git a/tests/test_validate.py b/tests/test_validate.py index dda4fe1d..c4c346b2 100644 --- a/tests/test_validate.py +++ b/tests/test_validate.py @@ -1,10 +1,12 @@ """Pytest test suite for the validate module.""" import pytest -from hypothesis import given, strategies +from hypothesis import given +from hypothesis import strategies from hypothesis_jsonschema import from_schema -from chasten.validate import JSON_SCHEMA_CONFIG, validate_configuration +from chasten.validate import JSON_SCHEMA_CONFIG +from chasten.validate import validate_configuration def test_validate_config_valid_realistic(): From eb3656fc3434b5b8a1ba747e059f29c31a0a8b94 Mon Sep 17 00:00:00 2001 From: Simon Jones Date: Thu, 21 Sep 2023 21:58:17 -0400 Subject: [PATCH 7/8] Revert "fix: formatting imports" This reverts commit 015583a27aad8cc3440c5eb7b983ecb573b692af. --- chasten/checks.py | 11 +++-------- chasten/database.py | 5 +---- chasten/filesystem.py | 13 ++----------- chasten/main.py | 34 ++++++++++++++++------------------ chasten/output.py | 10 ++-------- chasten/process.py | 9 ++------- chasten/results.py | 4 +--- chasten/server.py | 3 +-- chasten/validate.py | 5 +---- tests/test_checks.py | 12 ++++++------ tests/test_configuration.py | 3 +-- tests/test_constants.py | 3 +-- tests/test_debug.py | 3 +-- tests/test_filesystem.py | 6 ++---- tests/test_main.py | 5 +---- tests/test_util.py | 3 +-- tests/test_validate.py | 6 ++---- 17 files changed, 44 insertions(+), 91 deletions(-) diff --git a/chasten/checks.py b/chasten/checks.py index c732f6c0..6e1d2b54 100644 --- a/chasten/checks.py +++ b/chasten/checks.py @@ -1,13 +1,8 @@ """Extract and analyze details about specific checks.""" -from typing import Dict -from typing import List -from typing import Tuple -from typing import Union - -from chasten import constants -from chasten import enumerations -from chasten import util +from typing import Dict, List, Tuple, Union + +from chasten import constants, enumerations, util def extract_min_max( diff --git a/chasten/database.py b/chasten/database.py index 1c618389..401333ad 100644 --- a/chasten/database.py +++ b/chasten/database.py @@ -6,10 +6,7 @@ from sqlite_utils import Database -from chasten import constants -from chasten import enumerations -from chasten import filesystem -from chasten import output +from chasten import constants, enumerations, filesystem, output CHASTEN_SQL_SELECT_QUERY = """ SELECT diff --git a/chasten/filesystem.py b/chasten/filesystem.py index 368d94a2..5d12e249 100644 --- a/chasten/filesystem.py +++ b/chasten/filesystem.py @@ -5,21 +5,12 @@ import uuid from datetime import datetime from pathlib import Path -from typing import Any -from typing import Dict -from typing import List -from typing import NoReturn -from typing import Optional -from typing import Tuple -from typing import Union +from typing import Any, Dict, List, NoReturn, Optional, Tuple, Union import flatterer # type: ignore from rich.tree import Tree -from chasten import configuration -from chasten import constants -from chasten import database -from chasten import results +from chasten import configuration, constants, database, results CONFIGURATION_FILE_DEFAULT_CONTENTS = """ # chasten configuration diff --git a/chasten/main.py b/chasten/main.py index 4b439dd1..f6ed91f6 100644 --- a/chasten/main.py +++ b/chasten/main.py @@ -2,11 +2,7 @@ import sys from pathlib import Path -from typing import Any -from typing import Dict -from typing import List -from typing import Tuple -from typing import Union +from typing import Any, Dict, List, Tuple, Union import typer import yaml @@ -14,19 +10,21 @@ from trogon import Trogon # type: ignore from typer.main import get_group -from chasten import checks -from chasten import configuration -from chasten import constants -from chasten import database -from chasten import debug -from chasten import enumerations -from chasten import filesystem -from chasten import output -from chasten import process -from chasten import results -from chasten import server -from chasten import util -from chasten import validate +from chasten import ( + checks, + configuration, + constants, + database, + debug, + enumerations, + filesystem, + output, + process, + results, + server, + util, + validate, +) # create a Typer object to support the command-line interface cli = typer.Typer() diff --git a/chasten/output.py b/chasten/output.py index 2e090738..a2958cc6 100644 --- a/chasten/output.py +++ b/chasten/output.py @@ -3,20 +3,14 @@ import logging from copy import deepcopy from pathlib import Path -from typing import Any -from typing import Dict -from typing import List +from typing import Any, Dict, List from pyastgrep import search as pyastgrepsearch # type: ignore from rich.console import Console from rich.panel import Panel from rich.syntax import Syntax -from chasten import checks -from chasten import configuration -from chasten import constants -from chasten import debug -from chasten import results +from chasten import checks, configuration, constants, debug, results # declare a default logger logger: logging.Logger = logging.getLogger() diff --git a/chasten/process.py b/chasten/process.py index a701c059..5670b4e1 100644 --- a/chasten/process.py +++ b/chasten/process.py @@ -1,17 +1,12 @@ """Analyze the abstract syntax tree, its XML-based representation, and/or the search results.""" import json -from typing import Any -from typing import Dict -from typing import List -from typing import Tuple -from typing import Union +from typing import Any, Dict, List, Tuple, Union from pyastgrep import search as pyastgrepsearch # type: ignore from thefuzz import fuzz # type: ignore -from chasten import constants -from chasten import enumerations +from chasten import constants, enumerations def include_or_exclude_checks( diff --git a/chasten/results.py b/chasten/results.py index 7b9fd95e..a7effeb0 100644 --- a/chasten/results.py +++ b/chasten/results.py @@ -3,9 +3,7 @@ import uuid from datetime import datetime from pathlib import Path -from typing import List -from typing import Optional -from typing import Union +from typing import List, Union, Optional from pyastgrep import search as pyastgrepsearch # type: ignore from pydantic import BaseModel diff --git a/chasten/server.py b/chasten/server.py index e6e813d5..acf75116 100644 --- a/chasten/server.py +++ b/chasten/server.py @@ -4,8 +4,7 @@ import logging.handlers import socketserver -from chasten import constants -from chasten import output +from chasten import constants, output LOG_FILE = constants.server.Log_File HOST = constants.server.Localhost diff --git a/chasten/validate.py b/chasten/validate.py index 58705448..41f4d739 100644 --- a/chasten/validate.py +++ b/chasten/validate.py @@ -1,9 +1,6 @@ """Validate various aspects of configurations and command-line arguments.""" -from typing import Any -from typing import Dict -from typing import List -from typing import Tuple +from typing import Any, Dict, List, Tuple import jsonschema from jsonschema.exceptions import ValidationError diff --git a/tests/test_checks.py b/tests/test_checks.py index 68828c22..98054a5b 100644 --- a/tests/test_checks.py +++ b/tests/test_checks.py @@ -2,14 +2,14 @@ import hypothesis.strategies as st import pytest -from hypothesis import HealthCheck -from hypothesis import given -from hypothesis import settings +from hypothesis import HealthCheck, given, settings from hypothesis_jsonschema import from_schema -from chasten.checks import check_match_count -from chasten.checks import extract_min_max -from chasten.checks import is_in_closed_interval +from chasten.checks import ( + check_match_count, + extract_min_max, + is_in_closed_interval, +) JSON_SCHEMA_COUNT = { "type": "object", diff --git a/tests/test_configuration.py b/tests/test_configuration.py index 184dd0fe..739572a4 100644 --- a/tests/test_configuration.py +++ b/tests/test_configuration.py @@ -3,8 +3,7 @@ import logging import pytest -from hypothesis import given -from hypothesis import strategies +from hypothesis import given, strategies from chasten import configuration diff --git a/tests/test_constants.py b/tests/test_constants.py index 05723739..d86f2c42 100644 --- a/tests/test_constants.py +++ b/tests/test_constants.py @@ -3,8 +3,7 @@ from dataclasses import FrozenInstanceError import pytest -from hypothesis import given -from hypothesis import strategies +from hypothesis import given, strategies from chasten import constants diff --git a/tests/test_debug.py b/tests/test_debug.py index e486f86d..0303ea8d 100644 --- a/tests/test_debug.py +++ b/tests/test_debug.py @@ -2,8 +2,7 @@ import pytest -from chasten.debug import DebugDestination -from chasten.debug import DebugLevel +from chasten.debug import DebugDestination, DebugLevel def test_debug_level_values(): diff --git a/tests/test_filesystem.py b/tests/test_filesystem.py index 5d2e1adb..691e81e1 100644 --- a/tests/test_filesystem.py +++ b/tests/test_filesystem.py @@ -4,12 +4,10 @@ from unittest.mock import patch import pytest -from hypothesis import given -from hypothesis import strategies +from hypothesis import given, strategies from rich.tree import Tree -from chasten import constants -from chasten import filesystem +from chasten import constants, filesystem def test_valid_directory() -> None: diff --git a/tests/test_main.py b/tests/test_main.py index 1f945020..17504aae 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -5,10 +5,7 @@ from unittest.mock import patch import pytest -from hypothesis import HealthCheck -from hypothesis import given -from hypothesis import settings -from hypothesis import strategies +from hypothesis import HealthCheck, given, settings, strategies from typer.testing import CliRunner from chasten import main diff --git a/tests/test_util.py b/tests/test_util.py index 397adaa3..d323fa5d 100644 --- a/tests/test_util.py +++ b/tests/test_util.py @@ -1,8 +1,7 @@ """Pytest test suite for the util module.""" import pytest -from hypothesis import given -from hypothesis import strategies +from hypothesis import given, strategies from chasten import util diff --git a/tests/test_validate.py b/tests/test_validate.py index c4c346b2..dda4fe1d 100644 --- a/tests/test_validate.py +++ b/tests/test_validate.py @@ -1,12 +1,10 @@ """Pytest test suite for the validate module.""" import pytest -from hypothesis import given -from hypothesis import strategies +from hypothesis import given, strategies from hypothesis_jsonschema import from_schema -from chasten.validate import JSON_SCHEMA_CONFIG -from chasten.validate import validate_configuration +from chasten.validate import JSON_SCHEMA_CONFIG, validate_configuration def test_validate_config_valid_realistic(): From 288f76fe418c896896f0e8d6cb41bd51da2bd142 Mon Sep 17 00:00:00 2001 From: Simon Jones Date: Thu, 21 Sep 2023 21:59:36 -0400 Subject: [PATCH 8/8] fix: alphabetizing formats in results.py --- chasten/results.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chasten/results.py b/chasten/results.py index a7effeb0..d56b9101 100644 --- a/chasten/results.py +++ b/chasten/results.py @@ -3,7 +3,7 @@ import uuid from datetime import datetime from pathlib import Path -from typing import List, Union, Optional +from typing import List, Optional, Union from pyastgrep import search as pyastgrepsearch # type: ignore from pydantic import BaseModel