You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Move paginated query from client.query.get() to client.records.get() overload (#107)
- Add @overload to records.get(): with record_id returns dict, without
returns paginated generator
- Remove get() from QueryOperations (client.query now only has sql())
- Update deprecated client.get() to route both cases to records.get()
- Update all examples, README, and tests
Co-authored-by: tpellissier <tpellissier@microsoft.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -112,7 +112,7 @@ The SDK provides a simple, pythonic interface for Dataverse operations:
112
112
| Concept | Description |
113
113
|---------|-------------|
114
114
|**DataverseClient**| Main entry point; provides `records`, `query`, and `tables` namespaces |
115
-
|**Namespaces**| Operations are organized into `client.records` (CRUD), `client.query` (queries), and `client.tables` (metadata & relationships) |
115
+
|**Namespaces**| Operations are organized into `client.records` (CRUD & OData queries), `client.query` (query & search), and `client.tables` (metadata) |
116
116
|**Records**| Dataverse records represented as Python dictionaries with column schema names |
117
117
|**Schema names**| Use table schema names (`"account"`, `"new_MyTestTable"`) and column schema names (`"name"`, `"new_MyTestColumn"`). See: [Table definitions in Microsoft Dataverse](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/entity-metadata)|
118
118
|**Bulk Operations**| Efficient bulk processing for multiple records with automatic optimization |
@@ -190,7 +190,7 @@ for record in results:
190
190
191
191
# OData query with paging
192
192
# Note: filter and expand parameters are case sensitive
193
-
for page in client.query.get(
193
+
for page in client.records.get(
194
194
"account",
195
195
select=["accountid", "name"], # select is case-insensitive (automatically lowercased)
196
196
filter="statecode eq 0", # filter must use lowercase logical names (not transformed)
@@ -200,7 +200,7 @@ for page in client.query.get(
200
200
print(record["name"])
201
201
202
202
# Query with navigation property expansion (case-sensitive!)
203
-
for page in client.query.get(
203
+
for page in client.records.get(
204
204
"account",
205
205
select=["name"],
206
206
expand=["primarycontactid"], # Navigation property names are case-sensitive
0 commit comments