Skip to content

Commit a95a7c5

Browse files
author
anna-singleton-resolver
committed
refactor: split out image_generation file into separate module
1 parent 6e1e1ca commit a95a7c5

10 files changed

Lines changed: 14 additions & 22 deletions

common_utils/__init__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
"""Utility package for testing and examples.
2+
3+
This package contains helper functions that are not core to the client library,
4+
but are shared across the examples and the tests.
5+
"""

src/resolver_athena_client/image_generation.py renamed to common_utils/image_generation.py

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -203,18 +203,7 @@ async def rate_limited_image_iter(
203203
def create_random_image_generator(
204204
max_images: int, rate_limit_min_interval_ms: int | None = None
205205
) -> AsyncIterator[ImageData]:
206-
"""Generate a stream of random test images.
207-
208-
Args:
209-
----
210-
max_images: Maximum number of images to generate
211-
rate_limit_min_interval_ms: Minimum interval in ms between images
212-
213-
Yields:
214-
------
215-
ImageData objects containing random image bytes
216-
217-
"""
206+
"""Create an async generator for images with optional rate limiting."""
218207
if rate_limit_min_interval_ms is not None:
219208
return rate_limited_image_iter(rate_limit_min_interval_ms, max_images)
220209

examples/classify_single_example.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
from dotenv import load_dotenv
1212

13+
from common_utils.image_generation import create_test_image
1314
from resolver_athena_client.client.athena_client import AthenaClient
1415
from resolver_athena_client.client.athena_options import AthenaOptions
1516
from resolver_athena_client.client.channel import (
@@ -18,7 +19,6 @@
1819
)
1920
from resolver_athena_client.client.consts import MAX_DEPLOYMENT_ID_LENGTH
2021
from resolver_athena_client.client.models import ImageData
21-
from resolver_athena_client.image_generation import create_test_image
2222

2323

2424
async def classify_single_image_example(

examples/example.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
from dotenv import load_dotenv
1212

13+
from common_utils.image_generation import iter_images
1314
from examples.utils.streaming_classify_utils import count_and_yield
1415
from resolver_athena_client.client.athena_client import AthenaClient
1516
from resolver_athena_client.client.athena_options import AthenaOptions
@@ -23,7 +24,6 @@
2324
has_output_errors,
2425
process_classification_outputs,
2526
)
26-
from resolver_athena_client.image_generation import iter_images
2727

2828
# Constants
2929
INITIAL_PROGRESS_THRESHOLD = 10

tests/functional/test_classify_single.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import pytest
22

3+
from common_utils.image_generation import create_test_image
34
from resolver_athena_client.client.athena_client import AthenaClient
45
from resolver_athena_client.client.athena_options import AthenaOptions
56
from resolver_athena_client.client.channel import (
67
CredentialHelper,
78
create_channel_with_credentials,
89
)
910
from resolver_athena_client.client.models import ImageData
10-
from resolver_athena_client.image_generation import create_test_image
1111

1212

1313
@pytest.mark.asyncio

tests/functional/test_classify_streaming.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@
33

44
import pytest
55

6+
from common_utils.image_generation import create_random_image_generator
67
from resolver_athena_client.client.athena_options import AthenaOptions
78
from resolver_athena_client.client.channel import CredentialHelper
8-
from resolver_athena_client.image_generation import (
9-
create_random_image_generator,
10-
)
119
from tests.utils.streaming_classify_utils import (
1210
classify_images,
1311
classify_images_break_on_first_result,

tests/functional/test_invalid_affiliate.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import pytest
44
from dotenv import load_dotenv
55

6+
from common_utils.image_generation import create_test_image
67
from resolver_athena_client.client.athena_client import AthenaClient
78
from resolver_athena_client.client.athena_options import AthenaOptions
89
from resolver_athena_client.client.channel import (
@@ -11,7 +12,6 @@
1112
)
1213
from resolver_athena_client.client.exceptions import AthenaError
1314
from resolver_athena_client.client.models import ImageData
14-
from resolver_athena_client.image_generation import create_test_image
1515

1616

1717
@pytest.mark.asyncio

tests/functional/test_invalid_image.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
import pytest
55

6+
from common_utils.image_generation import create_test_image
67
from resolver_athena_client.client.athena_client import AthenaClient
78
from resolver_athena_client.client.athena_options import AthenaOptions
89
from resolver_athena_client.client.channel import (
@@ -12,7 +13,6 @@
1213
from resolver_athena_client.client.consts import EXPECTED_HEIGHT, EXPECTED_WIDTH
1314
from resolver_athena_client.client.exceptions import AthenaError
1415
from resolver_athena_client.client.models import ImageData
15-
from resolver_athena_client.image_generation import create_test_image
1616
from tests.utils.streaming_classify_utils import classify_images
1717

1818

tests/functional/test_invalid_static_token_auth.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
from dotenv import load_dotenv
66
from grpc.aio import Channel
77

8+
from common_utils.image_generation import create_test_image
89
from resolver_athena_client.client.athena_client import AthenaClient
910
from resolver_athena_client.client.athena_options import AthenaOptions
1011
from resolver_athena_client.client.models.input_model import ImageData
11-
from resolver_athena_client.image_generation import create_test_image
1212

1313

1414
def create_channel(host: str, token: str) -> Channel:

tests/functional/test_list_deployments.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import pytest
22

3+
from common_utils.image_generation import iter_images
34
from resolver_athena_client.client.athena_client import AthenaClient
45
from resolver_athena_client.client.athena_options import AthenaOptions
56
from resolver_athena_client.client.channel import (
67
CredentialHelper,
78
create_channel_with_credentials,
89
)
910
from resolver_athena_client.client.deployment_selector import DeploymentSelector
10-
from resolver_athena_client.image_generation import iter_images
1111

1212

1313
@pytest.mark.asyncio

0 commit comments

Comments
 (0)