Skip to content

Commit c334a1f

Browse files
♻️ fix syntaxes for V2, bump test lib (#335)
1 parent 0eea95c commit c334a1f

File tree

9 files changed

+43
-32
lines changed

9 files changed

+43
-32
lines changed
Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
1-
#
2-
# Install the Python client library by running:
3-
# pip install mindee
4-
#
5-
61
from mindee import ClientV2, InferencePredictOptions
7-
from mindee.parsing.v2 import InferenceResponse, PollingResponse
2+
from mindee.parsing.v2 import InferenceResponse
83

94
input_path = "/path/to/the/file.ext"
105
api_key = "MY_API_KEY"
@@ -13,12 +8,21 @@ model_id = "MY_MODEL_ID"
138
# Init a new client
149
mindee_client = ClientV2(api_key)
1510

11+
# Set inference options
12+
options = InferencePredictOptions(
13+
# ID of the model, required.
14+
model_id=model_id,
15+
# If set to `True`, will enable Retrieval-Augmented Generation.
16+
rag=False,
17+
)
18+
1619
# Load a file from disk
1720
input_doc = mindee_client.source_from_path(input_path)
18-
options = InferencePredictOptions(model_id=model_id)
1921

20-
# Parse the file.
21-
response: InferenceResponse = mindee_client.enqueue_and_parse(input_doc, options)
22+
# Upload the file
23+
response: InferenceResponse = mindee_client.enqueue_and_parse(
24+
input_doc, options
25+
)
2226

2327
# Print a brief summary of the parsed data
24-
print(response.inference)
28+
print(response.inference)

mindee/client_v2.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
is_valid_post_response,
1616
)
1717
from mindee.parsing.v2.inference_response import InferenceResponse
18-
from mindee.parsing.v2.polling_response import PollingResponse
18+
from mindee.parsing.v2.job_response import JobResponse
1919

2020

2121
class ClientV2(ClientMixin):
@@ -39,7 +39,7 @@ def __init__(self, api_key: Optional[str] = None) -> None:
3939

4040
def enqueue(
4141
self, input_source: LocalInputSource, options: InferencePredictOptions
42-
) -> PollingResponse:
42+
) -> JobResponse:
4343
"""
4444
Enqueues a document to a given model.
4545
@@ -66,12 +66,12 @@ def enqueue(
6666
if not is_valid_post_response(response):
6767
handle_error_v2(dict_response)
6868

69-
return PollingResponse(dict_response)
69+
return JobResponse(dict_response)
7070

7171
def parse_queued(
7272
self,
7373
queue_id: str,
74-
) -> Union[InferenceResponse, PollingResponse]:
74+
) -> Union[InferenceResponse, JobResponse]:
7575
"""
7676
Parses a queued document.
7777
@@ -85,7 +85,7 @@ def parse_queued(
8585

8686
dict_response = response.json()
8787
if "job" in dict_response:
88-
return PollingResponse(dict_response)
88+
return JobResponse(dict_response)
8989
return InferenceResponse(dict_response)
9090

9191
def enqueue_and_parse(
@@ -118,7 +118,7 @@ def enqueue_and_parse(
118118
queue_result.job.id,
119119
)
120120
while retry_counter < options.polling_options.max_retries:
121-
if not isinstance(poll_results, PollingResponse):
121+
if not isinstance(poll_results, JobResponse):
122122
break
123123
if poll_results.job.status == "Failed":
124124
raise MindeeError(f"Parsing failed for job {poll_results.job.id}")

mindee/parsing/v2/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@
1313
from mindee.parsing.v2.inference_response import InferenceResponse
1414
from mindee.parsing.v2.inference_result import InferenceResult
1515
from mindee.parsing.v2.job import Job
16-
from mindee.parsing.v2.polling_response import PollingResponse
16+
from mindee.parsing.v2.job_response import JobResponse
Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,14 @@
11
from typing import List
22

33
from mindee.parsing.common.string_dict import StringDict
4-
5-
6-
class RawText:
7-
"""Raw text extracted from the document."""
8-
9-
page: int
10-
content: str
11-
12-
def __init__(self, raw_response: StringDict):
13-
self.page = raw_response["page"]
14-
self.content = raw_response["content"]
4+
from mindee.parsing.v2.raw_text import RawText
155

166

177
class InferenceOptions:
188
"""Optional information about the document."""
199

2010
raw_texts: List[RawText]
11+
"""List of text found per page."""
2112

2213
def __init__(self, raw_response: StringDict):
2314
self.raw_texts = [RawText(raw_text) for raw_text in raw_response["raw_texts"]]

mindee/parsing/v2/job.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ class Job:
1212
"""Job ID."""
1313
error: Optional[ErrorResponse]
1414
"""Error response if any."""
15+
created_at: datetime
16+
"""Timestamp of the job creation."""
1517
model_id: str
1618
"""ID of the model."""
1719
filename: str
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from mindee.parsing.v2.job import Job
44

55

6-
class PollingResponse(CommonResponse):
6+
class JobResponse(CommonResponse):
77
"""Represent an inference response from Mindee V2 API."""
88

99
job: Job

mindee/parsing/v2/raw_text.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 RawText:
5+
"""Raw text extracted from the document."""
6+
7+
page: int
8+
"""Page the raw text was found on."""
9+
content: str
10+
"""Content of the raw text."""
11+
12+
def __init__(self, raw_response: StringDict):
13+
self.page = raw_response["page"]
14+
self.content = raw_response["content"]

tests/data

Submodule data updated from 2e27883 to e2912fb

tests/test_client_v2.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from mindee.error.mindee_http_error_v2 import MindeeHTTPErrorV2
88
from mindee.input import LocalInputSource, PathInput
99
from mindee.mindee_http.base_settings import USER_AGENT
10-
from mindee.parsing.v2 import Job, PollingResponse
10+
from mindee.parsing.v2 import Job, JobResponse
1111
from tests.test_inputs import FILE_TYPES_DIR, V2_DATA_DIR
1212
from tests.utils import dummy_envvars
1313

@@ -137,7 +137,7 @@ def test_enqueue(custom_base_url_client):
137137
response = custom_base_url_client.parse_queued(
138138
"12345678-1234-1234-1234-123456789ABC"
139139
)
140-
assert isinstance(response, PollingResponse)
140+
assert isinstance(response, JobResponse)
141141
assert isinstance(response.job, Job)
142142
assert response.job.id == "12345678-1234-1234-1234-123456789ABC"
143143
assert response.job.model_id == "87654321-4321-4321-4321-CBA987654321"

0 commit comments

Comments
 (0)