Skip to content

Commit 170b550

Browse files
Abel Milashclaude
andcommitted
Fix black formatting in _async_odata.py; sync dev SKILL copies
Apply black formatting to _async_odata.py (required by CI). Add async client item 7 to .claude/skills/dataverse-sdk-dev/SKILL.md to match the src/ copy updated in the previous commit. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 774102a commit 170b550

2 files changed

Lines changed: 4 additions & 1 deletion

File tree

.claude/skills/dataverse-sdk-dev/SKILL.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ This skill provides guidance for developers working on the PowerPlatform Dataver
1919
4. **Update documentation** when adding features - Keep README and SKILL files (both copies) in sync
2020
5. **Consider backwards compatibility** - Avoid breaking changes
2121
6. **Internal vs public naming** - Modules, files, and functions not meant to be part of the public API must use a `_` prefix (e.g., `_odata.py`, `_relationships.py`). Files without the prefix (e.g., `constants.py`, `metadata.py`) are public and importable by SDK consumers
22+
7. **Async client** - The SDK ships a full async client (`AsyncDataverseClient`) under `src/PowerPlatform/Dataverse/aio/`. When adding a feature to the sync client, add it to the async client too. The async operation namespaces mirror the sync ones: `aio/operations/async_records.py`, `async_query.py`, `async_tables.py`, `async_batch.py`, `async_files.py`. Pure logic (payload builders, URL construction) goes in `data/_odata_base.py` — inherited by both `_ODataClient` and `_AsyncODataClient` — so it only needs to be written once; HTTP-calling code goes in `data/_odata.py` (sync) or `aio/data/_async_odata.py` (async). Async tests live in `tests/unit/aio/` and async examples in `examples/aio/`. The `aiohttp` dependency is an optional extra (`pip install "PowerPlatform-Dataverse-Client[async]"`) — do not move it into the required `dependencies` list in `pyproject.toml`.
2223

2324
### Dataverse Property Naming Rules
2425

src/PowerPlatform/Dataverse/aio/data/_async_odata.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1476,7 +1476,9 @@ async def _delete_columns(
14761476
needs_picklist_flush = False
14771477

14781478
for column_name in names:
1479-
attr_meta = await self._get_attribute_metadata(metadata_id, column_name, extra_select="@odata.type,AttributeType")
1479+
attr_meta = await self._get_attribute_metadata(
1480+
metadata_id, column_name, extra_select="@odata.type,AttributeType"
1481+
)
14801482
if not attr_meta:
14811483
raise MetadataError(
14821484
f"Column '{column_name}' not found on table '{entity_schema}'.",

0 commit comments

Comments
 (0)