Skip to content

Commit 4d3976c

Browse files
committed
initial commit
1 parent c4e21cc commit 4d3976c

File tree

11 files changed

+896
-749
lines changed

11 files changed

+896
-749
lines changed

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ dependencies = [
2323
"uvicorn",
2424
"fastapi",
2525
"click",
26-
"unstructured-ingest",
26+
"utic-public-types",
2727
"opentelemetry-instrumentation-fastapi",
2828
"opentelemetry-exporter-otlp-proto-grpc",
29-
"dataclasses-json"
29+
"dataclasses-json",
3030
]
3131
dynamic = [
3232
"version",

test/api/test_api.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import pytest
55
from fastapi.testclient import TestClient
66
from pydantic import BaseModel
7-
from unstructured_ingest.data_types.file_data import (
7+
from utic_public_types.plugins.file_data import (
88
BatchFileData,
99
BatchItem,
1010
FileData,

test/assets/dataclass_response.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from pathlib import Path
33
from typing import Any, Optional, TypedDict, Union
44

5-
from unstructured_ingest.data_types.file_data import BatchFileData, FileData
5+
from utic_public_types.plugins.file_data import BatchFileData, FileData
66

77

88
class SampleFunctionResponse(TypedDict):

test/assets/exception_status_code.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""Test assets for testing exception handling with various status_code scenarios."""
22

33
from fastapi import HTTPException
4-
from unstructured_ingest.error import UnstructuredIngestError
4+
from utic_public_types.plugins.errors import UnstructuredIngestError
55

66

77
class ExceptionWithNoneStatusCode(Exception):

test/assets/filedata_meta.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from typing import Optional, Union
33

44
from pydantic import BaseModel
5-
from unstructured_ingest.data_types.file_data import BatchFileData, FileData, SourceIdentifiers
5+
from utic_public_types.plugins.file_data import BatchFileData, FileData, SourceIdentifiers
66

77
from unstructured_platform_plugins.schema import FileDataMeta, NewRecord
88

test/test_schema.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import pytest
77
from pydantic import BaseModel
88
from typing_extensions import TypedDict
9-
from unstructured_ingest.data_types.file_data import FileData
9+
from utic_public_types.plugins.file_data import FileData
1010

1111
import unstructured_platform_plugins.schema.json_schema as js
1212
from unstructured_platform_plugins.schema.model import is_valid_input_dict, is_valid_response_dict

test/test_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import pytest
66
from pydantic import BaseModel
7-
from unstructured_ingest.data_types.file_data import FileData, SourceIdentifiers
7+
from utic_public_types.plugins.file_data import FileData, SourceIdentifiers
88
from uvicorn.importer import import_from_string
99

1010
from unstructured_platform_plugins.etl_uvicorn import utils

unstructured_platform_plugins/etl_uvicorn/api_generator.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
from fastapi import FastAPI, HTTPException, status
1010
from fastapi.responses import StreamingResponse
1111
from opentelemetry.instrumentation.fastapi import FastAPIInstrumentor
12-
from pydantic import BaseModel, Field, create_model
12+
from pydantic import BaseModel, Field, ValidationError, create_model
1313
from starlette.responses import RedirectResponse
14-
from unstructured_ingest.data_types.file_data import BatchFileData, FileData, file_data_from_dict
15-
from unstructured_ingest.error import UnstructuredIngestError
14+
from utic_public_types.plugins.file_data import BatchFileData, FileData
15+
from utic_public_types.plugins.errors import UnstructuredIngestError
1616
from uvicorn.config import LOG_LEVELS
1717
from uvicorn.importer import import_from_string
1818

@@ -32,12 +32,19 @@
3232

3333
FileDataType = Union[FileData, BatchFileData]
3434

35+
logger = logging.getLogger("uvicorn.error")
3536

36-
class EtlApiException(Exception):
37-
pass
37+
38+
def file_data_from_dict(data: dict) -> FileData:
39+
try:
40+
return BatchFileData.model_validate(data)
41+
except ValidationError:
42+
logger.debug(f"{data} not valid for batch file data")
43+
return FileData.model_validate(data)
3844

3945

40-
logger = logging.getLogger("uvicorn.error")
46+
class EtlApiException(Exception):
47+
pass
4148

4249

4350
class MessageChannels(BaseModel):

unstructured_platform_plugins/schema/filedata_meta.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from typing import Any
22

33
from pydantic import BaseModel, Field
4-
from unstructured_ingest.data_types.file_data import FileData
4+
from utic_public_types.plugins.file_data import FileData
55

66

77
class NewRecord(BaseModel):

unstructured_platform_plugins/schema/json_schema.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
from pydantic import BaseModel, create_model
1010
from pydantic.fields import FieldInfo, PydanticUndefined
11-
from unstructured_ingest.data_types.file_data import BatchFileData, FileData
11+
from utic_public_types.plugins.file_data import BatchFileData, FileData
1212

1313
from unstructured_platform_plugins.schema.utils import TypedParameter
1414
from unstructured_platform_plugins.type_hints import get_type_hints

0 commit comments

Comments
 (0)