diff --git a/.github/workflows/run_unit_tests.yml b/.github/workflows/run_unit_tests.yml index 5b6258a..927d04c 100644 --- a/.github/workflows/run_unit_tests.yml +++ b/.github/workflows/run_unit_tests.yml @@ -19,7 +19,8 @@ jobs: "3.10", "3.11", "3.12", - "3.13" + "3.13", + "3.14" ] steps: diff --git a/pyproject.toml b/pyproject.toml index 09993c3..dcabe36 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,6 +26,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] dependencies = [ "numpy>=1.19", @@ -41,10 +42,10 @@ gcp = ["dataclasses>=0.8; python_version=='3.6'", "google-auth>=1.6"] [dependency-groups] test = [ - "mypy==0.982", + "mypy==1.18.2", "flake8==6.1.0", - "pytest==7.1.3", - "pytest-cov==3.0.0", + "pytest==9.0.1", + "pytest-cov==7.0.0", "pytest-flake8==1.1.3", "pytest-localserver==0.5.0", "types-requests==2.27.14", diff --git a/src/dicomweb_client/file.py b/src/dicomweb_client/file.py index 612c1f1..b1a421d 100644 --- a/src/dicomweb_client/file.py +++ b/src/dicomweb_client/file.py @@ -461,7 +461,7 @@ class _QueryResourceType(Enum): def _build_acceptable_media_type_lut( - media_types: Tuple[Union[str, Tuple[str, str]], ...], + media_types: Tuple[Union[str, Tuple[str, ...]], ...], supported_media_type_lut: Mapping[str, Iterable[str]] ) -> Mapping[str, Iterable[str]]: # If no acceptable transfer syntax has been specified, then we just return diff --git a/src/dicomweb_client/log.py b/src/dicomweb_client/log.py index 746e1c8..512e0e2 100644 --- a/src/dicomweb_client/log.py +++ b/src/dicomweb_client/log.py @@ -3,7 +3,7 @@ import logging -def _filter_header_parsing_error(record: logging.LogRecord) -> int: +def _filter_header_parsing_error(record: logging.LogRecord) -> bool: """Filters warnings of ``urllib3.exceptions.HeaderParsingError``. Parameters @@ -13,13 +13,13 @@ def _filter_header_parsing_error(record: logging.LogRecord) -> int: Returns ------- - int - zero if the record should be filtered, non-zero otherwise + bool + False if the record should be filtered, True otherwise """ if 'Failed to parse headers' in record.getMessage(): - return 0 - return 1 + return False + return True def _map_logging_verbosity(verbosity: int) -> int: