landingai-ade 0.18.1__tar.gz → 0.18.3__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 (84) hide show
  1. landingai_ade-0.18.3/.release-please-manifest.json +3 -0
  2. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/CHANGELOG.md +12 -0
  3. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/PKG-INFO +36 -31
  4. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/README.md +35 -30
  5. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/pyproject.toml +5 -1
  6. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_version.py +1 -1
  7. landingai_ade-0.18.1/.release-please-manifest.json +0 -3
  8. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/.gitignore +0 -0
  9. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/CONTRIBUTING.md +0 -0
  10. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/LICENSE +0 -0
  11. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/SECURITY.md +0 -0
  12. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/api.md +0 -0
  13. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/bin/check-release-environment +0 -0
  14. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/bin/publish-pypi +0 -0
  15. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/examples/.keep +0 -0
  16. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/noxfile.py +0 -0
  17. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/release-please-config.json +0 -0
  18. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/requirements-dev.lock +0 -0
  19. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/requirements.lock +0 -0
  20. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/__init__.py +0 -0
  21. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_base_client.py +0 -0
  22. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_client.py +0 -0
  23. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_compat.py +0 -0
  24. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_constants.py +0 -0
  25. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_exceptions.py +0 -0
  26. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_files.py +0 -0
  27. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_models.py +0 -0
  28. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_qs.py +0 -0
  29. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_resource.py +0 -0
  30. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_response.py +0 -0
  31. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_streaming.py +0 -0
  32. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_types.py +0 -0
  33. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_utils/__init__.py +0 -0
  34. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_utils/_compat.py +0 -0
  35. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_utils/_datetime_parse.py +0 -0
  36. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_utils/_logs.py +0 -0
  37. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_utils/_proxy.py +0 -0
  38. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_utils/_reflection.py +0 -0
  39. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_utils/_resources_proxy.py +0 -0
  40. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_utils/_streams.py +0 -0
  41. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_utils/_sync.py +0 -0
  42. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_utils/_transform.py +0 -0
  43. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_utils/_typing.py +0 -0
  44. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/_utils/_utils.py +0 -0
  45. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/lib/.keep +0 -0
  46. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/lib/__init__.py +0 -0
  47. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/lib/schema_utils.py +0 -0
  48. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/lib/url_utils.py +0 -0
  49. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/py.typed +0 -0
  50. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/resources/__init__.py +0 -0
  51. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/resources/parse_jobs.py +0 -0
  52. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/types/__init__.py +0 -0
  53. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/types/client_extract_params.py +0 -0
  54. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/types/client_parse_params.py +0 -0
  55. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/types/extract_response.py +0 -0
  56. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/types/parse_job_create_params.py +0 -0
  57. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/types/parse_job_create_response.py +0 -0
  58. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/types/parse_job_get_response.py +0 -0
  59. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/types/parse_job_list_params.py +0 -0
  60. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/types/parse_job_list_response.py +0 -0
  61. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/types/parse_response.py +0 -0
  62. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/types/shared/__init__.py +0 -0
  63. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/types/shared/parse_grounding_box.py +0 -0
  64. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/src/landingai_ade/types/shared/parse_metadata.py +0 -0
  65. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/tests/__init__.py +0 -0
  66. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/tests/api_resources/__init__.py +0 -0
  67. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/tests/api_resources/test_client.py +0 -0
  68. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/tests/api_resources/test_parse_jobs.py +0 -0
  69. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/tests/conftest.py +0 -0
  70. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/tests/sample_file.txt +0 -0
  71. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/tests/test_client.py +0 -0
  72. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/tests/test_deepcopy.py +0 -0
  73. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/tests/test_extract_files.py +0 -0
  74. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/tests/test_files.py +0 -0
  75. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/tests/test_models.py +0 -0
  76. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/tests/test_qs.py +0 -0
  77. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/tests/test_required_args.py +0 -0
  78. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/tests/test_response.py +0 -0
  79. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/tests/test_streaming.py +0 -0
  80. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/tests/test_transform.py +0 -0
  81. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/tests/test_utils/test_datetime_parse.py +0 -0
  82. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/tests/test_utils/test_proxy.py +0 -0
  83. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/tests/test_utils/test_typing.py +0 -0
  84. {landingai_ade-0.18.1 → landingai_ade-0.18.3}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.18.3"
