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
Copy file name to clipboardExpand all lines: .claude/skills/dataverse-sdk-dev/SKILL.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@ This skill provides guidance for developers working on the PowerPlatform Dataver
13
13
14
14
### API Design
15
15
16
-
1.**Public methods in operation namespaces** - New public methods go in the appropriate namespace module under `src/PowerPlatform/Dataverse/operations/` (`records.py`, `query.py`, `tables.py`). The `client.py` file exposes these via namespace properties (`client.records`, `client.query`, `client.tables`). Public types and constants live in their own modules (e.g., `models/metadata.py`, `common/constants.py`)
16
+
1.**Public methods in operation namespaces** - New public methods go in the appropriate namespace module under `src/PowerPlatform/Dataverse/operations/` (`records.py`, `query.py`, `tables.py`, `batch.py`). The `client.py` file exposes these via namespace properties (`client.records`, `client.query`, `client.tables`, `client.batch`). Public types and constants live in their own modules (e.g., `models/metadata.py`, `models/batch.py`, `common/constants.py`)
17
17
2.**Every public method needs README example** - Public API methods must have examples in README.md
18
18
3.**Reuse existing APIs** - Always check if an existing method can be used before making direct Web API calls
19
19
4.**Update documentation** when adding features - Keep README and SKILL files (both copies) in sync
Copy file name to clipboardExpand all lines: .claude/skills/dataverse-sdk-use/SKILL.md
+45Lines changed: 45 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,6 +22,7 @@ Use the PowerPlatform Dataverse Client Python SDK to interact with Microsoft Dat
22
22
-`client.query` -- query and search operations
23
23
-`client.tables` -- table metadata, columns, and relationships
24
24
-`client.files` -- file upload operations
25
+
-`client.batch` -- batch multiple operations into a single HTTP request
25
26
26
27
### Bulk Operations
27
28
The SDK supports Dataverse's native bulk operations: Pass lists to `create()`, `update()` for automatic bulk processing, for `delete()`, set `use_bulk_delete` when passing lists to use bulk operation
@@ -369,6 +370,50 @@ client.files.upload(
369
370
)
370
371
```
371
372
373
+
### Batch Operations
374
+
375
+
Use `client.batch` to send multiple operations in one HTTP request. All batch methods return `None`; results arrive via `BatchResult` after `execute()`.
@@ -43,6 +44,7 @@ A Python client library for Microsoft Dataverse that provides a unified interfac
43
44
-**🔗 Relationship Management**: Create one-to-many and many-to-many relationships between tables with full metadata control
44
45
-**🐼 DataFrame Support**: Pandas wrappers for all CRUD operations, returning DataFrames and Series
45
46
-**📎 File Operations**: Upload files to Dataverse file columns with automatic chunking for large files
47
+
-**📦 Batch Operations**: Send multiple CRUD, table metadata, and SQL query operations in a single HTTP request with optional transactional changesets
46
48
-**🔐 Azure Identity**: Built-in authentication using Azure Identity credential providers with comprehensive support
47
49
-**🛡️ Error Handling**: Structured exception hierarchy with detailed error context and retry guidance
48
50
@@ -115,9 +117,9 @@ The SDK provides a simple, pythonic interface for Dataverse operations:
115
117
116
118
| Concept | Description |
117
119
|---------|-------------|
118
-
|**DataverseClient**| Main entry point; provides `records`, `query`, `tables`, and `files` namespaces |
120
+
|**DataverseClient**| Main entry point; provides `records`, `query`, `tables`, `files`, and `batch` namespaces |
119
121
|**Context Manager**| Use `with DataverseClient(...) as client:` for automatic cleanup and HTTP connection pooling |
120
-
|**Namespaces**| Operations are organized into `client.records` (CRUD & OData queries), `client.query` (QueryBuilder & SQL), `client.tables` (metadata), and `client.files` (file uploads) |
122
+
|**Namespaces**| Operations are organized into `client.records` (CRUD & OData queries), `client.query` (QueryBuilder & SQL), `client.tables` (metadata), `client.files` (file uploads), and `client.batch` (batch requests) |
121
123
|**Records**| Dataverse records represented as Python dictionaries with column schema names |
122
124
|**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)|
123
125
|**Bulk Operations**| Efficient bulk processing for multiple records with automatic optimization |
@@ -513,6 +515,90 @@ client.files.upload(
513
515
)
514
516
```
515
517
518
+
### Batch operations
519
+
520
+
Use `client.batch` to send multiple operations in one HTTP request. The batch namespace mirrors `client.records`, `client.tables`, and `client.query`.
For a complete example see [examples/advanced/batch.py](https://github.com/microsoft/PowerPlatform-DataverseClient-Python/blob/main/examples/advanced/batch.py).
601
+
516
602
## Next steps
517
603
518
604
### More sample code
@@ -527,6 +613,7 @@ Explore our comprehensive examples in the [`examples/`](https://github.com/micro
527
613
-**[Complete Walkthrough](https://github.com/microsoft/PowerPlatform-DataverseClient-Python/blob/main/examples/advanced/walkthrough.py)** - Full feature demonstration with production patterns
528
614
-**[Relationship Management](https://github.com/microsoft/PowerPlatform-DataverseClient-Python/blob/main/examples/advanced/relationships.py)** - Create and manage table relationships
529
615
-**[File Upload](https://github.com/microsoft/PowerPlatform-DataverseClient-Python/blob/main/examples/advanced/file_upload.py)** - Upload files to Dataverse file columns
616
+
-**[Batch Operations](https://github.com/microsoft/PowerPlatform-DataverseClient-Python/blob/main/examples/advanced/batch.py)** - Send multiple operations in a single request with changesets
530
617
531
618
📖 See the [examples README](https://github.com/microsoft/PowerPlatform-DataverseClient-Python/blob/main/examples/README.md) for detailed guidance and learning progression.
0 commit comments