Skip to content

Commit 068ddbe

Browse files
Merge pull request #2258 from VWS-Python/rm-future-annotations
Remove from __future__ import annotations
2 parents c483b46 + eb4567b commit 068ddbe

File tree

14 files changed

+46
-104
lines changed

14 files changed

+46
-104
lines changed

src/mock_vws/_database_matchers.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,11 @@
22
Helpers for getting databases which match keys given in requests.
33
"""
44

5-
from __future__ import annotations
6-
7-
from typing import TYPE_CHECKING
5+
from collections.abc import Iterable
86

97
from vws_auth_tools import authorization_header
108

11-
if TYPE_CHECKING:
12-
from collections.abc import Iterable
13-
14-
from mock_vws.database import VuforiaDatabase
9+
from mock_vws.database import VuforiaDatabase
1510

1611

1712
def get_database_matching_client_keys(

src/mock_vws/_query_tools.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,20 @@
22
Tools for making Vuforia queries.
33
"""
44

5-
from __future__ import annotations
6-
75
import base64
86
import io
97
import uuid
108
from email.message import EmailMessage
11-
from typing import TYPE_CHECKING, Any
9+
from typing import Any
1210

1311
from werkzeug.formparser import MultiPartParser
1412

1513
from mock_vws._base64_decoding import decode_base64
1614
from mock_vws._constants import ResultCodes, TargetStatuses
1715
from mock_vws._database_matchers import get_database_matching_client_keys
1816
from mock_vws._mock_common import json_dump
19-
20-
if TYPE_CHECKING:
21-
from mock_vws.database import VuforiaDatabase
22-
from mock_vws.image_matchers import ImageMatcher
17+
from mock_vws.database import VuforiaDatabase
18+
from mock_vws.image_matchers import ImageMatcher
2319

2420

