Skip to content

v0.1.0b8

Pre-release
Pre-release

Choose a tag to compare

@abelmilash-msft abelmilash-msft released this 11 Apr 00:42
· 25 commits to main since this release
86ea250

Added

  • Batch API: client.batch namespace for deferred-execution batch operations that pack multiple Dataverse Web API calls into a single POST $batch HTTP request (#129)
  • Batch DataFrame integration: client.batch.dataframe namespace with pandas DataFrame wrappers for batch operations (#129)
  • client.records.upsert() and client.batch.records.upsert() backed by the UpsertMultiple bound action with alternate-key support (#129)
  • QueryBuilder: client.query.builder("table") with a fluent API, 20+ chainable methods (select, filter_eq, filter_contains, order_by, expand, etc.), and composable filter expressions using Python operators (&, |, ~) (#118)
  • Memo/multiline column type support: "memo" (or "multiline") can now be passed as a column type in client.tables.create() and client.tables.add_columns() (#155)

Changed

  • Picklist label-to-integer resolution now uses a single bulk PicklistAttributeMetadata API call for the entire table instead of per-attribute requests, with a 1-hour TTL cache (#154)

Fixed

  • client.query.sql() silently truncated results at 5,000 rows. The method now follows @odata.nextLink pagination and returns all matching rows (#157)
  • Alternate key fields were incorrectly merged into the UpsertMultiple request body, causing 400 Bad Request on the create path (#129)
  • Docstring type annotations corrected for Microsoft Learn API reference compatibility (#153)