lambdadb 0.7.0.dev0__tar.gz → 0.7.2__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.
Files changed (75) hide show
  1. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/PKG-INFO +12 -3
  2. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/README.md +11 -2
  3. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/pyproject.toml +2 -2
  4. lambdadb-0.7.2/src/lambdadb/__init__.py +30 -0
  5. lambdadb-0.7.2/src/lambdadb/collection.py +849 -0
  6. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/collections.py +105 -3
  7. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/__init__.py +6 -0
  8. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/collectionresponse.py +31 -0
  9. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/fetchdocsop.py +23 -2
  10. lambdadb-0.7.2/src/lambdadb/models/listcollectionsop.py +65 -0
  11. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/listdocsop.py +29 -5
  12. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/querycollectionop.py +23 -4
  13. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/sdk.py +25 -3
  14. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/sdkconfiguration.py +5 -10
  15. lambdadb-0.7.2/src/lambdadb/version.py +19 -0
  16. lambdadb-0.7.0.dev0/src/lambdadb/__init__.py +0 -17
  17. lambdadb-0.7.0.dev0/src/lambdadb/_version.py +0 -15
  18. lambdadb-0.7.0.dev0/src/lambdadb/collection.py +0 -415
  19. lambdadb-0.7.0.dev0/src/lambdadb/models/listcollectionsop.py +0 -19
  20. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/LICENSE +0 -0
  21. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/py.typed +0 -0
  22. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/_hooks/__init__.py +0 -0
  23. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/_hooks/registration.py +0 -0
  24. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/_hooks/sdkhooks.py +0 -0
  25. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/_hooks/types.py +0 -0
  26. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/basesdk.py +0 -0
  27. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/docs.py +0 -0
  28. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/errors/__init__.py +0 -0
  29. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/errors/apierror.py +0 -0
  30. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/errors/badrequest_error.py +0 -0
  31. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/errors/internalservererror.py +0 -0
  32. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/errors/lambdadberror.py +0 -0
  33. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/errors/no_response_error.py +0 -0
  34. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/errors/resourcealreadyexists_error.py +0 -0
  35. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/errors/resourcenotfound_error.py +0 -0
  36. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/errors/responsevalidationerror.py +0 -0
  37. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/errors/toomanyrequests_error.py +0 -0
  38. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/errors/unauthenticated_error.py +0 -0
  39. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/httpclient.py +0 -0
  40. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/bulkupsertdocsop.py +0 -0
  41. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/createcollectionop.py +0 -0
  42. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/deletecollectionop.py +0 -0
  43. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/deletedocsop.py +0 -0
  44. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/fieldsselector_union.py +0 -0
  45. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/getbulkupsertdocsop.py +0 -0
  46. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/getcollectionop.py +0 -0
  47. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/indexconfigs_union.py +0 -0
  48. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/messageresponse.py +0 -0
  49. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/partitionconfig.py +0 -0
  50. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/partitionfilter.py +0 -0
  51. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/security.py +0 -0
  52. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/status.py +0 -0
  53. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/updatecollectionop.py +0 -0
  54. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/updatedocsop.py +0 -0
  55. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/models/upsertdocsop.py +0 -0
  56. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/py.typed +0 -0
  57. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/types/__init__.py +0 -0
  58. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/types/basemodel.py +0 -0
  59. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/utils/__init__.py +0 -0
  60. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/utils/annotations.py +0 -0
  61. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/utils/datetimes.py +0 -0
  62. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/utils/enums.py +0 -0
  63. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/utils/eventstreaming.py +0 -0
  64. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/utils/forms.py +0 -0
  65. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/utils/headers.py +0 -0
  66. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/utils/logger.py +0 -0
  67. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/utils/metadata.py +0 -0
  68. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/utils/queryparams.py +0 -0
  69. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/utils/requestbodies.py +0 -0
  70. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/utils/retries.py +0 -0
  71. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/utils/security.py +0 -0
  72. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/utils/serializers.py +0 -0
  73. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/utils/unmarshal_json_response.py +0 -0
  74. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/utils/url.py +0 -0
  75. {lambdadb-0.7.0.dev0 → lambdadb-0.7.2}/src/lambdadb/utils/values.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lambdadb
3
- Version: 0.7.0.dev0
3
+ Version: 0.7.2
4
4
  Summary: The Official LambdaDB Python SDK.
5
5
  License-File: LICENSE
6
6
  Author: Functional Systems, Inc.
@@ -152,8 +152,10 @@ with LambdaDB(
152
152
  ) as client:
153
153
  # Collection-scoped: no need to pass collection_name to every call
154
154
  coll = client.collection("my_collection")