2521
def get_query_match_response_text(

src/mock_vws/_query_validators/__init__.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22
Input validators to use in the mock query API.
33
"""
44

5-
from __future__ import annotations
6-
7-
from typing import TYPE_CHECKING
5+
from mock_vws.database import VuforiaDatabase
86

97
from .accept_header_validators import validate_accept_header
108
from .auth_validators import (
@@ -37,9 +35,6 @@
3735
from .num_results_validators import validate_max_num_results
3836
from .project_state_validators import validate_project_state
3937

40-
if TYPE_CHECKING:
41-
from mock_vws.database import VuforiaDatabase
42-
4338

4439
def run_query_validators(
4540
*,

src/mock_vws/_query_validators/auth_validators.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,18 @@
22
Authorization validators to use in the mock query API.
33
"""
44

5-
from __future__ import annotations
6-
75
import logging
8-
from typing import TYPE_CHECKING
96

107
from mock_vws._database_matchers import get_database_matching_client_keys
118
from mock_vws._query_validators.exceptions import (
129
AuthenticationFailureError,
1310
AuthHeaderMissingError,
1411
MalformedAuthHeaderError,
1512
)
13+
from mock_vws.database import VuforiaDatabase
1614

1715
_LOGGER = logging.getLogger(name=__name__)
1816

19-
if TYPE_CHECKING:
20-
from mock_vws.database import VuforiaDatabase
21-
2217

2318
def validate_auth_header_exists(*, request_headers: dict[str, str]) -> None:
2419
"""

src/mock_vws/_requests_mock_server/decorators.py

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,28 @@
22
Decorators for using the mock.
33
"""
44

5-
from __future__ import annotations
6-
75
import re
86
from contextlib import ContextDecorator
9-
from typing import TYPE_CHECKING, Literal, Self
7+
from typing import Literal, Self
108
from urllib.parse import urljoin, urlparse
119

1210
import requests
1311
from requests_mock.mocker import Mocker
1412

13+
from mock_vws.database import VuforiaDatabase
1514
from mock_vws.image_matchers import (
1615
ImageMatcher,
1716
StructuralSimilarityMatcher,
1817
)
1918
from mock_vws.target_manager import TargetManager
20-
from mock_vws.target_raters import BrisqueTargetTrackingRater
19+
from mock_vws.target_raters import (
20+
BrisqueTargetTrackingRater,
21+
TargetTrackingRater,
22+
)
2123

2224
from .mock_web_query_api import MockVuforiaWebQueryAPI
2325
from .mock_web_services_api import MockVuforiaWebServicesAPI
2426

25-
if TYPE_CHECKING:
26-
from mock_vws.database import VuforiaDatabase
27-
from mock_vws.target_raters import TargetTrackingRater
28-
29-
3027
_STRUCTURAL_SIMILARITY_MATCHER = StructuralSimilarityMatcher()
3128
_BRISQUE_TRACKING_RATER = BrisqueTargetTrackingRater()
3229

src/mock_vws/_requests_mock_server/mock_web_query_api.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@
55
https://developer.vuforia.com/library/web-api/vuforia-query-web-api
66
"""
77

8-
from __future__ import annotations
9-
108
import email.utils
9+
from collections.abc import Callable
1110
from http import HTTPMethod
1211
from typing import TYPE_CHECKING
1312

@@ -19,15 +18,13 @@
1918
from mock_vws._query_validators.exceptions import (
2019
ValidatorError,
2120
)
21+
from mock_vws.image_matchers import ImageMatcher
22+
from mock_vws.target_manager import TargetManager
2223

2324
if TYPE_CHECKING:
24-
from collections.abc import Callable
25-
2625
from requests_mock.request import Request
2726
from requests_mock.response import Context
2827

29-
from mock_vws.image_matchers import ImageMatcher
30-
from mock_vws.target_manager import TargetManager
3128

3229
_ROUTES: set[Route] = set()
3330

@@ -69,7 +66,7 @@ def decorator(method: Callable[..., str]) -> Callable[..., str]:
6966
return decorator
7067

7168

72-
def _body_bytes(request: Request) -> bytes:
69+
def _body_bytes(request: "Request") -> bytes:
7370
"""
7471
Return the body of a request as bytes.
7572
"""
@@ -102,7 +99,7 @@ def __init__(
10299
self._query_match_checker = query_match_checker
103100

104101
@route(path_pattern="/v1/query", http_methods={HTTPMethod.POST})
105-
def query(self, request: Request, context: Context) -> str:
102+
def query(self, request: "Request", context: "Context") -> str:
106103
"""
107104
Perform an image recognition query.
108105
"""

src/mock_vws/_requests_mock_server/mock_web_services_api.py

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,12 @@
55
https://developer.vuforia.com/library/web-api/cloud-targets-web-services-api
66
"""
77

8-
from __future__ import annotations
9-
108
import base64
119
import dataclasses
1210
import datetime
1311
import email.utils
1412
import uuid
13+
from collections.abc import Callable
1514
from http import HTTPMethod, HTTPStatus
1615
from typing import TYPE_CHECKING
1716
from zoneinfo import ZoneInfo
@@ -26,17 +25,15 @@
2625
TargetStatusProcessingError,
2726
ValidatorError,
2827
)
28+
from mock_vws.image_matchers import ImageMatcher
2929
from mock_vws.target import Target
30+
from mock_vws.target_manager import TargetManager
31+
from mock_vws.target_raters import TargetTrackingRater
3032

3133
if TYPE_CHECKING:
32-
from collections.abc import Callable
33-
3434
from requests_mock.request import Request
3535
from requests_mock.response import Context
3636

37-
from mock_vws.image_matchers import ImageMatcher
38-
from mock_vws.target_manager import TargetManager
39-
from mock_vws.target_raters import TargetTrackingRater
4037

4138
_TARGET_ID_PATTERN = "[A-Za-z0-9]+"
4239

@@ -81,7 +78,7 @@ def decorator(method: Callable[..., str]) -> Callable[..., str]:
8178
return decorator
8279

8380

84-
def _body_bytes(request: Request) -> bytes:
81+
def _body_bytes(request: "Request") -> bytes:
8582
"""
8683
Return the body of a request as bytes.
8784
"""
@@ -133,7 +130,7 @@ def __init__(
133130
path_pattern="/targets",
134131
http_methods={HTTPMethod.POST},
135132
)
136-
def add_target(self, request: Request, context: Context) -> str:
133+
def add_target(self, request: "Request", context: "Context") -> str:
137134
"""
138135
Add a target.
139136
@@ -210,7 +207,7 @@ def add_target(self, request: Request, context: Context) -> str:
210207
path_pattern=f"/targets/{_TARGET_ID_PATTERN}",
211208
http_methods={HTTPMethod.DELETE},
212209
)
213-
def delete_target(self, request: Request, context: Context) -> str:
210+
def delete_target(self, request: "Request", context: "Context") -> str:
214211
"""
215212
Delete a target.
216213
@@ -277,7 +274,7 @@ def delete_target(self, request: Request, context: Context) -> str:
277274
return body_json
278275

