landingai-ade 0.16.0__tar.gz → 0.17.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of landingai-ade might be problematic. Click here for more details.
- landingai_ade-0.17.1/.release-please-manifest.json +3 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/CHANGELOG.md +12 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/PKG-INFO +1 -1
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/pyproject.toml +1 -1
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_client.py +2 -2
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_files.py +12 -1
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_types.py +2 -2
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_version.py +1 -1
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/types/client_extract_params.py +1 -1
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/tests/test_files.py +8 -7
- landingai_ade-0.16.0/.release-please-manifest.json +0 -3
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/.gitignore +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/CONTRIBUTING.md +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/LICENSE +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/README.md +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/SECURITY.md +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/api.md +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/bin/check-release-environment +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/bin/publish-pypi +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/examples/.keep +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/noxfile.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/release-please-config.json +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/requirements-dev.lock +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/requirements.lock +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/__init__.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_base_client.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_compat.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_constants.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_exceptions.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_models.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_qs.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_resource.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_response.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_streaming.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_utils/__init__.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_utils/_compat.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_utils/_datetime_parse.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_utils/_logs.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_utils/_proxy.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_utils/_reflection.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_utils/_resources_proxy.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_utils/_streams.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_utils/_sync.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_utils/_transform.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_utils/_typing.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/_utils/_utils.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/lib/.keep +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/lib/__init__.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/lib/schema_utils.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/lib/url_utils.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/py.typed +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/resources/__init__.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/types/__init__.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/types/client_parse_params.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/types/extract_response.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/types/parse_response.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/tests/__init__.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/tests/api_resources/__init__.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/tests/api_resources/test_client.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/tests/conftest.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/tests/sample_file.txt +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/tests/test_client.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/tests/test_deepcopy.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/tests/test_extract_files.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/tests/test_models.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/tests/test_qs.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/tests/test_required_args.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/tests/test_response.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/tests/test_streaming.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/tests/test_transform.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/tests/test_utils/test_datetime_parse.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/tests/test_utils/test_proxy.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/tests/test_utils/test_typing.py +0 -0
- {landingai_ade-0.16.0 → landingai_ade-0.17.1}/tests/utils.py +0 -0
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.17.1 (2025-10-02)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.17.0...v0.17.1](https://github.com/landing-ai/ade-python/compare/v0.17.0...v0.17.1)
|
|
6
|
+
|
|
7
|
+
## 0.17.0 (2025-10-02)
|
|
8
|
+
|
|
9
|
+
Full Changelog: [v0.16.0...v0.17.0](https://github.com/landing-ai/ade-python/compare/v0.16.0...v0.17.0)
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* **api:** manual updates ([a6b2c53](https://github.com/landing-ai/ade-python/commit/a6b2c5319349c82d74e56bb6c5945cd720856619))
|
|
14
|
+
|
|
3
15
|
## 0.16.0 (2025-10-02)
|
|
4
16
|
|
|
5
17
|
Full Changelog: [v0.15.1...v0.16.0](https://github.com/landing-ai/ade-python/compare/v0.15.1...v0.16.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: landingai-ade
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.17.1
|
|
4
4
|
Summary: The official Python library for the landingai-ade API
|
|
5
5
|
Project-URL: Homepage, https://github.com/landing-ai/ade-python
|
|
6
6
|
Project-URL: Repository, https://github.com/landing-ai/ade-python
|
|
@@ -260,7 +260,7 @@ class LandingAIADE(SyncAPIClient):
|
|
|
260
260
|
are extracted from the Markdown. The schema must be a valid JSON object and will
|
|
261
261
|
be validated before processing the document.
|
|
262
262
|
|
|
263
|
-
markdown: The Markdown
|
|
263
|
+
markdown: The Markdown file or Markdown content to extract data from.
|
|
264
264
|
|
|
265
265
|
markdown_url: The URL to the Markdown file to extract data from.
|
|
266
266
|
|
|
@@ -608,7 +608,7 @@ class AsyncLandingAIADE(AsyncAPIClient):
|
|
|
608
608
|
are extracted from the Markdown. The schema must be a valid JSON object and will
|
|
609
609
|
be validated before processing the document.
|
|
610
610
|
|
|
611
|
-
markdown: The Markdown
|
|
611
|
+
markdown: The Markdown file or Markdown content to extract data from.
|
|
612
612
|
|
|
613
613
|
markdown_url: The URL to the Markdown file to extract data from.
|
|
614
614
|
|
|
@@ -26,7 +26,7 @@ def is_base64_file_input(obj: object) -> TypeGuard[Base64FileInput]:
|
|
|
26
26
|
|
|
27
27
|
def is_file_content(obj: object) -> TypeGuard[FileContent]:
|
|
28
28
|
return (
|
|
29
|
-
isinstance(obj, bytes) or isinstance(obj, tuple) or isinstance(obj, io.IOBase) or isinstance(obj, os.PathLike)
|
|
29
|
+
isinstance(obj, bytes) or isinstance(obj, str) or isinstance(obj, tuple) or isinstance(obj, io.IOBase) or isinstance(obj, os.PathLike)
|
|
30
30
|
)
|
|
31
31
|
|
|
32
32
|
|
|
@@ -66,6 +66,9 @@ def _transform_file(file: FileTypes) -> HttpxFileTypes:
|
|
|
66
66
|
path = pathlib.Path(file)
|
|
67
67
|
return (path.name, path.read_bytes())
|
|
68
68
|
|
|
69
|
+
if isinstance(file, str):
|
|
70
|
+
return file.encode('utf-8')
|
|
71
|
+
|
|
69
72
|
return file
|
|
70
73
|
|
|
71
74
|
if is_tuple_t(file):
|
|
@@ -77,6 +80,8 @@ def _transform_file(file: FileTypes) -> HttpxFileTypes:
|
|
|
77
80
|
def read_file_content(file: FileContent) -> HttpxFileContent:
|
|
78
81
|
if isinstance(file, os.PathLike):
|
|
79
82
|
return pathlib.Path(file).read_bytes()
|
|
83
|
+
if isinstance(file, str):
|
|
84
|
+
return file.encode('utf-8')
|
|
80
85
|
return file
|
|
81
86
|
|
|
82
87
|
|
|
@@ -108,6 +113,9 @@ async def _async_transform_file(file: FileTypes) -> HttpxFileTypes:
|
|
|
108
113
|
path = anyio.Path(file)
|
|
109
114
|
return (path.name, await path.read_bytes())
|
|
110
115
|
|
|
116
|
+
if isinstance(file, str):
|
|
117
|
+
return file.encode('utf-8')
|
|
118
|
+
|
|
111
119
|
return file
|
|
112
120
|
|
|
113
121
|
if is_tuple_t(file):
|
|
@@ -120,4 +128,7 @@ async def async_read_file_content(file: FileContent) -> HttpxFileContent:
|
|
|
120
128
|
if isinstance(file, os.PathLike):
|
|
121
129
|
return await anyio.Path(file).read_bytes()
|
|
122
130
|
|
|
131
|
+
if isinstance(file, str):
|
|
132
|
+
return file.encode('utf-8')
|
|
133
|
+
|
|
123
134
|
return file
|
|
@@ -52,10 +52,10 @@ ProxiesDict = Dict["str | URL", Union[None, str, URL, Proxy]]
|
|
|
52
52
|
ProxiesTypes = Union[str, Proxy, ProxiesDict]
|
|
53
53
|
if TYPE_CHECKING:
|
|
54
54
|
Base64FileInput = Union[IO[bytes], PathLike[str]]
|
|
55
|
-
FileContent = Union[IO[bytes], bytes, PathLike[str]]
|
|
55
|
+
FileContent = Union[IO[bytes], bytes, str, PathLike[str]]
|
|
56
56
|
else:
|
|
57
57
|
Base64FileInput = Union[IO[bytes], PathLike]
|
|
58
|
-
FileContent = Union[IO[bytes], bytes, PathLike] # PathLike is not subscriptable in Python 3.8.
|
|
58
|
+
FileContent = Union[IO[bytes], bytes, str, PathLike] # PathLike is not subscriptable in Python 3.8.
|
|
59
59
|
FileTypes = Union[
|
|
60
60
|
# file (or bytes)
|
|
61
61
|
FileContent,
|
{landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/types/client_extract_params.py
RENAMED
|
@@ -20,7 +20,7 @@ class ClientExtractParams(TypedDict, total=False):
|
|
|
20
20
|
"""
|
|
21
21
|
|
|
22
22
|
markdown: Optional[FileTypes]
|
|
23
|
-
"""The Markdown
|
|
23
|
+
"""The Markdown file or Markdown content to extract data from."""
|
|
24
24
|
|
|
25
25
|
markdown_url: Optional[str]
|
|
26
26
|
"""The URL to the Markdown file to extract data from."""
|
|
@@ -42,10 +42,11 @@ async def test_async_tuple_input() -> None:
|
|
|
42
42
|
assert result == IsList(IsTuple("file", IsTuple("README.md", IsBytes())))
|
|
43
43
|
|
|
44
44
|
|
|
45
|
-
def
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
45
|
+
def test_string_allowed() -> None:
|
|
46
|
+
# Strings are now allowed and should be converted to bytes
|
|
47
|
+
result = to_httpx_files(
|
|
48
|
+
{
|
|
49
|
+
"file": "foo",
|
|
50
|
+
}
|
|
51
|
+
)
|
|
52
|
+
assert result == {"file": b"foo"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{landingai_ade-0.16.0 → landingai_ade-0.17.1}/src/landingai_ade/types/client_parse_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|