155
- docs = coll.docs.list()
156
- results = coll.query(query={"queryString": {"query": "some text"}})
155
+ list_res = coll.docs.list()
156
+ items = list_res.results # or list_res.documents for doc bodies only
157
+ res = coll.query(query={"queryString": {"query": "some text"}})
158
+ docs_only = res.documents # document bodies; use res.results for score/metadata
157
159
  coll.docs.upsert(docs=[{"id": "1", "text": "hello"}])
158
160
  ```
159
161
 
@@ -220,6 +222,10 @@ with LambdaDB(
220
222
 
221
223
  **Recommended:** Use the collection-scoped API: `client.collection("name").docs.list()`, `.docs.fetch()`, `.docs.upsert()`, etc., and `client.collection("name").query()` for search. This matches the REST API structure and avoids repeating the collection name.
222
224
 
225
+ * **Response access:** List, query, and fetch responses expose `.results` (full result items, with score/metadata when applicable) and `.documents` (document bodies only). When the API returns `is_docs_inline: false` with a presigned `docs_url`, the SDK automatically fetches from that URL so `response.results` and `response.documents` are always populated when using `coll.query()` and `coll.docs.fetch()`.
226
+ * **Pagination:** Use `coll.docs.list_pages(size=10)` to iterate pages of up to `size` documents, or `coll.docs.iter_all(page_size=100)` to iterate over all documents.
227
+ * **Advanced options:** Pass `options=RequestOptions(timeout_ms=..., http_headers=...)` to any docs or query call; import with `from lambdadb import RequestOptions`. For delete by filter, prefer `query_filter=...` over `filter_=...`. Response types such as `ListDocsResponse`, `QueryCollectionResponse`, and `FetchDocsResponse` are also exported from `lambdadb` for type hints.
228
+
223
229
  <details open>
224
230
  <summary>Available methods</summary>
225
231
 
@@ -235,9 +241,12 @@ with LambdaDB(
235
241
  #### [Collections.Docs](docs/sdks/docs/README.md)
236
242
 
237
243
  * [list_docs](docs/sdks/docs/README.md#list_docs) - List documents in a collection.
244
+ * [list_pages](docs/sdks/docs/README.md#list_pages) - Iterate pages of up to `size` documents each.
245
+ * [iter_all](docs/sdks/docs/README.md#iter_all) - Iterate over all documents (handles pagination).
238
246
  * [upsert](docs/sdks/docs/README.md#upsert) - Upsert documents into a collection. Note that the maximum supported payload size is 6MB.
239
247
  * [get_bulk_upsert](docs/sdks/docs/README.md#get_bulk_upsert) - Request required info to upload documents.
240
248
  * [bulk_upsert](docs/sdks/docs/README.md#bulk_upsert) - Bulk upsert documents into a collection. Note that the maximum supported object size is 200MB.
249
+ * [bulk_upsert_docs](docs/sdks/docs/README.md#bulk_upsert_docs) - One-step bulk upsert: upload a list of documents without handling presigned URL or S3 yourself.
241
250
  * [update](docs/sdks/docs/README.md#update) - Update documents in a collection. Note that the maximum supported payload size is 6MB.
242
251
  * [delete](docs/sdks/docs/README.md#delete) - Delete documents by document IDs or query filter from a collection.
243
252
  * [fetch](docs/sdks/docs/README.md#fetch) - Lookup and return documents by document IDs from a collection.
@@ -131,8 +131,10 @@ with LambdaDB(
131
131
  ) as client:
132
132
  # Collection-scoped: no need to pass collection_name to every call
133
133
  coll = client.collection("my_collection")
134
- docs = coll.docs.list()
135
- results = coll.query(query={"queryString": {"query": "some text"}})
134
+ list_res = coll.docs.list()
135
+ items = list_res.results # or list_res.documents for doc bodies only
136
+ res = coll.query(query={"queryString": {"query": "some text"}})
137
+ docs_only = res.documents # document bodies; use res.results for score/metadata
136
138
  coll.docs.upsert(docs=[{"id": "1", "text": "hello"}])
137
139
  ```
138
140
 