279276
@route(path_pattern="/summary", http_methods={HTTPMethod.GET})
280-
def database_summary(self, request: Request, context: Context) -> str:
277+
def database_summary(self, request: "Request", context: "Context") -> str:
281278
"""
282279
Get a database summary report.
283280
@@ -343,7 +340,7 @@ def database_summary(self, request: Request, context: Context) -> str:
343340
return body_json
344341

345342
@route(path_pattern="/targets", http_methods={HTTPMethod.GET})
346-
def target_list(self, request: Request, context: Context) -> str:
343+
def target_list(self, request: "Request", context: "Context") -> str:
347344
"""
348345
Get a list of all targets.
349346
@@ -403,7 +400,7 @@ def target_list(self, request: Request, context: Context) -> str:
403400
path_pattern=f"/targets/{_TARGET_ID_PATTERN}",
404401
http_methods={HTTPMethod.GET},
405402
)
406-
def get_target(self, request: Request, context: Context) -> str:
403+
def get_target(self, request: "Request", context: "Context") -> str:
407404
"""
408405
Get details of a target.
409406
@@ -471,7 +468,7 @@ def get_target(self, request: Request, context: Context) -> str:
471468
path_pattern=f"/duplicates/{_TARGET_ID_PATTERN}",
472469
http_methods={HTTPMethod.GET},
473470
)
474-
def get_duplicates(self, request: Request, context: Context) -> str:
471+
def get_duplicates(self, request: "Request", context: "Context") -> str:
475472
"""
476473
Get targets which may be considered duplicates of a given target.
477474
@@ -545,7 +542,7 @@ def get_duplicates(self, request: Request, context: Context) -> str:
545542
path_pattern=f"/targets/{_TARGET_ID_PATTERN}",
546543
http_methods={HTTPMethod.PUT},
547544
)
548-
def update_target(self, request: Request, context: Context) -> str:
545+
def update_target(self, request: "Request", context: "Context") -> str:
549546
"""
550547
Update a target.
551548
@@ -654,7 +651,7 @@ def update_target(self, request: Request, context: Context) -> str:
654651
path_pattern=f"/summary/{_TARGET_ID_PATTERN}",
655652
http_methods={HTTPMethod.GET},
656653
)
657-
def target_summary(self, request: Request, context: Context) -> str:
654+
def target_summary(self, request: "Request", context: "Context") -> str:
658655
"""
659656
Get a summary report for a target.
660657

src/mock_vws/_services_validators/__init__.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22
Input validators to use in the mock.
33
"""
44

5-
from __future__ import annotations
6-
7-
from typing import TYPE_CHECKING
5+
from mock_vws.database import VuforiaDatabase
86

97
from .active_flag_validators import validate_active_flag
108
from .auth_validators import (
@@ -50,9 +48,6 @@
5048
from .target_validators import validate_target_id_exists
5149
from .width_validators import validate_width
5250

53-
if TYPE_CHECKING:
54-
from mock_vws.database import VuforiaDatabase
55-
5651

5752
def run_services_validators(
5853
request_path: str,

src/mock_vws/_services_validators/auth_validators.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,15 @@
22
Authorization header validators to use in the mock.
33
"""
44

5-
from __future__ import annotations
6-
75
import logging
86
from http import HTTPStatus
9-
from typing import TYPE_CHECKING
107

118
from mock_vws._database_matchers import get_database_matching_server_keys
129
from mock_vws._services_validators.exceptions import (
1310
AuthenticationFailureError,
1411
FailError,
1512
)
16-
17-
if TYPE_CHECKING:
18-
from mock_vws.database import VuforiaDatabase
19-
13+
from mock_vws.database import VuforiaDatabase
2014

2115
_LOGGER = logging.getLogger(name=__name__)
2216

src/mock_vws/database.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
Utilities for managing mock Vuforia databases.
33
"""
44

5-
from __future__ import annotations
6-
75
import uuid
86
from dataclasses import dataclass, field
97
from typing import Self, TypedDict

0 commit comments

Comments
 (0)