Skip to content

Commit 22ccec8

Browse files
✨ add support for extraction in crop, split, and classification
1 parent c779fe0 commit 22ccec8

29 files changed

Lines changed: 204 additions & 86 deletions

mindee/client_mixin.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,11 @@
22
from typing import BinaryIO, Union
33

44
from mindee.error import MindeeClientError
5-
from mindee.input import Base64Input, BytesInput, FileInput, PathInput, UrlInputSource
5+
from mindee.input.sources.base_64_input import Base64Input
6+
from mindee.input.sources.bytes_input import BytesInput
7+
from mindee.input.sources.file_input import FileInput
8+
from mindee.input.sources.path_input import PathInput
9+
from mindee.input.sources.url_input_source import UrlInputSource
610

711

812
class ClientMixin:

mindee/client_v2.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
is_valid_post_response,
1717
)
1818
from mindee.parsing.v2.common_response import CommonStatus
19-
from mindee.v2.parsing.inference.base_response import BaseResponse
19+
from mindee.parsing.v2.base_response import BaseResponse
2020
from mindee.parsing.v2.inference_response import InferenceResponse
2121
from mindee.parsing.v2.job_response import JobResponse
2222

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
from abc import ABC
2+
from typing import TypeVar
3+
4+
from mindee.parsing.common.string_dict import StringDict
5+
from mindee.parsing.v2.inference_file import InferenceFile
6+
from mindee.parsing.v2.inference_job import InferenceJob
7+
from mindee.parsing.v2.inference_model import InferenceModel
8+
9+
10+
class BaseInference(ABC):
11+
"""Base class for V2 inference objects."""
12+
13+
job: InferenceJob
14+
"""Job the inference belongs to."""
15+
model: InferenceModel
16+
"""Model info for the inference."""
17+
file: InferenceFile
18+
"""File info for the inference."""
19+
id: str
20+
"""ID of the inference."""
21+
22+
def __init__(self, raw_response: StringDict):
23+
self.id = raw_response["id"]
24+
self.job = InferenceJob(raw_response["job"])
25+
self.model = InferenceModel(raw_response["model"])
26+
self.file = InferenceFile(raw_response["file"])
27+
28+
29+
TypeBaseInference = TypeVar("TypeBaseInference", bound=BaseInference)

mindee/parsing/v2/base_response.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
from abc import ABC
2+
3+
from mindee.parsing.v2.base_inference import BaseInference
4+
from mindee.parsing.v2.common_response import CommonResponse
5+
6+
7+
class BaseResponse(ABC, CommonResponse):
8+
"""Base class for V2 inference responses."""
9+
10+
inference: BaseInference
11+
"""The inference result for a split utility request"""
12+
_slug: str
13+
"""Slug of the inference."""
14+
15+
def __str__(self) -> str:
16+
return str(self.inference)
17+
18+
@classmethod
19+
def get_result_slug(cls) -> str:
20+
"""Getter for the inference slug."""
21+
return cls._slug

mindee/parsing/v2/inference.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from mindee.parsing.common.string_dict import StringDict
2-
from mindee.v2.parsing.inference import BaseInference
2+
from mindee.parsing.v2.base_inference import BaseInference
33
from mindee.parsing.v2.inference_active_options import InferenceActiveOptions
44
from mindee.parsing.v2.inference_result import InferenceResult
55

mindee/parsing/v2/inference_job.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
from mindee.parsing.common.string_dict import StringDict
2+
3+
4+
class InferenceJob:
5+
"""Inference Job info."""
6+
7+
id: str
8+
"""UUID of the Job."""
9+
10+
def __init__(self, raw_response: StringDict) -> None:
11+
self.id = raw_response["id"]
12+
13+
def __str__(self) -> str:
14+
return f"Job\n===\n:ID: {self.id}"

mindee/parsing/v2/inference_response.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
from mindee.parsing.common.string_dict import StringDict
2+
from mindee.parsing.v2.base_response import BaseResponse
23
from mindee.parsing.v2.inference import Inference
3-
from mindee.v2.parsing.inference.base_response import (
4-
BaseResponse,
5-
)
64

75

86
class InferenceResponse(BaseResponse):

mindee/v2/commands/cli_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from mindee.input import BaseParameters
1717

1818
from mindee.input.sources import PathInput, UrlInputSource
19-
from mindee.v2.parsing import BaseResponse
19+
from mindee.parsing.v2.base_response import BaseResponse
2020

2121

2222
@dataclass

mindee/v2/parsing/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
from mindee.v2.parsing.inference.base_inference import BaseInference
2-
from mindee.v2.parsing.inference.base_response import BaseResponse
1+
from mindee.parsing.v2.base_inference import BaseInference
2+
from mindee.parsing.v2.base_response import BaseResponse
33

44
__all__ = [
55
"BaseInference",

mindee/v2/parsing/inference/__init__.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
from mindee.v2.parsing.inference.base_inference import BaseInference
2-
from mindee.v2.parsing.inference.base_response import (
3-
BaseResponse,
4-
)
1+
from mindee.parsing.v2.base_inference import BaseInference
2+
from mindee.parsing.v2.base_response import BaseResponse
53

64
__all__ = [
75
"BaseInference",

0 commit comments

Comments
 (0)