@@ -199,6 +201,10 @@ with LambdaDB(
199
201
 
200
202
  **Recommended:** Use the collection-scoped API: `client.collection("name").docs.list()`, `.docs.fetch()`, `.docs.upsert()`, etc., and `client.collection("name").query()` for search. This matches the REST API structure and avoids repeating the collection name.
201
203
 
204
+ * **Response access:** List, query, and fetch responses expose `.results` (full result items, with score/metadata when applicable) and `.documents` (document bodies only). When the API returns `is_docs_inline: false` with a presigned `docs_url`, the SDK automatically fetches from that URL so `response.results` and `response.documents` are always populated when using `coll.query()` and `coll.docs.fetch()`.
205
+ * **Pagination:** Use `coll.docs.list_pages(size=10)` to iterate pages of up to `size` documents, or `coll.docs.iter_all(page_size=100)` to iterate over all documents.
206
+ * **Advanced options:** Pass `options=RequestOptions(timeout_ms=..., http_headers=...)` to any docs or query call; import with `from lambdadb import RequestOptions`. For delete by filter, prefer `query_filter=...` over `filter_=...`. Response types such as `ListDocsResponse`, `QueryCollectionResponse`, and `FetchDocsResponse` are also exported from `lambdadb` for type hints.
207
+
202
208
  <details open>
203
209
  <summary>Available methods</summary>
204
210
 
@@ -214,9 +220,12 @@ with LambdaDB(
214
220
  #### [Collections.Docs](docs/sdks/docs/README.md)
215
221
 
216
222
  * [list_docs](docs/sdks/docs/README.md#list_docs) - List documents in a collection.
223
+ * [list_pages](docs/sdks/docs/README.md#list_pages) - Iterate pages of up to `size` documents each.
224
+ * [iter_all](docs/sdks/docs/README.md#iter_all) - Iterate over all documents (handles pagination).
217
225
  * [upsert](docs/sdks/docs/README.md#upsert) - Upsert documents into a collection. Note that the maximum supported payload size is 6MB.
218
226
  * [get_bulk_upsert](docs/sdks/docs/README.md#get_bulk_upsert) - Request required info to upload documents.
219
227
  * [bulk_upsert](docs/sdks/docs/README.md#bulk_upsert) - Bulk upsert documents into a collection. Note that the maximum supported object size is 200MB.
228
+ * [bulk_upsert_docs](docs/sdks/docs/README.md#bulk_upsert_docs) - One-step bulk upsert: upload a list of documents without handling presigned URL or S3 yourself.
220
229
  * [update](docs/sdks/docs/README.md#update) - Update documents in a collection. Note that the maximum supported payload size is 6MB.
221
230
  * [delete](docs/sdks/docs/README.md#delete) - Delete documents by document IDs or query filter from a collection.
222
231
  * [fetch](docs/sdks/docs/README.md#fetch) - Lookup and return documents by document IDs from a collection.
@@ -1,7 +1,7 @@
1
1
 
2
2
  [project]
3
3
  name = "lambdadb"
4
- version = "0.7.0.dev0"
4
+ version = "0.7.2"
5
5
  description = "The Official LambdaDB Python SDK."
6
6
  authors = [{ name = "Functional Systems, Inc." },]
7
7
  readme = "README.md"
@@ -31,13 +31,13 @@ in-project = true
31
31
  mypy = "==1.15.0"
32
32
  pylint = "==3.2.3"
33
33
  pyright = "==1.1.398"
34
+ pytest = ">=7.0"
34
35
 
35
36
  [build-system]
36
37
  requires = ["poetry-core"]
37
38
  build-backend = "poetry.core.masonry.api"
38
39
 
39
40
  [tool.pytest.ini_options]
40
- asyncio_default_fixture_loop_scope = "function"
41
41
  pythonpath = ["src"]
42
42
 
43
43
  [tool.mypy]
@@ -0,0 +1,30 @@
1
+ """LambdaDB Python client package exports."""
2
+
3
+ from .version import (
4
+ GEN_VERSION as _GEN_VERSION,
5
+ OPENAPI_DOC_VERSION as _OPENAPI_DOC_VERSION,
6
+ TITLE as _TITLE,
7
+ get_user_agent,
8
+ get_version,
9
+ )
10
+ from .sdk import *
11
+ from .sdkconfiguration import *
12
+ from .collection import RequestOptions
13
+ from .models import (
14
+ FetchDocsResponse,
15
+ ListDocsResponse,
16
+ QueryCollectionResponse,
17
+ )
18
+
19
+
20
+ VERSION: str = get_version()
21
+ OPENAPI_DOC_VERSION = _OPENAPI_DOC_VERSION
22
+ SPEAKEASY_GENERATOR_VERSION = _GEN_VERSION
23
+ USER_AGENT = get_user_agent()
24
+
25
+ # Backward-compatible legacy exports
26
+ __title__ = _TITLE
27
+ __version__ = VERSION
28
+ __openapi_doc_version__ = OPENAPI_DOC_VERSION
29
+ __gen_version__ = SPEAKEASY_GENERATOR_VERSION
30
+ __user_agent__ = USER_AGENT