landingai-ade 0.17.0__tar.gz → 0.18.0__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.

Files changed (87) hide show
  1. landingai_ade-0.18.0/.release-please-manifest.json +3 -0
  2. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/CHANGELOG.md +18 -0
  3. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/PKG-INFO +1 -1
  4. landingai_ade-0.18.0/api.md +32 -0
  5. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/pyproject.toml +1 -1
  6. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_client.py +13 -0
  7. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_files.py +12 -1
  8. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_types.py +2 -2
  9. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_version.py +1 -1
  10. landingai_ade-0.18.0/src/landingai_ade/resources/__init__.py +19 -0
  11. landingai_ade-0.18.0/src/landingai_ade/resources/parse_jobs.py +462 -0
  12. landingai_ade-0.18.0/src/landingai_ade/types/__init__.py +14 -0
  13. landingai_ade-0.18.0/src/landingai_ade/types/parse_job_create_params.py +45 -0
  14. landingai_ade-0.18.0/src/landingai_ade/types/parse_job_create_response.py +9 -0
  15. landingai_ade-0.18.0/src/landingai_ade/types/parse_job_get_response.py +111 -0
  16. landingai_ade-0.18.0/src/landingai_ade/types/parse_job_list_params.py +21 -0
  17. landingai_ade-0.18.0/src/landingai_ade/types/parse_job_list_response.py +31 -0
  18. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/types/parse_response.py +6 -49
  19. landingai_ade-0.18.0/src/landingai_ade/types/shared/__init__.py +4 -0
  20. landingai_ade-0.18.0/src/landingai_ade/types/shared/parse_grounding_box.py +15 -0
  21. landingai_ade-0.18.0/src/landingai_ade/types/shared/parse_metadata.py +23 -0
  22. landingai_ade-0.18.0/tests/api_resources/test_parse_jobs.py +268 -0
  23. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/tests/test_files.py +8 -7
  24. landingai_ade-0.17.0/.release-please-manifest.json +0 -3
  25. landingai_ade-0.17.0/api.md +0 -12
  26. landingai_ade-0.17.0/src/landingai_ade/types/__init__.py +0 -8
  27. landingai_ade-0.17.0/tests/api_resources/__init__.py +0 -1
  28. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/.gitignore +0 -0
  29. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/CONTRIBUTING.md +0 -0
  30. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/LICENSE +0 -0
  31. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/README.md +0 -0
  32. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/SECURITY.md +0 -0
  33. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/bin/check-release-environment +0 -0
  34. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/bin/publish-pypi +0 -0
  35. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/examples/.keep +0 -0
  36. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/noxfile.py +0 -0
  37. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/release-please-config.json +0 -0
  38. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/requirements-dev.lock +0 -0
  39. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/requirements.lock +0 -0
  40. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/__init__.py +0 -0
  41. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_base_client.py +0 -0
  42. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_compat.py +0 -0
  43. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_constants.py +0 -0
  44. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_exceptions.py +0 -0
  45. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_models.py +0 -0
  46. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_qs.py +0 -0
  47. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_resource.py +0 -0
  48. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_response.py +0 -0
  49. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_streaming.py +0 -0
  50. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_utils/__init__.py +0 -0
  51. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_utils/_compat.py +0 -0
  52. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_utils/_datetime_parse.py +0 -0
  53. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_utils/_logs.py +0 -0
  54. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_utils/_proxy.py +0 -0
  55. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_utils/_reflection.py +0 -0
  56. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_utils/_resources_proxy.py +0 -0
  57. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_utils/_streams.py +0 -0
  58. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_utils/_sync.py +0 -0
  59. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_utils/_transform.py +0 -0
  60. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_utils/_typing.py +0 -0
  61. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/_utils/_utils.py +0 -0
  62. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/lib/.keep +0 -0
  63. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/lib/__init__.py +0 -0
  64. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/lib/schema_utils.py +0 -0
  65. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/lib/url_utils.py +0 -0
  66. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/py.typed +0 -0
  67. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/types/client_extract_params.py +0 -0
  68. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/types/client_parse_params.py +0 -0
  69. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/src/landingai_ade/types/extract_response.py +0 -0
  70. {landingai_ade-0.17.0/src/landingai_ade/resources → landingai_ade-0.18.0/tests}/__init__.py +0 -0
  71. {landingai_ade-0.17.0/tests → landingai_ade-0.18.0/tests/api_resources}/__init__.py +0 -0
  72. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/tests/api_resources/test_client.py +0 -0
  73. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/tests/conftest.py +0 -0
  74. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/tests/sample_file.txt +0 -0
  75. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/tests/test_client.py +0 -0
  76. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/tests/test_deepcopy.py +0 -0
  77. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/tests/test_extract_files.py +0 -0
  78. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/tests/test_models.py +0 -0
  79. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/tests/test_qs.py +0 -0
  80. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/tests/test_required_args.py +0 -0
  81. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/tests/test_response.py +0 -0
  82. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/tests/test_streaming.py +0 -0
  83. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/tests/test_transform.py +0 -0
  84. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/tests/test_utils/test_datetime_parse.py +0 -0
  85. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/tests/test_utils/test_proxy.py +0 -0
  86. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/tests/test_utils/test_typing.py +0 -0
  87. {landingai_ade-0.17.0 → landingai_ade-0.18.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.18.0"
3
+ }
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.18.0 (2025-10-10)
4
+
5
+ Full Changelog: [v0.17.1...v0.18.0](https://github.com/landing-ai/ade-python/compare/v0.17.1...v0.18.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** manual updates ([5743253](https://github.com/landing-ai/ade-python/commit/57432532d8ff622e1980d892a13cad5184cc92c5))
10
+ * **api:** update via SDK Studio ([d94d74a](https://github.com/landing-ai/ade-python/commit/d94d74a9545dba1d8de7e7c616ac63b602c28c95))
11
+
12
+
13
+ ### Chores
14
+
15
+ * remove custom code ([ba76a38](https://github.com/landing-ai/ade-python/commit/ba76a38dd201f37f687cf43fe6ad2605787bfd0a))
16
+
17
+ ## 0.17.1 (2025-10-02)
18
+
19
+ Full Changelog: [v0.17.0...v0.17.1](https://github.com/landing-ai/ade-python/compare/v0.17.0...v0.17.1)
20
+
3
21
  ## 0.17.0 (2025-10-02)
4
22
 
5
23
  Full Changelog: [v0.16.0...v0.17.0](https://github.com/landing-ai/ade-python/compare/v0.16.0...v0.17.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: landingai-ade
3
- Version: 0.17.0
3
+ Version: 0.18.0
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
@@ -0,0 +1,32 @@
1
+ # Shared Types
2
+
3
+ ```python
4
+ from landingai_ade.types import ParseGroundingBox, ParseMetadata
5
+ ```
6
+
7
+ # LandingAIADE
8
+
9
+ Types:
10
+
11
+ ```python
12
+ from landingai_ade.types import ExtractResponse, ParseResponse
13
+ ```
14
+
15
+ Methods:
16
+
17
+ - <code title="post /v1/ade/extract">client.<a href="./src/landingai_ade/_client.py">extract</a>(\*\*<a href="src/landingai_ade/types/client_extract_params.py">params</a>) -> <a href="./src/landingai_ade/types/extract_response.py">ExtractResponse</a></code>
18
+ - <code title="post /v1/ade/parse">client.<a href="./src/landingai_ade/_client.py">parse</a>(\*\*<a href="src/landingai_ade/types/client_parse_params.py">params</a>) -> <a href="./src/landingai_ade/types/parse_response.py">ParseResponse</a></code>
19
+
20
+ # ParseJobs
21
+
22
+ Types:
23
+
24
+ ```python
25
+ from landingai_ade.types import ParseJobCreateResponse, ParseJobListResponse, ParseJobGetResponse
26
+ ```
27
+
28
+ Methods:
29
+
30
+ - <code title="post /v1/ade/parse/jobs">client.parse_jobs.<a href="./src/landingai_ade/resources/parse_jobs.py">create</a>(\*\*<a href="src/landingai_ade/types/parse_job_create_params.py">params</a>) -> <a href="./src/landingai_ade/types/parse_job_create_response.py">ParseJobCreateResponse</a></code>
31
+ - <code title="get /v1/ade/parse/jobs">client.parse_jobs.<a href="./src/landingai_ade/resources/parse_jobs.py">list</a>(\*\*<a href="src/landingai_ade/types/parse_job_list_params.py">params</a>) -> <a href="./src/landingai_ade/types/parse_job_list_response.py">ParseJobListResponse</a></code>
32
+ - <code title="get /v1/ade/parse/jobs/{job_id}">client.parse_jobs.<a href="./src/landingai_ade/resources/parse_jobs.py">get</a>(job_id) -> <a href="./src/landingai_ade/types/parse_job_get_response.py">ParseJobGetResponse</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "landingai-ade"
3
- version = "0.17.0"
3
+ version = "0.18.0"
4
4
  description = "The official Python library for the landingai-ade API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -41,6 +41,7 @@ from ._response import (
41
41
  async_to_raw_response_wrapper,
42
42
  async_to_streamed_response_wrapper,
43
43
  )
44
+ from .resources import parse_jobs
44
45
  from ._streaming import Stream as Stream, AsyncStream as AsyncStream
45
46
  from ._exceptions import APIStatusError, LandingAiadeError
46
47
  from ._base_client import (
@@ -74,6 +75,7 @@ ENVIRONMENTS: Dict[str, str] = {
74
75
 
75
76
 
76
77
  class LandingAIADE(SyncAPIClient):
78
+ parse_jobs: parse_jobs.ParseJobsResource
77
79
  with_raw_response: LandingAIADEWithRawResponse
78
80
  with_streaming_response: LandingAIADEWithStreamedResponse
79
81
 
@@ -155,6 +157,7 @@ class LandingAIADE(SyncAPIClient):
155
157
  _strict_response_validation=_strict_response_validation,
156
158
  )
157
159
 
160
+ self.parse_jobs = parse_jobs.ParseJobsResource(self)
158
161
  self.with_raw_response = LandingAIADEWithRawResponse(self)
159
162
  self.with_streaming_response = LandingAIADEWithStreamedResponse(self)
160
163
 
@@ -422,6 +425,7 @@ class LandingAIADE(SyncAPIClient):
422
425
 
423
426
 
424
427
  class AsyncLandingAIADE(AsyncAPIClient):
428
+ parse_jobs: parse_jobs.AsyncParseJobsResource
425
429
  with_raw_response: AsyncLandingAIADEWithRawResponse
426
430
  with_streaming_response: AsyncLandingAIADEWithStreamedResponse
427
431
 
@@ -503,6 +507,7 @@ class AsyncLandingAIADE(AsyncAPIClient):
503
507
  _strict_response_validation=_strict_response_validation,
504
508
  )
505
509
 
510
+ self.parse_jobs = parse_jobs.AsyncParseJobsResource(self)
506
511
  self.with_raw_response = AsyncLandingAIADEWithRawResponse(self)
507
512
  self.with_streaming_response = AsyncLandingAIADEWithStreamedResponse(self)
508
513
 
@@ -771,6 +776,8 @@ class AsyncLandingAIADE(AsyncAPIClient):
771
776
 
772
777
  class LandingAIADEWithRawResponse:
773
778
  def __init__(self, client: LandingAIADE) -> None:
779
+ self.parse_jobs = parse_jobs.ParseJobsResourceWithRawResponse(client.parse_jobs)
780
+
774
781
  self.extract = to_raw_response_wrapper(
775
782
  client.extract,
776
783
  )
@@ -781,6 +788,8 @@ class LandingAIADEWithRawResponse:
781
788
 
782
789
  class AsyncLandingAIADEWithRawResponse:
783
790
  def __init__(self, client: AsyncLandingAIADE) -> None:
791
+ self.parse_jobs = parse_jobs.AsyncParseJobsResourceWithRawResponse(client.parse_jobs)
792
+
784
793
  self.extract = async_to_raw_response_wrapper(
785
794
  client.extract,
786
795
  )
@@ -791,6 +800,8 @@ class AsyncLandingAIADEWithRawResponse:
791
800
 
792
801
  class LandingAIADEWithStreamedResponse:
793
802
  def __init__(self, client: LandingAIADE) -> None:
803
+ self.parse_jobs = parse_jobs.ParseJobsResourceWithStreamingResponse(client.parse_jobs)
804
+
794
805
  self.extract = to_streamed_response_wrapper(
795
806
  client.extract,
796
807
  )
@@ -801,6 +812,8 @@ class LandingAIADEWithStreamedResponse:
801
812
 
802
813
  class AsyncLandingAIADEWithStreamedResponse:
803
814
  def __init__(self, client: AsyncLandingAIADE) -> None:
815
+ self.parse_jobs = parse_jobs.AsyncParseJobsResourceWithStreamingResponse(client.parse_jobs)
816
+
804
817
  self.extract = async_to_streamed_response_wrapper(
805
818
  client.extract,
806
819
  )
@@ -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,
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "landingai_ade"
4
- __version__ = "0.17.0" # x-release-please-version
4
+ __version__ = "0.18.0" # x-release-please-version
@@ -0,0 +1,19 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from .parse_jobs import (
4
+ ParseJobsResource,
5
+ AsyncParseJobsResource,
6
+ ParseJobsResourceWithRawResponse,
7
+ AsyncParseJobsResourceWithRawResponse,
8
+ ParseJobsResourceWithStreamingResponse,
9
+ AsyncParseJobsResourceWithStreamingResponse,
10
+ )
11
+
12
+ __all__ = [
13
+ "ParseJobsResource",
14
+ "AsyncParseJobsResource",
15
+ "ParseJobsResourceWithRawResponse",
16
+ "AsyncParseJobsResourceWithRawResponse",
17
+ "ParseJobsResourceWithStreamingResponse",
18
+ "AsyncParseJobsResourceWithStreamingResponse",
19
+ ]