3
+ }
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.18.3 (2025-10-14)
4
+
5
+ Full Changelog: [v0.18.2...v0.18.3](https://github.com/landing-ai/ade-python/compare/v0.18.2...v0.18.3)
6
+
7
+ ## 0.18.2 (2025-10-11)
8
+
9
+ Full Changelog: [v0.18.1...v0.18.2](https://github.com/landing-ai/ade-python/compare/v0.18.1...v0.18.2)
10
+
11
+ ### Chores
12
+
13
+ * **internal:** detect missing future annotations with ruff ([033a0e0](https://github.com/landing-ai/ade-python/commit/033a0e003ecb9f6e9455385ac53d89499deea0de))
14
+
3
15
  ## 0.18.1 (2025-10-10)
4
16
 
5
17
  Full Changelog: [v0.18.0...v0.18.1](https://github.com/landing-ai/ade-python/compare/v0.18.0...v0.18.1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: landingai-ade
3
- Version: 0.18.1
3
+ Version: 0.18.3
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
@@ -65,6 +65,7 @@ The full API of this library can be found in [api.md](https://github.com/landing
65
65
 
66
66
  ```python
67
67
  import os
68
+ from pathlib import Path
68
69
  from landingai_ade import LandingAIADE
69
70
 
70
71
  client = LandingAIADE(
@@ -74,8 +75,8 @@ client = LandingAIADE(
74
75
  )
75
76
 
76
77
  response = client.parse(
77
- # support document as File or document_url as local path/remote url
78
- document_url="path/to/file",
78
+ # use document= for local files, document_url= for remote URLs
79
+ document=Path("path/to/file"),
79
80
  model="dpt-2-latest",
80
81
  )
81
82
  print(response.chunks)
@@ -86,36 +87,13 @@ we recommend using [python-dotenv](https://pypi.org/project/python-dotenv/)
86
87
  to add `VISION_AGENT_API_KEY="My Apikey"` to your `.env` file
87
88
  so that your Apikey is not stored in source control.
88
89
 
89
- ### Extract
90
-
91
- ```python
92
- from landingai_ade import LandingAIADE
93
- from landingai_ade.lib import pydantic_to_json_schema
94
- from pydantic import BaseModel, Field
95
- from pathlib import Path
96
-
97
- # Define your schema
98
- class Person(BaseModel):
99
- name: str = Field(description="Person's name")
100
- age: int = Field(description="Person's age")
101
-
102
- # Convert to JSON schema
103
- schema = pydantic_to_json_schema(Person)
104
- # Use with the SDK
105
- client = LandingAIADE(apikey=os.environ.get("VISION_AGENT_API_KEY"))
106
- response = client.extract(
107
- schema=schema,
108
- # support markdown as File or markdown_url as local path/remote url
109
- markdown=Path('path/to/file.md')
110
- )
111
- ```
112
-
113
90
  ### Parse Jobs
114
91
 
115
- For processing large documents or batches of documents asynchronously:
92
+ For processing large documents asynchronously:
116
93
 
117
94
  ```python
118
95
  import os
96
+ from pathlib import Path
119
97
  from landingai_ade import LandingAIADE
120
98
 
121
99
  client = LandingAIADE(
@@ -124,7 +102,7 @@ client = LandingAIADE(
124
102
 
125
103
  # Create an async parse job
126
104
  job = client.parse_jobs.create(
127
- document_url="path/to/large_file.pdf",
105
+ document=Path("path/to/large_file.pdf"),
128
106
  model="dpt-2-latest",
129
107
  )
130
108
  print(f"Job created with ID: {job.job_id}")
@@ -143,6 +121,31 @@ for job in response.jobs:
143
121
  print(f"Job {job.job_id}: {job.status}")
144
122
  ```
145
123
 
124
+ ### Extract
125
+
126
+ ```python
127
+ import os
128
+ from pathlib import Path
129
+ from landingai_ade import LandingAIADE
130
+ from landingai_ade.lib import pydantic_to_json_schema
131
+ from pydantic import BaseModel, Field
132
+
133
+ # Define your schema
134
+ class Person(BaseModel):
135
+ name: str = Field(description="Person's name")
136
+ age: int = Field(description="Person's age")
137
+
138
+ # Convert to JSON schema
139
+ schema = pydantic_to_json_schema(Person)
140
+ # Use with the SDK
141
+ client = LandingAIADE(apikey=os.environ.get("VISION_AGENT_API_KEY"))
142
+ response = client.extract(
143
+ schema=schema,
144
+ # use markdown= for local files, markdown_url= for remote URLs
145
+ markdown=Path('path/to/file.md')
146
+ )
147
+ ```
148
+
146
149
  ## Async usage
147
150
 
148
151
  Simply import `AsyncLandingAIADE` instead of `LandingAIADE` and use `await` with each API call:
@@ -150,6 +153,7 @@ Simply import `AsyncLandingAIADE` instead of `LandingAIADE` and use `await` with
150
153
  ```python
151
154
  import os
152
155
  import asyncio
156
+ from pathlib import Path
153
157
  from landingai_ade import AsyncLandingAIADE
154
158
 
155
159
  client = AsyncLandingAIADE(
@@ -161,7 +165,7 @@ client = AsyncLandingAIADE(
161
165
 
162
166
  async def main() -> None:
163
167
  response = await client.parse(
164
- document_url="path/to/file",
168
+ document=Path("path/to/file"),
165
169
  model="dpt-2-latest",
166
170
  )
167
171
  print(response.chunks)
@@ -187,6 +191,7 @@ Then you can enable it by instantiating the client with `http_client=DefaultAioH
187
191
 
188
192
  ```python
189
193
  import asyncio
194
+ from pathlib import Path
190
195
  from landingai_ade import DefaultAioHttpClient
191
196
  from landingai_ade import AsyncLandingAIADE
192
197
 
@@ -197,7 +202,7 @@ async def main() -> None:
197
202
  http_client=DefaultAioHttpClient(),
198
203
  ) as client:
199
204
  response = await client.parse(
200
- document_url="path/to/file",
205
+ document=Path("path/to/file"),
201
206
  model="dpt-2-latest",
202
207
  )
203
208
  print(response.chunks)
@@ -30,6 +30,7 @@ The full API of this library can be found in [api.md](api.md).
30
30
 
31
31
  ```python
32
32
  import os
33
+ from pathlib import Path
33
34
  from landingai_ade import LandingAIADE
34
35
 
35
36
  client = LandingAIADE(
@@ -39,8 +40,8 @@ client = LandingAIADE(
39
40
  )
40
41
 
41
42
  response = client.parse(
42
- # support document as File or document_url as local path/remote url
43
- document_url="path/to/file",
43
+ # use document= for local files, document_url= for remote URLs
44
+ document=Path("path/to/file"),
44
45
  model="dpt-2-latest",
45
46
  )
46
47
  print(response.chunks)
@@ -51,36 +52,13 @@ we recommend using [python-dotenv](https://pypi.org/project/python-dotenv/)
51
52
  to add `VISION_AGENT_API_KEY="My Apikey"` to your `.env` file
52
53
  so that your Apikey is not stored in source control.
53
54
 
54
- ### Extract
55
-
56
- ```python
57
- from landingai_ade import LandingAIADE
58
- from landingai_ade.lib import pydantic_to_json_schema
59
- from pydantic import BaseModel, Field
60
- from pathlib import Path
61
-
62
- # Define your schema
63
- class Person(BaseModel):
64
- name: str = Field(description="Person's name")
65
- age: int = Field(description="Person's age")
66
-
67
- # Convert to JSON schema
68
- schema = pydantic_to_json_schema(Person)
69
- # Use with the SDK
70
- client = LandingAIADE(apikey=os.environ.get("VISION_AGENT_API_KEY"))
71
- response = client.extract(
72
- schema=schema,
73
- # support markdown as File or markdown_url as local path/remote url
74
- markdown=Path('path/to/file.md')
75
- )
76
- ```
77
-
78
55
  ### Parse Jobs
79
56
 
80
- For processing large documents or batches of documents asynchronously:
57
+ For processing large documents asynchronously:
81
58
 
82
59
  ```python
83
60
  import os
61
+ from pathlib import Path
84
62
  from landingai_ade import LandingAIADE
85
63
 
86
64
  client = LandingAIADE(
@@ -89,7 +67,7 @@ client = LandingAIADE(
89
67
 
90
68
  # Create an async parse job
91
69
  job = client.parse_jobs.create(
92
- document_url="path/to/large_file.pdf",
70
+ document=Path("path/to/large_file.pdf"),
93
71
  model="dpt-2-latest",
94
72
  )
95
73
  print(f"Job created with ID: {job.job_id}")
@@ -108,6 +86,31 @@ for job in response.jobs:
108
86
  print(f"Job {job.job_id}: {job.status}")
109
87
  ```
110
88
 
89
+ ### Extract
90
+
91
+ ```python
92
+ import os
93
+ from pathlib import Path
94
+ from landingai_ade import LandingAIADE
95
+ from landingai_ade.lib import pydantic_to_json_schema
96
+ from pydantic import BaseModel, Field
97
+
98
+ # Define your schema
99
+ class Person(BaseModel):
100
+ name: str = Field(description="Person's name")
101
+ age: int = Field(description="Person's age")
102
+
103
+ # Convert to JSON schema
104
+ schema = pydantic_to_json_schema(Person)
105
+ # Use with the SDK
106
+ client = LandingAIADE(apikey=os.environ.get("VISION_AGENT_API_KEY"))
107
+ response = client.extract(
108
+ schema=schema,
109
+ # use markdown= for local files, markdown_url= for remote URLs
110
+ markdown=Path('path/to/file.md')
111
+ )
112
+ ```
113
+
111
114
  ## Async usage
112
115
 
113
116
  Simply import `AsyncLandingAIADE` instead of `LandingAIADE` and use `await` with each API call:
@@ -115,6 +118,7 @@ Simply import `AsyncLandingAIADE` instead of `LandingAIADE` and use `await` with
115
118
  ```python
116
119
  import os
117
120
  import asyncio
121
+ from pathlib import Path
118
122
  from landingai_ade import AsyncLandingAIADE
119
123
 
120
124
  client = AsyncLandingAIADE(
@@ -126,7 +130,7 @@ client = AsyncLandingAIADE(
126
130
 
127
131
  async def main() -> None:
128
132
  response = await client.parse(
129
- document_url="path/to/file",
133
+ document=Path("path/to/file"),
130
134
  model="dpt-2-latest",
131
135
  )
132
136
  print(response.chunks)
@@ -152,6 +156,7 @@ Then you can enable it by instantiating the client with `http_client=DefaultAioH
152
156
 
153
157
  ```python
154
158
  import asyncio
159
+ from pathlib import Path
155
160
  from landingai_ade import DefaultAioHttpClient
156
161
  from landingai_ade import AsyncLandingAIADE
157
162
 
@@ -162,7 +167,7 @@ async def main() -> None:
162
167
  http_client=DefaultAioHttpClient(),
163
168
  ) as client:
164
169
  response = await client.parse(
165
- document_url="path/to/file",
170
+ document=Path("path/to/file"),
166
171
  model="dpt-2-latest",
167
172
  )
168
173
  print(response.chunks)
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "landingai-ade"
3
- version = "0.18.1"
3
+ version = "0.18.3"
4
4
  description = "The official Python library for the landingai-ade API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -224,6 +224,8 @@ select = [
224
224
  "B",
225
225
  # remove unused imports
226
226
  "F401",
227
+ # check for missing future annotations
228
+ "FA102",
227
229
  # bare except statements
228
230
  "E722",
229
231
  # unused arguments
@@ -246,6 +248,8 @@ unfixable = [
246
248
  "T203",
247
249
  ]
248
250
 
251
+ extend-safe-fixes = ["FA102"]
252
+
249
253
  [tool.ruff.lint.flake8-tidy-imports.banned-api]
250
254
  "functools.lru_cache".msg = "This function does not retain type information for the wrapped function's arguments; The `lru_cache` function from `_utils` should be used instead"
251
255
 
@@ -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.18.1" # x-release-please-version
4
+ __version__ = "0.18.3" # x-release-please-version
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.18.1"
3
- }
File without changes
File without changes